Após a descontinuação da API
Login do Google, vamos remover o SDK dos serviços relacionados a jogos v1 em 2026. A partir de fevereiro de 2025, não será mais possível publicar no Google Play títulos que foram integrados ao SDK dos serviços relacionados a jogos do Google Play V1. Recomendamos que você use o
SDK do Google Play Games v2.
Embora os títulos atuais com as integrações anteriores da v1 de jogos continuem funcionando por alguns
anos, recomendamos que você
migre para a v2
a partir de junho de 2025.
Este guia é para usar o SDK dos serviços relacionados a jogos do Google Play v1. Para informações
sobre a versão mais recente do SDK, consulte a
documentação da v2.
Este guia mostra como coletar dados de jogabilidade usando as APIs de eventos
fornecidas pelos serviços relacionados a jogos do Google Play. As APIs podem ser encontradas em
com.google.android.gms.games.event
e com.google.android.gms.games
.
Antes de começar
Caso ainda não tenha feito isso, recomendamos consultar os conceitos do jogo de eventos.
Antes de começar a programar usando as APIs de eventos:
- Defina os eventos do seu jogo no Google Play Console.
- Siga as recomendações da lista de verificação de login.
Acessar o cliente de eventos
Para começar a usar as APIs de eventos, seu jogo precisa conseguir um
objeto
EventsClient
. Para isso, chame o método
Games.getEventsClient()
e transmita a
atividade e o GoogleSignInAccount
do player atual. Para saber como recuperar as informações da conta do jogador, consulte Login em jogos Android.
Enviar eventos
Você pode adicionar um código ao jogo para notificar os serviços relacionados a jogos do Google Play sempre que ocorrer um evento de interesse.
Para enviar uma atualização de evento, chame EventsClient.increment()
com o valor eventId
e um
número inteiro incrementAmount
que seja igual ou maior que 0.
- O
eventId
é gerado pelos serviços relacionados a jogos do Google Play quando você define o evento no Google Play Console pela primeira vez e é usado para identificar esse evento de modo exclusivo no seu jogo. - Você pode usar a entrada
incrementAmount
para especificar o progresso quantitativo do jogador em relação à conclusão de um objetivo específico do jogo. Por exemplo, se o evento que seu jogo quer rastrear é "Derrotar 500 monstros de olhos esbugalhados", o valor deincrementAmount
pode ser o número de monstros que o jogador matou em uma única batalha.
Veja um exemplo de como enviar um evento com um incremento de 1:
public void submitEvent(String eventId) { Games.getEventsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(eventId, 1); }
Recuperar eventos
Para recuperar todos os dados de eventos armazenados nos servidores do Google,
chame EventsClient.load()
. Na
chamada de método, transmita um valor booleano para indicar se os serviços relacionados a jogos do Google Play precisam limpar os dados
armazenados localmente em cache no dispositivo do usuário.
Para recuperar dados de eventos específicos definidos no Google Play Console, chame
EventsClient.loadByIds()
e transmita uma matriz de IDs de eventos nos parâmetros de entrada.
O snippet a seguir mostra como consultar os serviços relacionados a jogos do Google Play para ver a lista de todos os eventos do seu jogo:
public void loadEvents() { Games.getEventsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .load(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<EventBuffer>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<EventBuffer>> task) { if (task.isSuccessful()) { // Process all the events. for (Event event : task.getResult().get()) { Log.d(TAG, "loaded event " + event.getName()); } } else { // Handle Error Exception exception = task.getException(); int statusCode = CommonStatusCodes.DEVELOPER_ERROR; if (exception instanceof ApiException) { ApiException apiException = (ApiException) exception; statusCode = apiException.getStatusCode(); } showError(statusCode); } } }); }