Skip to main content
PFEntityHandle は、PlayFab サービス呼び出しを行うための主要な資格情報です。認証済みエンティティ (プレイヤー (title_player_account) またはタイトルのいずれか) を表し、SDK がリクエストを承認するために必要なエンティティトークンを保持します。すべてのログインまたは認証呼び出しは PFEntityHandle を返し、すべてのサービス呼び出しではそれが必要です。

エンティティハンドルの取得

エンティティハンドルは直接作成しません。代わりに、ログインまたは認証呼び出しの成功時の出力として取得します。 プレイヤーログイン (Windows の例):
タイトルエンティティ (サーバー): タイトルエンティティは、ユーザー資格情報の代わりにシークレットキーで認証します。返された PFEntityHandle は同じように機能しますが、プレイヤーではなくタイトルを表します。詳細については タイトルエンティティで PlayFab にアクセスする を参照してください。

ハンドル所有権と参照カウント

PFEntityHandle は参照カウント方式です。ログイン呼び出しでハンドルを受け取ると、1つの参照を所有します。PFEntityDuplicateHandle で追加の参照を作成し、PFEntityCloseHandle で解放できます。基になるエンティティオブジェクトは、最後の参照が閉じられたときにのみ破棄されます。 ルール:
  • ログインの GetResult 関数または PFEntityDuplicateHandle を呼び出すたびに、閉じる必要のあるハンドルが与えられます。
  • ハンドルを閉じても、同じエンティティへの他のハンドルは無効になりません。
  • PFServicesUninitializeAsync を呼び出す前に、すべてのハンドルを閉じてください。

エンティティ情報の取得

エンティティキー

エンティティキーはエンティティ (そのタイプと ID) を識別します。2回の呼び出しパターンを使用します: まずサイズを取得し、次にデータを取得します。

エンティティトークン

エンティティトークンはサービス呼び出しを承認します。SDK はトークンを自動的に管理しますが、必要に応じて現在のトークンを取得できます。

エンティティタイプの確認

エンティティキーのタイプ文字列を検査する代わりに、PFEntityIsTitlePlayer を素早い確認として使用してください:

プレイヤーエンティティとタイトルエンティティ

プレイヤーエンティティとタイトルエンティティは両方とも PFEntityHandle を使用しますが、実行できる内容が異なります: プレフィックスなし API (例: Inventory、Leaderboards、Data) は、ドキュメントで明記されていない限り、プレイヤーエンティティとタイトルエンティティの両方から呼び出すことができます。Client プレフィックス付き API はプレイヤー専用、Server プレフィックス付き API はタイトル専用です。 PFEntityGetSecretKey は、タイトルエンティティに関連付けられたシークレットキーを取得します。プレイヤーエンティティはシークレットキーを持たないため、失敗します。
PFEntityGetSecretKey は Windows、Linux、macOS プラットフォームでのみ利用できます。

トークンイベントハンドラー

SDK はエンティティトークンが期限切れになる前に自動的に更新します。これらのイベントを監視するためのコールバックを登録できます。

トークン期限切れ

自動更新に失敗した場合 (たとえば、元のログイン資格情報がもはや有効でない場合)、SDK はトークン期限切れイベントを発生させます。ハンドラーを登録して、新しい資格情報を提供し、ログインを再試行します。

トークン更新

SDK がバックグラウンドでトークンを正常に更新したときに知りたい場合は、トークン更新ハンドラーを登録します。これは情報提供のみで、特に対応する必要はありません。

登録と登録解除のタイミング

  • 登録 はハンドラーを早期に、SDK 初期化直後およびログイン前に行います。これによってイベントを見逃さないようにします。
  • 登録解除 はシャットダウン中、エンティティハンドルを閉じる前に行います。
トークンの期限切れ処理と再ログインの完全なウォークスルーについては、トークン期限切れの処理 を参照してください。

ユーティリティアクセサー

エンティティハンドルから API エンドポイントとタイトル ID を取得できます。これらは、ログイン時に使用された PFServiceConfigHandle から取得されます。

完全な例

この例では、エンティティハンドルの作成、複製、クエリ、およびクローズを示します:

API リファレンス

完全な API リファレンスについては、PFEntity メンバー を参照してください。

関連項目

最終更新日 2026年8月25日