7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Mobile Development

Google Play Game Services: Leaderboard

Read Time: 11 mins

Indonesian (Bahasa Indonesia) translation by Sandi Muamar (you can also view the original English article)

Google Play Game Services memberikan kesempatan untuk menambahkan fitur sosial ke permainan Anda melalui account pengguna Google +. Dalam tutorial ini, kita akan menunjukkan bagaimana Anda dapat menambahkan leaderboards untuk aplikasi Android, mengirimkan nilai pengguna, dan menyajikan Klasemen leaderboard saat ini dalam permainan.

Menggunakan leaderboards melibatkan mempersiapkan IDE Anda, konfigurasi leaderboard di Google Play Developer Console, dan menambahkan fungsionalitas untuk app Anda.

Jika Anda menyelesaikan tutorial baru tentang menambahkan achievements untuk aplikasi Android, Anda akan mampu melewatkan beberapa langkah-langkah dalam satu ini. Kode sumber terlampir mencakup aplikasi yang sama yang kita gunakan untuk tutorial achievements, dengan achievements dan leaderboards fungsi yang ditambahkan.

1. Siapkan IDE Anda

Langkah 1

Untuk menggunakan Google Play Services, Anda memerlukan utilitas tertentu yang dipasang di development environment. Selain itu, karena kami menggunakan Game Services, kita akan menginstal BaseGameUtils Perpustakaan, yang mengurangi jumlah coding kita perlu untuk mengimplementasikan fitur-fitur seperti Google+ sign-in.

Untuk memulai, buat sebuah aplikasi baru atau menggunakan yang sudah ada. Jika Anda mengikuti tutorial achievements, Anda dapat menggunakan app yang Anda buat untuk tutorial itu. Jika Anda membuat game Anda sendiri, memutuskan apa yang ingin Anda gunakan leaderboards untuk dan Kapan Anda berencana mengirimkan Skor pengguna. Setiap leaderboard Skor akan berapa. Anda dapat mengkonfigurasi leaderboard menganggap lebih rendah atau lebih tinggi nilai-nilai nomor sebagai lebih baik dalam hal posisi di leaderboard, tapi tentu ini akan tergantung pada tujuan dari permainan Anda.

Kode di download folder termasuk permainan yang sederhana di mana pengguna menebak beberapa. Kami akan menggunakan jumlah dugaan-dugaan yang diperlukan untuk mendapatkan jawaban yang benar sebagai nilai leaderboard. Dalam kasus ini, lebih sedikit dugaan lebih baik, sehingga leaderboard akan hadir Skor terendah pertama. Untuk kesederhanaan, kita akan membatasi jumlah dugaan-dugaan yang pengguna dapat mengambil. Ini adalah contoh sepele untuk menunjukkan konsep leaderboard dan fungsionalitas. Permainan Anda sendiri mungkin akan melibatkan lebih kompleksitas.

Langkah 2

Mari Eclipse yang siap untuk developing dengan Google Play Game Services. Buka Android SDK Manager  dan scroll ke folder Extras. Expand folder dan pilih Google Play Services ditambah Google Repository. Pasang Google APIs Platform dari salah satu Android versi terbaru juga jika Anda ingin menguji pada emulator. Menginstal paket pilihan.

Langkah 3

Eclipse harus juga referensi beberapa sumber tambahan di ruang kerja. Pada komputer Anda, navigasikan ke lokasi Google Play Services Library, yang harus dalam folder Android SDK, di ekstra/google/google_play_services/libproject/google-bermain-services_lib /. Salin dan sisipkan Perpustakaan di tempat lain pada komputer Anda.

Kita sekarang perlu referensi salinan ini dalam Eclipse. Pilih Impor > Android >  Import Existing Android Code into Workspace dari File menu. Pilih lokasi salinan yang Anda dibuat. Perpustakaan impor sekarang harus muncul sebagai sebuah proyek baru di Eclipse. Klik kanan dan pilih Properties. Di bagian Android, memilih Google APIs build target dan centang kotak Is Library.

Langkah 4

Mengimpor sumber BaseGameUtils sedikit berbeda. Perpustakaan host di GitHub. Anda dapat menemukannya di bagian download, Sample Games. Download Perpustakaan dan menyimpannya ke komputer Anda.

Seperti yang Anda lakukan untuk Google Play Services library, pilih Import > Android > Import Existing Android Code into Workspace dari File menu untuk membawa Perpustakaan BaseGameUtils ke dalam Eclipse. Klik kanan untuk menavigasi ke properti proyek baru dan pastikan proyek ditandai sebagai perpustakaan Is Library.

Langkah 5

Kita sekarang dapat membuat aplikasi merujuk kepada kedua sumber daya dalam ruang kerja. Aplikasi Anda dalam paket Explorer klik kanan dan pilih Properties. Menavigasi ke bagian Android dan pilih Add di bagian Library. Pilih Google Play Services Perpustakaan dan BaseGameUtils, dan menambahkannya ke aplikasi Anda.

