Bu kılavuzda, oyununuzdaki başarıların kilidini açmak ve bunları görüntülemek için bir Android uygulamasında başarı API'lerini nasıl kullanacağınız gösterilmektedir. API'ler com.google.android.gms.games
ve com.google.android.gms.games.achievements
paketlerinde bulunabilir.
Başlamadan önce
Henüz yapmadıysanız başarı oyunları oyun kavramlarını incelemeniz faydalı olabilir.
Başarılar API'sini kullanarak kodlamaya başlamadan önce:
- Google Play Hizmetleri SDK'sı oluşturma kılavuzunda, Google Play oyun hizmetlerini kullanmak için uygulamanızı yükleme ve ayarlama talimatlarını uygulayın.
- Google Play Console kılavuzundaki talimatları uygulayarak oyununuzun kilidinin açılmasını veya gösterilmesini istediğiniz başarıları tanımlayın.
- Android örnekleri sayfasından başarı kodu örneklerini indirin ve inceleyin.
- Kalite Kontrol Listesi'nde açıklanan öneriler hakkında bilgi edinin.
Başarı müşterisi alma
Başarılar API'sini kullanmaya başlamak için oyununuzun öncelikle bir AchievementsClient
nesnesi edinmesi gerekir. Bunun için Games.getAchievementClient()
yöntemini çağırıp mevcut oyuncuya ilişkin etkinliği ve GoogleSignInAccount
yöntemini iletebilirsiniz. Oynatıcı hesap bilgilerini nasıl alacağınızı öğrenmek için Android Games'de oturum açma bölümüne göz atın.
Başarıların kilidini açma
Bir başarının kilidini açmak için AchievementsClient.unlock()
yöntemini çağırın ve başarı kimliğini iletin.
Aşağıdaki kod snippet'i, uygulamanızın başarıların kilidini nasıl açabileceğini gösterir:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
Başarı ek türündeyse (kilidi açmak için birkaç adım gerekir) bunun yerine AchievementsClient.increment()
çağrısı yapın.
Aşağıdaki kod snippet'i, uygulamanızın oyuncunun başarısını nasıl artırabileceğini gösterir:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(getString(R.string.my_achievement_id), 1);
Başarının kilidini açmak için ek kod yazmanız gerekmez. Google Play oyun hizmetleri, gereken adım sayısına ulaştığında başarının kilidini otomatik olarak açar.
Oyununuzun başarıları kaynak kimliğine göre referans alabilmesi için strings.xml
dosyasında başarı kimliklerini tanımlamanız önerilir. Başarıları güncellemek ve yüklemek için çağrı yaparken API kotanızı aşmamak amacıyla bu en iyi uygulamaları uyguladığınızdan emin olun.
Başarılar gösteriliyor
Bir oyuncunun başarılarını göstermek üzere AchievementsClient.getAchievementsIntent()
simgesini arayarak varsayılan başarılar kullanıcı arayüzünü oluşturarak Intent
edinin. Ardından oyununuz, startActivityForResult
çağırarak kullanıcı arayüzünü açabilir.
Aşağıdaki kod snippet'i, uygulamanızın varsayılan başarı kullanıcı arayüzünü nasıl görüntüleyebileceğini gösterir.
Snippet'te RC_ACHIEVEMENT_UI
, oyunun istek kodu olarak kullandığı rastgele bir tam sayıdır.
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); } }); }
Varsayılan başarılar kullanıcı arayüzünün bir örneği aşağıda gösterilmektedir.