Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Beginnen Sie mit Firebase Remote Config unter Android

Mit Firebase Remote Config können Sie Parameter in Ihrer App definieren und deren Werte in der Cloud aktualisieren. So können Sie das Erscheinungsbild und Verhalten Ihrer App ändern, ohne ein App-Update zu verteilen. Diese Anleitung führt Sie durch die ersten Schritte und enthält Beispielcode, der zum Klonen oder Herunterladen aus dem GitHub-Repository von firebase / quickstart-android verfügbar ist.

Fügen Sie Ihrer App Firebase und das Remote Config SDK hinzu

  1. Wenn Sie dies noch nicht getan haben, fügen Sie Firebase zu Ihrem Android-Projekt hinzu .

  2. Für die Remote-Konfiguration ist Google Analytics für die bedingte Ausrichtung von App-Instanzen auf Benutzereigenschaften, Zielgruppen und Firebase-Vorhersagen erforderlich. Stellen Sie sicher, dass Sie Google Analytics in Ihrem Projekt aktivieren .

  3. Fügen Sie die Abhängigkeit für die Remote Config Android-Bibliothek zu Ihrer Gradle-Datei (normalerweise app/build.gradle ) Ihres Moduls (App-Ebene) app/build.gradle .

    Außerdem müssen Sie im Rahmen der Einrichtung von Analytics Ihrer App das Firebase SDK für Google Analytics hinzufügen.

    Java

    implementation 'com.google.firebase:firebase-config:19.2.0'
    implementation 'com.google.firebase:firebase-analytics:17.5.0'
    

    Kotlin + KTX

    implementation 'com.google.firebase:firebase-config-ktx:19.2.0'
    implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
    

Rufen Sie das Singleton-Objekt Remote Config ab

Rufen Sie eine Remote Config-Objektinstanz ab und legen Sie das Mindestabrufintervall fest, um häufige Aktualisierungen zu ermöglichen:

Java

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

Kotlin + KTX

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

Das Singleton-Objekt wird verwendet, um In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte aus dem Backend abzurufen und zu steuern, wann abgerufene Werte Ihrer App zur Verfügung gestellt werden.

Während der Entwicklung wird empfohlen, ein relativ niedriges Mindestabrufintervall festzulegen. Weitere Informationen finden Sie unter Drosselung .

Legen Sie die In-App-Standardparameterwerte fest

Sie können In-App-Standardparameterwerte im Remote Config-Objekt festlegen, damit sich Ihre App wie beabsichtigt verhält, bevor sie eine Verbindung zum Remote Config-Backend herstellt, und damit Standardwerte verfügbar sind, wenn im Backend keine festgelegt sind.

  1. Definieren Sie eine Reihe von Parameternamen und Standardparameterwerten mithilfe eines Map- Objekts oder einer XML-Ressourcendatei, die im Ordner res/xml Ihrer App gespeichert ist. Die Remote Config-Schnellstart-Beispielanwendung verwendet eine XML-Datei , um Standardparameternamen und -werte zu definieren.
  2. Fügen Sie diese Werte mit setDefaultsAsync (int) wie gezeigt zum Remote Config-Objekt hinzu :

Java

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

Kotlin + KTX

remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)

Holen Sie sich Parameterwerte zur Verwendung in Ihrer App

Jetzt können Sie Parameterwerte vom Remote Config-Objekt abrufen. Wenn Sie im Backend Werte festlegen, diese abrufen und dann aktivieren, stehen diese Werte Ihrer App zur Verfügung. Andernfalls erhalten Sie die In-App-Parameterwerte, die mit setDefaultsAsync (int) konfiguriert wurden. Um diese Werte abzurufen, rufen Sie die unten aufgeführte Methode auf, die dem von Ihrer App erwarteten Datentyp zugeordnet ist, und geben Sie den Parameterschlüssel als Argument an:

Stellen Sie die Parameterwerte im Backend der Remote-Konfiguration ein

