Google Play Game Services: Leaderboard
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:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v
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:
<string name="app_id">1234567890</string> <string name="number_guesses_leaderboard">abcdefg1234567</string>
Simpan file dan buka proyek Manifest. Tambahkan baris berikut di dalam elemen application
:
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
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:
<!-- sign-in button --> <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- sign-out button --> <Button android:id="@+id/sign_out_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sign Out" android:visibility="gone" />
Langkah 3
Tambahkan impor ini kelas Activity
main Anda:
import com.google.android.gms.games.Games; import com.google.example.games.basegameutils.BaseGameActivity;
Membuat Activity
kelas extend kelas BaseGameActivity
dan listen untuk klik:
public class MainActivity extends BaseGameActivity implements View.OnClickListener
Mempersiapkan untuk menanggapi klik sign in/out tombol di onCreate
:
findViewById(R.id.sign_in_button).setOnClickListener(this); findViewById(R.id.sign_out_button).setOnClickListener(this);
Sekarang menambahkan metode standar untuk onClick
metode di kelas:
@Override public void onClick(View view) { if (view.getId() == R.id.sign_in_button) { beginUserInitiatedSignIn(); } else if (view.getId() == R.id.sign_out_button) { signOut(); findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE); findViewById(R.id.sign_out_button).setVisibility(View.GONE); } }
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:
public void onSignInSucceeded() { findViewById(R.id.sign_in_button).setVisibility(View.GONE); findViewById(R.id.sign_out_button).setVisibility(View.VISIBLE); } @Override public void onSignInFailed() { findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE); findViewById(R.id.sign_out_button).setVisibility(View.GONE); }
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.
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.fungame.MainActivity" > <LinearLayout android:id="@+id/sign_in_buttons" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:orientation="horizontal" > <!-- sign-in button --> <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- sign-out button --> <Button android:id="@+id/sign_out_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sign Out" android:visibility="gone" /> </LinearLayout> <RelativeLayout android:id="@+id/gameArea" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/sign_in_buttons" > <TextView android:id="@+id/guess_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="Guess the number!" android:textSize="30sp" android:textStyle="bold" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/guess_text" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/btn7" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="7" android:text="7" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btn8" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="8" android:text="8" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btn9" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="9" android:text="9" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" > <Button android:id="@+id/btn4" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="4" android:text="4" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btn5" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="5" android:text="5" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btn6" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="6" android:text="6" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" > <Button android:id="@+id/btn1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="1" android:text="1" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btn2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="2" android:text="2" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btn3" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="3" android:text="3" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" > <Button android:id="@+id/btn0" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ff000033" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="0" android:text="0" android:textColor="#ffffffff" android:textSize="30sp" android:textStyle="bold" /> <Button android:id="@+id/btnAgain" android:layout_width="0dp" android:layout_height="match_parent" android:layout_margin="1dp" android:layout_weight="1" android:background="#ffffff00" android:enabled="false" android:gravity="center" android:onClick="btnPressed" android:padding="5dp" android:tag="-1" android:text="Again" android:textColor="#ffffff00" android:textSize="30sp" android:textStyle="bold" /> </LinearLayout> </LinearLayout> </RelativeLayout> <LinearLayout android:id="@+id/play_buttons" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/gameArea" android:gravity="center" android:orientation="horizontal" > <!-- show achievements --> <Button android:id="@+id/show_achievements" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Achievements" /> <!-- show leaderboards --> <Button android:id="@+id/show_leaderboard" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Leaderboard" /> </LinearLayout> </RelativeLayout>
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:
private Button button0, button1, button2, button3, button4, button5, button6, button7, button8, button9, buttonAgain; private int number; private Random rand; private TextView info; private int numGuesses=0;
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.
findViewById(R.id.show_achievements).setOnClickListener(this); findViewById(R.id.show_leaderboard).setOnClickListener(this); button0=(Button)findViewById(R.id.btn0); button1=(Button)findViewById(R.id.btn1); button2=(Button)findViewById(R.id.btn2); button3=(Button)findViewById(R.id.btn3); button4=(Button)findViewById(R.id.btn4); button5=(Button)findViewById(R.id.btn5); button6=(Button)findViewById(R.id.btn6); button7=(Button)findViewById(R.id.btn7); button8=(Button)findViewById(R.id.btn8); button9=(Button)findViewById(R.id.btn9); buttonAgain=(Button)findViewById(R.id.btnAgain); info=(TextView)findViewById(R.id.guess_text); rand=new Random(); number=rand.nextInt(10);
Kami juga menggunakan metode berikut untuk menonaktifkan dan mengaktifkan tombol selama bermain game:
private void disableNumbers(){ button0.setEnabled(false); button0.setTextColor(Color.parseColor("#ff000033")); button1.setEnabled(false); button1.setTextColor(Color.parseColor("#ff000033")); button2.setEnabled(false); button2.setTextColor(Color.parseColor("#ff000033")); button3.setEnabled(false); button3.setTextColor(Color.parseColor("#ff000033")); button4.setEnabled(false); button4.setTextColor(Color.parseColor("#ff000033")); button5.setEnabled(false); button5.setTextColor(Color.parseColor("#ff000033")); button6.setEnabled(false); button6.setTextColor(Color.parseColor("#ff000033")); button7.setEnabled(false); button7.setTextColor(Color.parseColor("#ff000033")); button8.setEnabled(false); button8.setTextColor(Color.parseColor("#ff000033")); button9.setEnabled(false); button9.setTextColor(Color.parseColor("#ff000033")); buttonAgain.setEnabled(true); buttonAgain.setTextColor(Color.parseColor("#ff000033")); } private void enableNumbers(){ button0.setEnabled(true); button0.setTextColor(Color.WHITE); button1.setEnabled(true); button1.setTextColor(Color.WHITE); button2.setEnabled(true); button2.setTextColor(Color.WHITE); button3.setEnabled(true); button3.setTextColor(Color.WHITE); button4.setEnabled(true); button4.setTextColor(Color.WHITE); button5.setEnabled(true); button5.setTextColor(Color.WHITE); button6.setEnabled(true); button6.setTextColor(Color.WHITE); button7.setEnabled(true); button7.setTextColor(Color.WHITE); button8.setEnabled(true); button8.setTextColor(Color.WHITE); button9.setEnabled(true); button9.setTextColor(Color.WHITE); buttonAgain.setEnabled(false); buttonAgain.setTextColor(Color.parseColor("#ffffff00")); }
Kami juga membutuhkan metode berikut kami ditetapkan sebagai onClick
atribut untuk tombol angka dalam tata letak. Pemain keran salah satu untuk membuat menebak:
public void btnPressed(View v){ int btn = Integer.parseInt(v.getTag().toString()); if(btn<0){ //again btn numGuesses=0; number=rand.nextInt(10); enableNumbers(); info.setText("Set the number!"); } else{ //number button numGuesses++; if(btn==number){ info.setText("Yes! It was "+number); if(getApiClient().isConnected()){ Games.Achievements.unlock(getApiClient(), getString(R.string.correct_guess_achievement)); Games.Leaderboards.submitScore(getApiClient(), getString(R.string.number_guesses_leaderboard), numGuesses); } disableNumbers(); } else if(numGuesses==5){ info.setText("No! It was "+number); disableNumbers(); } else info.setText("Try again!"); } }
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:
else if (view.getId() == R.id.show_achievements){ startActivityForResult(Games.Achievements.getAchievementsIntent( getApiClient()), 1); }
Menyajikan leaderboard serupa:
else if(view.getId() == R.id.show_leaderboard){ startActivityForResult(Games.Leaderboards.getLeaderboardIntent( getApiClient(), getString(R.string.number_guesses_leaderboard)), 2); }
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.