Google Login di iOS
Pendahuluan
Section titled “Pendahuluan”Dalam panduan ini, Anda akan mempelajari cara mengatur Google Login dengan Capgo Social Login untuk iOS. Saya menganggap bahwa Anda telah membaca panduan pengaturan umum.
Menggunakan Google login di iOS
Section titled “Menggunakan Google login di iOS”Dalam bagian ini, Anda akan mempelajari cara mengatur Google login di iOS.
-
Buat client ID iOS di konsol Google
-
Klik pada bilah pencarian

-
Cari
credentialsdan klik pada yangAPIs and Services(nomor 2 pada tangkapan layar)
-
Klik pada
create credentials
-
Pilih
OAuth client ID
-
Pilih
Application typemenjadiiOS
-
Temukan bundle ID
-
Buka Xcode
-
Klik dua kali pada
App
-
Pastikan bahwa Anda berada di
Targets -> App
-
Temukan
Bundle IdentifierAnda
-
Kembali ke Google Console dan tempelkan
Bundle IdentifierAnda keBundle ID
-
-
Secara opsional, tambahkan
App Store IDatauTeam IDAnda ke client ID jika Anda telah mempublikasikan aplikasi Anda ke App Store -
Setelah mengisi semua detail, klik
create
-
Klik
OK
-
Buka client iOS yang baru dibuat

-
Salin data berikut

-
-
Modifikasi Info.plist aplikasi Anda
-
Buka Xcode dan temukan file
Info.plist
-
Klik kanan file ini dan buka sebagai kode sumber

-
Di bagian bawah file
PlistAnda, Anda akan melihat tag</dict>
-
Masukkan fragmen berikut tepat sebelum tag
</dict>penutup
<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
-
-
Modifikasi
AppDelegate.swift-
Buka AppDelegate

-
Masukkan
import GoogleSignIndi bagian atas file
-
Temukan fungsi
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])
-
Modifikasi fungsi agar 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
-
-
Atur Google login di kode JavaScript/TypeScript Anda
-
Impor
SocialLogindanCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Panggil metode initialize (ini harus dipanggil hanya sekali)
Pengaturan dasar (mode online - direkomendasikan untuk sebagian besar aplikasi):
// onMounted adalah spesifik VueonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Mode default}})})Pengaturan lanjutan dengan client ID tambahan:
onMounted(() => {SocialLogin.initialize({google: {webClientId: 'YOUR_WEB_CLIENT_ID', // Opsional: untuk dukungan platform webiOSClientId: 'YOUR_IOS_CLIENT_ID', // Wajib: dari langkah 1iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Opsional: sama dengan webClientId, diperlukan untuk beberapa fitur lanjutanmode: 'online' // 'online' atau 'offline'}})}) -
Implementasikan fungsi login. Buat tombol dan jalankan kode berikut saat diklik
Untuk mode online:
const res = await SocialLogin.login({provider: 'google',options: {}})// menangani respons - berisi data penggunaconsole.log(JSON.stringify(res))Untuk mode offline:
const res = await SocialLogin.login({provider: 'google',options: {forceRefreshToken: true // Direkomendasikan untuk mode offline}})// res berisi serverAuthCode, bukan data pengguna// Kirim serverAuthCode ke backend Anda untuk mendapatkan informasi penggunaconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
Uji aplikasi Anda
-
Build aplikasi Anda dan jalankan
cap sync -
Jika Anda telah melakukan semuanya dengan benar, Anda harus melihat alur Google login berfungsi dengan baik

-
Masalah yang Diketahui
Section titled “Masalah yang Diketahui”Inkompatibilitas Plugin Privacy Screen
Section titled “Inkompatibilitas Plugin Privacy Screen”Plugin Google Login tidak kompatibel dengan @capacitor/privacy-screen. Ketika menggunakan kedua plugin bersama-sama, webview Google login akan terganggu oleh layar privasi.
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: {}});