Accesso per i giochi Android

Per accedere alla funzionalità dei servizi per i giochi di Google Play, il gioco deve fornire i seguenti elementi: all'account del giocatore che ha eseguito l'accesso. Questa documentazione descrive come implementare un'esperienza di accesso fluida nel tuo gioco.

L'SDK dei servizi per i giochi di Play v2 presenta una serie di miglioramenti che aumentano le numero di utenti che hanno eseguito l'accesso al tuo gioco e semplifica lo sviluppo:

  • Miglioramenti per gli utenti:
    • Dopo aver selezionato un account predefinito, gli utenti possono accedere senza dover interagire con un prompt.
    • Gli utenti non devono più scaricare l'app Play Giochi per accedere Servizi per i giochi di Play o crea un nuovo account.
    • Ora gli utenti possono gestire i propri account dei servizi per i giochi di Play per più giochi provenienti da una singola pagina.
  • Miglioramenti per gli sviluppatori:
    • Il codice client non deve più gestire il flusso di accesso o uscita, come accesso si attiva automaticamente all'avvio del gioco e la gestione dell'account gestiti nelle impostazioni del sistema operativo.
di Gemini Advanced.

Nuova integrazione del client

Questa sezione mostra come eseguire una nuova integrazione del client con i servizi per i giochi di Play Accedi v2.

Aggiungi la dipendenza

Aggiungi la dipendenza dell'SDK dei servizi per i giochi di Play al livello principale dell'app build.gradle. Se utilizzi Gradle, puoi aggiungere o aggiornare della dipendenza come segue:

dependencies {
 implementation "com.google.android.gms:play-services-games-v2:+"
}

Definisci l'ID progetto

Per aggiungere l'ID progetto dell'SDK dei servizi per i giochi di Play alla tua app, completa la sezione seguenti passaggi:

  1. Nel file AndroidManifest.xml dell'app, aggiungi quanto segue <meta-data> e attributi all'elemento <application>:

    <manifest>
      <application>
        <meta-data android:name="com.google.android.gms.games.APP_ID"
                   android:value="@string/game_services_project_id"/>
      </application>
    </manifest>
    

    Definisci il riferimento alla risorsa String @string/game_services_project_id utilizzando l'ID progetto dei servizi per i giochi dei tuoi giochi come valore. I tuoi servizi per i giochi l'ID progetto è disponibile sotto il nome del gioco nella pagina Configurazione del Google Play Console.

  2. Nel file res/values/strings.xml, aggiungi un riferimento alle risorse di tipo stringa e imposta l'ID progetto come valore. In Google Play Console puoi trovare l'ID progetto sotto il nome del gioco nella pagina Configurazione. Ad esempio:

    <!-- res/values/strings.xml -->
    <resources>
      <!-- Replace 0000000000 with your game’s project id. Example value shown above.  -->
      <string translatable="false"  name="game_services_project_id"> 0000000000 </string>
    </resources>
    

Inizializzare l'SDK

Inizializza l'SDK Play Giochi nel callback onCreate(..) del tuo Application .

import com.google.android.gms.games.PlayGamesSdk;

...

@Override
public void onCreate(){
  super.onCreate();
  PlayGamesSdk.initialize(this);
}

Visualizzare il risultato dell'accesso

All'avvio del gioco, tenterà sempre di eseguire l'accesso dell'utente. A autenticare l'utente, è necessario verificare che abbia eseguito l'accesso, e recupera l'ID giocatore.

Per verificare il tentativo di accesso, chiama il numero GamesSignInClient.isAuthenticated() e usa addOnCompleteListener per recuperare i risultati. Ad esempio:

GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());

gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
  boolean isAuthenticated =
    (isAuthenticatedTask.isSuccessful() &&
     isAuthenticatedTask.getResult().isAuthenticated());

  if (isAuthenticated) {
    // Continue with Play Games Services
  } else {
    // Disable your integration with Play Games Services or show a
    // login button to ask  players to sign-in. Clicking it should
    // call GamesSignInClient.signIn().
  }
});

Se l'utente sceglie di non eseguire l'accesso all'avvio del gioco, puoi scegliere scegli di continuare a mostrare un pulsante con l'icona Play Giochi e prova a accedi di nuovo all'utente chiamando GamesSignInClient.signIn() se preme il pulsante.

Dopo aver verificato che l'utente abbia effettuato l'accesso, puoi recuperare l'ID giocatore per per identificare l'utente. Ad esempio:

PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
    // Get PlayerID with mTask.getResult().getPlayerId()
  }
);