Eseguire la migrazione a Play Games Services v2 (Unity)

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

Prima di iniziare

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

Scaricare il plug-in Google Play Giochi per Unity

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

Rimuovi il vecchio plug-in

In Unity Hub, rimuovi le seguenti cartelle o 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 tuo progetto Unity (fai clic per ingrandire).

Importa il nuovo plug-in nel tuo progetto Unity

Per importare il plug-in nel progetto Unity:

  1. Apri il progetto di gioco.
  2. In Unity Hub, fai clic su Assets > Import Package > Custom Package per importare il file unitypackage scaricato nelle risorse del progetto.
  3. Assicurati che la piattaforma di build attuale sia impostata su Android.

    1. Nel menu principale, fai clic su File > Build Settings (File > Impostazioni di build).

    2. Seleziona Android e fai clic su Cambia piattaforma.

    3. Dovrebbe essere presente una nuova voce di menu in Finestra > Google Play Giochi. In caso contrario, aggiorna gli asset facendo clic su Asset > Aggiorna e poi prova a impostare di nuovo la piattaforma di build.

  4. In Unity Hub, fai clic su File > Build Settings > Player Settings > Other Settings.

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

  6. Nella casella Scripting backend, inserisci IL2CPP.

  7. Nella casella Architetture di destinazione, seleziona un valore.

  8. Prendi nota del nome del pacchetto package_name.Puoi utilizzare queste informazioni in un secondo momento.

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

  10. Aggiungere le risorse Android al progetto Unity

Aggiornare 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 aggiornalo con questo:

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 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, vedi Recuperare i 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 disconnessione nel gioco.

Rimuovi il codice mostrato nell'esempio seguente:

C#

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

Testare il gioco

Assicurati che il gioco funzioni come previsto testandolo. 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 all'avvio del gioco.

    2. Viene visualizzato il popup di benvenuto.

      Esempio di popup di benvenuto.
      Esempio di popup di benvenuto (fai clic per ingrandire).

    3. Vengono visualizzati i messaggi di log riusciti. Esegui questo comando nel terminale:

      adb logcat | grep com.google.android.

      Un messaggio di log riuscito è mostrato nell'esempio seguente:

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

    1. Popup, classifiche e obiettivi vengono visualizzati correttamente e in modo coerente su varie dimensioni e orientamenti dello schermo nell'interfaccia utente dei servizi per i giochi di Play.

    2. L'opzione di disconnessione non è visibile nell'interfaccia utente dei servizi per i giochi di Play.

    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 a fondo il flusso requestServerSideAccess. Assicurati che il server riceva il codice di autorizzazione e possa scambiarlo con un token di accesso. Esegui il test sia degli scenari di successo sia di quelli di errore per errori di rete, scenari client ID non validi.

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

  • Classifiche: invia punteggi e visualizza le classifiche. Controlla il corretto posizionamento e la visualizzazione dei nomi e dei punteggi dei giocatori.
  • 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 di gioco funzionino perfettamente. Ciò è particolarmente importante per i test 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