Zum Inhalt springen

Firebase Google Login auf iOS

Diese Anleitung hilft Ihnen, Google Sign-In mit Firebase Authentication auf iOS zu integrieren. Ich gehe davon aus, dass Sie bereits die allgemeine Firebase Google-Einrichtung abgeschlossen haben. allgemeine Firebase Google-Einrichtung.

  1. Gehen Sie zu Ihrem Projektüberblick auf console.cloud.google.com

    Firebase-Projektübersicht
  2. Klicken Sie auf den Add app Schaltfläche

    Firebase Add App Button Firebase Add App Button
  3. Auswählen iOS

    Firebase Add App iOS Button
  4. Füllen Sie die erste Teil des Formulars

    1. Füllen Sie Apple bundle ID
      1. Öffnen Sie Xcode in Ihrem App npx cap open ios
      2. Doppelklicken Sie auf App App-Ziel im Xcode-Projekt-Explorer
      3. Stellen Sie sicher, dass Sie sich auf Targets -> App Zielgruppenabschnitt im Xcode mit App ausgewählt
      4. Finden Sie Ihr Bundle Identifier Bundle-Identifier-Feld im Xcode-Projekt-Einstellungen
      5. Kopieren Sie die Bundle Identifier und fügen Sie sie in die Firebase-Konsole ein Firebase Add App iOS Bundle ID Feld
    2. Klicken Sie auf den Register app Button Firebase Add App iOS Registrierungsbutton
  5. Überspringen Sie den Download config file Schritt

    Firebase Add App iOS Skip Download Button
  6. Überspringen Sie den Add firebase SDK Schritt

    Firebase Add App iOS Skip Download Firebase SDK Button
  7. Überspringen Sie den Add initialization code Schritt

    Firebase App hinzufügen iOS Überspringen der Initialisierung Code Schaltfläche
  8. Klicken Sie auf den Continue to console Schaltfläche

    Firebase App hinzufügen iOS Weiter zur Konsole Schaltfläche
  9. Ermitteln Sie Ihren iOS-Kunden-Identifikator und Ihren YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Gehen Sie zu Google Cloud Console bei console.cloud.google.com

    2. Finden Sie Ihr Projekt

      1. Klicken Sie auf den Projektselector Suchen Sie Ihr Projekt nach dem genauen Namen Ihres Firebase-Projekts und klicken Sie darauf. In meinem Fall ist es
      2. Firebase Projektselector Projekt sociallogin-tutorial-app. Google Cloud Console Projektselector
    3. Öffnen Sie die Suchleiste und öffnen credentials

      1. Öffnen Sie die Suchleiste Google Cloud Console Suchleiste
      2. Suchen Sie nach credentials und klicken Sie auf APIs and Services Nummer 2 auf dem Screenshot Google Cloud Console Anmeldeinformationen Suchen
    4. Klicken Sie auf iOS client for [YOUR_APP_ID] (auto created by Google Service) Nummer eins. In meinem Fall ist es sociallogin-tutorial-app.

      Google Cloud Console Anmeldeinformationen iOS Client ID
    5. Kopieren Sie Client ID sowie die iOS URL schemeDies wird Ihnen jeweils zugewiesen iOSClientId und YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console-Zugriffsberechtigungen iOS Client ID Kopieren
  10. Holen Sie sich Ihren Webclient-ID

    1. Gehen Sie zurück in die Firebase-Konsole und gehen Sie zu Build -> Authentication Firebase-Authentifizierung-Menü
    2. Klicken Sie auf den Sign-in method Button Firebase-Authentifizierung-Anmeldemethode-Button
    3. Klicken Sie auf den Google Anbieter Firebase-Authentifizierung-Anmeldemethode-Google-Anbieter
    4. Klicken Sie auf den Web SDK configuration Button Firebase Authentication Sign-in Method Web SDK Configuration Button
    5. Kopieren Sie Web client IDDies wird Ihr webClientId in der initialize Methode des Plugins. Firebase Authentication Sign-in-Methode Web SDK Konfiguration Web Client ID
  11. Ändern Sie die Informationen in Ihrem App-Info.plist

    1. Öffnen Sie Xcode und finden Sie das Info.plist Datei

      Info.plist-Datei im Xcode-Projekt-Navigator
    2. Recht klicken Sie auf diese Datei und öffnen Sie sie als Quelle code

      Recht-klick-Menü mit der Option "Als Quelle öffnen Code"
    3. Am unteren Ende Ihrer Plist Datei werden Sie eine </dict> Tag sehen

      Schließen Sie den Schlüssel-Wert-Block in der Datei Info.plist
    4. Fügen Sie den folgenden Fragment vor dem Schließen </dict> Schlüssel-Wert-Block ein

      Info.plist mit URL-Schemes code vor dem Schließen des Schlüssel-Wert-Blocks
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
      <key>GIDClientID</key>
      <string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string>
    5. Ändern Sie den YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den Wert, der in Schritt 9 (dem iOS-URL-Schema) kopiert wurde

      Info.plist mit dem tatsächlichen rückgegebenen Client-ID in den URL-Schemes
  12. Ändern Sie die YOUR_IOS_CLIENT_ID zum iOS Client ID, den Sie in Schritt 9 kopiert haben

  13. Speichern Sie das Datei mit Command + S

  14. Ändern Sie das AppDelegate.swift

    1. Öffnen Sie das AppDelegate

      AppDelegate.swift-Datei im Xcode-Projekt-Navigator
    2. Einfügen import GoogleSignIn am Anfang der Datei

      AppDelegate.swift mit GoogleSignIn import hinzugefügt
    3. Finden Sie die func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) Funktion

      Original Anwendung openURL-Funktion in AppDelegate
    4. Ändern Sie die Funktion, damit sie wie folgt aussieht

      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 call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Modifizierte Anwendung openURL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie das File mit Command + S

  15. Verwenden Sie den Google-Login in Ihrer App

    Zu diesem Schritt sind Sie bereit, den Google-Login in Ihrer App zu verwenden. Bitte verwenden Sie das authUtils.ts Datei der Beispiel-App, um mit Google zu authentifizieren.

Der Benutzer wird automatisch in Firebase Auth erstellt, wenn er sich das erste Mal anmeldet.

Wenn die Authentifizierung hängt oder fehlschlägt:

  • Überprüfen Sie, ob idToken die Zielgruppe Ihren Firebase-Webclient-IDs entspricht
  • Stellen Sie sicher, dass Google Sign-In in Firebase Console aktiviert ist
  • Stellen Sie sicher, dass Info.plist die richtigen URL-Schemas und GIDClientID enthält
  • Überprüfen Sie, ob iOSServerClientId Ihren Webclient-IDs entspricht
  • Überprüfen Sie die Beispielanwendung code zur Referenz