Unity ゲームでの実績

このトピックでは、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();