In diesem Leitfaden erfahren Sie, wie Sie mithilfe der Ereignis-APIs Spieldaten von Spielern für Spielanalysen erfassen
die von den Google Play-Spieldiensten zur Verfügung gestellt werden. Die APIs finden Sie in der
com.google.android.gms.games.event
und com.google.android.gms.games
.
Hinweis
Falls Sie dies noch nicht getan haben, kann es hilfreich sein, sich die Konzepte für Spielereignisse.
Bevor Sie mit dem Programmieren mit den Event APIs beginnen:
- Definieren Sie die Ereignisse für Ihre in der Google Play Console.
- Folgen Sie den Empfehlungen für die Checkliste für die Anmeldung.
Ereignisclient abrufen
Um die Event APIs verwenden zu können, muss Ihr Spiel zuerst eine
EventsClient
-Objekt. Rufen Sie dazu die Methode
Games.getEventsClient()
und übergeben die
Aktivitäten.
Ereignisse senden
Du kannst Code in deinem Spiel hinzufügen, um die Google Play-Spieldienste zu benachrichtigen, sobald Ereignis, das für Ihr Spiel interessant ist, eintritt.
Wenn Sie ein Ereignisupdate senden möchten, rufen Sie EventsClient.increment()
mit dem Wert eventId
und einem
Ganzzahl incrementAmount
, die gleich oder größer als 0 ist.
- Die
eventId
wird von den Google Play-Spieldiensten generiert, wenn du das erste Mal definierst in der Google Play Console und wird verwendet, um dieses Ereignis in für Ihr Spiel. - Mit der
incrementAmount
-Eingabe kannst du den quantitativen Fortschritt des Spielers im Hinblick auf das Erreichen eines spielspezifischen Ziels. Wenn das Ereignis beispielsweise das Spiel 'Defeat 500bug-eyed monsters' ist, kann der WertincrementAmount
Anzahl der Monster, die der Spieler in einem einzigen Kampf getötet hat.
Hier ist ein Beispiel dafür, wie ein Ereignis mit einem inkrementellen Wert von 1 gesendet wird:
public void submitEvent(String eventId) { PlayGames.getEventsClient(this) .increment(eventId, 1); }
Termine werden abgerufen
Sie können alle Ereignisdaten für Ihr Spiel abrufen, die auf den Google-Servern gespeichert sind.
EventsClient.load()
wird aufgerufen. Im
-Methode aufrufen, übergeben Sie einen booleschen Wert, um anzugeben, ob die Google Play-Spieldienste die lokale
Daten im Cache auf dem Gerät des Nutzers gespeichert.
Um Daten für bestimmte Ereignisse abzurufen, die Sie in der Google Play Console definiert haben, rufen Sie
EventsClient.loadByIds()
und übergeben ein Array von Ereignis-IDs in den Eingabeparametern.
Das folgende Snippet zeigt, wie Sie die Google Play-Spieldienste für die Liste aller Ereignisse für Ihr Spiel:
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); } } }); }