Connexion Google sur iOS
Introduction
Section titled “Introduction”Dans ce guide, vous allez apprendre à configurer la connexion Google avec Capgo Social Login sur iOS.
Je pars du principe que vous avez déjà lu le guide de configuration général.
Utiliser la connexion Google sur iOS
Section titled “Utiliser la connexion Google sur iOS”Dans cette partie, vous allez configurer la connexion Google sur iOS.
-
Créez un ID client iOS dans la console Google
-
Cliquez sur la barre de recherche

-
Recherchez
credentials, puis cliquez sur le résultatAPIs and Services(numéro 2 sur la capture)
-
Cliquez sur
create credentials
-
Sélectionnez
OAuth client ID
-
Réglez
Application typesuriOS
-
Récupérez le bundle ID
-
Ouvrez Xcode
-
Double-cliquez sur
App
-
Vérifiez que vous êtes bien dans
Targets -> App
-
Repérez votre
Bundle Identifier
-
Revenez à la Google Console et collez votre
Bundle IdentifierdansBundle ID
-
-
Vous pouvez ajouter votre
App Store IDou votreTeam IDdans l’ID client si l’application est déjà publiée sur l’App Store -
Une fois tous les champs remplis, cliquez sur
Create
-
Cliquez sur
OK
-
Ouvrez le client iOS nouvellement créé

-
Copiez les informations suivantes

-
-
Modifiez le fichier
Info.plistde votre app-
Ouvrez Xcode et trouvez le fichier
Info.plist
-
Faites un clic droit sur ce fichier et ouvrez-le en tant que code source

-
En bas de votre fichier
Plist, vous verrez une balise</dict>
-
Insérez le fragment suivant juste avant la balise de fermeture
</dict>
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Remplacez
YOUR_DOT_REVERSED_IOS_CLIENT_IDpar la valeur copiée à l’étape précédente
-
Enregistrez le fichier avec
Command + S
-
-
Modifiez
AppDelegate.swift-
Ouvrez AppDelegate

-
Ajoutez
import GoogleSignInen haut du fichier
-
Trouvez la fonction
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])
-
Modifiez la fonction pour qu’elle ressemble à ceci
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)}
-
Enregistrez le fichier avec
Command + S
-
-
Configurez la connexion Google dans votre code JavaScript ou TypeScript
-
Importez
SocialLoginetCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Appelez la méthode
initializeune seule foisConfiguration de base (mode en ligne, recommandé pour la plupart des applications) :
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Configuration avancée avec des ID client supplémentaires :
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'}})}) -
Implémentez la fonction de connexion. Créez un bouton et exécutez le code suivant au clic
Pour le mode en ligne :
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Pour le mode hors ligne :
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 informationconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
Testez votre application
-
Générez votre application puis exécutez
cap sync -
Si tout est correctement configuré, vous devriez voir le flux de connexion Google fonctionner normalement

-
Problèmes connus
Section titled “Problèmes connus”Incompatibilité avec le plugin Privacy Screen
Section titled “Incompatibilité avec le plugin Privacy Screen”Le plugin Google Login est incompatible avec @capacitor/privacy-screen. Lorsque les deux plugins sont utilisés ensemble, la webview de connexion Google est interrompue par l’écran de confidentialité.
Contournement : appelez await PrivacyScreen.disable(); avant de lancer la connexion :
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});