Zum Inhalt springen
WebViewGold Vibe Coding in den App Store
Deutsch
WebViewGold holen

Backend-Checklisten

Firebase-App in den App Store und zu Google Play: die komplette Checkliste

Projekte aus Firebase Studio, Softgen und Databutton stützen sich auf Firebase Auth, Firestore, Storage und Hosting. All das läuft in WebViewGold, aber Login-Popups, der Apple-Provider, die Datenlöschung und die Datenschutzformulare brauchen bewusste Entscheidungen. Geh diese Liste durch, bevor du den ersten Build hochlädst.

Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.

  • Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
  • Kein Programmieren nötig
  • Einmalzahlung, kostenlose Updates
  • 24/7 Support von echten Menschen
  • Made in Germany seit 2014 · ISO 27001

1. Login: Popup, Redirect oder Helper?

Der meiste generierte Firebase-Code ruft signInWithPopup auf. In einem Desktop-Browser öffnet das ein zweites Fenster und gibt das Ergebnis zurück; in einer WKWebView oder Android-WebView hat das Popup keinen zuverlässigen Rückweg, also hängen Logins. Stell den Ablauf in der App auf signInWithRedirect um und verarbeite getRedirectResult beim Laden.

Der Redirect-Login hat auf Apple-Plattformen seinen eigenen Haken: WebKit blockiert Third-Party-Storage, daher kann die Standard-authDomain (yourproject.firebaseapp.com) die Sitzung auf dem Hin- und Rückweg verlieren. Die von Firebase empfohlene Lösung: Nutze deine eigene Domain als authDomain. Hoste die App auf Firebase Hosting unter deiner eigenen Domain, damit /__/auth/handler same-origin ist, und füge diese Domain unter Authentication → Settings → Authorized domains hinzu. Setze dann dieselbe Domain als Start-URL in WebViewGold.

Google als Provider bringt die bekannte WebView-Sperre mit („disallowed_useragent“). Der Social Login Helper von WebViewGold löst das: Setze google_login_helper_triggers in Config.swift und GOOGLE_LOGIN_HELPER_TRIGGERS in Config.java auf die Präfixe von accounts.google.com. Login per E-Mail und Passwort oder per E-Mail-Link braucht nichts davon.

2. Apple-Provider (Richtlinie 4.8)

Pflicht, sobald Google, Facebook oder ein anderer Login eines Drittanbieters angeboten wird.

  1. Apple Developer Portal

    Aktiviere Sign in with Apple für deine App ID, lege eine Services ID mit deiner authDomain als Website und https://YOUR-AUTH-DOMAIN/__/auth/handler als Return URL an und erstelle einen Sign-in-with-Apple-Key (.p8).

  2. Firebase-Konsole

    Authentication → Sign-in method → Apple: Trag Services ID, Apple Team ID, Key ID und den privaten Schlüssel ein. Firebase erzeugt das Client Secret für dich, also entfällt die halbjährliche Erneuerung, die manche andere Backends verlangen.

  3. Code der Web-App

    const provider = new OAuthProvider("apple.com"); provider.addScope("email"); provider.addScope("name"); signInWithRedirect(auth, provider). Gib dem Apple-Button dasselbe visuelle Gewicht wie dem von Google.

  4. Nichts in WebViewGold zu konfigurieren

    Der Ablauf über appleid.apple.com wird automatisch erkannt und verarbeitet. Teste auf einem echten iPhone über TestFlight; der Simulator ist kein verlässlicher Maßstab für OAuth-Redirects.

3. Löschung von Nutzerdaten

Beide Stores verlangen, dass Nutzer ihren Account in der App löschen können, und Google will zusätzlich eine Webseite für Löschanfragen.

  • Installiere die offizielle Firebase Extension „Delete User Data“. Sie entfernt die Dokumente, Realtime-Database-Knoten und Storage-Dateien des Nutzers unter den von dir konfigurierten Pfaden, sobald ein Auth-User gelöscht wird.
  • Button in der App: Rufe deleteUser(auth.currentUser) auf. Firebase verlangt dafür einen frischen Login, also authentifiziere den Nutzer vorher erneut (Passwortabfrage oder ein neuer OAuth-Redirect) und fang den Fehler auth/requires-recent-login sauber ab.
  • Alternative für komplexe Daten: eine aufrufbare Cloud Function, die mit dem Admin SDK Daten über mehrere Collections hinweg löscht und danach auth().deleteUser(uid) ausführt; die Extension räumt trotzdem auf, was du konfiguriert hast.
  • Eine öffentliche Seite /delete-account auf deiner Domain, die den Ablauf in der App erklärt und ein Kontaktformular anbietet; trag die URL in das Datensicherheitsformular der Play Console ein und erwähne die Löschung in deiner Datenschutzerklärung.

Großartige Arbeit! Ich habe noch nie etwas programmiert, aber ich konnte damit arbeiten. Einfach und schnell! Auch mit großartiger Hilfe von den Erstellern!

Lucas Dubois · CodeCanyon

4. Firestore-Regeln, die vor Reviewern und Hackern bestehen

Generierte Projekte starten oft mit Regeln im Testmodus, die 30 Tage lang alles erlauben. Firebase schickt dir eine E-Mail, kurz bevor sie ablaufen, und danach bricht die App in der Produktion. Ersetze sie vor der Einreichung durch Regeln, die nur dem Besitzer Zugriff geben; hier ist eine minimale, gängige Form.

