Panoramica della migrazione

L'SDK v1 per i giochi di Google Play Games Services si basa su Accedi con Google per Android, che è ritirato e verrà rimosso dall'SDK Google Play Services Auth (com.google.android.gms:play-services-auth) nel 2025. Le nuove app di gioco possono utilizzare la versione 1 per i giochi fino al 2025. La rimozione di Accedi con Google introduce problemi di dipendenza per le app di gioco esistenti. La migrazione delle app di gioco esistenti dall'SDK v1 per i giochi all'SDK v2 per i giochi risolve i problemi di dipendenza introdotti dalla rimozione di Accedi con Google.

La migrazione dalla versione 1 alla versione 2 dei servizi per i giochi di Play è un aggiornamento significativo che semplifica lo sviluppo e supporta i giochi multipiattaforma. La versione 2 dei servizi per i giochi di Play separa l'identità della piattaforma e quella in-game, fungendo da sistema di identità a livello di piattaforma che autentica automaticamente i giocatori all'avvio. L'identità della piattaforma è ora separata dal sistema di account in-game principale, che devi gestire in modo indipendente utilizzando strumenti come Accedi con Google o backend proprietari. L'integrazione dell'SDK dei servizi per i giochi di Play v2 utilizza l'ID giocatore per funzionalità della piattaforma come obiettivi e classifiche senza alterare i flussi di onboarding o accesso esistenti.

Questo documento ti aiuta a comprendere le interazioni tra l'applicazione di giochi e vari SDK. A causa della cronologia di ritiro ufficiale, devi seguire i principi architetturali, i percorsi e le strategie di comunicazione con i giocatori di questa guida alla migrazione per garantire la continuità dei giocatori.

Interazioni SDK

I diagrammi illustrano l'interazione tra un'applicazione di giochi su Android, Google Mobile Services (GMS) Core, Play Games Services e un server di giochi di terze parti. Viene evidenziato come l'applicazione utilizzi i servizi di Google per l'autenticazione e le funzionalità di gioco, interagendo al contempo con un sistema di terze parti separato.

games v2 (attuale)

Interazione tra un'applicazione di gioco su
    Android, GMS Core, Play Games Services
    e un server di giochi di terze parti (3P).
Interazione tra un'applicazione di gioco su Android, GMS Core, Play Games Services, e un server di gioco di terze parti. (fai clic per ingrandire).

games v1 (legacy)

Interazione tra un'applicazione di gioco su
    Android, GMS Core, Play Games Services
    e un server di giochi di terze parti (3P).
Interazione tra un'applicazione di gioco su Android, GMS Core, Play Games Services e un server di gioco di terze parti. (fai clic per ingrandire).

Di seguito è riportata una breve panoramica dei componenti e degli SDK:

  • Applicazione di giochi.
    • Rappresenta l'applicazione di gioco dell'utente in esecuzione su un dispositivo Android.
    • Contiene due componenti principali:
      • SDK games v1 o games v2.L'SDK lato client responsabile dell'interazione con i servizi per i giochi di Play.
      • SDK Auth. L'SDK Google Play Services Auth è responsabile della gestione dei flussi di autenticazione e autorizzazione degli utenti nei giochi v1.
    • Entrambi gli SDK comunicano utilizzando AIDL (Android Interface Definition Language), indicando un pattern di comunicazione tra processi o servizi diversi.
  • GMS Core, noto anche come Google Play Services.
    • Questo è il livello proprietario di Google su Android.
    • L'applicazione di giochi utilizza due moduli GMS Core:
      • Il modulo Giochi fornisce funzionalità specifiche per i giochi, come classifiche, obiettivi e gestione dello stato del gioco.
      • Auth Module.Gestisce le operazioni di autenticazione e autorizzazione degli utenti.
    • Gli SDK Games e Auth nell'applicazione di giochi comunicano con i moduli corrispondenti utilizzando interfacce AIDL, che indicano la comunicazione interprocesso (IPC).

  • Gateway di Play Games Services.
    • Un gateway logico che media la comunicazione tra GMS Core e il server di Play Games Services.
    • Gestisce le richieste API, la trasformazione dei dati e l'autenticazione per la comunicazione con il server.
  • Server di Play Games Services.
    • Rappresenta i servizi di backend di Play Games Services responsabili dell'archiviazione dei dati di gioco, della gestione degli account utente e della facilitazione delle funzionalità multiplayer.
  • Gateway di giochi di terze parti.
    • Se la tua applicazione di giochi è idonea come applicazione di terze parti (3P), la libreria client comunica con i server dei Play Games Services tramite i server di giochi di terze parti.
    • Implica che l'applicazione può anche autenticarsi con un altro fornitore di servizi.
  • Server di gioco di terze parti.
    • Rappresenta un server esterno facoltativo con cui l'applicazione di giochi può interagire, probabilmente per funzionalità personalizzate o gestione dei dati.
    • La comunicazione con l'applicazione avviene tramite il gateway di giochi di terze parti.

