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 nos pacotes
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 jogo no Google Play Console.
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
PlayGames.getEventsClient()
e transmita a atividade.
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 incrementAmount
de número inteiro 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 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) { PlayGames.getEventsClient(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 conferir a lista de todos os eventos do seu jogo:
public void loadEvents() { PlayGames.getEventsClient(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); } } }); }