このトピックでは、Unity ゲームで Play ゲームサービスの実績を使用する方法について説明します。スタートガイドに記載されているとおり、プロジェクトと Unity 用の Google Play Games プラグインを設定済みであることを前提としています。
実績を作成する
プロジェクトとプラグインをセットアップするときは、Google Play Console で実績を作成し、実績の Android リソースでプラグインを更新します。Google Play Console で実績を作成する方法の詳細については、実績に関するガイドをご覧ください。
実績の公開とロック解除
実績をロック解除するには、進行状況の値を 100.0f にして Social.ReportProgress メソッドを使用します。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
// handle success or failure
});
Social.ReportProgress の予想される動作として、値が 0.0f であれば実績が公開され、進行状況が 100.0f であれば実績がロック解除されます。
以前は非公開だった実績をロック解除せずに公開するには、値を 0.0f にして Social.ReportProgress を呼び出します。
実績の増分
実績が増分の場合、Play ゲームの Social.ReportProgress の実装は、Unity のソーシャル API に基づく予想される動作を実現しようとします。ただし、動作が同じにならない可能性もあるため、増分実績には Social.ReportProgress を使用しないことをおすすめします。代わりに、Play ゲームの拡張機能である PlayGamesPlatform.IncrementAchievement メソッドを使用してください。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
PlayGamesPlatform.Instance.IncrementAchievement(
"Cfjewijawiu_QA", 5, (bool success) => {
// handle success or failure
});
実績 UI の表示
すべての実績について組み込みの UI を表示するには、Social.ShowAchievementsUI を呼び出します。
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();