Este guia mostra como coletar dados de jogabilidade para análises de jogos usando as APIs de eventos fornecidas pelos serviços do Google Play Games. 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 seu 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 do Google Play Games 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 que seja igual ou
maior que 0.
O
eventIdé gerado pelos serviços do Google Play Games 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
incrementAmountpara 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 deincrementAmountpode 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 do Google Play Games 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 do Google Play Games para ver 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); } } }); }