Perché eseguire la migrazione del titolo a Play Games Services v2

La transizione dalla versione 1 alla versione 2 di Play Games Services è un'importante modernizzazione dell'architettura che semplifica lo sviluppo e supporta i giochi multipiattaforma.

A differenza della v1, che fungeva da sistema di identità principale nel gioco, la v2 dei servizi per i giochi di Play disaccoppia l'identità della piattaforma e quella nel gioco. Funge da sistema di identità a livello di piattaforma che autentica automaticamente i giocatori all'avvio per gestire funzionalità come obiettivi e classifiche.

Ora devi gestire in modo indipendente il sistema di account in-game principale del tuo gioco utilizzando strumenti come Accedi con Google o backend proprietari. L'SDK v2 di Play Games Services consente ai giochi di utilizzare l'ID giocatore di Play Games Services per accedere alle funzionalità della piattaforma senza modificare i flussi di onboarding o accesso esistenti. Questo documento ti guida nella migrazione, trattando i principi architettonici, i percorsi e le strategie di comunicazione con i giocatori. L'aderenza è fondamentale per la continuità dei giocatori, dato il programma di ritiro ufficiale.

Confrontare l'autenticazione della piattaforma e l'autenticazione in-game

In Play Games Services v2, il concetto di "accesso" è suddiviso in due livelli distinti:

  • Identità della piattaforma.L'SDK gestisce l'autenticazione della piattaforma.
  • Identità in-game.

Autenticazione della piattaforma

Play Games Services funziona esclusivamente come livello di coinvolgimento della piattaforma. Gestisce il rapporto del giocatore con l'ecosistema Google Play Games (obiettivi, classifiche ed eventi) anziché l'autenticazione in un account o inventario di gioco specifico.

  • Silenziosa e automatica:l'autenticazione avviene automaticamente in background all'avvio del gioco. Non è necessario alcun pulsante "Accedi" manuale per Play Games Services.
  • L'ID giocatore:dopo l'autenticazione della piattaforma, Play Games Services fornisce un ID giocatore stabile. Questo ID è coerente su tutti i dispositivi per lo stesso gioco, ma deve essere utilizzato principalmente per monitorare le statistiche della piattaforma (come i progressi degli obiettivi).
  • Disaccoppiato:l'SDK Play Games Services v2 non deve essere utilizzato come sistema di identità principale del gioco per gestire l'account in-game del giocatore con i suoi progressi o il suo inventario. L'SDK Play Games Services v2 funge esclusivamente da identificatore di piattaforma secondario e persistente.

Autenticazione in-game

Gli sviluppatori sono responsabili della gestione dell'account di gioco. Si tratta del sistema di identità che lega i progressi, l'inventario e la valuta di un giocatore all'interno del gioco.

  • Identità principale:puoi utilizzare il tuo backend, Accedi con Google (SiWG) o altri provider come metodo di accesso principale.
  • Indipendenza: un giocatore può accedere a Play Games Services (identità della piattaforma) per ottenere obiettivi mentre è connesso a un account di gioco specifico. Ad esempio, un account ospite o un account SiWG specifico.
  • Gestione di più account in-game:Play Games Services è responsabile solo dell'autenticazione della piattaforma, mentre il tuo gioco gestisce l'autenticazione principale dei giocatori nei loro account in-game. Ciò significa che non ci saranno modifiche ai flussi esistenti del tuo gioco in merito a come i giocatori passano da un account in-game all'altro. Mentre i giocatori lo fanno, rimarranno autenticati alla piattaforma Play Giochi utilizzando Play Games Services e tu continuerai a inviare i loro dati relativi a obiettivi e altre funzionalità di Play Games Services in base all'ID giocatore persistente.

Requisito di migrazione: associa gli account in-game a Google Open ID anziché all'ID giocatore di Play Games Services

