Wenn Sie die Gemini API von Ihrer App aus mit einem Firebase AI Logic SDK aufrufen, enthält Ihre Anfrage eine Reihe von Parametern, die die kontrollierte Ausgabe der generativen KI steuern. Dazu gehören in der Regel der Modellname, die Konfiguration der Modellgenerierung (z. B. maximale Ausgabetokens), Sicherheitseinstellungen, Systemanweisungen und Prompt-Daten.
In den meisten Fällen möchten Sie diese Werte on demand oder nach Bedarf für eine Reihe von Szenarien ändern:
- Sie können Ihr generatives KI-Modell aktualisieren, ohne eine neue App zu veröffentlichen. Sie können auf neuere, stabile Modellversionen upgraden, bevor frühere Versionen eingestellt werden, auf kostengünstigere oder leistungsstärkere Modelle umsteigen, die den Anforderungen und Attributen Ihrer Nutzer entsprechen, oder die neuesten und besten Modelle bedingt für bestimmte Nutzersegmente (z. B. Betatester) bereitstellen.
- Legen Sie den Standort fest, von dem aus Sie auf das Modell zugreifen, damit es sich näher an Ihren Nutzern befindet.
- 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 einblenden oder ausblenden.
Firebase Remote Config bietet all dies und mehr. Sie können Parameterwerte nach Bedarf und bedingt 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 erfahren, wie Sie Remote Config zu Ihrer generativen KI-App hinzufügen.
Zur Code-Implementierung springen
Warum sollten Sie Firebase Remote Config mit 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, Remote Config mit Firebase AI Logic für die folgenden wichtigen Anwendungsfälle zu verwenden:
Auf die neueste Modellversion upgraden, ohne ein App-Update durchzuführen: Verwenden Sie Remote Config-Parameter, um den Modellnamen nach Bedarf zu ändern. So können Sie auf die neueste Version Ihres bevorzugten Gemini-Modells upgraden, sobald sie 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.
Risiken reduzieren 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-Anwendungen
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 auf verschiedene Modelle für unterschiedliche Nutzersegmente zugreifen, um die beste Lösung für Ihren spezifischen Anwendungsfall zu finden.
Modellleistung optimieren: Sie können Modellparameter wie System-Prompt, maximale Ausgabetokens, Temperatur und andere Einstellungen optimieren.
Unterschiedliche Systemanweisungen, Prompts und Modellkonfigurationen basierend auf Clientattributen verwenden: Wenn Sie Remote Config mit Google Analytics verwenden, können Sie Bedingungen basierend auf Clientattributen oder benutzerdefinierten Zielgruppen erstellen und unterschiedliche 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.
Kosten kontrollieren: Sie können per Remote-Zugriff anpassen, welche generativen KI-Modelle aufgerufen werden und wie oft sie verwendet werden. Außerdem können Sie die maximalen Ausgabetokenwerte basierend auf der Zielgruppe dynamisch konfigurieren, um unnötige Kosten zu reduzieren.
App-Erlebnis und ‑Ergebnisse optimieren: Mit A/B Testing mit Remote Config können Sie Änderungen an Parametern für generative KI in verschiedenen Nutzersegmenten testen, um herauszufinden, wie sie sich auf wichtige Messwerte wie Kundenbindung und Umsatz auswirken.
Wenn Sie Ihre generative KI-App mit Firebase Remote Config instrumentieren, können Sie flexible, sichere und kostengünstige KI-basierte Anwendungen erstellen und gleichzeitig Ihren Nutzern ein angenehmes Erlebnis bieten.
Firebase Remote Config zur App hinzufügen
In diesem Lösungsleitfaden verwenden Sie Firebase Remote Config, um Parameter in Ihrer App, die das Firebase AI Logic SDK verwenden, dynamisch zu aktualisieren. Nach Abschluss können Sie:
- Rufen Sie Parameter wie Modellnamen und Systemanweisungen aus Firebase Remote Config ab und aktivieren Sie sie.
- 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.
- Sie können Parameter per Fernzugriff steuern und das Modellverhalten und die Funktionen nach Bedarf anpassen.
Vorbereitung
In dieser Anleitung wird davon ausgegangen, dass Sie mit der Entwicklung von Apps für Ihre Plattform vertraut sind.
Bevor Sie beginnen, müssen Sie Folgendes tun:
Folgen Sie der Firebase AI Logic-Kurzanleitung. 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 Ihrer App hinzu. Dies ist für bedingtes Targeting erforderlich, z. B. um den Standort, von dem aus Sie auf das Modell zugreifen, 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.
Rufen Sie in der Firebase Console DevOps & Engagement > Remote Config auf.
Wählen Sie oben auf der Seite in der Auswahl Client/Server die Option Client aus.
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_nameModellname Verfügbare Modellnamen String gemini-3.8-flashsystem_instructionsSystemanweisungen 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!promptStandard-Prompt für die generative KI-Funktion. String I am a developer who wants to know more about Firebase!agent_platform_locationGilt nur, wenn Agent Platform Gemini API (formerly Vertex AI) verwendet wird.
Den Standort für den Zugriff auf das Modell festlegen. Sie können Bedingungen festlegen, um diese Option basierend auf dem von Google Analytics erkannten Clientstandort zu konfigurieren.String globalWenn Sie alle Parameter hinzugefügt haben, klicken Sie auf Änderungen veröffentlichen. Wenn es sich nicht um eine neue Remote Config-Vorlage handelt, prüfen Sie die Änderungen und klicken Sie noch einmal auf Änderungen veröffentlichen.
Schritt 2: Remote Config in Ihrer App hinzufügen und initialisieren
Fügen Sie die Bibliothek Remote Config hinzu und richten Sie Remote Config in Ihrer App ein.
Swift
Im Rahmen der Firebase AI Logic-Einrichtung haben Sie das Firebase SDK bereits Ihrer App hinzugefügt. Sie müssen aber auch Remote Config hinzufügen.
Öffnen Sie das Projekt und gehen Sie in Xcode zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
Wählen Sie firebase-ios-sdk aus und klicken Sie auf Paket hinzufügen.
Wählen Sie im Projektexplorer 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 FirebaseRemoteConfigInitialisieren 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 fügen Sie ein Mindestabrufintervall hinzu:
let remoteConfig = RemoteConfig.remoteConfig() let settings = RemoteConfigSettings() settings.minimumFetchInterval = 3600 remoteConfig.configSettings = settings
Kotlin
Fügen Sie die Abhängigkeit Remote Config in die Gradle-Datei Ihres Moduls (auf App-Ebene) ein (normalerweise
app/build.gradle.ktsoderapp/build.gradle):dependencies { implementation(platform("com.google.firebase:firebase-bom:35.0.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 Abhängigkeit Remote Config in die Gradle-Datei Ihres Moduls (auf App-Ebene) ein (normalerweise
app/build.gradle.ktsoderapp/build.gradle):dependencies { implementation(platform("com.google.firebase:firebase-bom:35.0.0")) implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-config") // ... other dependencies }Fügen Sie Remote Config der Hauptanwendungslogik hinzu. 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 in Ihrer primären Funktion und nach der Initialisierung der Firebase-App für das Firebase AI Logic-SDK Remote Config:
// Initialize Remote Config and get a reference to the service const remoteConfig = getRemoteConfig(app);Mindestabrufintervall festlegen:
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Dart
Installieren Sie Remote Config in Ihrem Flutter-Projektverzeichnis und fügen Sie es mit dem folgenden Befehl hinzu:
flutter pub add firebase_remote_configÖffnen Sie
./lib/main.dartund 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_ai/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,_systemInstructionsund_prompthinzu, damit Sie 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 die 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
Rufen Sie in der Firebase-Console die Seite DevOps & Engagement > Remote Config > Parameter auf.
Öffnen Sie 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.
Klicken Sie in Xcode mit der rechten Maustaste auf Ihre App und wählen Sie Add Files (Dateien hinzufügen) aus.
Wählen Sie remote_config_defaults.plist aus und klicken Sie auf Hinzufügen.
Aktualisieren Sie Ihren App-Code, um auf die Standarddatei zu verweisen:
// Set default values for Remote Config parameters. remoteConfig.setDefaults(fromPlist: "remote_config_defaults")
Kotlin
Rufen Sie in der Firebase-Console die Seite DevOps & Engagement > Remote Config > Parameter auf.
Öffnen Sie 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
configSettingshinzuzufügen, das Sie zuvor hinzugefügt haben:// Set default values for Remote Config parameters. remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
Java
Rufen Sie in der Firebase-Console die Seite DevOps & Engagement > Remote Config > Parameter auf.
Öffnen Sie 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 die Datei für die Hauptaktivität, um die Standardwerte nach dem zuvor hinzugefügten
configSettingshinzuzufügen:// Set default values for Remote Config parameters. mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
Web
Sie können die Standardwerte direkt im Code festlegen:
// Set default values for Remote Config parameters.
remoteConfig.defaultConfig = {
model_name: 'gemini-3.8-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!',
agent_platform_location: 'global',
};
Dart
Sie können die Standardwerte direkt im Code festlegen:
// Set default values for Remote Config parameters.
remoteConfig.setDefaults(const {
"model_name": "gemini-3.8-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!",
"agent_platform_location": "global"
});
Einheit
Sie können die Standardwerte direkt im Code festlegen:
// Set default values for Remote Config parameters.
await remoteConfig.SetDefaultsAsync(
new System.Collections.Generic.Dictionary<string, object>() {
{ "model_name", "gemini-3.8-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!" },
{ "agent_platform_location", "global" }
}
);
Schritt 4: Werte abrufen und aktivieren
Fügen Sie nach dem Festlegen der Standardwerte 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)")
}
}
Das Remote Config-Objekt sollte 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
getValueundfetchAndActivatezu Ihren Importen hinzu:import { getValue, fetchAndActivate } from 'firebase/remote-config';Suchen Sie den Code, in dem Sie die Standardwerte für Remote Config angeben. Fügen Sie direkt nach diesem Codeblock den folgenden Code hinzu, um die Konfiguration abzurufen und zu aktivieren und den Konstanten
modelName,systemInstructions,promptundagentPlatformLocationWerte zuzuweisen.// 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 agentPlatformLocation = getValue(remoteConfig, 'agent_platform_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? _agentPlatformLocation = remoteConfig.getString("agent_platform_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 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 innerhalb 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 innerhalb 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
// Add a real-time Remote Config listener
onConfigUpdate(remoteConfig, {
next: (configUpdate) => {
console.log("Updated keys:", configUpdate.getUpdatedKeys());
if (configUpdate.getUpdatedKeys().has("welcome_message")) {
activate(remoteConfig).then(() => {
showWelcomeMessage();
});
}
},
error: (error) => {
console.log("Config update error:", error);
},
complete: () => {
console.log("Listening stopped.");
}
});
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, um Remote Config-Werte zu verwenden
|
Klicken Sie auf Ihren Gemini API-Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen. |
Nachdem Remote Config vollständig konfiguriert ist, müssen Sie Ihren Code aktualisieren, 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 Anwendung, 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.
Änderungen an Modellparametern schrittweise mithilfe von Remote Config-Roll-outs veröffentlichen (nur iOS+ und Android).
Verwenden Sie die Remote Config-Personalisierung, um mit maschinellem Lernen die besten Einstellungen für einzelne Nutzer zu ermitteln (nur iOS+, Android und Unity).