Questo documento ti guida nella configurazione del progetto Unity per utilizzare il plug-in Google Play Giochi per Unity. Scopri come installare il plug-in e configurare il progetto Unity. Il documento spiega anche come verificare il servizio di accesso.
Prima di iniziare
Esamina i requisiti software. Configura Play Console e installa Unity Hub.
Configura Play Console per il tuo gioco.
Installa Unity Hub e crea il tuo gioco in Unity.
Installazione del plug-in
Per scaricare e installare il plug-in Google Play Games per Unity, segui questi passaggi in Unity Hub:
Scarica il repository GitHub.
Nella directory
current-build
, individua il fileunitypackage
. Questo file rappresenta il plug-in. Ad esempio, dovrebbe essere simile a quanto segue:current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
Configurare il progetto Unity
Per configurare un progetto Unity nelle impostazioni del player:
Apri il progetto di gioco.
In Unity Hub, fai clic su Assets > Import Package > Custom Package per importare il file
unitypackage
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.

Crea un nuovo keystore
Per convalidare le tue credenziali, hai bisogno di una chiave. Procedi nel seguente modo:
- In Unity Hub, fai clic su File > Build settings > Player settings (File > Impostazioni di build > Impostazioni del giocatore).
- Nella sezione Impostazioni di pubblicazione, fai clic su Gestore keystore.
- Nella finestra Keystore Manager, fai clic su Keystore > Create new > Anywhere (Keystore > Crea nuovo > Ovunque).
- Seleziona una cartella e fornisci un nome per il keystore.
- Nella casella Password, inserisci una password e confermala.
- Fai clic su Aggiungi chiave.
Prendi nota del nome della cartella. Puoi utilizzare questo nome per creare una credenziale in Google Cloud.
Copia le risorse Android da Play Console
Ogni obiettivo, classifica ed evento che crei in Play Console include una risorsa Android che utilizzi quando configuri il tuo progetto Unity.
Per ottenere le risorse Android per il tuo gioco:
In Google Play Console, apri il gioco.
Nella pagina Servizi per i giochi di Play - Configurazione (Crescita > Servizi per i giochi di Play > Configurazione e gestione > Configurazione), fai clic su Scarica risorse.
Nella finestra Risorse, fai clic sulla scheda Android(XML).
Seleziona e copia i contenuti delle risorse Android (
AndroidManifest.xml
).
Aggiungi le risorse Android al tuo progetto Unity
Aggiungi le seguenti risorse Android al tuo progetto Unity:
In Unity Hub, fai clic su Window > Google Play Games > Setup > Android Setup (Finestra > Google Play Games > Configurazione > Configurazione Android).
- Nel campo Directory in cui salvare le costanti, inserisci il nome della cartella per il file delle costanti.
Nel campo Nome classe costanti, inserisci il nome della classe C# da creare, incluso lo spazio dei nomi.
Ad esempio, se la classe C# è
id.cs
e si trova in Assets > myproject > scripts > id.cs. Il nome della classe delle costanti può esseremyproject.scripts.id
.Nel campo Definizione risorse, incolla i dati delle risorse Android (file
AndroidManifest.xml
) che hai copiato da Google Play Console.(Facoltativo) Nel campo ID client, inserisci l'ID client dell'app web collegata.
Per ottenere l'ID client per il tuo gioco da Google Cloud, consulta la sezione Creazione di ID client.
Questo è necessario solo se hai un backend basato sul web per il tuo gioco e hai bisogno di un codice di autenticazione del server da scambiare con un token di accesso dal server di backend oppure se hai bisogno di un token ID per il giocatore per effettuare altre chiamate API non di gioco.
Fai clic su Configura. In questo modo, il gioco viene configurato con l'ID cliente e viene generata una classe C# che contiene costanti per ciascuna delle risorse Android.
In Unity Hub, fai clic su Window > Google Play Games > Setup > Nearby Connections Setup.
Nel campo ID servizio di connessione nelle vicinanze, inserisci package_name.
Utilizza lo stesso package_name che hai utilizzato nella configurazione del progetto Unity.
Fai clic su Configura.
Scegli una piattaforma social
Il plug-in Google Play Games Services implementa l'interfaccia social di Unity, per la compatibilità con i giochi che già utilizzano questa interfaccia durante l'integrazione con altre piattaforme. Tuttavia, alcune funzionalità sono esclusive di Play Giochi e vengono offerte come estensioni dell'interfaccia social standard fornita da Unity.
È possibile accedere alle chiamate API standard tramite l'oggetto Social.Active, che è un riferimento a un'interfaccia ISocialPlatform. È possibile accedere alle estensioni non standard dei servizi per i giochi di Google Play eseguendo il cast dell'oggetto Social.Active alla classe PlayGamesPlatform, in cui sono disponibili i metodi aggiuntivi.
Utilizzare il plug-in senza ignorare la piattaforma social predefinita
Quando chiami PlayGamesPlatform.Activate
, i servizi per i giochi di Google Play diventano l'implementazione predefinita della piattaforma social, il che significa che le chiamate statiche ai metodi in Social
e Social.Active
verranno eseguite dal plug-in dei servizi per i giochi di Google Play. Questo è il comportamento della maggior parte dei giochi che utilizzano il plug-in.
Tuttavia, se per qualche motivo vuoi mantenere accessibile l'implementazione predefinita (ad esempio, per utilizzarla per inviare obiettivi e classifiche a una piattaforma social diversa), puoi utilizzare il plug-in Google Play Games Services senza ignorare quello predefinito. Per farlo:
- Non chiamare
PlayGamesPlatform.Activate
- Se
Xyz
è il nome di un metodo che devi chiamare nella classeSocial
, non chiamareSocial.Xyz
. Chiama invecePlayGamesPlatform.Instance.Xyz
- Non utilizzare
Social.Active
quando interagisci con Google Play Games Services. Utilizza invecePlayGamesPlatform.Instance
.
In questo modo, puoi inviare punteggi e obiettivi contemporaneamente a due o più piattaforme social:
// Submit achievement to original default social platform
Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);
// Submit achievement to Google Play
PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
Verificare il servizio di accesso
Quando viene aperto il gioco, viene tentata automaticamente una connessione ai servizi per i giochi di Play utilizzando il servizio di accesso. Se la connessione va a buon fine, il gioco mostra una richiesta di accesso ed è pronto per utilizzare il plug-in dei servizi per i giochi di Google Play per Unity.
Se un utente non ha mai utilizzato i servizi per i giochi di Google Play sul proprio dispositivo, viene automaticamente indirizzato a una schermata di configurazione una tantum per creare un account Play Giochi.
Nel metodo Start
dello script, ascolta il risultato del tentativo di accesso automatico, recupera lo stato di autenticazione e disattiva le funzionalità di Play Games Services se l'utente non ha eseguito l'accesso.
Se la versione del plug-in Unity è precedente a v11
, non puoi utilizzare la funzionalità di accesso.
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).
}
}
Il codice risultato è un'enumerazione che puoi utilizzare per identificare il motivo di un errore di accesso.
Se preferisci utilizzare la piattaforma Social di Unity, puoi utilizzare in alternativa il seguente codice:
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Activate();
Social.localUser.Authenticate(ProcessAuthentication);
}
Non puoi effettuare chiamate API ai servizi per i giochi di Google Play finché non ricevi un valore di ritorno
positivo da Authenticate
. Di conseguenza, consigliamo ai giochi di mostrare una
schermata di standby finché non viene chiamato il callback per garantire che gli utenti non possano iniziare a giocare
finché l'autenticazione non è completata.
Utilizzare la firma dell'app di Google Play
Google gestisce e protegge la chiave di firma della tua app utilizzando la funzionalità firma dell'app di Google Play. Puoi utilizzare la firma dell'app di Google Play per firmare file Android App Bundle ottimizzati per la distribuzione. La firma dell'app di Google Play archivia la chiave di firma dell'app nell'infrastruttura sicura di Google. Per utilizzare la firma dell'app di Google Play, devi prima creare e scaricare un file AAB da Unity Hub. A questo punto, puoi caricare il file AAB su Play Console e creare una release di test interni.
Creare un file AAB
Per creare un file AAB in Unity Hub:
- In Unity Hub, fai clic su File > Build settings (Impostazioni di build).
Seleziona Crea Android App Bundle ( Google Play).
Per ulteriori informazioni, vedi Guida di riferimento alle impostazioni di build di Android.
Fai clic su Crea.
Scarica il file AAB da Unity Hub.
Creare una release di test interno
Per creare una release di test interno e aggiungere tester in Play Console:
- In Google Play Console, seleziona un gioco.
- Vai alla pagina Test e release (Test > Test interni).
- Fai clic su Carica e seleziona il file AAB.
- Nel campo Dettagli release, inserisci un nome.
- Fai clic su Avanti e controlla i dettagli della release.
- Fai clic su Salva e pubblica.
Nella scheda Tester, fai clic su Crea mailing list per aggiungere fino a 100 tester.
Per saperne di più, consulta Test interno: consente di gestire fino a 100 tester.
Nel campo Indirizzo email o URL per i feedback, inserisci un URL o un indirizzo email per fornire feedback.
Fai clic su Salva.
Verificare le credenziali di firma dell'app
- In Google Play Console, seleziona un gioco.
- Vai alla pagina Testa e rilascia (Configurazione > Firma dell'app).
- Verifica le tue credenziali di firma dell'app.
Crea ed esegui il progetto
A questo punto puoi creare ed eseguire il progetto di gioco. Quando il gioco inizia, vedrai il tentativo di accesso automatico.
È necessario un dispositivo fisico basato su Android con il debug USB abilitato o un emulatore in grado di eseguire il progetto sviluppato.
Recuperare i codici di autenticazione del server
Per accedere alle API di Google su un server web di backend per conto del giocatore attuale, devi ottenere un codice di autenticazione dall'applicazione client e passarlo all'applicazione del server web. Il codice può quindi essere scambiato con un token di accesso per effettuare chiamate alle varie API. Per informazioni sul flusso di lavoro, vedi Accedi con Google per il web.
Per ottenere il codice di accesso lato server:
- Aggiungi l'ID client web per il tuo gioco in Play Console.
- In Google Play Console, seleziona il tuo gioco.
- Nella pagina Configurazione (Aumenta il numero di utenti > Servizi per i giochi di Play > Configurazione e gestione > Configurazione), fai clic su Aggiungi credenziale.
- Nella pagina Aggiungi credenziale, seleziona Server di gioco.
- Genera un ID client OAuth 2.0.
- Prendi nota del valore dell'ID client. Dovrai fornire questo valore in un secondo momento.
Aggiungi l'ID client web a Unity Hub.
- Nell'hub Unity, configura Google Play Giochi per Unity e accedi.
- Nell'hub Unity, vai a Window > Google Play Games > Setup > Android Setup (Finestra > Google Play Games > Configurazione > Configurazione Android).
- Inserisci il valore dell'ID client.
Recupera il codice di autorizzazione del server per ambiti aggiuntivi.
C#
using GooglePlayGames.BasicApi; // Define selectedScope having additional identity scopes. private List
selectedScopes = new List (); // Add scopes you want to request. selectedScopes.Add(AuthScope.OPEN_ID); selectedScopes.Add(AuthScope.PROFILE); selectedScopes.Add(AuthScope.EMAIL); // Call RequestServerSideAccess with additional scopes and retrieve // authcode and grantedscopes list. PlayGamesPlatform.Instance.RequestServerSideAccess( /* forceRefreshToken= */ false,selectedScopes (AuthResponse authResponse) => { string authCode = authResponse.GetAuthCode(); List grantedScopes = authResponse.GetGrantedScopes(); // send authCode to server... });
Configurare e aggiungere funzionalità
Attiva le funzionalità dei servizi per i giochi di Play.
Aggiungi funzionalità al tuo gioco utilizzando le API dei servizi per i giochi di Play:
API Recall per Unity (supportata solo per il plug-in Unity versione v11 e successive)