Zu Play-Spieldiensten V2 (Unity) migrieren

In diesem Dokument wird beschrieben, wie Sie vorhandene Spiele vom Games v1 SDK zum Games v2 SDK migrieren. Das Play Games-Plug-in für Unity, Version 10 und niedriger, verwendet das games v1 SDK.

Hinweis

  • Sie müssen die Play Console bereits eingerichtet und den Unity Hub installiert haben.

Google Play Spiele-Plug-in für Unity herunterladen

Wenn Sie die neuesten Funktionen der Play Spiele-Dienste nutzen möchten, laden Sie die neueste Plug-in-Version herunter und installieren Sie sie. Laden Sie es aus dem GitHub-Repository herunter.

Altes Plug-in entfernen

Entfernen Sie im Unity Hub die folgenden Ordner oder Dateien.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Entfernen Sie die hervorgehobenen Ordner aus Ihrem Unity-Projekt.
Entfernen Sie die hervorgehobenen Ordner in Ihrem Unity-Projekt (zum Vergrößern anklicken).

Neues Plug-in in Ihr Unity-Projekt importieren

So importierst du das Plug-in in dein Unity-Projekt:

  1. Öffnen Sie Ihr Spielprojekt.
  2. Klicken Sie im Unity Hub auf Assets > Import Package > Custom Package, um die heruntergeladene unitypackage-Datei in die Assets Ihres Projekts zu importieren.
  3. Die aktuelle Build-Plattform muss auf Android festgelegt sein.

    1. Klicken Sie im Hauptmenü auf Datei > Build-Einstellungen.

    2. Wählen Sie Android aus und klicken Sie auf Plattform wechseln.

    3. Unter Fenster > Google Play Spiele sollte ein neuer Menüpunkt angezeigt werden. Falls nicht, aktualisieren Sie die Assets, indem Sie auf Assets > Aktualisieren klicken. Versuchen Sie dann noch einmal, die Build-Plattform festzulegen.

  4. Klicken Sie im Unity Hub auf Datei > Build-Einstellungen > Player-Einstellungen > Weitere Einstellungen.

  5. Wählen Sie im Feld Ziel-API-Ebene eine Version aus.

  6. Geben Sie im Feld Scripting-Backend IL2CPP ein.

  7. Wählen Sie im Feld Zielarchitekturen einen Wert aus.

  8. Notieren Sie sich den Paketnamen package_name.Sie können diese Informationen später verwenden.

    Die Playereinstellungen in deinem Unity-Projekt
    Die Playereinstellungen in deinem Unity-Projekt
  9. Android-Ressourcen aus der Play Console kopieren

  10. Android-Ressourcen zu Ihrem Unity-Projekt hinzufügen

Code für die automatische Anmeldung aktualisieren

Ersetzen Sie die PlayGamesClientConfiguration-Initialisierungsklasse durch die PlayGamesPlatform.Instance.Authenticate()-Klasse. Die Initialisierung und Aktivierung von PlayGamesPlatform ist nicht erforderlich. Wenn du PlayGamesPlatform.Instance.Authenticate() aufrufst, wird das Ergebnis der automatischen Anmeldung abgerufen.

C#

Suchen Sie im Unity Hub nach den Dateien mit der Klasse PlayGamesClientConfiguration.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

und aktualisieren Sie sie auf Folgendes:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

Social-Media-Plattform auswählen

Informationen zum Auswählen einer Plattform für soziale Medien finden Sie unter Plattform für soziale Medien auswählen.

Serverauthentifizierungscodes abrufen

Informationen zum Abrufen serverseitiger Zugriffscodes finden Sie unter Serverauthentifizierungscodes abrufen.

Abmeldecode entfernen

Entfernen Sie den Code für die Abmeldung. Für die Play-Spieldienste ist keine Schaltfläche zum Abmelden mehr erforderlich.

Entfernen Sie den im folgenden Beispiel gezeigten Code:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Spiel testen

Testen Sie Ihr Spiel, um sicherzustellen, dass es wie vorgesehen funktioniert. Welche Tests Sie durchführen, hängt von den Funktionen Ihres Spiels ab.

Im Folgenden finden Sie eine Liste gängiger Tests.

  1. Erfolgreiche Anmeldung

    1. Die automatische Anmeldung funktioniert. Der Nutzer sollte beim Starten des Spiels in den Play-Spieldiensten angemeldet sein.

    2. Das Willkommens-Pop-up wird angezeigt.

      Beispiel für ein Willkommens-Pop-up
      Beispiel für ein Begrüßungs-Pop-up (zum Vergrößern anklicken)

    3. Es werden Erfolgsmeldungen angezeigt. Führen Sie im Terminal den folgenden Befehl aus:

      adb logcat | grep com.google.android.

      Im folgenden Beispiel wird eine erfolgreiche Protokollmeldung angezeigt:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Achten Sie auf Einheitlichkeit bei den UI-Komponenten.

    1. Pop-ups, Bestenlisten und Erfolge werden in der Benutzeroberfläche der Play-Spieldienste korrekt und konsistent bei verschiedenen Bildschirmgrößen und -ausrichtungen angezeigt.

    2. Die Option zum Abmelden ist in der Benutzeroberfläche der Play-Spieldienste nicht sichtbar.

    3. Achte darauf, dass du die Player-ID abrufen kannst und dass die serverseitigen Funktionen gegebenenfalls wie erwartet funktionieren.

    4. Wenn das Spiel die serverseitige Authentifizierung verwendet, testen Sie den requestServerSideAccess-Vorgang gründlich. Der Server muss den Autorisierungscode erhalten und gegen ein Zugriffstoken eintauschen können. Testen Sie sowohl Erfolgs- als auch Fehlerszenarien auf Netzwerkfehler und ungültige client ID-Szenarien.

Wenn Sie in Ihrem Spiel eine der folgenden Funktionen verwendet haben, testen Sie sie, um sicherzustellen, dass sie wie vor der Migration funktionieren:

  • Bestenlisten: Hier können Sie Ihre Punktzahlen einreichen und Bestenlisten aufrufen. Prüfen Sie, ob die Spielernamen und -ergebnisse korrekt angezeigt werden.
  • Erfolge: Sie können Erfolge freischalten und prüfen, ob sie korrekt aufgezeichnet und in der Play Spiele-Benutzeroberfläche angezeigt werden.
  • Gespeicherte Spiele: Wenn das Spiel gespeicherte Spiele verwendet, muss das Speichern und Laden des Spielfortschritts einwandfrei funktionieren. Dies ist besonders wichtig, wenn Sie auf mehreren Geräten und nach App-Updates testen.

Aufgaben nach der Migration

Führen Sie die folgenden Schritte aus, nachdem Sie zum Games v2 SDK migriert sind.

  1. Play App-Signatur verwenden

  2. AAB-Datei erstellen

  3. Internen Testrelease erstellen

  4. Anmeldedaten für die App-Signatur bestätigen