Ereignisse zum Spiel hinzufügen

Nach der Einstellung der Google-Anmeldung-API wird das games v1 SDK im Jahr 2026 entfernt. Ab Februar 2025 kannst du bei Google Play keine Titel mehr veröffentlichen, die neu in Games SDK V1 integriert wurden. Wir empfehlen, stattdessen das Games SDK V2 zu verwenden.
Bestehende Titel mit den vorherigen Integrationen für Spiele v1 funktionieren zwar noch einige Jahre, aber wir empfehlen Ihnen, ab Juni 2025 zu Version 2 zu migrieren.
In diesem Leitfaden wird die Verwendung des Play Games Services SDK V1 beschrieben. Das C++ SDK für Play Games Services v2 ist noch nicht verfügbar.

In diesem Leitfaden erfahren Sie, wie Sie den Events-Dienst in einer C++-Anwendung verwenden.

Hinweis

Falls noch nicht geschehen, sollten Sie sich die Spielkonzepte für Events ansehen.

Wenn Sie Ihre C++-Entwicklungsumgebung für die Verwendung des Events-Dienstes einrichten möchten, folgen Sie der Anleitung im Leitfaden für die ersten Schritte mit C++. Sie können das Play Games Services C++ SDK von der SDK-Downloadseite herunterladen.

Bevor Ihr Spiel auf Ereignisse zugreifen kann, müssen Sie sie zuerst in der Google Play Console definieren.

Ereignis einreichen

Sie können Code in Ihr Spiel einfügen, um den Ereignisdienst zu benachrichtigen, wenn ein für Ihr Spiel relevantes Ereignis eintritt. Beispiele für Ereignisse, die Sie in Ihrem Spiel erfassen könnten, sind: Gegner töten, verschiedene Spielregionen erkunden oder zu ihnen zurückkehren oder In-Game-Artikel erwerben. Normalerweise rufen Sie die Methode Increment für den Event-Manager auf, um die Anzahl eines Ereignisses jedes Mal um 1 zu erhöhen, wenn der Spieler eine mit dem Ereignis verknüpfte Aktion ausführt (z. B. „Ein Monster getötet“).

Das folgende Beispiel zeigt, wie Sie die aktualisierte Anzahl von Ereignissen an den Events-Dienst senden können.

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

Ereignisse abrufen

Wenn Sie den aktuellen Zählwert abrufen möchten, der auf den Servern von Google für ein bestimmtes Ereignis gespeichert ist, rufen Sie eine der Fetch*-Methoden auf. Das kann beispielsweise sinnvoll sein, wenn Sie die Statistiken oder den Fortschritt eines Spielers in einer benutzerdefinierten Benutzeroberfläche in Ihrem Spiel anzeigen möchten.

Im folgenden Beispiel wird gezeigt, wie Sie die Ereignisdaten in Ihrem Spiel abrufen und protokollieren können.

  // Log Events details.
  LogI("---- Showing Event Counts -----");
  gpg::EventManager::FetchAllCallback callback =
      [](gpg::EventManager::FetchAllResponse const &response) {
    for (auto i : response.data) {
      gpg::Event const &event = i.second;
      LogI("Event name: %s  count: %d", event.Name().c_str(),
           event.Count());
    }
  };
  game_services_->Events().FetchAll(callback);