Panduan ini menunjukkan cara menggunakan API pencapaian di aplikasi Android
untuk membuka kunci dan menampilkan pencapaian dalam game Anda. API ini dapat ditemukan
dalam paket com.google.android.gms.games
dan com.google.android.gms.games.achievements
.
Sebelum memulai
Jika Anda belum melakukannya, sebaiknya tinjau konsep game pencapaian.
Sebelum Anda mulai membuat kode menggunakan API pencapaian:
- Ikuti petunjuk penginstalan dan penyiapan aplikasi untuk menggunakan Layanan game Google Play di panduan Menyiapkan SDK Layanan Google Play.
- Tentukan pencapaian yang ingin Anda buka atau tampilkan pada game dengan mengikuti petunjuk di Panduan Konsol Google Play.
- Download dan tinjau contoh kode pencapaian di halaman contoh Android.
- Pahami rekomendasi yang dijelaskan dalam Checklist Kualitas.
Mendapatkan klien pencapaian
Untuk mulai menggunakan API pencapaian, game Anda harus mendapatkan
objek AchievementsClient
terlebih dahulu. Anda dapat melakukannya dengan memanggil
metode Games.getAchievementClient()
dan meneruskan aktivitas serta
GoogleSignInAccount
untuk pemutar saat ini. Untuk mempelajari cara mengambil
informasi akun pemain, lihat Login di Game Android.
Membuka pencapaian
Untuk membuka pencapaian, panggil metode AchievementsClient.unlock()
dan
teruskan ID pencapaian.
Cuplikan kode berikut menunjukkan cara aplikasi Anda membuka pencapaian:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
Jika pencapaian adalah jenis inkremental (yaitu, beberapa langkah diperlukan untuk
membuka kuncinya), panggil AchievementsClient.increment()
.
Cuplikan kode berikut menunjukkan cara aplikasi Anda meningkatkan pencapaian pemain:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(getString(R.string.my_achievement_id), 1);
Anda tidak perlu menulis kode tambahan untuk membuka pencapaian; Layanan game Google Play akan otomatis membuka pencapaian setelah mencapai jumlah langkah yang diperlukan.
Praktik yang baik adalah menentukan ID pencapaian dalam file strings.xml
, sehingga
game Anda dapat mereferensikan pencapaian berdasarkan ID resource. Saat melakukan panggilan untuk mengupdate dan memuat
pencapaian, pastikan Anda juga mengikuti praktik terbaik ini agar
tidak melebihi kuota API Anda.
Menampilkan pencapaian
Untuk menampilkan pencapaian pemain, panggil AchievementsClient.getAchievementsIntent()
untuk mendapatkan Intent
guna membuat
antarmuka pengguna pencapaian default. Setelah itu game Anda akan dapat menampilkan UI dengan memanggil
startActivityForResult
.
Cuplikan kode berikut menunjukkan cara aplikasi Anda menampilkan antarmuka pengguna pencapaian default.
Dalam cuplikan, RC_ACHIEVEMENT_UI
adalah bilangan bulat arbitrer yang digunakan game sebagai kode permintaan.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
Contoh UI pencapaian default ditampilkan di bawah.