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.
Membuka pencapaian
Untuk membuka pencapaian, panggil
metode AchievementsClient.unlock()
dan teruskan ID pencapaian.
Cuplikan kode berikut menunjukkan cara aplikasi Anda membuka pencapaian:
PlayGames.getAchievementsClient(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:
PlayGames.getAchievementsClient(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
memperbarui dan memuat pencapaian, pastikan Anda juga mengikuti
praktik terbaik ini agar tidak melebihi kuota
API.
Menampilkan pencapaian
Untuk menampilkan pencapaian pemain, panggil AchievementsClient.getAchievementsIntent()
untuk mendapatkan
Intent
guna membuat antarmuka pengguna 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() { PlayGames.getAchievementsClient(this) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
Contoh UI pencapaian default ditampilkan di bawah.