Questa guida mostra come raccogliere i dati di gioco dei giocatori per l'analisi del gioco
utilizzando le API degli eventi fornite da Google Play Services per i giochi. Le API sono disponibili nei pacchetti
com.google.android.gms.games.event
e com.google.android.gms.games.
Prima di iniziare
Se non l'hai ancora fatto, potrebbe esserti utile rivedere i concetti di gioco degli eventi.
Prima di iniziare a scrivere codice utilizzando le API per gli eventi:
- Definisci gli eventi per il tuo gioco in Google Play Console. 
- Segui i consigli della checklist di accesso. 
Scarica il client eventi
Per iniziare a utilizzare le API Events, il tuo gioco deve prima ottenere un oggetto
EventsClient. Puoi farlo chiamando il metodo PlayGames.getEventsClient() e passando l'attività.
Inviare eventi
Puoi aggiungere codice al tuo gioco per inviare una notifica a Play Games Services ogni volta che si verifica un evento di interesse per il tuo gioco.
Per inviare un aggiornamento dell'evento, chiama
EventsClient.increment()
con il valore eventId e un numero intero incrementAmount maggiore o
uguale a 0.
- L' - eventIdviene generato da Play Games Services quando definisci per la prima volta l'evento in Google Play Console e viene utilizzato per identificare in modo univoco questo evento nel tuo gioco.
- Puoi utilizzare l'input - incrementAmountper specificare l'avanzamento quantitativo del giocatore verso il completamento di un obiettivo specifico del gioco. Ad esempio, se l'evento che il tuo gioco vuole monitorare è "Sconfiggi 500 mostri con gli occhi a palla", il valore di- incrementAmountpuò essere il numero di mostri uccisi dal giocatore in una singola battaglia.
Ecco un esempio di come inviare un evento con un importo di incremento pari a 1:
public void submitEvent(String eventId) {
  PlayGames.getEventsClient(this)
      .increment(eventId, 1);
}Recuperare eventi
Puoi recuperare tutti i dati sugli eventi memorizzati nei server di Google per il tuo gioco chiamando
EventsClient.load().
Nella chiamata al metodo, trasmetti un valore booleano per indicare se Play Games Services
deve cancellare i dati memorizzati nella cache locale sul dispositivo dell'utente.
Per recuperare i dati di eventi specifici che hai definito nella
console Google Play, chiama
EventsClient.loadByIds()
e trasmetti un array di ID evento nei parametri di input.
Il seguente snippet mostra come puoi eseguire query sui servizi per i giochi di Play per ottenere l'elenco di tutti gli eventi per il tuo gioco:
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); } } }); }
