Login Google di iOS
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Pendahuluan
Judul bagian “Pendahuluan”Dalam panduan ini, Anda akan belajar cara mengatur Login Google dengan Capgo Login Sosial untuk iOS. Saya asumsikan bahwa Anda telah membaca Petunjuk Umum Pengaturan.
Menggunakan login Google di iOS
Bagian berjudul “Menggunakan login Google di iOS”Di bagian ini, Anda akan belajar cara mengatur login Google di iOS.
-
Buat ID klien iOS di konsol Google
-
Klik di bar pencarian
-
Cari
credentialsdan klik padaAPIs and Servicessatu (nomor 2 pada screenshot)
-
Klik pada
create credentials
-
Pilih
OAuth client ID
-
Pilih
Application typeuntukiOS
-
Temukan ID paket
-
Buka Xcode
-
Klik ganda pada
App
-
Pastikan Anda berada di
Targets -> App
-
Temukan
Bundle Identifier
-
Kembali ke Console Google dan tempelkan
Bundle IdentifierkeBundle ID
-
-
Opsional, tambahkan
App Store IDatauTeam IDke ID Klien jika Anda telah menerbitkan aplikasi ke App Store -
Setelah mengisi semua detail, klik
create
-
Klik
OK
-
Buka klien iOS yang baru dibuat
-
Salin data berikut
-
-
Ubah 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, Anda akan melihat tag
PlistTag penutup di file Info.plist</dict>Masukkan fragmen berikut sebelum tag penutup
-
penutup
</dict>penutup
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Ubah menjadi
YOUR_DOT_REVERSED_IOS_CLIENT_IDke nilai yang disalin pada langkah sebelumnya
-
Simpan file dengan
Command + S
-
-
Ubah file ini
AppDelegate.swift-
Buka AppDelegate
-
Tambahkan
import GoogleSignIndi atas file AppDelegate.swift dengan import GoogleSignIn ditambahkan
-
Fungsi asli aplikasi openURL di AppDelegate
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])Modifikasi fungsi untuk terlihat seperti ini
-
Fungsi aplikasi openURL yang telah dimodifikasi dengan penanganan GoogleSignIn
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)}
-
__CAPGO_KEEP_1__
Command + S
-
-
Setup Google login di JavaScript/TypeScript code
-
Import
SocialLogindanCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Panggil metode inisialisasi (metode ini harus dipanggil hanya sekali)
Konfigurasi Dasar (mode online - disarankan untuk aplikasi sebagian besar):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Konfigurasi Lanjutan dengan ID Klien Tambahan:
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'}})}) -
Implement the login function. Create a button and run the following code on click
Tidak ada perubahan yang diperlukan untuk mode ini; refresh dapat terjadi secara otomatis.
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
-
Buat aplikasi Anda dan jalankan
cap sync -
Jika Anda telah melakukan semuanya dengan benar, Anda seharusnya melihat alur login Google berjalan dengan baik
-
Masalah yang Diketahui
Bagian berjudul “Masalah yang Diketahui”Kesalahan Kompatibilitas Plugin Layar Privasi
Judul Bagian “Kesalahan Kompatibilitas Plugin Layar Privasi”Plugin Login Google tidak kompatibel dengan @capacitor/privacy-screen. Ketika menggunakan kedua plugin bersamaan, layar login web Google 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: {}});Teruskan dari Login Google di iOS
Judul Bagian “Teruskan dari Login Google di iOS”Jika Anda menggunakan Google Login pada iOS untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-social untuk kemampuan asli dalam Menggunakan @capgo/capacitor-login-social, @capgo/capacitor-login-social untuk detail implementasi dalam @capgo/capacitor-login-social, @capgo/capacitor-passkey untuk detail implementasi dalam @capgo/capacitor-passkey, @capgo/capacitor-biometrik-asli untuk detail implementasi dalam @capgo/capacitor-biometrik-asli, dan Dua faktor autentikasi untuk detail implementasi dalam Dua faktor autentikasi.