Zu Play-Spieldiensten V2 (Unity) migrieren

In diesem Dokument wird beschrieben, wie Sie vorhandene Spiele vom Games SDK V1 zum Games SDK V2 migrieren. Für das Play Games-Plug-in für Unity, Version 10 und früher, wird das Games SDK V1 verwendet.

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-Spieledienste nutzen möchten, laden Sie die aktuelle Plugin-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 markierten Ordner in Ihrem Unity-Projekt (zum Vergrößern klicken).

Neues Plug-in in Ihr Unity-Projekt importieren

So importieren Sie das Plug-in in Ihr Unity-Projekt:

  1. Öffnen Sie Ihr Spielprojekt.
  2. Klicken Sie im Unity Hub auf Assets > Import Package > Custom Package, um die heruntergeladene Datei unitypackage in die Assets Ihres Projekts zu importieren.
  3. Achten Sie darauf, dass Ihre aktuelle Build-Plattform auf Android eingestellt ist.

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

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

    3. Unter Window > Google Play Games sollte ein neuer Menüpunkt angezeigt werden. Wenn nicht, aktualisieren Sie die Assets, indem Sie auf Assets > Aktualisieren klicken, und 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-Level eine Version aus.

  6. Geben Sie im Feld Scripting backend (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 Ihrem Unity-Projekt
    Die Playereinstellungen in Ihrem 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 Initialisierungsklasse PlayGamesClientConfiguration durch die Klasse PlayGamesPlatform.Instance.Authenticate(). Die Initialisierung und Aktivierung von PlayGamesPlatform ist nicht erforderlich. Durch den Aufruf von PlayGamesPlatform.Instance.Authenticate() 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();
}

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 Social-Media-Plattform finden Sie unter Social-Media-Plattform auswählen.

Serverauthentifizierungscodes abrufen

Informationen zum Abrufen von serverseitigen Zugriffscodes finden Sie unter Serverauthentifizierungscodes abrufen.

Abmeldecode entfernen

Entfernen Sie den Code für die Abmeldung. Für die Play-Spieldienste ist keine Abmeldeschaltfläche im Spiel 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. Die Tests, die Sie durchführen, hängen von den Funktionen Ihres Spiels ab.

Im Folgenden finden Sie eine Liste mit häufigen Tests, die ausgeführt werden können.

  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 klicken)

    3. Erfolgreiche Log-Meldungen werden angezeigt. Führen Sie im Terminal den folgenden Befehl aus:

      adb logcat | grep com.google.android.

      Im folgenden Beispiel sehen Sie eine erfolgreiche Logmeldung:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Einheitlichkeit der UI-Komponenten sicherstellen

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

    2. Die Abmeldeoption ist in der Benutzeroberfläche der Play-Spieldienste nicht sichtbar.

    3. Prüfen Sie, ob Sie die Spieler-ID abrufen können und ob die serverseitigen Funktionen wie erwartet funktionieren.

    4. Wenn das Spiel die serverseitige Authentifizierung verwendet, testen Sie den requestServerSideAccess-Ablauf gründlich. Achten Sie darauf, dass der Server den Autorisierungscode empfängt und ihn gegen ein Zugriffstoken eintauschen kann. Testen Sie sowohl Erfolgs- als auch Fehlerszenarien für Netzwerkfehler und ungültige client ID-Szenarien.

Wenn Ihr Spiel eine der folgenden Funktionen verwendet hat, testen Sie sie, um sicherzustellen, dass sie wie vor der Migration funktionieren:

  • Bestenlisten: Punktzahlen einreichen und Bestenlisten ansehen. Prüfe, ob die Namen der Spieler und die Ergebnisse richtig angezeigt werden.
  • Erfolge: Schalten Sie Erfolge frei und prüfen Sie, ob sie in der Play Spiele-Benutzeroberfläche richtig aufgezeichnet und 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 die Funktion 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 haben.

  1. Play App-Signatur verwenden

  2. AAB-Datei erstellen

  3. Internen Testrelease erstellen

  4. Anmeldedaten für das App-Signieren bestätigen