Wenn Sie Ihre App veröffentlichen und echte Endnutzer mit den KI-Funktionen Ihrer App interagieren lassen möchten, sollten Sie diese Checkliste mit Best Practices und wichtigen Überlegungen durchgehen.
Allgemein
Allgemeine Checkliste für die Einführung prüfen
Lesen Sie die Firebase-Checkliste für die Einführung, um wichtige Best Practices zu erhalten, bevor Sie eine Firebase-App in der Produktion einführen.
Best Practices für Firebase-Projekte befolgen
Verwenden Sie separate Firebase-Projekte für Entwicklung, Tests und Produktion. Weitere Best Practices für die Projektverwaltung
Zugriff und Sicherheit
Sicherheitschecklisten prüfen
Lesen Sie die Firebase-Sicherheitscheckliste und die spezielle Sicherheitscheckliste für Firebase AI Logic, um wichtige Best Practices für Zugriff und Sicherheit zu erhalten.
Erzwingen Firebase App Check
Erzwingen Sie Firebase App Check, um die Gemini API vor Missbrauch zu schützen, wenn sie direkt von Ihrer App aufgerufen wird. Wenn App Check erzwungen wird, wird geprüft, ob eingehende Anfragen von Ihrer authentischen App und/oder einem nicht manipulierten Gerät stammen.
App Check unterstützt Attestierungsanbieter für Apple-Plattformen (DeviceCheck, App Attest oder reCAPTCHA Enterprise), Android (Play Integrity oder reCAPTCHA Enterprise) und das Web (reCAPTCHA Enterprise). Alle diese Anbieter werden auch für Flutter- und Unity-Apps unterstützt.
Sie können auch den Schutz vor Replay-Angriffen erzwingen. Das bedeutet, dass Tokens nur einmal verwendet werden können. Diese Option bietet erweiterten Schutz, der über den grundlegenden Schutz hinausgeht. Sie können damit ein angemessenes Schutzniveau für Ihre App und Anwendungsfälle festlegen.
Einschränkungen für Firebase API-Schlüssel einrichten
Firebase-API-Schlüssel identifizieren Ihr Firebase-Projekt und Ihre App bei Anfragen. So verhindern Sie die unbefugte Nutzung Ihrer API-Schlüssel:
Legen Sie in der Google Cloud-Konsole Anwendungseinschränkungen fest, um die Schlüsselnutzung auf Anfragen von der spezifischen Paket-ID (Apple), dem Paketnamen und dem SHA-1-Fingerabdruck (Android) oder dem HTTP-Referrer (Web) Ihrer App zu beschränken.
Prüfen Sie die Zulassungsliste API-Einschränkungen für jeden Schlüssel:
- Achten Sie darauf, dass die Firebase AI Logic API (
firebasevertexai.googleapis.com) auf der Zulassungsliste steht. - Achten Sie darauf, dass die einzigen anderen APIs auf der Zulassungsliste die spezifischen Firebase-Dienste sind, die Ihre App benötigt. Weitere Informationen finden Sie in der Liste der erforderlichen APIs für eingeschränkte Firebase-Schlüssel.
- Achten Sie darauf, dass die Firebase AI Logic API (
Beachten Sie, dass Firebase-bezogene APIs API-Schlüssel nur zur Identifizierung des Firebase-Projekts oder der Firebase-App verwenden, nicht zur Autorisierung des API-Aufrufs.
Anfragen auf authentifizierte Nutzer beschränken
Sie können den Modus „Authentifizierte Nutzer“ erzwingen, sodass alle Anfragen über Firebase AI Logic gültige Anmeldedaten von Firebase Authentication enthalten müssen. Wenn eine Anfrage von einem nicht authentifizierten Endnutzer stammt, wird sie mit dem Fehler 401: unauthenticated abgelehnt.
Monitoring, Limits und Abrechnung
KI-Monitoring in der Firebase-Konsole einrichten
Richten Sie KI-Monitoring in der Firebase-Konsole ein, um Einblick in wichtige Leistungsmesswerte wie Anfrageanzahl, Latenz, Tokennutzung und Fehlerraten zu erhalten. Sie können auch einzelne Traces in der Google Cloud-Konsole prüfen.
Ratenbegrenzungen festlegen und Kontingente verwalten
So schützen Sie Ihr Projekt vor unerwarteten Nutzungsspitzen und Denial-of-Wallet-Angriffen:
- Legen Sie Ratenbegrenzungen pro Nutzer fest (Standardwert ist 100 RPM), um zu verhindern, dass einzelne Clientinstanzen zu viel Kontingent verbrauchen.
- Prüfen und verwalten Sie die Projektkontingente in der Google Cloud Console für jede zugrunde liegende API.
Unerwartete Rechnungen mit Benachrichtigungen und Ausgabenobergrenzen vermeiden
Wenn für Ihr Firebase-Projekt das Blaze-Preismodell (Pay as you go) gilt:
Richten Sie Budgetbenachrichtigungen und Ausgabenobergrenzen ein.
Verwaltung von Konfigurationen
Stabile Modellversion in Ihrer Produktions-App verwenden
Verwenden Sie in Ihrer Produktions-App nur stabile Modellversionen (z. B. gemini-3.8-flash). Verwenden Sie keine Vorabversion oder experimentelle Version und keinen -latest
Firebase Remote Config oder Server-Promptvorlagen verwenden
Wenn Sie Remote Config oder Server-Prompt-Vorlagen verwenden, können Sie wichtige Konfigurationen für die KI-Funktionen Ihrer App in der Cloud (serverseitig) steuern, anstatt Werte in Ihrem Code hartzucodieren. So können Sie Ihre Konfigurationen aktualisieren, ohne eine neue Version Ihrer App veröffentlichen zu müssen.
(Dringend empfohlen) Nehmen Sie bei Bedarf Änderungen am Modellnamen vor, der für Ihre KI-Funktion verwendet wird, wenn neue Modelle veröffentlicht oder andere eingestellt werden. Weitere Informationen zur Verwendung von Remote Config oder Server-Promptvorlagen.
(Optional) Sie können andere Parameter für Ihre KI-Funktion dynamisch und sogar bedingt steuern, z. B. die Modellkonfiguration (z. B. maximale Ausgabetokens), Sicherheitseinstellungen, Systemanweisungen und Prompt-Daten. Weitere Informationen zur Verwendung von Remote Config oder Server-Promptvorlagen.
(Optional) Legen Sie in Remote Config einen
minimum_version-Parameter fest, um die aktuelle Version der App mit der in Remote Config definierten aktuellen Version zu vergleichen. So können Sie Nutzer entweder über ein Upgrade benachrichtigen oder sie dazu zwingen, ein Upgrade durchzuführen.
Speicherort für den Zugriff auf das Modell festlegen
| Nur verfügbar, wenn Sie Agent Platform Gemini API (formerly Vertex AI) als API-Anbieter verwenden. |
Legen Sie einen Standort für den Zugriff auf das Modell fest, um das Kontingent zu optimieren und Latenz für Ihre Nutzer zu vermeiden.
Wenn Sie keinen Standort angeben, wird standardmäßig global verwendet (wenn Sie die neue Initialisierungssyntax „Agent Platform“ verwenden). Sie können diesen Standort während der Initialisierung festlegen oder optional Firebase Remote Config verwenden, um den Standort dynamisch basierend auf dem Standort des jeweiligen Nutzers zu ändern.