Eseguire la migrazione a Play Games Services v2 (Unity)

Questo documento descrive come eseguire la migrazione dei giochi esistenti dall'SDK v1 per i giochi all'SDK v2 per i giochi. Il plug-in Play Games per Unity, nelle versioni 10 e precedenti, utilizza l'SDK v1 per i giochi.

Prima di iniziare

  • Assicurati di aver già configurato Play Console e di aver installato Unity Hub.

Scarica il plug-in Google Play Giochi per Unity

Per usufruire delle funzionalità più recenti di Play Services, scarica e installa la versione più recente del plug-in. Scaricalo dal repository GitHub.

Rimuovi il vecchio plug-in

In Unity Hub, rimuovi le seguenti cartelle o i seguenti file.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Rimuovi le cartelle evidenziate nel progetto Unity.
Rimuovi le cartelle evidenziate nel progetto Unity (fai clic per ingrandire).

Importa il nuovo plug-in nel progetto Unity

Per importare il plug-in nel progetto Unity:

  1. Apri il progetto di gioco.
  2. In Unity Hub, fai clic su Asset > Importa pacchetto > Pacchetto personalizzato per importare il file unitypackage scaricato nelle risorse del progetto.
  3. Assicurati che la piattaforma di compilazione corrente sia impostata su Android.

    1. Nel menu principale, fai clic su File > Impostazioni di compilazione.

    2. Seleziona Android e fai clic su Cambia piattaforma.

    3. Dovresti trovare un nuovo elemento di menu in Finestra > Google Play Giochi. Se non è presente, aggiorna gli asset facendo clic su Asset > Aggiorna e poi prova a impostare di nuovo la piattaforma di compilazione.

  4. In Unity Hub, fai clic su File > Impostazioni di build > Impostazioni del giocatore > Altre impostazioni.

  5. Nella casella Livello API target, seleziona una versione.

  6. Nella casella Scripting backend, inserisci IL2CPP.

  7. Nella casella Architetture target, seleziona un valore.

  8. Prendi nota del nome del pacchetto package_name.Puoi utilizzare queste informazioni più tardi.

    Le impostazioni del player nel progetto Unity
    Le impostazioni del player nel progetto Unity.
  9. Copiare le risorse Android da Play Console

  10. Aggiungere le risorse Android al progetto Unity

Aggiorna il codice di accesso automatico

Sostituisci la classe di inizializzazione PlayGamesClientConfiguration con la classe PlayGamesPlatform.Instance.Authenticate(). L'inizializzazione e l'attivazione di PlayGamesPlatform non sono necessarie. La chiamata a PlayGamesPlatform.Instance.Authenticate() recupera il risultato dell'accesso automatico.

C#

In Unity Hub, individua i file con la classe 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();
}

E aggiornala come segue:

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).
    }
}

Scegli una piattaforma di social

Per scegliere una piattaforma social, consulta scegliere una piattaforma social.

Recuperare i codici di autenticazione del server

Per ottenere i codici di accesso lato server, consulta Recupero dei codici di autenticazione del server.

Rimuovere il codice di disconnessione

Rimuovi il codice per la disconnessione. I servizi per i giochi di Play non richiedono più un pulsante di logout in-game.

Rimuovi il codice mostrato nell'esempio seguente:

C#

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

Testare il gioco

Verifica che il gioco funzioni come previsto testando. I test che esegui dipendono dalle funzionalità del gioco.

Di seguito è riportato un elenco di test comuni da eseguire.

  1. Accesso riuscito.

    1. L'accesso automatico funziona. L'utente deve aver eseguito l'accesso ai servizi per i giochi di Play al momento dell'avvio del gioco.

    2. Viene visualizzato il popup di benvenuto.

      Popup di benvenuto di esempio.
      Finestra popup di benvenuto di esempio (fai clic per ingrandire).

    3. Vengono visualizzati i messaggi di log di esito positivo. Esegui il seguente comando nel terminale:

      adb logcat | grep com.google.android.

      Un messaggio di log di esito positivo è mostrato nell'esempio seguente:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Garantisci la coerenza dei componenti dell'interfaccia utente.

    1. I popup, le classifiche e gli obiettivi vengono visualizzati correttamente e in modo coerente su varie dimensioni e orientamenti dello schermo nell'interfaccia utente (UI) dei servizi per i giochi di Google Play.

    2. L'opzione di disconnessione non è visibile nell'interfaccia utente di Play Services.

    3. Assicurati di poter recuperare correttamente l'ID giocatore e, se applicabile, che le funzionalità lato server funzionino come previsto.

    4. Se il gioco utilizza l'autenticazione lato server, testa attentamente il flussorequestServerSideAccess. Assicurati che il server riceva il codice di autenticazione e possa scambiarlo con un token di accesso. Testa gli scenari di successo e di errore per errori di rete e scenari client ID non validi.

Se il tuo gioco utilizzava una delle seguenti funzionalità, testala per assicurarti che funzioni come prima della migrazione:

  • Classifiche: invia i punteggi e visualizza le classifiche. Verifica che il ranking e la visualizzazione dei nomi e dei punteggi dei giocatori siano corretti.
  • Obiettivi: sblocca gli obiettivi e verifica che vengano registrati e visualizzati correttamente nell'interfaccia utente di Play Giochi.
  • Partite salvate: se il gioco utilizza le partite salvate, assicurati che il salvataggio e il caricamento dei progressi del gioco funzionino perfettamente. Questo è particolarmente importante per testare su più dispositivi e dopo gli aggiornamenti delle app.

Attività post-migrazione

Completa i seguenti passaggi dopo aver eseguito la migrazione all'SDK Games v2.

  1. Utilizzare la firma dell'app di Google Play

  2. Creare un file AAB

  3. Creare una release di test interno

  4. Verificare le credenziali di firma dell'app