Lompat ke konten

Login Google di iOS

GitHub

Dalam panduan ini, Anda akan belajar cara mengatur Google Login dengan Capgo Social Login untuk iOS. Saya asumsikan bahwa Anda telah membaca panduan pengaturan umum sebelumnya. Panduan Pengaturan Umum sebelumnya.

Pada bagian ini, Anda akan belajar cara mengatur login Google di iOS.

  1. Buat ID klien iOS di konsol Google

    1. Klik di bar pencarian

      Bar pencarian konsol Google
    2. Cari credentials dan klik di APIs and Services satu (nomor 2 pada tangkapan layar)

      Hasil pencarian menampilkan opsi kredential dengan APIs dan Services yang ditebalkan
    3. Klik di create credentials

      Tombol buat kredential di konsol Google
    4. Pilih OAuth client ID

      Pilih opsi ID klien OAuth di menu pembuatan kredensial
    5. Pilih Application type ke iOS

      Pilih jenis aplikasi dengan opsi iOS yang ditonjolkan
    6. Cari ID paket

      1. Buka Xcode

      2. Dengan menekan tombol ganda pada App

        Target aplikasi di navigator proyek Xcode
      3. Pastikan Anda berada di Targets -> App

        Bagian target di Xcode dengan aplikasi yang dipilih
      4. Cari ID paket Anda Bundle Identifier

        Bidang Identifikasi Paket di Pengaturan Projek Xcode
      5. Kembali ke Console Google dan tempelkan Bundle Identifier ke Bundle ID

        Bidang ID Paket di Form Penciptaan Klien iOS Console Google
    7. Opsional, tambahkan App Store ID atau Team ID ke ID Klien jika Anda telah menerbitkan aplikasi ke App Store

    8. Setelah mengisi semua detail, klik create

      Tombol Buat di bawah Form Penciptaan Klien iOS
    9. Klik OK

      Tombol OK pada Dialog Konfirmasi ID Klien yang Dibuat
    10. Buka klien iOS yang baru dibuat

      Klien iOS yang baru dibuat dalam daftar kunci
    11. Salin data berikut ini

      Detail ID klien menampilkan ID klien dan ID klien yang dibalik untuk disalin
  2. Ubah Info.plist aplikasi Anda

    1. Buka Xcode dan cari file Info.plist file

      Info.plist file di navigator proyek Xcode
    2. Klik kanan pada file ini dan buka sebagai sumber code

      Menu klik kanan menampilkan opsi Buka Sebagai Sumber Code
    3. Di bagian bawah file Anda, Anda akan melihat tag Plist Tag penutup di file Info.plist </dict> Masukkan fragmen berikut sebelum tag penutup

      Info.plist dengan skema URL __CAPGO_KEEP_0__ dimasukkan sebelum tag penutup dict
    4. Info.plist dengan skema URL __CAPGO_KEEP_0__ dimasukkan sebelum tag penutup dict </dict> Info.plist dengan skema URL __CAPGO_KEEP_0__ dimasukkan sebelum tag penutup dict

      Info.plist dengan skema URL code dimasukkan sebelum tag penutup dict
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Ubah menjadi YOUR_DOT_REVERSED_IOS_CLIENT_ID ke nilai yang dicopy di langkah sebelumnya

      Info.plist dengan ID klien yang sebenarnya dimasukkan ke dalam skema URL
    6. Simpan file dengan Command + S

  3. Ubah AppDelegate.swift

    1. Buka AppDelegate

      Berkas AppDelegate.swift di navigator proyek Xcode
    2. Tambah import GoogleSignIn di atas berkas

      Berkas AppDelegate.swift dengan import GoogleSignIn ditambahkan
    3. Temukan func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) fungsi

      Fungsi aplikasi asli openURL di AppDelegate
    4. Modifikasi fungsi agar terlihat seperti ini

      func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
      // Called when the app was launched with a url. Feel free to add additional processing here,
      // but if you want the App API to support tracking app url opens, make sure to keep this call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Fungsi aplikasi yang telah dimodifikasi dengan penanganan GoogleSignIn
    5. Simpan berkas dengan Command + S

  4. Setup login Google di JavaScript/TypeScript code

    1. Impor SocialLogin dan Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Panggil metode inisialisasi (metode ini harus dipanggil hanya sekali)

      Konfigurasi dasar (mode online - disarankan untuk aplikasi kebanyakan):

      // onMounted is Vue specific
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      iOSClientId: '673324426943-redacted.apps.googleusercontent.com',
      mode: 'online' // Default mode
      }
      })
      })

      Konfigurasi lanjutan dengan ID klien tambahan:

      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. Implementasikan fungsi login. Buat tombol dan jalankan code berikut pada klik

      Tentang mode online:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.log(JSON.stringify(res))

      Untuk mode offline:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {
      forceRefreshToken: true // Recommended for offline mode
      }
      })
      // res contains serverAuthCode, not user data
      // Send serverAuthCode to your backend to get user information
      // Do not call SocialLogin.refresh() in offline mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. Tes aplikasi Anda

    1. Buat aplikasi Anda dan jalankan cap sync

    2. Jika Anda telah melakukan semuanya dengan benar, Anda seharusnya melihat alur login Google berjalan dengan baik

      Demo alur login Google pada iOS menampilkan proses sign-in dan autentikasi sukses

Kompabilitas Plugin Layar Privasi Tidak Dapat Dibuka

Bagian berjudul “Kompabilitas Plugin Layar Privasi”

Plugin Login Google tidak kompatibel dengan @capacitor/privacy-screen. Ketika menggunakan kedua plugin bersamaan, layar login web Google akan terganggu oleh layar privasi.

Solusi: Tunggu await PrivacyScreen.disable(); sebelum memanggil fungsi login:

import { PrivacyScreen } from '@capacitor/privacy-screen';
import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();
await SocialLogin.login({
provider: 'google',
options: {}
});

Jika Anda menggunakan Login Google di iOS Untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-sosial Untuk kemampuan asli di Menggunakan @capgo/capacitor-login-sosial, @capgo/capacitor-login-sosial Untuk detail implementasi di @capgo/capacitor-login-sosial, @capgo/capacitor-passkey Untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik-asli Untuk detail implementasi di @capgo/capacitor-biometrik-asli, dan Autentikasi dua faktor Untuk detail implementasi di Autentikasi dua faktor.