Nach der Einstellung der Google Sign-In API entfernen wir 2026 das Games v1 SDK. Nach Februar 2025 können Sie bei Google Play keine Titel mehr veröffentlichen, die neu mit dem Games v1 SDK eingebunden sind. Wir empfehlen stattdessen die Verwendung des Games V2 SDK.
Vorhandene Titel mit der vorherigen V1-Integration für Spiele funktionieren noch einige Jahre lang. Wir empfehlen dir jedoch, ab Juni 2025 auf V2 umzustellen.
Dieser Leitfaden bezieht sich auf die Verwendung des Play Games Services SDK v1. Das C++ SDK für Play Games Services 2 ist noch nicht verfügbar.
In diesem Leitfaden erfahren Sie, wie Sie den Events-Dienst in einer C++-Anwendung verwenden.
Hinweis
Falls Sie es noch nicht getan haben, sollten Sie sich die Spielkonzepte für Ereignisse ansehen.
Wenn Sie Ihre C++-Entwicklungsumgebung für die Verwendung des Ereignisdienstes einrichten möchten, folgen Sie der Anleitung im Leitfaden Erste Schritte mit C++. Sie können das C++ SDK für die Play-Spieldienste auf der Seite mit SDK-Downloads herunterladen.
Damit 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 Ereignis eintritt, das für Ihr Spiel von Interesse ist. Beispiele für Ereignisse, die Sie in Ihrem Spiel erfassen könnten: Tötung von Gegnern, Erkundung oder Rückkehr zu verschiedenen Spielregionen oder Erwerb von In-Game-Artikeln. Normalerweise rufen Sie die Methode Increment
auf dem Ereignismanager 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 Ereignisanzahl an den Ereignisdienst 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 für ein bestimmtes Ereignis auf den Google-Servern gespeichert ist, rufen Sie eine der Fetch*
-Methoden auf. Das kann beispielsweise der Fall sein, wenn Sie die Statistiken oder den Fortschritt eines Spielers in Ihrem Spiel über eine benutzerdefinierte Benutzeroberfläche 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);