2. menyiapkan permainan Anda di Developer Console

Langkah 1

Sebelum Anda dapat membuat leaderboard, app perlu dicantumkan di Google Play Developer Console Google. Log in dan klik tombol Game Services ke kiri. Jika Anda sudah melakukan ini untuk aplikasi Anda dalam achievements tutorial, Anda tidak perlu melakukannya lagi. Anda dapat melompat ke bagian 3 buat leaderboard.

Klik Set up Google Play game services.

Klik untuk menambahkan baru permainan, pilih I don't use any Google APIs in my game yet, dan memilih nama dan kategori game Anda. Klik Continue untuk pergi ke langkah berikutnya.

Tambahkan judul permainan Anda. Anda dapat menambahkan rincian lainnya kemudian.

Langkah 2

Mari kita sekarang link app sehingga kita dapat merujuk kepada konsol pengembang ini daftar di app itu sendiri. Klik entri Linked Apps  di daftar di sebelah kiri dan pilih Android.

Masukkan info app Anda termasuk nama paket, pastikan itu adalah sama dengan yang Anda gunakan dalam proyek Anda.

Menyimpan dan klik Authorize your app now. Untuk saat ini, Anda bisa menambahkan nama app, tapi Anda dapat memasukkan rincian lebih lanjut kemudian. Pilih Installed Application di daerah ID klien, dengan Android sebagai jenis dan masukkan nama paket Anda. Anda sekarang perlu menggunakan utilitas keytool untuk menghasilkan signing certificate. Anda dapat menggunakan perintah berikut dalam terminal atau prompt perintah dalam kombinasi dengan sertifikat debug:

Terminal atau prompt perintah akan menulis fingerpring untuk certificate. Menyalin apa yang Anda lihat setelah SHA1 dan menyisipkannya ke Developer Console di area teks Signing Certificate Fingerprint 

Pilih Create Client dan copy ID untuk aplikasi, yang tercantum di sebelah nama app di Developer Console. Anda akan menambahkan ID untuk app Anda bersama dengan ID untuk leaderboard yang kita akan membuat.

3. Buat Leaderboard

Langkah 1

Masih di Developer Console, mari kita sekarang membuat leaderboard baru. Pilih bagian Leaderboards dalam daftar aplikasi Anda dan klik Add leaderboard.

Pastikan Anda memahami konsep Leaderboards Android — dan di Google Play Game Services umumnya. Anda dapat membaca tinjauan situs web layanan Google Play Game Services. Anda dapat benar-benar melakukan banyak hal yang berbeda dengan leaderboards, jadi pertimbangkan apa kita dalam tutorial ini baru mulai titik.

Masukkan rincian untuk leaderboard baru Anda. Untuk kode contoh kami, kita menggunakan nama Least Guesses dan pilih Smaller is Better di bagian Ordering.

Tambahkan ikon jika Anda suka. Jika Anda tidak standar gambar akan digunakan. Simpan leaderboard baru Anda dan copy ID nya.

Langkah 2

Di bagian Testing untuk aplikasi Anda di Developer Console, , Anda dapat menambahkan account yang akan diberikan akses untuk menguji permainan. Secara default, Anda akan melihat email Akun Google yang terdaftar di sana, sehingga Anda dapat menggunakannya untuk menguji aplikasi Anda.

4. Siapkan permainan Anda untuk mengakses  Games Services

Langkah 1

Saatnya untuk mendapatkan aplikasi siap untuk akses leaderboard di Eclipse. Jika Anda menyelesaikan achievements tutorial Anda dapat melewatkan beberapa bagian ini. Mari kita pertama-Tambahkan id untuk app dan leaderboard. Membuka atau membuat file resource res/values/ids.xml. Gunakan sintaks berikut untuk memasukkan ID yang Anda disalin untuk app dan leaderboard baru saat membuat mereka di Developer Console:

Simpan file dan buka proyek Manifest. Tambahkan baris berikut di dalam elemen application:

App sekarang diatur ke link ke daftar kami menambahkan di Developer Console.

Langkah 2

Ketika Anda menggunakan layanan Google dalam aplikasi Android Anda, Anda perlu pengguna untuk masuk ke akun Google mereka. Anda dapat mengambil beberapa pendekatan untuk menerapkan ini, tetapi kita akan mengotomatisasi bagian dari proses ini dengan menggunakan BaseGameActivity kelas bersama-sama dengan tombol standar untuk login dan logout. Selain itu, ketika aktivitas dimulai, app akan mencoba untuk login pengguna langsung.

Buka file main layout aplikasi Anda dan menambahkan tombol untuk sign in/out:

Langkah 3

Tambahkan impor ini kelas Activity main Anda:

Membuat Activity kelas extend kelas BaseGameActivity dan listen untuk klik:

Mempersiapkan untuk menanggapi klik sign in/out tombol di onCreate:

Sekarang menambahkan metode standar untuk onClick metode di kelas:

