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 yang akan digunakan 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 terlebih dahulu mendapatkan
Objek AchievementsClient
. Anda dapat melakukannya dengan memanggil
Games.getAchievementClient()
dan meneruskan aktivitas serta
GoogleSignInAccount
untuk pemutar saat ini. Untuk mempelajari cara mengambil
informasi akun pemain, lihat Login di Game Android.
Membuka kunci 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 berjenis inkremental (yaitu, beberapa langkah diperlukan untuk
membuka kuncinya), panggil AchievementsClient.increment()
.
Cuplikan kode berikut menunjukkan bagaimana aplikasi Anda dapat 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 juga untuk mengikuti praktik terbaik ini guna
agar tidak melebihi kuota API.
Menampilkan pencapaian
Untuk menampilkan pencapaian pemain, panggil AchievementsClient.getAchievementsIntent()
untuk mendapatkan Intent
yang akan dibuat
antarmuka pengguna {i>default<i} pencapaian. 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.
![](https://developers.google.cn/static/games/services/android/images/Achievements_Android.png?authuser=0000&hl=id)