Lompat ke konten

Login Google di iOS

GitHub

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

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

  1. Buat ID Klien iOS di Console Google

    1. Klik pada bar pencarian

      Bar Pencarian Console Google
    2. Cari credentials dan klik pada APIs and Services salah satu (nomor 2 pada screenshot)

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

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

      OAuth client ID opsi di menu pembuatan kredit
    5. Pilih Application type To iOS

      context
    6. Halaman/area: Halaman produk live update. Peran: Label UI singkat atau item navigasi. Kunci pesan `live_update_dynamic_label_to` (Live Update Dynamic Label To).

      1. Pilih jenis aplikasi dengan opsi iOS yang dihiglight

      2. Cari ID paket App

        Buka Xcode
      3. Pastikan Anda berada di Targets -> App

        Bahagian Targets di Xcode dengan App dipilih
      4. Cari ID Bundle Anda di Bundle Identifier

        Pilih ID Bundle Anda di pengaturan proyek Xcode
      5. Pindah ke Google Console dan tempelkan ID Bundle Anda ke Bundle Identifier Pada ID Bundle di formulir pembuatan klien iOS Google Console Bundle ID

        Opsional, tambahkan ID Anda atau
    7. ke ID klien Google Console jika Anda telah menerbitkan aplikasi ke App Store App Store ID Setelah mengisi semua detail, klik Team ID Button Buat di bagian bawah formulir pembuatan klien iOS

    8. Pilih ID Anda atau create

      Pilih ID klien Google Console jika Anda telah menerbitkan aplikasi ke App Store
    9. Klik OK

      Tombol OK pada konfirmasi dialog ID klien yang dibuat
    10. Buka klien iOS yang baru saja dibuat

      Klien iOS yang baru saja dibuat dalam daftar kreditensial
    11. Salin data berikut

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

    1. Buka Xcode dan cari file Info.plist file

      File Info.plist 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. Pada bagian bawah file, Anda akan melihat tag Plist Tag penutup direktori di file Info.plist </dict> Tag penutup direktori di file Info.plist

      tag penutup direktori
    4. Masukkan fragmen berikut sebelum penutup </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 YOUR_DOT_REVERSED_IOS_CLIENT_ID ke nilai yang disalin pada langkah sebelumnya

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

  3. Ubah AppDelegate.swift

    1. Buka file AppDelegate

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

      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. 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)
      }
      Oleh karena itu, fungsi buka URL aplikasi telah dimodifikasi untuk menangani GoogleSignIn
    5. Simpan file dengan Command + S

  4. Konfigurasi login Google di JavaScript/TypeScript code

    1. Import SocialLogin dan Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Salin ke clipboard

      Panggil metode inisialisasi (metode ini harus dipanggil hanya sekali)

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

      Salin ke clipboard

      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. Buatlah tombol dan jalankan code berikut 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. Bangun 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 masuk dan autentikasi sukses

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

Solusi Alternatif: Panggil await PrivacyScreen.disable(); context: Appflow Migration Step2

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

Salin ke clipboard (Salin ke clipboard tidak tersedia untuk item ini, tetapi Anda dapat menyalin teks di bawah ini dengan menekan Ctrl+C atau Command+C dan menempelkannya ke tempat yang diinginkan.)

Judul Bagian: Teruskan dari Google Login pada iOS

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