iOS Game Center の認証情報を使用してユーザーをログインまたは登録します。ログインに成功すると、認証されたユーザーに新しい Identity Platform ID トークンと更新トークンが発行されます。バンドル ID は、リクエスト ヘッダーで x-ios-bundle-identifier
として指定する必要があります。
Google Cloud プロジェクトを識別するには、リクエストに API キーが必要です。
Apple は playerID
フィールドのサポートを終了しました。Apple プラットフォームの Firebase SDK は、バージョン 10.5.0 以降では gamePlayerID
と teamPlayerID
を使用します。SDK バージョン 10.5.0 以降にアップグレードすると、playerID
を使用した既存の統合が更新され、代わりに gamePlayerID
と teamPlayerID
を使用するようになります。signInWithGameCenter
を呼び出すときに、既存のすべてのユーザーを正常に識別するには、新しいフィールド gamePlayerID
と teamPlayerID
とともに playerID
を含める必要があります。
既存の Game Center のログイン統合を SDK バージョン 10.5.0 以降にアップグレードすると、元に戻すことはできません。
HTTP リクエスト
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "playerId": string, "publicKeyUrl": string, "signature": string, "salt": string, "timestamp": string, "idToken": string, "displayName": string, "tenantId": string, "teamPlayerId": string, "gamePlayerId": string } |
フィールド | |
---|---|
playerId |
必須。ユーザーの Game Center プレーヤー ID。Apple によって非推奨になりました。
|
publicKeyUrl |
必須。指定された署名が Apple によって署名されていることを検証するために Apple 公開鍵を取得する URL。 |
signature |
必須。Apple によって生成された検証署名データ。 |
salt |
必須。指定された署名の生成に使用されるランダムな文字列。 |
timestamp |
必須。Apple によって署名が作成された日時をエポックからの経過時間(ミリ秒単位)で示します。 |
idToken |
Identity Platform アカウントの有効な ID トークン。存在する場合、このリクエストにより、Game Center プレーヤー ID がこの ID トークンによって表されるアカウントにリンクされます。 |
displayName |
ユーザーの Game Center の表示名。 |
tenantId |
ユーザーがログインしている Identity Platform テナントの ID。 |
teamPlayerId |
ユーザーの Game Center チームのプレーヤー ID。デベロッパー アカウントを使用して配信するすべてのゲームのプレーヤーの一意の識別子。https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
ユーザーの Game Center ゲーム プレーヤー ID。ゲームのプレーヤーの一意の識別子。https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
レスポンスの本文
accounts.signInWithGameCenter に対するレスポンス メッセージ
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
JSON 表現 |
---|
{ "localId": string, "playerId": string, "idToken": string, "refreshToken": string, "expiresIn": string, "isNewUser": boolean, "displayName": string, "teamPlayerId": string, "gamePlayerId": string } |
フィールド | |
---|---|
localId |
認証されたユーザーの ID。レスポンスには常に存在します。 |
playerId |
ユーザーの Game Center プレーヤー ID。
|
idToken |
認証済みユーザーの Identity Platform ID トークン。 |
refreshToken |
認証されたユーザーの Identity Platform 更新トークン。 |
expiresIn |
ID トークンの有効期限が切れるまでの秒数。 |
isNewUser |
ログイン中のユーザーがこのリクエストによって作成されたかどうか。 |
displayName |
認証されたユーザーの表示名。 |
teamPlayerId |
ユーザーの Game Center チームのプレーヤー ID。デベロッパー アカウントを使用して配信するすべてのゲームのプレーヤーの一意の識別子。https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
ユーザーの Game Center ゲーム プレーヤー ID。ゲームのプレーヤーの一意の識別子。https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
認可スコープ
以下のいずれかの OAuth スコープが必要です。
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
詳細については、Authentication Overview をご覧ください。