Wenn Sie die Gemini API über Ihre App mit einem Firebase AI Logic-SDK aufrufen, enthält Ihre Anfrage eine Reihe von Parametern, die generative KI-Antworten steuern. Dazu gehören in der Regel der Modellname, die Konfiguration der Modellgenerierung (maximale Anzahl von Tokens, Temperatur usw.), Sicherheitseinstellungen, Systemanweisungen und Prompt-Daten.
In den meisten Fällen sollten Sie diese Werte bei Bedarf für eine Reihe von Szenarien ändern:
- Aktualisieren Sie Ihr generatives KI-Modell, ohne eine neue App zu veröffentlichen. Sie können auf neuere, stabile Modellversionen upgraden, bevor frühere Versionen eingestellt werden, je nach den Anforderungen und Attributen Ihrer Nutzer auf kostengünstigere oder leistungsstärkere Modelle umstellen oder die neuesten und besten Modelle bedingt für bestimmte Nutzersegmente (z. B. Betatester) bereitstellen.
- Legen Sie den Ort fest, an dem Sie auf das Modell zugreifen, damit er näher an Ihren Nutzern ist.
- Führen Sie A/B-Tests mit verschiedenen Systemanweisungen und Prompts durch und stellen Sie die Werte des erfolgreichen Tests dann nach und nach für Ihre Nutzer bereit.
- Mit Funktions-Flags können Sie generative KI-Funktionen in Ihrer App schnell ein- oder ausblenden.
Firebase Remote Config bietet all das und noch mehr. Sie können Parameterwerte nach Bedarf und bedingungslos für App-Instanzen aktualisieren, die den von Ihnen in der Firebase-Konsole festgelegten Merkmalen entsprechen, ohne eine neue Version Ihrer App zu veröffentlichen.
In diesem Lösungsleitfaden finden Sie spezifische empfohlene Anwendungsfälle und eine Beschreibung, wie Sie Remote Config in Ihre generative KI-App einfügen.
Zur Code-Implementierung springen
Warum sollten Sie Firebase Remote Config in Ihrer App verwenden?
Mit Firebase Remote Config können Sie das Verhalten Ihrer App dynamisch anpassen, ohne dass App-Updates erforderlich sind. Das ist besonders nützlich für Apps, die generative KI verwenden, da hier schnelle Iterationen und Feinabstimmungen entscheidend sind.
Wichtige Anwendungsfälle für Remote Config mit Apps für generative KI
Wir empfehlen die Verwendung von Remote Config mit Firebase AI Logic für die folgenden wichtigen Anwendungsfälle:
Upgrade auf die neueste Modellversion ohne App-Update: Verwenden Sie Remote Config-Parameter, um den Modellnamen nach Bedarf zu ändern. So können Sie ein Upgrade auf die neueste Version Ihres bevorzugten Gemini-Modells durchführen, sobald es verfügbar ist.
Systemanweisungen und Sicherheitseinstellungen ohne App-Update aktualisieren: Speichern Sie Systemanweisungen und Sicherheitseinstellungen in Remote Config-Parametern, damit Sie sie bei Bedarf ändern können, wenn Sie nach der Bereitstellung Probleme feststellen.
Risiko minimieren und KI-Sicherheit durchsetzen: Verwenden Sie Remote Config-Rollouts, um Änderungen an generativer KI sicher und schrittweise für Ihre iOS- und Android-Nutzer freizugeben.
Erweiterte und empfohlene Anwendungsfälle für Remote Config mit generativen KI-Apps
Nachdem Sie Ihre App mit Remote Config und Google Analytics instrumentiert haben, können Sie erweiterte Anwendungsfälle untersuchen:
Standort basierend auf dem Clientstandort festlegen: Verwenden Sie Remote Config-Bedingungen, um den Standort festzulegen, an dem Sie auf das Modell zugreifen, basierend auf dem erkannten Standort des Clients.
Mit verschiedenen Modellen experimentieren: Sie können schnell verschiedene generative KI-Modelle testen und zwischen ihnen wechseln oder sogar für verschiedene Nutzersegmente auf unterschiedliche Modelle zugreifen, um das beste Modell für Ihren spezifischen Anwendungsfall zu finden.
Modellleistung optimieren: Sie können Modellparameter wie Systemprompt, maximale Anzahl von Ausgabetokens, Temperatur und andere Einstellungen optimieren.
Unterschiedliche Systemanweisungen, Prompts und Modellkonfiguration basierend auf Clientattributen verwenden: Wenn Sie Remote Config mit Google Analytics verwenden, können Sie Bedingungen basierend auf Clientattributen oder benutzerdefinierten Zielgruppen erstellen und verschiedene Parameter basierend auf diesen Attributen festlegen.
Wenn Sie beispielsweise generative KI verwenden, um in Ihrer App technischen Support anzubieten, können Sie systemspezifische Anweisungen für die App-Plattform festlegen, damit Nutzer Ihrer Android-, iOS- und Webplattform genaue Anweisungen erhalten.
Nutzererfahrung für jeden Nutzer personalisieren: Verwenden Sie die Remote Config-Personalisierung in Ihren mobilen Apps und Spielen, um automatisch die optimalen Einstellungen für generative KI für jeden Nutzer zu ermitteln.
Kostenkontrolle: Sie können remote anpassen, welche Modelle für generative KI aufgerufen werden, wie häufig sie verwendet werden, und die maximalen Ausgabetokenwerte basierend auf der Nutzergruppe dynamisch konfigurieren, um unnötige Kosten zu senken.
App-Nutzerfreundlichkeit und -Ergebnisse optimieren: Verwenden Sie A/B Testing mit Remote Config für Ihre mobilen Apps und Spiele, um Änderungen an Parametern für generative KI in verschiedenen Nutzersegmenten zu testen. So können Sie sehen, wie sich diese Änderungen auf wichtige Messwerte wie Nutzerbindung und Umsatz auswirken.
Wenn Sie Ihre Anwendung basierend auf generativer KI mit Firebase Remote Config instrumentieren, können Sie flexible, sichere und kostengünstige KI-basierte Anwendungen entwickeln und gleichzeitig für eine optimale Nutzererfahrung sorgen.
Firebase Remote Config in Ihre App einbinden
In diesem Lösungsleitfaden verwenden Sie Firebase Remote Config, um Parameter in Ihrer Android-App, die das Firebase AI Logic SDK verwendet, dynamisch zu aktualisieren. Nach Abschluss können Sie:
- Parameter wie Modellnamen und Systemanweisungen aus Firebase Remote Config abrufen und aktivieren.
- Aktualisieren Sie Ihre Gemini API-Aufrufe, um die dynamisch abgerufenen Parameter zu verwenden. So können Sie ohne App-Update zwischen verschiedenen Modellen wechseln oder Systemanweisungen ändern.
- Parameter per Fernzugriff steuern und das Verhalten und die Funktionen des Modells nach Bedarf anpassen.
Vorbereitung
In dieser Anleitung wird davon ausgegangen, dass Sie mit der Entwicklung von Apps für Ihre Plattform vertraut sind.
Führen Sie zuerst die folgenden Schritte aus:
Folgen Sie dem Firebase AI Logic-Startleitfaden. Darin wird beschrieben, wie Sie Ihr Firebase-Projekt einrichten, Ihre App mit Firebase verbinden, das SDK hinzufügen, den Back-End-Dienst für den ausgewählten Gemini API-Anbieter initialisieren und eine Modellinstanz erstellen.
Aktivieren Sie Google Analytics in Ihrem Firebase-Projekt und fügen Sie das SDK in Ihre App ein. Das ist für das bedingte Targeting erforderlich, z. B. um den Standort für den Zugriff auf das Modell basierend auf dem Standort des Clientgeräts festzulegen.
Schritt 1: Parameterwerte in der Firebase-Konsole festlegen
Erstellen Sie eine Remote Config-Clientvorlage und konfigurieren Sie Parameter und Werte, die in der App abgerufen und verwendet werden sollen.
- Öffnen Sie Ihr Firebase-Projekt in der Firebase-Konsole. Maximieren Sie dann im Navigationsmenü Ausführen und wählen Sie Remote Config aus.
- Achten Sie darauf, dass oben auf der Seite in der Auswahl Client/Server die Option Client ausgewählt ist.
- Klicken Sie auf Konfiguration erstellen (oder auf Parameter hinzufügen, wenn Sie bereits Clientvorlagen verwendet haben), um eine Clientvorlage zu erstellen.
Definieren Sie die Parameter, die Sie mit Remote Config steuern möchten. Beispiel:
Parametername Beschreibung Typ Standardwert model_name
Modellname. Verfügbare Modellnamen String gemini-2.5-flash
system_instructions
Systemanweisungen sind wie eine „Präambel“, die Sie hinzufügen, bevor das Modell für weitere Anweisungen des Endnutzers freigegeben wird, um das Verhalten des Modells zu beeinflussen. String You are a helpful assistant who knows everything there is to know about Firebase!
prompt
Standard-Prompt für die Verwendung mit Ihrer generativen KI-Funktion. String I am a developer who wants to know more about Firebase!
vertex_location
Gilt nur, wenn Sie Vertex AI Gemini API verwenden.
Sie können den Standort für den Zugriff auf das Modell festlegen. Sie können Bedingungen festlegen, um diese Option basierend auf dem vom Google Analytics erkannten Clientstandort zu konfigurieren.String global
Wenn Sie alle Parameter hinzugefügt haben, klicken Sie auf Änderungen veröffentlichen. Wenn es sich nicht um eine neue Remote Config-Vorlage handelt, überprüfen Sie die Änderungen und klicken Sie noch einmal auf Änderungen veröffentlichen.
Schritt 2: Remote Config in Ihre App einfügen und initialisieren
Fügen Sie die Remote Config-Bibliothek hinzu und richten Sie Remote Config in Ihrer App ein.
Swift
Im Rahmen der Firebase AI Logic-Einrichtung haben Sie das Firebase SDK bereits in Ihre App eingefügt. Sie müssen aber auch Remote Config hinzufügen.
Öffnen Sie das Projekt in Xcode und gehen Sie zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
Wählen Sie firebase-ios-sdk aus und klicken Sie dann auf Paket hinzufügen.
Wählen Sie im Project Navigator Ihre App > Ziele > Ihre App aus.
Scrollen Sie auf dem Tab Allgemein zu Frameworks, Bibliotheken und eingebettete Inhalte.
Klicken Sie auf +, wählen Sie FirebaseRemoteConfig aus und klicken Sie dann auf Hinzufügen.
Fügen Sie den
FirebaseRemoteConfig
-Import in Ihren Code ein:import FirebaseRemoteConfig
Initialisieren Sie Firebase in der entsprechenden Klasse für Ihre App und fügen Sie Remote Config in Ihre Hauptanwendungslogik ein.
Hier fügen Sie Remote Config und den Remote Config-Echtzeit-Listener als Importe hinzu, damit die App neue Werte in Echtzeit abrufen kann. Außerdem legen Sie ein minimales Abrufintervall fest:
let remoteConfig = RemoteConfig.remoteConfig() let settings = RemoteConfigSettings() settings.minimumFetchInterval = 3600 remoteConfig.configSettings = settings
In der Kurzanleitungs-App befindet sich dieser Code in
VertexAISampleApp
innerhalb der KlasseAppDelegate
.
Kotlin
Fügen Sie die Remote Config-Abhängigkeit der Gradle-Datei Ihres Moduls (auf App-Ebene, in der Regel
app/build.gradle.kts
oderapp/build.gradle
) hinzu:dependencies { implementation(platform("com.google.firebase:firebase-bom:33.15.0")) implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-config") // ... other dependencies }
Fügen Sie Remote Config in Ihre Hauptanwendungslogik ein. Hier initialisieren Sie Remote Config und fügen ein minimales Abrufintervall hinzu:
val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig val configSettings = remoteConfigSettings { minimumFetchIntervalInSeconds = 3600 } remoteConfig.setConfigSettingsAsync(configSettings)
Java
Fügen Sie die Remote Config-Abhängigkeit der Gradle-Datei Ihres Moduls (auf App-Ebene, in der Regel
app/build.gradle.kts
oderapp/build.gradle
) hinzu:dependencies { implementation(platform("com.google.firebase:firebase-bom:33.15.0")) implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-config") // ... other dependencies }
Fügen Sie Remote Config in Ihre Hauptanwendungslogik ein. Hier initialisieren Sie Remote Config und fügen ein minimales Abrufintervall hinzu:
FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() .setMinimumFetchIntervalInSeconds(3600) .build(); mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
Web
Öffnen Sie Ihren Code in einem Texteditor und importieren Sie Remote Config:
import { getRemoteConfig } from 'firebase/remote-config';
Initialisieren Sie Remote Config in Ihrer primären Funktion und nachdem die Firebase-App für das Firebase AI Logic SDK initialisiert wurde:
// Initialize Remote Config and get a reference to the service const remoteConfig = getRemoteConfig(app);
Mindestabrufintervall festlegen:
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Dart
Installieren und fügen Sie Remote Config über das Verzeichnis Ihres Flutter-Projekts mit dem folgenden Befehl hinzu:
flutter pub add firebase_remote_config
Öffnen Sie
./lib/main.dart
und fügen Sie den Import nach den anderen Importen hinzu, die Sie zur Unterstützung von Firebase AI Logic hinzugefügt haben:import 'package:firebase_vertexai/firebase_ai.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_remote_config/firebase_remote_config.dart';
Fügen Sie Ihrer App die Variablen
_modelName
,_systemInstructions
und_prompt
hinzu, damit wir sie später verwenden können:late final String _modelName; late final String _systemInstructions; late final String _prompt;
Rufen Sie die Remote Config-Objektinstanz ab und legen Sie das Mindestabrufintervall fest, um häufige Aktualisierungen zu ermöglichen. Fügen Sie diesen Code nach der Initialisierung von Firebase hinzu.
final remoteConfig = FirebaseRemoteConfig.instance; await remoteConfig.setConfigSettings(RemoteConfigSettings( fetchTimeout: const Duration(seconds: 3600), minimumFetchInterval: const Duration(seconds: 3600), ));
Einheit
Fügen Sie Ihrem Unity-Projekt Remote Config hinzu. Folgen Sie dazu dieser Anleitung.
Rufen Sie die Remote Config-Objektinstanz ab und legen Sie das Mindestabrufintervall fest, um häufige Aktualisierungen zu ermöglichen. Fügen Sie diesen Code nach der Initialisierung von Firebase hinzu.
var remoteConfig = FirebaseRemoteConfig.DefaultInstance; const int MillisecondsPerSecond = 1000; await remoteConfig.SetConfigSettingsAsync(new ConfigSettings() { FetchTimeoutInMilliseconds = 3600 * MillisecondsPerSecond, MinimumFetchIntervalInMilliseconds = 3600 * MillisecondsPerSecond });
Schritt 3: In-App-Parameterwerte festlegen
Sie sollten In-App-Standardparameterwerte im Remote Config-Objekt festlegen. So wird sichergestellt, dass sich Ihre App wie erwartet verhält, auch wenn sie keine Werte vom Remote Config-Dienst abrufen kann.
Swift
Öffnen Sie Remote Config in der Firebase-Konsole.
Öffnen Sie auf dem Tab Parameter das Menü und wählen Sie Standardwerte herunterladen aus.
Aktivieren Sie bei Aufforderung .plist für iOS und klicken Sie dann auf Datei herunterladen.
Speichern Sie die Datei im Anwendungsverzeichnis.
Wenn Sie die Beispiel-App verwenden, speichern Sie sie in
FirebaseVertexAI/Sample/VertexAISample
.Klicken Sie in Xcode mit der rechten Maustaste auf Ihre App und wählen Sie Dateien hinzufügen aus.
Wenn Sie das Beispiel verwenden, klicken Sie mit der rechten Maustaste auf VertexAISample und wählen Sie Add Files to "VertexAISample" (Dateien zu „VertexAISample“ hinzufügen) aus.
Wählen Sie remote_config_defaults.plist aus und klicken Sie auf Hinzufügen.
Aktualisieren Sie Ihren App-Code, damit er auf die Standarddatei verweist:
// Set default values remoteConfig.setDefaults(fromPlist: "remote_config_defaults")
Kotlin
Öffnen Sie Remote Config in der Firebase-Konsole.
Öffnen Sie auf dem Tab Parameter das Menü und wählen Sie Standardwerte herunterladen aus.
Aktivieren Sie bei Aufforderung .xml für Android und klicken Sie dann auf Datei herunterladen.
Speichern Sie die Datei im XML-Ressourcenverzeichnis Ihrer App.
Aktualisieren Sie Ihre Hauptaktivitätsdatei, um die Standardwerte nach dem
configSettings
hinzuzufügen, das Sie zuvor hinzugefügt haben:// Set default values. remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
Java
Öffnen Sie Remote Config in der Firebase-Konsole.
Öffnen Sie auf dem Tab Parameter das Menü und wählen Sie Standardwerte herunterladen aus.
Aktivieren Sie bei Aufforderung .xml für Android und klicken Sie dann auf Datei herunterladen.
Speichern Sie die Datei im XML-Ressourcenverzeichnis Ihrer App.
Aktualisieren Sie Ihre Hauptaktivitätsdatei, um die Standardwerte nach dem
configSettings
hinzuzufügen, das Sie zuvor hinzugefügt haben:// Set default values. mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
Web
Sie können die Standardwerte direkt in Ihrem Code festlegen:
// Set default Remote Config parameter values
remoteConfig.defaultConfig = {
model_name: 'gemini-2.5-flash',
system_instructions:
'You are a helpful assistant who knows everything there is to know about Firebase!',
prompt: 'I am a developer who wants to know more about Firebase!',
vertex_location: 'global',
};
Dart
Sie können die Standardwerte direkt in Ihrem Code festlegen:
remoteConfig.setDefaults(const {
"model_name": "gemini-2.5-flash",
"system_instructions": "You are a helpful assistant who knows everything there is to know about Firebase!",
"prompt": "I am a developer who wants to know more about Firebase!",
"vertex_location": "global"
});
Einheit
Sie können die Standardwerte direkt in Ihrem Code festlegen:
await remoteConfig.SetDefaultsAsync(
new System.Collections.Generic.Dictionary<string, object>() {
{ "model_name", "gemini-2.5-flash" },
{ "system_instructions", "You are a helpful assistant who knows everything there is to know about Firebase!" },
{ "prompt", "I am a developer who wants to know more about Firebase!" },
{ "vertex_location", "global" }
}
);
Schritt 4: Werte abrufen und aktivieren
Nachdem Sie Standardwerte festgelegt haben, fügen Sie Folgendes hinzu, um Werte abzurufen und zu aktivieren.
Swift
// Fetch and activate Remote Config values
remoteConfig.fetchAndActivate { status, error in
if let error = error {
print("Error fetching Remote Config: \(error.localizedDescription)")
}
}
Dadurch sollte das Remote Config-Objekt immer dann aktualisiert werden, wenn eine neue Remote Config-Vorlage veröffentlicht wird.
Kotlin
// Fetch and activate Remote Config values
remoteConfig.fetchAndActivate()
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
val updated = task.result
Log.d(TAG, "Remote Config values fetched and activated: $updated")
} else {
Log.e(TAG, "Error fetching Remote Config", task.exception)
}
}
Java
// Fetch and activate Remote Config values
mFirebaseRemoteConfig.fetchAndActivate()
.addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
@Override
public void onComplete(@NonNull Task<Boolean> task) {
if (task.isSuccessful()) {
boolean updated = task.getResult();
Log.d(TAG, "Config params updated: " + updated);
} else {
Log.e(TAG, "Error fetching Remote Config", task.exception)
}
}
});
Web
Fügen Sie
getValue
undfetchAndActivate
zu Ihren Importen hinzu:import { getValue, fetchAndActivate } from 'firebase/remote-config';
Nachdem Sie den Code zum Konfigurieren der Standardwerte für Remote Config hinzugefügt haben, rufen Sie die Konfiguration ab und aktivieren Sie sie. Weisen Sie dann den Konstanten
modelName
,systemInstructions
,prompt
undvertexLocation
Werte zu.// Fetch and activate Remote Config. try { await fetchAndActivate(remoteConfig); } catch(err) { console.error('Remote Config fetch failed', err); } console.log('Remote Config fetched.'); // Assign Remote Config values. const modelName = getValue(remoteConfig, 'model_name').asString(); const systemInstructions = getValue(remoteConfig, 'system_instructions').asString(); const prompt = getValue(remoteConfig, 'prompt').asString(); const vertexLocation = getValue(remoteConfig, 'vertex_location').asString();
Dart
// Fetch and activate Remote Config.
remoteConfig.fetchAndActivate();
// Assign Remote Config values.
String? _modelName = remoteConfig.getString("model_name");
String? _systemInstructions = remoteConfig.getString("system_instructions");
String? _prompt = remoteConfig.getString("prompt");
String? _vertexLocation = remoteConfig.getString("vertex_location");
Einheit
// Fetch and activate Remote Config values.
await remoteConfig.FetchAndActivateAsync();
Schritt 5: Echtzeit-Remote Config-Listener hinzufügen
Fügen Sie Ihrer App einen Remote Config-Listener in Echtzeit hinzu, damit Änderungen, die Sie an der Remote Config-Vorlage vornehmen, sofort an den Client weitergegeben werden.
Mit dem folgenden Code wird das Remote Config-Objekt immer dann aktualisiert, wenn sich ein Parameterwert ändert.
Swift
// Add real-time Remote Config
remoteConfig.addOnConfigUpdateListener { configUpdate, error in
guard let configUpdate = configUpdate, error == nil else {
print("Error listening for config updates: \(error?.localizedDescription ?? "No error available")")
return
}
print("Updated keys: \(configUpdate.updatedKeys)")
remoteConfig.activate { changed, error in
guard error == nil else {
print("Error activating config: \(error?.localizedDescription ?? "No error available")")
return
}
print("Activated config successfully")
}
}
Kotlin
Optional können Sie auch eine Aktion in der addOnCompleteListener
-Aktivierung konfigurieren:
// Add a real-time Remote Config listener
remoteConfig.addOnConfigUpdateListener(object : ConfigUpdateListener {
override fun onUpdate(configUpdate : ConfigUpdate) {
Log.d(ContentValues.TAG, "Updated keys: " + configUpdate.updatedKeys);
remoteConfig.activate().addOnCompleteListener {
// Optionally, add an action to perform on update here.
}
}
override fun onError(error : FirebaseRemoteConfigException) {
Log.w(ContentValues.TAG, "Config update error with code: " + error.code, error)
}
}
Java
Optional können Sie auch eine Aktion in der addOnCompleteListener
-Aktivierung konfigurieren:
// Add a real-time Remote Config listener
remoteConfig.addOnConfigUpdateListener(new ConfigUpdateListener() {
@Override
public void onUpdate(ConfigUpdate configUpdate) {
Log.d(ContentValues.TAG, "Updated keys: " + configUpdate.getUpdatedKeys());
remoteConfig.activate().addOnCompleteListener(new OnCompleteListener<Boolean>() {
@Override
public void onComplete(@NonNull Task<Boolean> task) {
// Optionally, add an action to perform on update here.
}
});
}
@Override
public void onError(FirebaseRemoteConfigException error) {
Log.w(ContentValues.TAG, "Config update error with code: " + error.getCode(), error);
}
});
Web
Remote Config-Listener in Echtzeit werden für Web-Apps nicht unterstützt.
Dart
// Add a real-time Remote Config listener
remoteConfig.onConfigUpdated.listen((event) async {
await remoteConfig.activate();
});
Einheit
// Add a real-time Remote Config listener to automatically update whenever
// a new template is published.
// Note: the parameters can be anonymous as they are unused.
remoteConfig.OnConfigUpdateListener += (_, _) => {
remoteConfig.ActivateAsync();
};
Schritt 6: Gemini API-Anfragen aktualisieren, damit Remote Config-Werte verwendet werden
Klicken Sie auf Ihren Gemini API-Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen. |
Nachdem Remote Config vollständig konfiguriert ist, aktualisieren Sie Ihren Code, um hartcodierte Werte durch Werte aus Remote Config zu ersetzen.
Swift
// Initialize the Gemini Developer API backend service
// The Gemini Developer API doesn't support setting the location of a model
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` and add system instructions into its config
// Both the model name and the system instructions will be sourced from Remote Config
let modelName = remoteConfig.configValue(forKey: "model_name").stringValue
let systemInstructions = remoteConfig.configValue(forKey: "system_instructions").stringValue
let model = ai.generativeModel(
modelName: modelName,
systemInstruction: ModelContent(role: "system", parts: systemInstructions)
)
// Provide a prompt that contains text
// The text in the prompt will be sourced from Remote Config
let userPrompt = remoteConfig.configValue(forKey: "prompt").stringValue
// To generate text output, call `generateContent` with the text input
let response = try await model.generateContent(userPrompt)
if let text = response.text {
print(text)
}
Kotlin
// Initialize the Gemini Developer API backend service
// The Gemini Developer API doesn't support setting the location of a model
val ai = Firebase.ai(backend = GenerativeBackend.googleAI())
// Create a `GenerativeModel` and add system instructions into its config
// Both the model name and the system instructions will be sourced from Remote Config
val model = ai.generativeModel(
modelName = remoteConfig.getString("model_name"),
systemInstruction = content { text(remoteConfig.getString("system_instructions")) }
)
// To generate text output, call `generateContent` with the text input
// The text in the prompt will be sourced from Remote Config
val response = model.generateContent(remoteConfig.getString("prompt"))
print(response.text)
Java
// Initialize the Gemini Developer API backend service
// The Gemini Developer API doesn't support setting the location of a model
FirebaseAI ai = FirebaseAI.getInstance(GenerativeBackend.googleAI());
// Create a `GenerativeModel` and add system instructions into its config
// Both the model name and the system instructions will be sourced from Remote Config
GenerativeModel gm = ai.generativeModel(
/* modelName */ remoteConfig.getString("model_name"),
/* generationConfig (optional) */ null,
/* safetySettings (optional) */ null,
/* tools (optional) */ null,
/* toolsConfig (optional) */ null,
/* systemInstruction (optional) */ new Content.Builder().addText(
remoteConfig.getString("system_instructions")).build(),
/* requestOptions (optional) */ new RequestOptions()
);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// Provide a prompt that contains text
// The text in the prompt will be sourced from Remote Config
Content userPrompt = new Content.Builder()
.addText(remoteConfig.getString("prompt"))
.build();
// To generate text output, call `generateContent` with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(userPrompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
// The Gemini Developer API doesn't support setting the location of a model
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` and add system instructions into its config
// Both the model name and the system instructions will be sourced from Remote Config
const model = getGenerativeModel(ai, {
model: modelName,
systemInstruction: systemInstruction
});
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
// The text in the prompt will be sourced from Remote Config
const userPrompt = prompt;
// To generate text output, call `generateContent` with the text input
const result = await model.generateContent(userPrompt);
const response = result.response;
const text = response.text();
console.log(text);
}
Dart
// Initialize the Gemini Developer API backend service
// The Gemini Developer API doesn't support setting the location of a model
final ai = await FirebaseAI.googleAI();
// Create a `GenerativeModel` and add system instructions into its config
// Both the model name and the system instructions will be sourced from Remote Config
final model =
ai.generativeModel(
model: _modelName,
systemInstruction: Content.system(_systemInstructions),
);
// Provide a prompt that contains text
// The text in the prompt will be sourced from Remote Config
final _userPrompt = [Content.text(_prompt)];
// To generate text output, call `generateContent` with the text input
final response = await model.generateContent(_userPrompt);
print(response.text);
Einheit
// Initialize the Gemini Developer API backend service
// The Gemini Developer API doesn't support setting the location of a model
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` and add system instructions into its config
// Both the model name and the system instructions will be sourced from Remote Config
var modelName = remoteConfig.GetValue("model_name").StringValue;
var systemInstructions = remoteConfig.GetValue("system_instructions").StringValue;
var model = ai.GetGenerativeModel(
modelName: modelName,
systemInstruction: ModelContent.Text(systemInstructions)
);
// Provide a prompt that contains text
// The text in the prompt will be sourced from Remote Config
var userPrompt = remoteConfig.GetValue("prompt").StringValue;
// To generate text output, call `GenerateContentAsync` with the text input
var response = await model.GenerateContentAsync(userPrompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
Schritt 7: App ausführen
Erstellen Sie die App, führen Sie sie aus und prüfen Sie, ob sie funktioniert. Nehmen Sie auf der Seite Remote Config in der Firebase Console Änderungen an der Konfiguration vor, veröffentlichen Sie die Änderungen und prüfen Sie das Ergebnis.
Nächste Schritte
Fügen Sie Ihrem Clientcode Google Analytics hinzu, um das Targeting zu aktivieren.
Für mobile Apps und Spiele:
Testen Sie verschiedene Modelleinstellungen mit Remote Config und A/B Testing.
Modellparameteränderungen schrittweise mit Remote Config-Rollouts (nur iOS+ und Android) veröffentlichen.
Verwenden Sie die Remote Config-Personalisierung, um mithilfe von maschinellem Lernen die besten Einstellungen für einzelne Nutzer zu ermitteln (nur iOS+, Android und Unity).