Google Login di iOS
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Pendahuluan
Bagian berjudul “Pendahuluan”Dalam panduan ini, Anda akan belajar cara setup Google Login dengan Capgo Social Login untuk iOS. Saya asumsikan Anda sudah membaca panduan setup umum.
Menggunakan Google login di iOS
bagian berjudul “Using Google login on iOS”Di bagian ini, Anda akan belajar cara setup Google login di iOS.
-
Buat iOS client ID di Google console
-
Klik kolom pencarian
-
Cari
credentialsdan klik padaAPIs and Servicessatu (nomor 2 pada screenshot)
-
Klik pada
create credentials
-
Pilih
OAuth client ID
-
Pilih
Application typekeiOS
-
Cari bundle ID
-
Buka Xcode
-
Klik dua kali pada
App
-
Pastikan Anda berada di
Targets -> App
-
Cari
Bundle Identifier
-
Kembali ke Google Console dan tempelkan
Bundle IdentifierkeBundle ID
-
-
Opsional, tambahkan
App Store IDatauTeam IDke client ID jika Anda sudah merilis aplikasi ke App Store -
Setelah mengisi semua detail, klik
create
-
Klik
OK
-
Buka iOS client yang baru dibuat
-
Salin data berikut
-
-
Ubah Info.plist aplikasi Anda
-
Buka Xcode dan cari
Info.plistfile
-
Klik kanan file ini dan buka sebagai source code
-
Di bagian bawah
Plistfile, Anda akan melihat</dict>tag
-
Masukkan fragmen berikut tepat sebelum tag penutup
</dict>tag
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Ubah
YOUR_DOT_REVERSED_IOS_CLIENT_IDke nilai yang disalin pada langkah sebelumnya
-
Simpan file dengan
Command + S
-
-
Ubah
AppDelegate.swift-
Buka AppDelegate
-
Sisipkan
import GoogleSignIndi bagian atas file
-
Temukan
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])fungsi
-
Ubah fungsi menjadi 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
-
-
Setup login Google di code JavaScript/TypeScript Anda
-
Impor
SocialLogindanCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Panggil method initialize (cukup panggil satu kali saja)
Setup dasar (mode online - direkomendasikan untuk sebagian besar aplikasi):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Setup lanjutan dengan tambahan client ID:
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. Buat tombol dan jalankan code berikut saat 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)
-
-
Tes aplikasi Anda
-
Build dan jalankan aplikasi Anda
cap sync -
Jika semua sudah benar, alur login Google seharusnya berjalan dengan lancar
-
Masalah yang Diketahui
Bagian berjudul “Masalah yang Diketahui”Inkompatibilitas Privacy Screen Plugin
Bagian berjudul “Inkompatibilitas Plugin Privacy Screen”Plugin Google Login tidak kompatibel dengan @capacitor/privacy-screen. Saat menggunakan kedua plugin bersamaan, webview Google Login akan terganggu oleh Privacy Screen.
Solusi: Panggil 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: {}});Melanjutkan dari Google Login di iOS
Bagian berjudul “Melanjutkan dari Google Login di iOS”Jika Anda menggunakan Google Login di iOS untuk merencanakan alur autentikasi dan akun, hubungkan dengan Menggunakan @capgo/capacitor-social-login untuk kapabilitas 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, @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi dua faktor untuk detail implementasi di autentikasi dua faktor.