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

Importa il nuovo plug-in nel tuo progetto Unity
Per importare il plug-in nel progetto Unity:
- Apri il progetto di gioco.
- In Unity Hub, fai clic su Assets > Import Package > Custom Package
per importare il file
unitypackage
scaricato nelle risorse del progetto. Assicurati che la piattaforma di build attuale sia impostata su Android.
Nel menu principale, fai clic su File > Build Settings (File > Impostazioni di build).
Seleziona Android e fai clic su Cambia piattaforma.
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.
In Unity Hub, fai clic su File > Build Settings > Player Settings > Other Settings.
Nella casella Livello API target, seleziona una versione.
Nella casella Scripting backend, inserisci
IL2CPP
.Nella casella Architetture di destinazione, seleziona un valore.
Prendi nota del nome del pacchetto package_name.Puoi utilizzare queste informazioni in un secondo momento.
Le impostazioni del player nel tuo 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.
Accesso riuscito.
L'accesso automatico funziona. L'utente deve aver eseguito l'accesso ai servizi per i giochi di Play all'avvio del gioco.
Viene visualizzato il popup di benvenuto.
Esempio di popup di benvenuto (fai clic per ingrandire). 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 ]
Garantire la coerenza dei componenti dell'interfaccia utente.
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.
L'opzione di disconnessione non è visibile nell'interfaccia utente dei servizi per i giochi di Play.
Assicurati di poter recuperare correttamente l'ID giocatore e, se applicabile, che le funzionalità lato server funzionino come previsto.
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, scenariclient 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.