本指南說明如何在 Android 應用程式中使用成就 API
即可在遊戲中解鎖並顯示成就。您可以在 com.google.android.gms.games
和 com.google.android.gms.games.achievements
等套件中取得 API。
事前準備
建議您先複習成就遊戲概念,這會對您很有幫助。
在使用成就 API 撰寫程式碼之前:
- 按照操作說明安裝及設定應用程式來使用服務 Google Play 遊戲服務 「設定 Google Play 服務 SDK」指南。
- 按照 Google Play 管理中心指南的說明操作,定義遊戲要解鎖或顯示的成就。
- 下載並檢閱 Android 範例頁面。
- 請熟讀 品質檢查清單。
取得成就用戶端
如要使用成就 API,遊戲必須先取得
AchievementsClient
物件。方法是呼叫
Games.getAchievementClient()
方法,並傳入活動和
目前玩家的 GoogleSignInAccount
。如要瞭解如何擷取
玩家帳戶資訊,請參閱 Android 遊戲登入。
解鎖成就
如要解鎖成就,請呼叫 AchievementsClient.unlock()
方法,並
傳遞成就 ID
以下程式碼片段將展示應用程式如何解鎖成就:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
如果成就是「漸進式」類型的 (也就是需要執行幾個步驟,
解鎖),請改為撥打 AchievementsClient.increment()
。
以下程式碼片段將展示應用程式如何漸進式累計玩家成就:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(getString(R.string.my_achievement_id), 1);
不需要撰寫額外的程式碼即可解開成就。Google Play 遊戲服務 在達到必要的步數時,自動解鎖成就。
建議您在 strings.xml
檔案中定義成就 ID,遊戲就能按照資源 ID 參照成就。呼叫更新和載入時
關卡,請務必遵循這些最佳做法,
避免超出 API 配額
顯示成就
如要顯示玩家成就,請呼叫 AchievementsClient.getAchievementsIntent()
取得 Intent
以便建立
預設成就使用者介面這樣您的遊戲就能藉由呼叫
startActivityForResult
。
以下程式碼片段說明應用程式如何顯示預設的成就使用者介面。
在這個片段中,RC_ACHIEVEMENT_UI
代表遊戲用來當做要求代碼的任意整數。
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); } }); }
以下是預設成就 UI 的範例。
![](https://developers.google.cn/static/games/services/android/images/Achievements_Android.png?authuser=8&hl=zh-tw)