Langsung ke konten

Google Login di Android

Dalam panduan ini, Anda akan mempelajari cara mengatur Google Login dengan Capgo Social Login untuk Android. Saya berasumsi bahwa Anda telah membaca panduan pengaturan umum.

Di bagian ini, Anda akan mempelajari cara mengatur login Google di Android.

  1. Buat Android client ID.

    1. Klik pada search bar

      Google Console search bar
    2. Cari credentials dan klik yang APIs and Services (nomor 2 pada screenshot)

      Search results showing credentials option with APIs and Services highlighted
    3. Klik pada create credentials

      Create credentials button in Google Console
    4. Pilih OAuth client ID

      OAuth client ID option in credentials creation menu
    5. Pilih tipe aplikasi Android

      Application type selection with Android option highlighted
    6. Buka Android Studio

    7. Di bagian paling bawah navigator, temukan Gradle Scripts

      Gradle Scripts section in Android Studio project navigator
    8. Temukan build.gradle untuk modul app

      build.gradle (Module: app) file in Gradle Scripts section
    9. Salin android.defaultConfig.applicationId. Ini akan menjadi package name Anda di Google console

      Build.gradle file showing applicationId configuration
    10. Sekarang, buka terminal. Pastikan Anda berada di folder android aplikasi Anda dan jalankan ./gradlew signInReport

    Terminal showing gradlew signInReport command
    1. Gulir ke bagian atas perintah ini. Anda akan melihat yang berikut. Salin SHA1.
    Terminal output showing SHA1 certificate fingerprint
    1. Sekarang, kembali ke Google Console. Masukkan applicationId Anda sebagai Package Name dan SHA1 Anda di field sertifikat dan klik create
    Android client creation form with package name and SHA1 fields filled in
  2. Buat web client (ini diperlukan untuk Android)

    1. Buka halaman Create credentials di Google Console

    2. Atur tipe aplikasi ke Web

      Application type selection with Web option highlighted
    3. Klik Create

      Web client creation form with Create button at bottom
    4. Salin client ID, Anda akan menggunakan ini sebagai webClientId dalam kode JS/TS Anda

      Client ID details showing Web client ID to copy
  3. Modifikasi MainActivity Anda

    1. Silakan buka aplikasi Anda di Android Studio. Anda dapat menjalankan cap open android

    2. Temukan MainActivity.java

      1. Buka folder app

        App folder in Android Studio project navigator
      2. Temukan java

        Java folder in Android Studio project structure
      3. Temukan MainActivity.java Anda dan klik di atasnya

        MainActivity.java file in package structure
    3. Modifikasi MainActivity.java. Silakan tambahkan kode berikut

      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. Simpan file

  4. Gunakan Google Login di aplikasi Anda

    1. Pertama, import SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Panggil initialize. Ini harus dipanggil hanya sekali.

      // 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. Panggil SocialLogin.login. Buat tombol dan jalankan kode berikut saat diklik.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Konfigurasikan emulator untuk pengujian

    1. Masuk ke Device manager dan klik tombol plus

      Device Manager in Android Studio with plus button highlighted
    2. Buat virtual device

      Create Virtual Device button in Virtual Device Configuration
    3. Pilih perangkat apa pun dengan ikon Play Store

      Hardware selection showing devices with Play Store support

      Seperti yang Anda lihat, pixel 8 mendukung layanan Play Store

    4. Klik next

      Next button in device creation wizard
    5. Pastikan bahwa OS image bertipe Google Play. HARUS bertipe Google Play

      System image selection showing Google Play type images
    6. Klik next

      Next button in system image selection screen
    7. Konfirmasi perangkat Anda. Anda dapat memberi nama emulator sesuai keinginan Anda

      Device configuration verification screen with Finish button
    8. Masuk ke Device Manager dan boot up simulator Anda

      Device Manager with virtual device listed and play button
    9. Setelah simulator boot up, masuk ke pengaturannya

      Android emulator showing settings app
    10. Masuk ke Google Play

    Settings screen with Google Play option
    1. Klik Update dan tunggu sekitar 60 detik
    Google Play update screen with Update button
  6. Uji aplikasi Anda

    Jika Anda melakukan semuanya dengan benar, Anda akan melihat alur login Google berfungsi dengan baik:

    Demo of Google login flow on Android showing sign-in process and successful authentication

Jika Anda mengalami masalah, silakan lihat Github issues.

Masalah dengan login Google SELALU terkait dengan sertifikat SHA1.

Jika Anda tidak dapat mendapatkan sertifikat SHA1 pengembangan, coba gunakan keystore kustom. Di sini adalah komentar yang menjelaskan cara menambahkan keystore ke proyek Anda.