Nei servizi per i giochi di Play v1, gli sviluppatori utilizzavano i servizi per i giochi di Play come provider di identità principale. Un pulsante "Google Play" collegava l'account di gioco di un giocatore direttamente al suo Player ID.

La versione 2 dei servizi per i giochi di Play sposta questo processo fornendo un'autenticazione della piattaforma automatica e silenziosa all'avvio. Il Player ID risultante viene ora utilizzato esclusivamente per le funzionalità della piattaforma come classifiche e obiettivi, separatamente dall'accesso all'account principale.

I giochi ora devono gestire l'identità principale in modo indipendente tramite una schermata di accesso dedicata che offre metodi come "Accedi con Google" (SiWG) o altri account social. È fondamentale che Play Games Services v2 non venga utilizzato come sistema di identità principale.

Questo cambiamento architetturale richiede una modifica corrispondente nel modo in cui gli sviluppatori strutturano i dati dell'account. L'account di gioco (IGA) deve essere separato dall'associazione principale a Player ID.

Ora, invece, l'IGA deve essere associato a un identificatore principale stabile e indipendente dai servizi per i giochi di Play. L'identificatore consigliato è Open ID fornito dal flusso di accesso con Google (SiWG). Questo Open ID funge da chiave univoca e persistente per l'account principale del giocatore all'interno del tuo sistema.

Tuttavia, l'IGA potrebbe ancora essere collegato al Player ID come vincolo secondario. Questo link secondario svolge due funzioni fondamentali:

  1. Consente al gioco di continuare a monitorare e aggiornare i progressi per le funzionalità di Play Games (obiettivi e così via) associate a quel giocatore specifico.
  2. Attiva la funzionalità "Ripristino senza interruzioni", che consente al gioco di accedere automaticamente all'IGA utilizzato più di recente da un giocatore solo su un nuovo dispositivo o dopo una reinstallazione.

Comprendere questo modello di identità disaccoppiata è fondamentale per sbloccare il percorso di migrazione tecnica corretto per il tuo gioco.

Confronto delle funzioni

Questa tabella offre un confronto delle funzionalità tra gli SDK games v1 e games v2:


Funzionalità

SDK games v1

SDK games v2

Autenticazione

Integrazione con play-services-auth richiesta.

Semplificato e ottimizzato; non è richiesto play-services-auth.

Autorizzazione

Codice aggiuntivo per operazioni riuscite, non riuscite e tentativi.

Gestito dall'SDK

Token di accesso al server

Può richiedere ambiti OAuth 2.0 aggiuntivi con GoogleSigninClient.

Codice aggiuntivo per la gestione degli errori durante l'autenticazione.

Può richiedere tre ambiti di identità OAuth 2.0 di base con GamesSignInClient quando richiede l'accesso lato server alle API web di Play Games Services.

Per saperne di più, consulta Accesso lato server a Play Games Services e Recupera i codici di autenticazione server.


Procedura di accesso

Utilizza GoogleSigninClient.

Codice aggiuntivo per la gestione del codice boilerplate per l'autenticazione automatica e la gestione degli errori.

Utilizza GamesSignInClient.

L'SDK gestisce il codice boilerplate, l'autenticazione automatica e la gestione degli errori. L'accesso è suddiviso in due livelli distinti:
  • Autenticazione della piattaforma: gestita dall'SDK Play Games Services v2.
  • Autenticazione in-game: gestita dal gioco.

Popup di benvenuto

È necessario un codice aggiuntivo.
Gli sviluppatori possono controllare il posizionamento e la tempistica.

Nessun codice aggiuntivo richiesto. Interfaccia utente coerente in tutti i giochi configurati con l'SDK v2 per i giochi.

Dipendenze

Richiede play-services-auth.

Il modulo Giochi si occupa di autorizzazione e autenticazione. Non è necessario aggiungere altre dipendenze.
Uscita

Utilizza GoogleSignInClient.signOut.

L'API di disconnessione non è necessaria perché Play Games Services v2 è un'identità della piattaforma persistente.

Più account Play Games Services e impostazioni per gioco

La gestione dell'account è possibile all'interno del gioco.

Gli utenti possono modificare il profilo dei servizi per i giochi di Play nelle impostazioni del dispositivo mobile. Per ulteriori informazioni, vedi come cambiare profilo Play Giochi su dispositivo mobile.