Lompat ke konten

Google Login pada iOS

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

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

  1. Membuat ID klien iOS di konsol Google

    1. Klik di bar pencarian

      Cari di Console Google
    2. Cari dan klik pada credentials satu (nomor 2 pada tangkapan layar) APIs and Services Hasil pencarian menampilkan opsi kredential dengan APIs dan Services yang ditebalkan

      Klik pada
    3. Tombol Create credentials di Console Google create credentials

      Pilih
    4. Opsi OAuth client ID di menu pembuatan kredential OAuth client ID

      Pilih
    5. untuk Application type Pilihan jenis aplikasi dengan opsi iOS yang ditebalkan iOS

      Pilih jenis aplikasi yang sesuai dengan proyek Anda
    6. Temukan ID Paket

      1. Buka Xcode

      2. Klik dua kali pada App

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

        Bagian Target di Xcode dengan Aplikasi yang dipilih
      4. Temukan Bundle Identifier

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

        Bidang ID Paket di formulir pembuatan klien iOS Console Google
    7. Opsional, tambahkan App Store ID atau Team ID ke dalam ID klien jika Anda telah menerbitkan aplikasi ke App Store

    8. Setelah mengisi semua detail, klik create

      Tombol Buat di bagian bawah formulir pembuatan 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 kreditensial
    11. Salin data berikut ini

      Detail ID klien menampilkan ID klien dan ID klien yang dibalik untuk disalin
  2. Buka Xcode dan cari file

    1. file Info.plist Info.plist file di navigator proyek Xcode

      Klik kanan file ini dan buka sebagai sumber __CAPGO_KEEP_0__
    2. Menu klik kanan menampilkan opsi Buka Sebagai Sumber code

      Right-click menu showing Open As Source Code option
    3. Di bagian bawah file Anda, Anda akan melihat sebuah tag Plist tag penutup di file Info.plist </dict> Tag penutup di file Info.plist

      Masukkan fragmen berikut sebelum tag penutup
    4. Info.plist dengan skema URL __CAPGO_KEEP_0__ yang dimasukkan sebelum tag penutup </dict> Salin ke clipboard

      Info.plist with URL schemes code inserted before closing dict tag
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Peringatan YOUR_DOT_REVERSED_IOS_CLIENT_ID Info.plist dengan skema URL yang sebenarnya yang dimasukkan ke dalam skema URL

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

  3. Ubah AppDelegate.swift

    1. Buka file AppDelegate

      File AppDelegate.swift di navigator proyek Xcode
    2. Tulis import GoogleSignIn di atas file AppDelegate.swift dengan import GoogleSignIn ditambahkan

      Cari
    3. at the top of the file func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) fungsi

      Aplikasi asli buka URL fungsi di AppDelegate
    4. Ubah fungsi untuk 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 file 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 (ini harus dipanggil hanya sekali)

      Pengaturan dasar (mode online - disarankan untuk aplikasi yang paling banyak):

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

      Pengaturan 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 ketika diklik

      Untuk 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. Uji aplikasi Anda

    1. Buat aplikasi Anda dan jalankan cap sync

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

      Demo aliran login Google pada iOS menampilkan proses masuk dan autentikasi sukses

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

Solusi Alternatif: 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 Google Login pada iOS untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-social-login untuk kemampuan asli dalam Menggunakan @capgo/capacitor-social-login, @capgo/capacitor-social-login untuk detail implementasi dalam @capgo/capacitor-social-login, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor.