本指南說明如何在 Android 應用程式中使用成就 API
即可在遊戲中解鎖並顯示成就。您可以在 com.google.android.gms.games
和 com.google.android.gms.games.achievements
等套件中取得 API。
事前準備
建議您先複習成就遊戲概念,這會對您很有幫助。
在使用成就 API 撰寫程式碼之前:
按照操作說明安裝及設定應用程式來使用服務 Google Play 遊戲服務 「設定 Google Play 服務 SDK」指南。
按照 Google Play 管理中心指南的說明操作,定義遊戲要解鎖或顯示的成就。
下載並檢閱 Android 範例頁面。
請熟讀 品質檢查清單。
取得成就用戶端
遊戲必須先取得 AchievementsClient
物件,才能使用成就 API。要取得此物件,您可以呼叫 Games.getAchievementClient()
方法,然後在活動內傳遞。
解鎖成就
若要解鎖成就,請呼叫
AchievementsClient.unlock()
敬上
方法並傳遞成就 ID。
以下程式碼片段將展示應用程式如何解鎖成就:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
如果成就是「漸進式」類型的 (也就是說,需要完成多個步驟,
才能解鎖),請改為撥打 AchievementsClient.increment()
。
以下程式碼片段將展示應用程式如何 成就:
PlayGames.getAchievementsClient(this).increment(getString(R.string.my_achievement_id), 1);
不需要撰寫額外的程式碼即可解開成就。Google Play 遊戲服務 在成就達到所需數量時,自動解鎖成就 100 萬步的訓練
建議您在 strings.xml
檔案中定義成就 ID,遊戲就能按照資源 ID 參照成就。發出呼叫來更新及載入成就時,請採用最佳做法,避免超出 API 配額。
顯示成就
如要顯示玩家成就,請呼叫 AchievementsClient.getAchievementsIntent()
取得 Intent
,建立預設的成就使用者介面。這樣一來,您的遊戲就能
藉由呼叫
startActivityForResult
。
以下程式碼片段說明應用程式如何顯示預設的成就使用者介面。在這個程式碼片段中,RC_ACHIEVEMENT_UI
是任意值
也就是遊戲在請求代碼中做為要求代碼的整數。
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); } }); }
以下是預設成就 UI 的範例。