Mithilfe der Firebase-Konsole oder der Remote Config-Backend-APIs können Sie neue serverseitige Standardwerte erstellen, die die In-App-Werte gemäß Ihrer gewünschten bedingten Logik oder Benutzerausrichtung überschreiben. Dieser Abschnitt führt Sie durch die Schritte der Firebase-Konsole, um diese Werte zu erstellen.

  1. Öffnen Sie in der Firebase-Konsole Ihr Projekt.
  2. Wählen Sie Remote Config aus dem Menü, um das Remote Config-Dashboard anzuzeigen.
  3. Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in Ihrer App definiert haben. Für jeden Parameter können Sie einen Standardwert festlegen (der schließlich den entsprechenden In-App-Standardwert überschreibt), und Sie können auch bedingte Werte festlegen. Weitere Informationen finden Sie unter Parameter und Bedingungen für die Remote-Konfiguration .

Werte abrufen und aktivieren

  1. Rufen Sie die Methode fetch () auf, um Parameterwerte aus dem Remote Config-Backend abzurufen . Alle Werte, die Sie im Backend festlegen, werden abgerufen und im Remote Config-Objekt gespeichert.
  2. Rufen Sie die Methode activ () auf, um abgerufene Parameterwerte für Ihre App verfügbar zu machen.

    In Fällen, in denen Sie Werte in einem Aufruf abrufen und aktivieren möchten, können Sie eine fetchAndActivate() , um Werte aus dem Remote Config-Backend abzurufen und der App zur Verfügung zu stellen:

    Java

    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);
                        Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
                                Toast.LENGTH_SHORT).show();
    
                    } else {
                        Toast.makeText(MainActivity.this, "Fetch failed",
                                Toast.LENGTH_SHORT).show();
                    }
                    displayWelcomeMessage();
                }
            });

    Kotlin + KTX

    remoteConfig.fetchAndActivate()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    val updated = task.result
                    Log.d(TAG, "Config params updated: $updated")
                    Toast.makeText(this, "Fetch and activate succeeded",
                            Toast.LENGTH_SHORT).show()
                } else {
                    Toast.makeText(this, "Fetch failed",
                            Toast.LENGTH_SHORT).show()
                }
                displayWelcomeMessage()
            }

Da diese aktualisierten Parameterwerte das Verhalten und das Erscheinungsbild Ihrer App beeinflussen, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der eine reibungslose Benutzererfahrung gewährleistet, z. B. beim nächsten Öffnen der App durch den Benutzer. Weitere Informationen und Beispiele finden Sie unter Ladestrategien für die Remote-Konfiguration .

Drosselung

Wenn eine App in kurzer Zeit zu oft abruft, werden Abrufaufrufe gedrosselt und das SDK gibt FirebaseRemoteConfigFetchThrottledException . Vor der SDK-Version 17.0.0 betrug das Limit 5 Abrufanforderungen in einem 60-Minuten-Fenster (neuere Versionen haben mehr zulässige Limits).

Während der App-Entwicklung möchten Sie möglicherweise sehr häufig (mehrmals pro Stunde) Konfigurationen abrufen und aktivieren, damit Sie beim Entwickeln und Testen Ihrer App schnell iterieren können. Um eine schnelle Iteration in einem Projekt mit bis zu 10 Entwicklern zu ermöglichen, können Sie vorübergehend ein FirebaseRemoteConfigSettings Objekt mit einem niedrigen Mindestabrufintervall ( setMinimumFetchIntervalInSeconds ) in Ihrer App setMinimumFetchIntervalInSeconds .

Das standardmäßige Mindestabrufintervall für Remote Config beträgt 12 Stunden. Dies bedeutet, dass Konfigurationen in einem 12-Stunden-Fenster nicht mehr als einmal vom Backend abgerufen werden, unabhängig davon, wie viele Abrufaufrufe tatsächlich getätigt werden. Insbesondere wird das minimale Abrufintervall in der folgenden Reihenfolge bestimmt:

  1. Der Parameter in fetch(long)
  2. Der Parameter in FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long)
  3. Der Standardwert von 12 Stunden

Verwenden Sie FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) um das minimale Abrufintervall auf einen benutzerdefinierten Wert FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) .

Nächste Schritte

Wenn Sie dies noch nicht getan haben, sehen Sie sich die Anwendungsfälle für die Remote-Konfiguration an und sehen Sie sich einige der wichtigsten Konzepte und Dokumentationen zu erweiterten Strategien an, darunter: