Saltare al contenuto

Login di Google su Android

In questo guide, imparerai a configurare il Google Login con Capgo Social Login per Android. Assumo che tu abbia già letto il Guida di configurazione generale.

In questo capitolo, imparerai a configurare il login Google su Android.

  1. Crea un ID client Android.

    1. Clicca sulla barra di ricerca

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

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

      Creare credenziali pulsante nel Google Console
    4. Scegli OAuth client ID

      L'opzione ID client OAuth nella menu di creazione delle credenziali
    5. Scegli il Android tipo di applicazione

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

    7. Al livello più basso della navigazione, trova la Gradle Scripts

      Sezione dei script Gradle nel progetto navigator di Android Studio
    8. Cerca build.gradle For il modulo app

      build.gradle (Modulo: app) file nella sezione Gradle Scripts
    9. Copia il android.defaultConfig.applicationIdQuesto sarà il tuo package name nel console di Google

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

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

    1. Vai alla Create credentials pagina nel Console di Google

    2. Imposta il tipo di applicazione a Web

      Selezione del tipo di applicazione con l'opzione Web evidenziata
    3. Clicca Create

      modulo 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 ID client mostrano ID 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 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 in struttura del pacchetto
    3. Modifica MainActivity.java. Per favore aggiungi 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. Usa il login di Google nella tua applicazione

    1. In primo luogo, importa 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.login. Crea 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. Entrare in Device manager e clicca sul pulsante plus

      Manager di dispositivi in Android Studio con pulsante plus evidenziato
    2. Crea un dispositivo virtuale

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

      Selezione hardware che mostra dispositivi con supporto per Play Store

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

    4. Clicca next

      Pulsante successivo nella guida alla creazione del dispositivo
    5. Assicurati che l'immagine del sistema sia di tipo Google Play. DEVI essere di tipo Google Play

      Selezione dell'immagine del sistema che mostra immagini di tipo Google Play
    6. Clicca su next

      Pulsante next nella schermata di selezione dell'immagine del sistema
    7. Verifica la configurazione del tuo dispositivo. Puoi chiamare il tuo emulatore come preferisci

      Schermata di verifica della configurazione del dispositivo con pulsante Finish
    8. Accedi a Device Manager e avvia il tuo simulatore

      Gestore dispositivi con dispositivo virtuale elencato e pulsante play
    9. Dopo che il simulatore si è avviato, accedi alle sue impostazioni

      Emulatore Android che mostra l'app Impostazioni
    10. Accedi a Google Play

    Schermata Impostazioni con opzione Google Play
    1. Clicca Update e attendi circa 60 secondi
    Schermo di aggiornamento di Google Play con pulsante Aggiorna
  6. Verifica la tua applicazione

    Se hai fatto tutto correttamente, dovresti vedere il flusso di login di Google che funziona correttamente:

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

Se hai problemi, per favore guarda il Github problemi.

I problemi con il login di Google sono SEMPRE relativo al certificato SHA1.

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

Se stai utilizzando Google Login su Android per pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-login-sociale per la capacità nativa in Utilizza @capgo/capacitor-login-sociale, Utilizza @capgo/capacitor-login-sociale per i dettagli di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey @capgo/capacitor-biometric-nativo per i dettagli di implementazione in @capgo/capacitor-biometric-nativo, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori