Lompat ke konten

Login Google di iOS

GitHub

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

Dalam 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 screenshot)

      Hasil pencarian menampilkan opsi kredential dengan APIs dan Services yang dihiglight
    3. Klik pada tombol create credentials

      Klik tombol Create credentials di Google Console
    4. Pilih OAuth client ID

      Pilih opsi OAuth client ID di menu pembuatan kunci
    5. Pilih Application type ke iOS

      context":"Page/area: Halaman produk live update. Role: Label atau item navigasi singkat. Message key `live_update_dynamic_label_to` (Live Update Dynamic Label To)."
    6. Pilih jenis aplikasi dengan opsi iOS yang ditonjolkan

      1. Cari ID bundle

      2. Buka Xcode App

        Geser dua kali pada
      3. Tujuan aplikasi di navigator proyek Xcode Targets -> App

        Bagian Target di Xcode dengan App dipilih
      4. Cari tahu Bundle Identifier

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

        Bidang ID Paket di formulir pembuatan klien iOS Google Console
    7. Opsional, tambahkan tautan Anda ke App Store ID atau Team ID masukkan ke ID Paket di formulir pembuatan klien iOS Google Console 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 konfirmasi dialog ID klien dibuat
    10. Buka klien iOS baru yang dibuat

      Klien iOS baru dalam daftar kreditensial
    11. Salin data berikut

      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 file ini dan buka sebagai sumber code

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

      Ubahlah Info.plist aplikasi Anda
    4. Tutup tag dictionary di Info.plist </dict> tag

      Info.plist dengan skema URL code dimasukkan sebelum penutup tag direktori
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Ganti dengan YOUR_DOT_REVERSED_IOS_CLIENT_ID ke nilai yang disalin pada langkah sebelumnya

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

  3. Ubahlah AppDelegate.swift

    1. Buka file AppDelegate

      File AppDelegate.swift di navigator proyek Xcode
    2. Masukkan import GoogleSignIn Pada bagian atas file

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

      Fungsi aplikasi asli openURL di AppDelegate
    4. Ubahlah 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. Import 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)

      Pengaturan 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
      }
      })
      })

      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. Implement the login function. Create a button and run the following code on click

      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. 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 pendaftaran dan autentikasi sukses

Kompabilitas Plugin Layar Privasi

Judul Bagian Kompabilitas Plugin Layar Privasi

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

Solusi: Panggil await PrivacyScreen.disable(); context

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 native di Menggunakan @capgo/capacitor-social-login Menggunakan @capgo/capacitor-social-login untuk detail implementasi di @capgo/capacitor-social-login Menggunakan @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey Menggunakan @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi dua faktor untuk detail implementasi di Pengaturan Dua Faktor.