Method: accounts.signInWithGameCenter

iOS Game Center の認証情報を使用してユーザーをログインまたは登録します。ログインに成功すると、認証されたユーザーに新しい Identity Platform ID トークンと更新トークンが発行されます。バンドル ID は、リクエスト ヘッダーで x-ios-bundle-identifier として指定する必要があります。

Google Cloud プロジェクトを識別するには、リクエストに API キーが必要です。

Apple は playerID フィールドのサポートを終了しました。Apple プラットフォームの Firebase SDK は、バージョン 10.5.0 以降では gamePlayerIDteamPlayerID を使用します。SDK バージョン 10.5.0 以降にアップグレードすると、playerID を使用した既存の統合が更新され、代わりに gamePlayerIDteamPlayerID を使用するようになります。signInWithGameCenter を呼び出すときに、既存のすべてのユーザーを正常に識別するには、新しいフィールド gamePlayerIDteamPlayerID とともに 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

string

必須。ユーザーの Game Center プレーヤー ID。Apple によって非推奨になりました。

playerIDgamePlayerIDteamPlayerID とともに渡して、ユーザーの Game Center プレーヤー ID を gamePlayerID に移行します。

publicKeyUrl

string

必須。指定された署名が Apple によって署名されていることを検証するために Apple 公開鍵を取得する URL。

signature

string

必須。Apple によって生成された検証署名データ。

salt

string

必須。指定された署名の生成に使用されるランダムな文字列。

timestamp

string (int64 format)

必須。Apple によって署名が作成された日時をエポックからの経過時間(ミリ秒単位)で示します。

idToken

string

Identity Platform アカウントの有効な ID トークン。存在する場合、このリクエストにより、Game Center プレーヤー ID がこの ID トークンによって表されるアカウントにリンクされます。

displayName

string

ユーザーの Game Center の表示名。

tenantId

string

ユーザーがログインしている Identity Platform テナントの ID。

teamPlayerId

string

ユーザーの Game Center チームのプレーヤー ID。デベロッパー アカウントを使用して配信するすべてのゲームのプレーヤーの一意の識別子。https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

ユーザーの 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

string

認証されたユーザーの ID。レスポンスには常に存在します。

playerId

string

ユーザーの Game Center プレーヤー ID。

playerIDgamePlayerIDteamPlayerID とともに渡して、ユーザーの Game Center プレーヤー ID を gamePlayerID に移行します。

idToken

string

認証済みユーザーの Identity Platform ID トークン。

refreshToken

string

認証されたユーザーの Identity Platform 更新トークン。

expiresIn

string (int64 format)

ID トークンの有効期限が切れるまでの秒数。

isNewUser

boolean

ログイン中のユーザーがこのリクエストによって作成されたかどうか。

displayName

string

認証されたユーザーの表示名。

teamPlayerId

string

ユーザーの Game Center チームのプレーヤー ID。デベロッパー アカウントを使用して配信するすべてのゲームのプレーヤーの一意の識別子。https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

ユーザーの 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 をご覧ください。