このガイドでは、実績 API を Android アプリで使用し、ゲームの実績のロックを解除して表示する方法について説明します。API は com.google.android.gms.games
パッケージと com.google.android.gms.games.achievements
パッケージに含まれています。
始める前に
ゲームの実績に関するコンセプトをまだ確認されていない場合は、確認することをおすすめします。
実績 API を使用してコーディングを開始する前に:
- 手順に沿ってアプリをインストールし、設定してください Google Play Games サービス、 Google Play 開発者サービス SDK のセットアップに関するガイドをご覧ください。
- Google Play Console ガイドの手順に沿って、ゲームでロック解除または表示する実績を定義します。
- 実績のコードサンプルを 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 Games サービス 必要なステップ数に達すると、実績が自動的にロック解除されます。
実績の ID を strings.xml
ファイルで定義して、リソースで実績を参照できるようにすることをおすすめします。update と load を呼び出して
こちらのベスト プラクティスに沿って、
API 割り当てを超過しないようにできます
実績の表示
プレーヤーの実績を表示するには、AchievementsClient.getAchievementsIntent()
を呼び出します。
作成するための Intent
を取得
デフォルトの実績ユーザー インターフェースです。その後、ゲームで startActivityForResult
を呼び出して UI を表示できます。
次のコード スニペットは、デフォルトの実績ユーザー インターフェースをアプリで表示する方法を示しています。
スニペット内の 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-dot-devsite-v2-prod.appspot.com/static/games/services/android/images/Achievements_Android.png?authuser=6&hl=ja)