Version: 2023.2
言語: 日本語
アプリケーションのアプリ内課金 (IAP) の設定
iOS 用のビルドと配布

ソーシャル API

Obsolete: Social API is deprecated and will be removed in a future release.

ソーシャル API は Unity のソーシャル機能をアクセスするための接点です

  • ユーザープロファイル
  • フレンドリスト
  • ゲーム実績( Achievements )
  • 統計/ランキング( Statistics / Leaderboards )

ソーシャル API は、GameCenter などの異なるソーシャルバックエンドに統合したインターフェースを提供し、主に、ゲームプロジェクトに携わるプログラマーに利用されることを目的としています。 

ソーシャル API は主に非同期 API であり、標準的な使い方は関数呼び出しを行い関数の完了後にコールバックを登録します。非同期の関数は副作用があり、API で特定の状態変数に値を生成したり、コールバックはサーバーで処理すべきデータを含む可能性があります。

ソーシャルクラスは UnityEngine 名前空間にあるため、常に利用可能ですが、ソーシャル API クラスは UnityEngine.SocialPlatforms という別の名前空間にあります。さらにソーシャル API の実装は SocialPlatforms.GameCenter など名前空間の下位の階層にあります。

以下はソーシャル API の使用例です。

using UnityEngine;
using UnityEngine.SocialPlatforms;

public class SocialExample : MonoBehaviour {

    void Start () {
        // Authenticate and register a ProcessAuthentication callback
        // This call needs to be made before we can proceed to other calls in the Social API
        Social.localUser.Authenticate (ProcessAuthentication);
    }

    // This function gets called when Authenticate completes
    // Note that if the operation is successful, Social.localUser will contain data from the server.
    void ProcessAuthentication (bool success) {
        if (success) {
            Debug.Log ("Authenticated, checking achievements");

            // Request loaded achievements, and register a callback for processing them
            Social.LoadAchievements (ProcessLoadedAchievements);
        }
        else
            Debug.Log ("Failed to authenticate");
    }

    // This function gets called when the LoadAchievement call completes
    void ProcessLoadedAchievements (IAchievement[] achievements) {
        if (achievements.Length == 0)
            Debug.Log ("Error: no achievements found");
        else
            Debug.Log ("Got " + achievements.Length + " achievements");

        // You can also call into the functions like this
        Social.ReportProgress ("Achievement01", 100.0, result => {
            if (result)
                Debug.Log ("Successfully reported achievement progress");
            else
                Debug.Log ("Failed to report achievement");
        });
    }
}

ソーシャル API の詳細については Social スクリプトリファレンスを参照してください。

アプリケーションのアプリ内課金 (IAP) の設定
iOS 用のビルドと配布