Saltare al contenuto

Google Login su Android

GitHub

In questo guide, 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 del client Android.

    1. Clicca sulla barra di ricerca

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

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

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

      L'opzione ID del client OAuth nel menu di creazione delle credenziali
    5. Seleziona il Android tipo di applicazione

      Scegliere il tipo di applicazione con l'opzione Android evidenziata
    6. Apre Android Studio

    7. Al fondo del navigatore, trova la Gradle Scripts

      Sezione dei script Gradle nella navigazione di Android Studio
    8. Cerca build.gradle per il modulo app

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

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

    Terminal showing gradlew signInReport command
    1. Scorri verso l'alto di questo comando. Dovresti vedere il seguente. Copia il SHA1.
    Terminal output showing SHA1 certificate fingerprint
    1. Ora, torna indietro al Console di Google. Inserisci il applicationId come il Package Name e il tuo SHA1 nel campo del certificato e clicca create
    Android client creation form with package name and SHA1 fields filled in
  2. Crea un client web (questo è richiesto per Android)

    1. Vai al Create credentials page in Google Console

    2. Seleziona il tipo di applicazione Web

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

      Form 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 mostrando l'ID del client Web da copiare
  3. Modifica il tuo MainActivity

    1. Si prega di aprire il tuo app in Android Studio. Puoi eseguire cap open android

    2. Cerca MainActivity.java

      1. Apre 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 cliccaci sopra

        File MainActivity.java nella struttura dei pacchetti
    3. Modifica. Per favore aggiungi il seguente __CAPGO_KEEP_0__ MainActivity.java. Please add the following 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. Utilizza il login di Google nell'applicazione

  4. In primo luogo, importa

    1. First, import 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. Accedi a Device manager e clicca sul pulsante più

      Gestore 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 con dispositivi che supportano il negozio Play

      Come puoi vedere, il pixel 8 supporta Play Store Servizi

    4. Clicca next

      Pulsante successivo nel wizard di creazione del dispositivo
    5. Assicurati che l'immagine del sistema sia del tipo Google Play. DEVE ESSERE di tipo Google Play

      Selezione dell'immagine del sistema con immagini di tipo Google Play
    6. Clicca successivo

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

      Schermata di verifica della configurazione del dispositivo con pulsante Fine
    8. Vai dentro Device Manager e avvia il tuo simulatore

      Device Manager con dispositivo virtuale elencato e pulsante di riproduzione
    9. Dopo che il simulatore si è avviato, vai nelle sue impostazioni

      Emulatore Android che mostra l'app Impostazioni
    10. Vai nelle Google Play

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

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

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

Se hai problemi, per favore, guarda i Github problemi.

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

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

If you are using Google Login su Android per pianificare l'autenticazione e le flussi di account, connettilo con Usando @capgo/capacitor-login sociale per la capacità nativa in Usando @capgo/capacitor-login sociale, @capgo/capacitor-login sociale per il dettaglio di implementazione in @capgo/capacitor-login sociale, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometria nativa per il dettaglio di implementazione in @capgo/capacitor-biometria nativa, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.