Login Google di iOS
Panduan untuk dicopy
Pendahuluan
Judul Bagian: “Pendahuluan”Dalam panduan ini, Anda akan belajar cara mengatur Login Google dengan Capgo Login Sosial untuk iOS. Saya asumsikan Anda telah membaca panduan pengaturan umum..
Penggunaan Login Google pada iOS
Judul Bagian: “Penggunaan Login Google pada iOS”Dalam bagian ini, Anda akan belajar cara mengatur login Google pada iOS.
-
Buat ID Klien iOS di Console Google
-
Klik pada bar pencarian
-
Cari
credentialsdan klik padaAPIs and Servicessalah satu (nomor 2 pada screenshot)
-
Klik pada tombol
create credentials
-
Pilih
OAuth client ID
-
Pilih
Application typeToiOS
-
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).
-
Pilih jenis aplikasi dengan opsi iOS yang dihiglight
-
Cari ID paket
App
-
Pastikan Anda berada di
Targets -> App
-
Cari ID Bundle Anda di
Bundle Identifier
-
Pindah ke Google Console dan tempelkan ID Bundle Anda ke
Bundle IdentifierPada ID Bundle di formulir pembuatan klien iOS Google ConsoleBundle ID
-
-
ke ID klien Google Console jika Anda telah menerbitkan aplikasi ke App Store
App Store IDSetelah mengisi semua detail, klikTeam IDButton Buat di bagian bawah formulir pembuatan klien iOS -
Pilih ID Anda atau
create
-
Klik
OK
-
Buka klien iOS yang baru saja dibuat
-
Salin data berikut
-
-
Ubah konfigurasi Info.plist aplikasi Anda
-
Buka Xcode dan cari file
Info.plistfile
-
Klik kanan pada file ini dan buka sebagai sumber code
-
Pada bagian bawah file, Anda akan melihat tag
PlistTag penutup direktori di file Info.plist</dict>Tag penutup direktori di file Info.plist
-
Masukkan fragmen berikut sebelum penutup
</dict>tag
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Ganti
YOUR_DOT_REVERSED_IOS_CLIENT_IDke nilai yang disalin pada langkah sebelumnya
-
Simpan file dengan
Command + S
-
-
Ubah
AppDelegate.swift-
Buka file AppDelegate
-
Masukkan
import GoogleSignInPada bagian atas file
-
Cari
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])Fungsi
-
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 callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
Simpan file dengan
Command + S
-
-
Konfigurasi login Google di JavaScript/TypeScript code
-
Import
SocialLogindanCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Salin ke clipboard
Panggil metode inisialisasi (metode ini harus dipanggil hanya sekali)
// onMounted is Vue specificonMounted(() => {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 supportiOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced featuresmode: 'online' // 'online' or 'offline'}})}) -
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 dataconsole.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 modeconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
Uji aplikasi Anda
-
Bangun aplikasi Anda dan jalankan
cap sync -
Jika Anda telah melakukan semuanya dengan benar, Anda seharusnya melihat alur login Google berjalan dengan baik
-
Masalah yang Dikenal
Judul Bagian “Masalah yang Dikenal”Inkompatibilitas Plugin Layar Privasi
Judul Bagian “Inkompatibilitas Plugin Layar Privasi”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 iOSJika 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.