Metode-metode yang kita sebut di sini disediakan oleh BaseGameActivity kelas kelas Activity kami yang mewarisi dari, sehingga kita tidak perlu menangani rincian secara manual. Akhirnya, kami menambahkan beberapa callback standar:

Ketika kita memanggil fungsi leaderboard, kita pertama akan memeriksa bahwa app memiliki koneksi ke Google Services.. Atau Anda bisa menambahkan kode untuk metode ini untuk mengelola aplikasi Anda kesadaran tentang apakah atau tidak Play Services dapat disebut pada.

5. menerapkan Leaderboard Anda

Langkah 1

Sekarang kita dapat membiarkan app menggunakan leaderboard. Kode dalam app sampel menggunakan tata letak berikut. Aku tidak akan pergi ke detail menjelaskan tata letak sebagai aplikasi Anda sendiri akan memiliki tata letak yang berbeda.

Kami menambahkan tombol untuk mengakses achievements dan leaderboards untuk app. Jika Anda belum menyelesaikan achievements tutorial, maka Anda dapat menghapus tombol achievements.

Kembali dalam aplikasi Anda Activity kelas, kami akan menggunakan variabel contoh ini:

Jika Anda menyelesaikan tutorial achievements Anda mungkin melihat numGuesses variabel tambahan, untuk melacak jumlah pengguna menebak setiap kali mereka bermain game.

Anda akan memerlukan kode tambahan berikut dalam metode onCreate kelas Activity. Jika Anda tidak menggunakan tombol achievements, kemudian Hapus baris yang referensi itu.

Kami juga menggunakan metode berikut untuk menonaktifkan dan mengaktifkan tombol selama bermain game:

Kami juga membutuhkan metode berikut kami ditetapkan sebagai onClick atribut untuk tombol angka dalam tata letak. Pemain keran salah satu untuk membuat menebak:

Luangkan waktu sejenak untuk melihat atas kode. Bahkan jika Anda menyelesaikan aplikasi dalam tutorial achievements, ada beberapa perubahan untuk logika Selain kode tambahan leaderboard. Jika pemain menekan tombol Again, kita reset ulang variabel numGuesses ke 0. Jika pengguna menyentuh tombol nomor, kami kenaikan numGuesses. Jika Anda tidak menggunakan achievements, Anda dapat menghapus setiap kode yang referensi achievements.

Kami mengirimkan Skor untuk leaderboard ketika pengguna menebak dengan benar. Pengguna dapat membuat hingga lima menebak.

Garis utama di sini adalah submitScore. Kami melewati jumlah menebak pemain mengambil untuk mendapatkan nomor yang benar. Jika jumlah perkiraan lebih rendah dari entri yang ada untuk pengguna di leaderboard, masuknya mereka akan diganti dengan nilai yang baru ini. Perhatikan bahwa kita menggunakan nilai string resouce kita didefinisikan untuk leaderboard.

Langkah 2

Sebelum kita menyelesaikan, mari kita memungkinkan pengguna untuk melihat leaderboard permainan dengan menekan tombol Leaderboard kami menambahkan. Kami menggunakan kode berikut di onClick untuk achievements:

Menyajikan leaderboard serupa:

Ini akan membiarkan pengguna melihat Klasemen saat ini dalam leaderboard. Integer parameter sewenang-wenang.

Ketika Anda menjalankan aplikasi, itu akan mencoba untuk login, memeriksa permission, dan konfirmasi login jika berhasil:

Pengguna bebas memilih untuk keluar dan kembali setiap kali mereka suka, tapi jika mereka meninggalkan app, itu akan mencoba untuk login secara otomatis mereka kembali ketika mereka membuka lagi. Ketika pengguna menebak dengan benar, Skor mereka akan diserahkan kepada Leaderboard. Menekan tombol Leaderboard akan hadir Klasemen saat ini:

Dari sini, pengguna dapat mengakses fitur sosial layanan Google melalui akun Google mereka. Anda dapat mengatur aplikasi Anda ke penggunaan umum dan sosial leaderboards. Sosial leaderboards menyajikan daftar dari orang-orang di kalangan pengguna, yang dapat dikelola untuk permainan itu sendiri. Untuk leaderboard umum, pengguna harus memilih untuk berbagi nilai mereka kepada publik.

Kesimpulan

Dalam tutorial ini, kami telah mengimplementasikan fungsionalitas dasar leaderboard dengan Google Play Game Services. Catatan bahwa Anda dapat melakukan lebih banyak dengan leaderboards dalam aplikasi Anda. Misalnya, Anda dapat meminta leaderboard data tertentu-skala waktu seperti harian, mingguan, dan sepanjang masa. Jika leaderboard mengandung banyak nilai, dimungkinkan untuk aplikasi Anda untuk hanya mengambil nilai atas atau nilai terdekat ke pemain saat ini. Mencoba bereksperimen dengan beberapa perangkat tambahan ini dalam aplikasi Anda sendiri.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Scroll to top
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.