ドキュメント

Unity Engine

Unity Engine

ソーシャル API

Use the Social API to interface with GameCenter.
読み終わるまでの所要時間 3 分最終更新 1ヶ月前

ノート: ソーシャル API は非推奨になり、将来のリリースで削除される予定です。
ソーシャル API は Unity のソーシャル機能をアクセスするための接点です
  • ユーザープロファイル
  • フレンドリスト
  • ゲーム実績( Achievements )
  • 統計/ランキング( Statistics / Leaderboards )
ソーシャル API は、GameCenter などの異なるソーシャルバックエンドに統合したインターフェースを提供します。そして、主に、ゲームプロジェクトに携わるプログラマーが使用するためにあります。
ソーシャル API は主に非同期 API であり、標準的な使い方は関数呼び出しを行い関数の完了時にコールバックを登録します。非同期の関数は副作用があり、API で特定の状態変数に値を生成したり、コールバックがサーバーで処理すべきデータを含んだりする可能性があります。
Social クラスは 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 の詳細については、ソーシャル API スクリプティングリファレンス を参照してください。