Method: accounts.signInWithGameCenter

Faz login ou registra um usuário com credenciais do Game Center do iOS. Se o login for bem-sucedido, um novo token de ID e de atualização do Identity Platform será emitido para o usuário autenticado. O ID do pacote é obrigatório no cabeçalho da solicitação como x-ios-bundle-identifier.

Uma chave de API é necessária na solicitação para identificar o projeto do Google Cloud.

A Apple descontinuar o uso do campo playerID. O SDK do Firebase para plataformas da Apple vai usar o gamePlayerID e o teamPlayerID a partir da versão 10.5.0. O upgrade para as versões do SDK a partir da 10.5.0 atualiza as integrações que usam playerID para que usem gamePlayerID e teamPlayerID em vez disso. Ao fazer chamadas para signInWithGameCenter, é necessário incluir playerID com os novos campos gamePlayerID e teamPlayerID para identificar todos os usuários.

O upgrade das integrações de login do Game Center para as versões do SDK a partir da 10.5.0 é irreversível.

Solicitação HTTP

POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "playerId": string,
  "publicKeyUrl": string,
  "signature": string,
  "salt": string,
  "timestamp": string,
  "idToken": string,
  "displayName": string,
  "tenantId": string,
  "teamPlayerId": string,
  "gamePlayerId": string
}
Campos
playerId

string

Obrigatório. O ID do player do Game Center do usuário. Descontinuado pela Apple.

Transmita playerID com gamePlayerID e teamPlayerID para iniciar a migração do ID do jogador do Game Center de um usuário para gamePlayerID.

publicKeyUrl

string

Obrigatório. O URL para buscar a chave pública da Apple e verificar se a assinatura foi assinada pela Apple.

signature

string

Obrigatório. Os dados de assinatura de verificação gerados pela Apple.

salt

string

Obrigatório. Uma string aleatória usada para gerar a assinatura.

timestamp

string (int64 format)

Obrigatório. O momento em que a assinatura foi criada pela Apple, em milissegundos desde a época.

idToken

string

Um token de ID válido para uma conta do Identity Platform. Se presente, essa solicitação vai vincular o ID do jogador do Game Center à conta representada por esse token de ID.

displayName

string

O nome de exibição do usuário no Game Center.

tenantId

string

O ID do locatário do Identity Platform em que o usuário está fazendo login.

teamPlayerId

string

O ID do jogador da equipe do Game Center do usuário. Um identificador exclusivo de um jogador de todos os jogos que você distribui usando sua conta de desenvolvedor. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

O ID do jogador do jogo do Game Center do usuário. Um identificador exclusivo para um jogador do jogo. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid

Corpo da resposta

Mensagem de resposta para accounts.signInWithGameCenter

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "localId": string,
  "playerId": string,
  "idToken": string,
  "refreshToken": string,
  "expiresIn": string,
  "isNewUser": boolean,
  "displayName": string,
  "teamPlayerId": string,
  "gamePlayerId": string
}
Campos
localId

string

O ID do usuário autenticado. Sempre presente na resposta.

playerId

string

O ID do player do Game Center do usuário.

Transmita playerID com gamePlayerID e teamPlayerID para iniciar a migração do ID do jogador do Game Center de um usuário para gamePlayerID.

idToken

string

Um token de ID do Identity Platform para o usuário autenticado.

refreshToken

string

Um token de atualização do Identity Platform para o usuário autenticado.

expiresIn

string (int64 format)

O número de segundos até o token de ID expirar.

isNewUser

boolean

Indica se o usuário conectado foi criado por essa solicitação.

displayName

string

Nome de exibição do usuário autenticado.

teamPlayerId

string

O ID do jogador da equipe do Game Center do usuário. Um identificador exclusivo de um jogador de todos os jogos que você distribui usando sua conta de desenvolvedor. https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid

gamePlayerId

string

O ID do jogador do jogo do Game Center do usuário. Um identificador exclusivo para um jogador do jogo. https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

Para mais informações, consulte Authentication Overview.