Mit dem Play Games PC SDK können Sie auf Google Play-Dienste zugreifen, um Ihr Spiel für PCs zu entwickeln und zu monetarisieren. Verkaufen Sie digitale Inhalte mit Play Billing, ermöglichen Sie eine nahtlose Anmeldung mit Play Spiele und sorgen Sie mit Play Integrity dafür, dass Ihre Nutzer eine gültige Berechtigung für Ihre Anwendung haben.
Bist du bereit?
Voraussetzungen
Erstellen Sie einen App-Eintrag in der Play Console und beanspruchen Sie einen Play-Paketnamen.
Laden Sie Google Play Spiele für PC herunter und installieren Sie die Software. Melden Sie sich dann mit Ihrem Google-Konto an.
Schritt 1: SDK zum Projekt hinzufügen
Laden Sie das Play Games PC C++ SDK herunter.
Kopieren Sie den API-Header-Ordner
includes/
in den Code Ihrer Anwendung.Kopieren Sie die weitervertreibbaren Dateien aus
imports/
in das Projekt Ihrer Anwendung.- Verknüpfen Sie Ihr Projekt mit
play_pc_sdk.lib
, um Zugriff auf die Inhalte vonplay_pc_sdk.dll
zu erhalten.
- Verknüpfen Sie Ihr Projekt mit
Schritt 2: Manifestdatei hinzufügen
Bevor Sie das SDK in Ihrem Spiel verwenden können, müssen Sie die ausführbare Datei Ihres Spiels mit dem Play-Paketnamen verknüpfen, den Sie in der Play Console beansprucht haben. Dazu fügen Sie eine manifest.xml
-Datei in dasselbe Verzeichnis wie die ausführbare Datei Ihres Spiels ein.
Beispiel für manifest.xml
-Inhalte:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Beispiel für die Platzierung von manifest.xml
:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
Schritt 3: Spiel digital signieren
Bevor Ihr Spiel das SDK verwenden kann, muss die ausführbare Datei des Spiels mit einer Authenticode-Signatur digital signiert werden. Eine Anleitung zum Signieren einer ausführbaren Datei finden Sie in der Dokumentation zu SignTool .
Schritt 4: SDK initialisieren
Initialisieren Sie das SDK während der Startsequenz Ihres Spiels. Dies sollte automatisch ohne Nutzerinteraktion erfolgen. Es wird empfohlen, eine erfolgreiche Initialisierung zu bestätigen, bevor das Spielfenster gerendert wird. So wird für eine optimale Nutzerfreundlichkeit gesorgt, da Fehler so schnell wie möglich erkannt und behoben werden. Außerdem wird verhindert, dass das Spielfenster kurzzeitig angezeigt wird, wenn der Spielprozess beendet werden muss.
Rufen Sie GooglePlayInitialize
auf, um die API zu initialisieren und das SDK zu verwenden. Dadurch wird der globale Status eingerichtet, eine Verbindung zur SDK-Laufzeit hergestellt und geprüft, ob die Anwendung richtig gestartet wurde. Diese Methode MUSS aufgerufen werden und der Fortsetzungs-Callback muss mit InitializeResult::ok()
gleich true
abgeschlossen sein, bevor eine andere API verwendet werden kann.
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
Wenn die Initialisierung mit dem Code kActionRequiredShutdownClientProcess
fehlschlägt, beende den Spielprozess so schnell wie möglich. Die Laufzeit des SDK versucht, dem Nutzer zu helfen, ohne dass Ihr Spiel zusätzliche Maßnahmen ergreifen muss. Wenn der Nutzer beispielsweise keine gültige Lizenz für das Spiel hat, wird er in Google Play Spiele aufgefordert, eine Kopie zu kaufen. Bei anderen Fehlern wird weiterhin empfohlen, den Spielprozess so schnell wie möglich zu beenden, da das SDK nicht für kritische Vorgänge wie die Überprüfung verwendet werden kann, ob der Nutzer eine gültige Lizenz für Ihr Spiel besitzt.
Eine nicht erfolgreiche Antwort kann auf eine der folgenden Bedingungen hinweisen:
Die SDK-Laufzeit ist nicht installiert, wird nicht auf dem Gerät ausgeführt oder ist eine ältere Version, die nicht mit dem in Ihr Spiel integrierten SDK kompatibel ist.
Die SDK-Laufzeit konnte die Anwendungsidentität des Spiels nicht bestätigen. Das kann an einem ungültigen
manifest.xml
liegen oder daran, dass Sie das SDK ohne Aktivierung des Entwicklermodus verwenden. Andernfalls muss die ausführbare Datei Ihres Spiels mit dem digitalen Zertifikat, das für Ihren Play-Paketnamen registriert ist, digital signiert werden.Die ausführbare Datei des Spiels wurde nicht über den Google Play Spiele-Client gestartet.
Der aktive Nutzer in Google Play Spiele hat keine Lizenz für die Anwendung.
Schritt 5 (optional): Mehrere Spielprozesse unterstützen
Wenn Ihr Spiel mehrere Prozesse verwendet und Sie das Play Spiele PC-SDK in einem Prozess verwenden möchten, der nicht direkt von Google Play Spiele für PC gestartet wird, sind zusätzliche Integrationsschritte erforderlich:
Der Prozess, der direkt von Google Play Spiele für PC gestartet wird, muss eine erfolgreiche Initialisierung des Play Spiele PC SDK bestätigen.
So wird eine optimale Nutzererfahrung gewährleistet, da Fehler so schnell wie möglich angezeigt werden. Hinweis: Auch untergeordnete Prozesse, die das SDK verwenden, müssen initialisiert werden.
Wenn Sie das Play Games PC SDK in einem untergeordneten Prozess verwenden möchten, leiten Sie die Befehlszeilenparameter an den erstellten untergeordneten Prozess weiter.
Beispiel für die Weiterleitung von Befehlszeilenparametern:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --foo=abc --bar=123 └───YourGame.exe --foo=abc --bar=123
In diesem Beispiel sehen wir eine Prozesshierarchie, in der Google Play Spiele für den PC (
GooglePlayGames.exe
) das Spiel (YourGameLauncher.exe
) mit einigen Beispielparametern (--foo=abc --bar=123
) startet. Das Spiel startet dann einen untergeordneten Prozess (YourGame.exe
), der das Play Games PC SDK verwendet. Damit dies möglich ist, leitet der von Google Play Spiele für PC gestartete Spielprozess die ihm zugewiesenen Befehlszeilenparameter an den untergeordneten Prozess weiter.Beenden Sie alle Prozesse, wenn das Spiel nicht mehr ausgeführt wird.
Wenn ein Nutzer Ihr Spiel schließt oder das Spiel aufgrund eines Fehlers bei der SDK-Initialisierung beendet wird, z. B.
kActionRequiredShutdownClientProcess
, schließen Sie alle Prozesse, die von Ihrem Spiel gestartet wurden. So wird sichergestellt, dass beim nächsten Start Ihres Spiels über den Google Play Spiele für PC-Client neue Änderungen wie der Wechsel zu einem anderen aktiven Konto wirksam werden.
Nächste Schritte
So verwenden Sie das SDK bei der Entwicklung in Ihrer IDE:
- Entwicklermodus aktivieren
Google Play-PC-Funktionen in Ihre App einfügen:
- Digitale Waren mit Play Billing verkaufen
- Marketing mit Play Install Referrer analysieren