javascript
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    // Jeder Nutzer besitzt genau ein Profildokument
    match /users/{uid} {
      allow read, write: if request.auth != null && request.auth.uid == uid;
    }
    // Items gehören dem Nutzer, der sie angelegt hat
    match /items/{itemId} {
      allow read: if request.auth != null && resource.data.ownerId == request.auth.uid;
      allow create: if request.auth != null && request.resource.data.ownerId == request.auth.uid;
      allow update, delete: if request.auth != null && resource.data.ownerId == request.auth.uid;
    }
    // Alles andere ist standardmäßig verboten
  }
}

5. Hosting, Push und Domains

ThemaWas zu tun istSeite von WebViewGold
Eigene Domain im HostingFirebase Hosting → Add custom domain, DNS-Einträge setzen, auf das Zertifikat warten. Nutze diese Domain als authDomain und als Site URL in den E-Mail-Vorlagen.Start-URL in Config.swift / Config.java oder im Cloud Builder
Push: direkt über FCMRegistriere die iOS-Bundle-ID und den Android-Package-Name im Firebase-Projekt, lade GoogleService-Info.plist und google-services.json herunter und lade unter Cloud Messaging einen APNs-Key hoch.kFirebasePushEnabled (iOS) und FIREBASE_PUSH_ENABLED (Android); optional firebaseTopic; das Geräte-Token steht nach getfirebaseplayerid:// als firebaseplayerid bereit. Doku: iOS-Push, Android-Push
Push: stattdessen OneSignalFür Segmente und ein Kampagnen-Dashboard ohne Cloud Functions; läuft konfliktfrei neben Firebase.oneSignalID + kPushEnabled / PUSH_ENABLED; Vergleich im Guide zu den Push-Anbietern
Deep LinksFirebase Dynamic Links wurde eingestellt. Nutze Universal Links und App Links auf deiner eigenen Domain für E-Mail-Links und zum Teilen.Associated Domains + ShowExternalLink (iOS), IS_DEEP_LINKING_ENABLED (Android)

6. Datensicherheit und App-Datenschutz für Firebase-Signale

Google vergleicht die SDK-Signale im Binary mit deinen Angaben; Apple erwartet, dass du alles angibst, was die App tut, Webinhalte eingeschlossen.

  • Firebase Auth: E-Mail-Adresse und Nutzer-ID, mit dem Nutzer verknüpft. Gib das unter „Personenbezogene Daten“ (Play) sowie „Kontaktinformationen“ und „Kennungen“ (Apple) an.
  • Nutzerinhalte aus Firestore und Storage: „App-Aktivitäten“ / „Nutzerinhalte“. Wenn Nutzer Fotos hochladen, gib das an.
  • FCM-Push: Das Geräte-Token zählt als Gerätekennung für die App-Funktionalität. Nutzt du stattdessen OneSignal, gilt dasselbe.
  • Google Analytics, falls deine Web-App es lädt: Nutzungsdaten für Analysezwecke; kein Tracking im Sinne von Apple, solange sie nicht mit Werbenetzwerken verknüpft werden. Crashlytics unter Android (TRACKING_EVENT): Absturzprotokolle und Diagnosedaten.
  • Antworte nicht „keine Daten erhoben“, um schneller durchzukommen; eine Abweichung von den SDK-Signalen ist ein häufiger Ablehnungsgrund bei Play (siehe den Guide zu Abweichungen im Datensicherheitsformular).

Häufig gestellte Fragen

Muss ich die nativen Firebase-SDKs ins WebViewGold-Projekt einbauen?

Nein. Deine Web-App nutzt weiter das JavaScript-SDK. Native Firebase-Komponenten kommen nur für Push oder Crashlytics ins Spiel, und WebViewGold bringt sie hinter einem Config-Schalter mit.

Warum funktioniert der Google-Login in Chrome, aber nicht in meiner App?

Google blockiert OAuth in eingebetteten WebViews. Der Social Login Helper von WebViewGold öffnet den Google-Schritt in einem Fenster, das Google akzeptiert, und gibt das Ergebnis an deine App zurück.

Funktioniert die Offline-Persistenz von Firestore in der App?

Ja, IndexedDB ist in WKWebView und der Android-WebView verfügbar. Aktiviere trotzdem den Offline-Bildschirm von WebViewGold für den ersten Start, wenn noch kein Cache existiert.

Wie schicke ich einen Push an einen bestimmten Nutzer?

Speichere das Token aus getfirebaseplayerid:// (oder die OneSignal-Subscription-ID) im Firestore-Dokument des Nutzers und sende aus einer Cloud Function mit dem Admin SDK oder über die OneSignal REST API.

Drei Wege, deine App in die Stores zu bringen

Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.

Selbst machen

$109 pro Plattform, einmalig

Die WebViewGold-Lizenz: ein fertiges Xcode- oder Android-Studio-Projekt. URL einfügen, Name und Icon setzen, Features einschalten, bauen und einreichen. Kostenlose Updates für immer.

Pakete auf der Hauptseite ansehen

Full Service

$698 pro Plattform $798

Schick uns deine URL und dein Icon. Unser Team konfiguriert, baut und liefert deine App innerhalb von 72 Stunden, White-Label, inklusive Quellprojekten. Beide Plattformen für $1,158.

Full-Service-Details Powered by WeSetupYourWebViewApp

Winter-Sale-Preise gültig bis 31. Dezember 2026.

Bereit, deine App zu veröffentlichen?

App Store & Google Play Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen

Lieber abgeben? Full Service: Wir konfigurieren, bauen und liefern innerhalb von 72 Stunden, ab $698 pro Plattform. Fragen? Chatte mit uns – 24/7.

Erstattungen erfolgen zu den in unseren FAQ genannten Bedingungen: eine nicht inhaltsbedingte Ablehnung durch Apple und/oder Google, geltend gemacht innerhalb von 14 Tagen nach dem Kauf.