Vai al contenuto

Google Accedi su Android

In questa guida imparerai come configurare Google Accedi con Capgo Accesso social per Android. Presumo che tu abbia già letto la guida generale alla configurazione.

In questa parte imparerai come configurare l’accesso a Google in Android.

  1. Crea un ID cliente Android.

    1. Fare clic sulla barra di ricerca

      Google Barra di ricerca della console
    2. Cerca credentials e fai clic su “API e servizi” (numero 2 nello screenshot)

      Risultati della ricerca che mostrano l'opzione credenziali con API e servizi evidenziati
    3. Fare clic su “crea credenziali”.

      Pulsante Crea credenziali nella Google Console
    4. Seleziona OAuth client ID

      Opzione OAuth ID client nel menu di creazione delle credenziali
    5. Seleziona il tipo di applicazione Android

      Selezione del tipo di applicazione con l'opzione Android evidenziata
    6. Apri Android Studio

    7. Nella parte inferiore del navigatore, trova gli “Script Gradle”.

      Sezione Script Gradle nel navigatore del progetto Android Studio
    8. Trova build.gradle per il modulo app

      build.gradle (Modulo: app) nella sezione Script Gradle
    9. Copia android.defaultConfig.applicationId. Questo sarà il tuo “nome pacchetto” nella console Google

      File Build.gradle che mostra la configurazione applicationId
    10. Ora apri il terminale. Assicurati di essere nella cartella android della tua app ed esegui ./gradlew signInReport

    Terminale che mostra il comando gradlew signInReport
    1. Scorri fino all’inizio di questo comando. Dovresti vedere quanto segue. Copia SHA1.
    Output del terminale che mostra l'impronta digitale del certificato SHA1
    1. Ora torna alla console Google. Inserisci il tuo applicationId come Nome pacchetto e il tuo SHA1 nel campo del certificato e fai clic su create
    Modulo di creazione del client Android con il nome del pacchetto e i campi SHA1 compilati
  2. Crea un client Web (richiesto per Android)

    1. Vai alla pagina “Crea credenziali” nella Google Console

    2. Imposta il tipo di applicazione su Web

      Selezione del tipo di applicazione con l'opzione Web evidenziata
    3. Fai clic su Create

      Modulo di creazione del client Web con il pulsante Crea in basso
    4. Copia l’ID cliente, lo utilizzerai come webClientId nel tuo codice JS/TS

      Dettagli dell'ID client che mostrano l'ID client Web da copiare
  3. Modifica il tuo MainActivity1. Apri l’app in Android Studio. Puoi eseguire “cap open Android”.

    1. Trova MainActivity.java

      1. Apri la cartella app

        Cartella dell'app nel navigatore del progetto Android Studio
      2. Trova java

        Cartella Java nella struttura del progetto Android Studio
      3. Trova il tuo MainActivity.java e fai clic su di esso

        File MainActivity.java nella struttura del pacchetto
    2. Modifica MainActivity.java. Si prega di aggiungere il seguente codice

      import ee.forgr.capacitor.social.login.GoogleProvider;
      import ee.forgr.capacitor.social.login.SocialLoginPlugin;
      import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
      import com.getcapacitor.PluginHandle;
      import com.getcapacitor.Plugin;
      import android.content.Intent;
      import android.util.Log;
      import com.getcapacitor.BridgeActivity;
      // ModifiedMainActivityForSocialLoginPlugin is VERY VERY important !!!!!!
      public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Google Activity Result", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
      }
      }
      // This function will never be called, leave it empty
      @Override
      public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
      }
    3. Salvare il file

  4. Utilizza Google Accedi nella tua applicazione

    1. Innanzitutto, importa SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Chiama l’inizializzazione. Questo dovrebbe essere chiamato solo una volta.

      // onMounted is Vue specific
      // webClientId is the client ID you got in the web client creation step not the android client ID.
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',
      }
      })
      })
    3. Chiama SocialLogin.login. Crea un pulsante ed esegui il seguente codice al clic.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Configurare l’emulatore per il test

    1. Vai in “Gestione dispositivi” e fai clic sul pulsante più

      Gestione dispositivi in ​​Android Studio con il pulsante più evidenziato
    2. Crea un dispositivo virtuale

      Pulsante Crea dispositivo virtuale nella Configurazione dispositivo virtuale
    3. Seleziona qualsiasi dispositivo con un’icona Play Store

      Selezione hardware che mostra i dispositivi con supporto Play Store

      Come puoi vedere, pixel 8 supporta i servizi Play Store

    4. Fai clic su next

      Pulsante Avanti nella procedura guidata di creazione del dispositivo
    5. Assicurati che l’immagine del sistema operativo sia di tipo Google Play. DEVE essere di tipo Google Play

      Selezione dell'immagine del sistema che mostra immagini di tipo Google Play
    6. Fare clic su Avanti

      Pulsante Avanti nella schermata di selezione dell'immagine del sistema
    7. Conferma il tuo dispositivo. Puoi nominare il tuo emulatore come preferisci

      Schermata di verifica della configurazione del dispositivo con il pulsante Fine
    8. Vai in “Gestione dispositivi” e avvia il tuo simulatore

      Gestione dispositivi con dispositivo virtuale elencato e pulsante di riproduzione
    9. Dopo l’avvio del simulatore, accedere alle sue impostazioni

      Emulatore Android che mostra l'app delle impostazioni
    10. Vai a Google Play

    Schermata Impostazioni con l'opzione Google Play
    1. Fai clic su Update e attendi circa 60 secondi
    Schermata di aggiornamento Google Play con il pulsante Aggiorna
  6. Testa la tua applicazione

    Se hai fatto tutto correttamente, dovresti vedere il flusso di accesso Google funzionare correttamente:

    Demo del flusso di accesso Google su Android che mostra il processo di accesso e l'autenticazione riuscita

In caso di problemi, consulta i problemi di Github.

I problemi con l’accesso Google sono SEMPRE correlati al certificato SHA1.

Se non riesci a ottenere il certificato SHA1 di sviluppo, prova a utilizzare un archivio chiavi personalizzato. Qui è un commento che spiega come aggiungere il keystore al tuo progetto.