Saltare al contenuto

Login Google su Android

In questa guida, imparerai a configurare l'accesso Google con Capgo Social Login per Android. Assumo che tu abbia già letto la guida di configurazione generale.

In questa parte, imparerai a configurare l'accesso Google in Android.

  1. Crea un ID client Android.

    1. Clicca sulla barra di ricerca

      Barra di ricerca di Google Console
    2. Cerca credentials e clicca sul APIs and Services uno (numero 2 nella schermata)

      Risultati della ricerca mostranti l'opzione credenziali con API e Servizi evidenziati
    3. Clicca sul create credentials

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

      L'opzione ID client OAuth nella menu di creazione credenziali
    5. Seleziona il tipo di applicazione Android Selezione del tipo di applicazione con opzione Android evidenziata

      Apri Android Studio
    6. Alla fine della finestra di navigazione, trova la sezione

    7. Sezione dei script Gradle nella finestra di navigazione di Android Studio Gradle Scripts

      Trova
    8. per il modulo build.gradle build.gradle (modulo: app) file nella sezione dei script Gradle app

      Copia il
    9. Questo sarà il tuo android.defaultConfig.applicationIdnel console di Google package name in Google console

      File Build.gradle che mostra la configurazione di applicationId
    10. Ora, apri il terminale. Assicurati di essere nel android cartella del tuo app e esegui ./gradlew signInReport

    Terminale che mostra il comando gradlew signInReport
    1. Scorri verso l'alto di questo comando. Dovresti vedere il seguente. Copia il SHA1.
    Output del terminale che mostra il fingerprint del certificato SHA1
    1. Ora, torna alla Console di Google. Inserisci il applicationId come il Package Name e il tuo SHA1 nel campo del certificato e clicca create
    Forma di creazione del client Android con campo package name e SHA1 compilati
  2. Crea un client web (questo è richiesto per Android)

    1. Vai al Create credentials pagina in Google Console

    2. Imposta il tipo di applicazione a Web

      Seleziona il tipo di applicazione con l'opzione Web evidenziata
    3. Clicca Create

      Forma di creazione del client Web con pulsante Crea in fondo
    4. Copia l'ID del client, utilizzerai questo come il webClientId nel tuo JS/TS code

      Dettagli dell'ID del client con ID del client Web da copiare
  3. Modifica il tuo MainActivity

    1. Per favore apri il tuo app in Android Studio. Puoi eseguire cap open android

    2. Trova MainActivity.java

      1. Apri il app cartella

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

        Cartella Java in struttura del progetto Android Studio
      3. Trova il tuo MainActivity.java e clicca su di esso

        file MainActivity.java nella struttura dei pacchetti
    3. Modifica MainActivity.javaAggiungi il seguente code

      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() {}
      }
    4. Salva il file

  4. Utilizza il login di Google nell'applicazione tua

    1. Importa per primo SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Chiamare initialize. 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. Chiamare SocialLogin.loginCrea un pulsante e esegui il seguente code al click.

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

    1. Accedi a Device manager e clicca sul pulsante più

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

      Pulsante Crea dispositivo virtuale nella configurazione del dispositivo virtuale
    3. Seleziona qualsiasi dispositivo con un Play Store icona

      Selezione hardware mostrando dispositivi con supporto per il negozio Play

      Come puoi vedere, i pixel 8 supporta i servizi Play Store servizi

    4. Clicca next

      Clicca sul pulsante "Avanti" nella guida per la creazione del dispositivo
    5. Assicurati che l'immagine del sistema operativo sia del tipo Google Play. DEVE ESSERE DEL TIPO Selezione dell'immagine del sistema che mostra immagini di tipo Google Play Google Play

      Clicca su "Avanti"
    6. Pulsante "Avanti" nella schermata di selezione dell'immagine del sistema

      Schermata di verifica della configurazione del dispositivo con pulsante "Conferma"
    7. Conferma il tuo dispositivo. Puoi chiamare il tuo emulatore con il nome che preferisci

      Verifica della configurazione del dispositivo con pulsante "Fine"
    8. Accedi a Device Manager e avvia il tuo simulatore

      Il dispositivo virtuale è elencato nel Gestore dispositivi e il pulsante di riproduzione è disponibile
    9. Dopo l'avvio del simulatore, accedi alle sue impostazioni

      L'emulatore Android mostra l'app Impostazioni
    10. Accedi Google Play

    Schermata Impostazioni con l'opzione Google Play
    1. Clicca Update e attendi circa 60 secondi
    La schermata di aggiornamento di Google Play con il pulsante Aggiorna
  6. Verifica il tuo'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

Se hai qualsiasi problema, per favore guarda il Github problemi.

I problemi con l'accesso Google sono SEMPRE relativi al certificato SHA1.

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