Schritt 3: Firebase Remote Config einrichten, um bestimmte Anzeigen zu präsentieren
| Einführung: Hybride Monetarisierung mit AdMob, Google Analytics und Firebase optimieren |
| Schritt 1: Mit AdMob neue Anzeigenblöcke für Displayanzeigen erstellen |
| Schritt 2: Google Analytics einrichten |
|
Schritt 3: Firebase Remote Config einrichten, um bestimmte Anzeigen zu präsentieren |
Am Ende des letzten Schritts haben Sie etwas über Google Analytics-Zielgruppen erfahren. In diesem Schritt erstellen Sie einen booleschen Parameter Remote Config (mit dem Namen ad_control_switch), der die Zielgruppe „Käufer“ nutzt. Anschließend fügen Sie dem Code Ihrer App die Logik hinzu, die bestimmt, was Ihre App basierend auf dem Wert dieses Parameters anzeigen soll.
Remote Config-Parameter und ‑Bedingungen in der Firebase-Konsole einrichten
Öffnen Sie Ihr Firebase-Projekt in der Firebase Console.
Erweitern Sie im linken Bereich den Abschnitt Engage und wählen Sie Remote Config aus.
Klicken Sie auf Konfiguration erstellen (oder auf Parameter hinzufügen, wenn Sie Remote Config bereits verwendet haben).
Führen Sie im Bereich Parameter erstellen die folgenden Schritte aus:
Geben Sie im Feld Parametername
ad_control_switchein.Wählen Sie im Drop-down-Menü
Data typedie Option Boolesch aus.Klicken Sie auf Neu erstellen und wählen Sie dann Neue Bedingung erstellen aus.
Führen Sie im Dialogfeld Neue Bedingung definieren die folgenden Schritte aus:
Geben Sie im Feld Name
Purchasers Groupein (oder einen anderen leicht identifizierbaren Namen für die Bedingung).Wählen Sie im Drop-down-Menü Gilt, wenn… die Option Nutzerzielgruppe(n) aus.
Wählen Sie im Drop-down-Menü Zielgruppe(n) auswählen die Option Käufer aus.
Klicken Sie auf Bedingung speichern.
Führen Sie im Bereich Parameter erstellen die folgenden Schritte aus:
Wählen Sie für den Wert der Gruppe der Käufer die Option false aus.
Wählen Sie für Standardwert die Option true aus.
Klicken Sie auf Speichern und dann auf Änderungen veröffentlichen.
Mit dieser Konfiguration wird geprüft, ob der Nutzer zur Zielgruppe „Käufer“ gehört, d. h. ob er ein zahlender Nutzer ist:
Wenn der Nutzer zur Zielgruppe „Käufer“ gehört, gibt Remote Config den Wert von
falsefür den Parameterad_control_switchzurück.Wenn der Nutzer nicht zur Zielgruppe „Käufer“ gehört, wird mit Remote Config der Wert von
truefür den Parameterad_control_switchzurückgegeben.
In den folgenden Schritten implementieren Sie Remote Config in Ihrer App, um diese Parameterwerte zu verarbeiten.
Remote Config SDK in Ihre App einbinden
Bevor Sie Remote Config in Ihrem Anwendungscode verwenden, fügen Sie das Remote Config SDK in die Codebasis Ihrer App ein. Ihre App sollte bereits das Google Mobile Ads-SDK (AdMob) und das Google Analytics for Firebase SDK aus den vorherigen Schritten dieses Tutorials enthalten.
Swift
Fügen Sie Ihrer Podfile-Datei den Pod Remote Config hinzu und installieren Sie ihn:
pod 'Firebase/RemoteConfig'
Android
Fügen Sie der Datei build.gradle die Abhängigkeit der Bibliothek Remote Config hinzu:
implementation 'com.google.firebase:firebase-config:23.1.0'
Flutter
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Remote Config-Plug-in zu installieren:
flutter pub add firebase_remote_config
Einheit
Laden Sie das aktuelle Firebase Unity SDK herunter und installieren Sie es. Fügen Sie dann das Remote Config-Paket Ihrem Projekt hinzu:
FirebaseRemoteConfig.unitypackage
Instanz Remote Config konfigurieren
Damit Ihre App die Remote Config-Parameterwerte verwenden kann, konfigurieren Sie die Remote Config-Instanz so, dass sie neue Werte für die Client-App-Instanz abrufen kann.
In diesem Beispiel ist Remote Config so konfiguriert, dass einmal pro Stunde nach neuen Parameterwerten gesucht wird.
Swift
remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings
Kotlin
remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)
Java
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(3600)
.build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
Flutter
remoteConfig = FirebaseRemoteConfig.instance;
final configSettings = FirebaseRemoteConfigSettings(
minimumFetchInterval: Duration(hours: 1),
);
await remoteConfig.setConfigSettings(configSettings);
// Use the `onConfigUpdated` callback to listen for changes to the config settings.
remoteConfig.onConfigUpdated.listen((_) {
print('Config settings confirmed');
});
Einheit
var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
var configSettings = new ConfigSettings {
MinimumFetchInternalInMilliseconds =
(ulong)(new TimeSpan(1, 0, 0).TotalMilliseconds)
};
remoteConfig.SetConfigSettingsAsync(configSettings)
.ContinueWithOnMainThread(task => {
Debug.Log("Config settings confirmed");
}
Remote Config abrufen und aktivieren
Rufen Sie den Parameter Remote Config ab und aktivieren Sie ihn, damit die neuen Parameterwerte verwendet werden können.
Sie sollten diesen Aufruf so früh wie möglich in der Ladephase Ihrer App ausführen, da er asynchron ist und Sie den Remote Config-Wert vorab abrufen müssen, damit Ihre App weiß, ob eine Anzeige präsentiert werden soll.
Swift
remoteConfig.fetch() { (status, error) -> Void in
if status == .success {
print("Config fetched!")
self.remoteConfig.activate() { (changed, error) in
// ...
}
} else {
print("Config not fetched")
print("Error: \(error?.localizedDescription ?? "No error available.")")
}
self.loadAdUnit()
}
Kotlin
remoteConfig.fetchAndActivate()
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
val updated = task.result
Log.d(TAG, "Config params updated: $updated")
} else {
Log.d(TAG, "Config params failed to update")
}
loadAdUnit()
}
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);
} else {
Log.d(TAG, "Config params failed to update");
}
loadAdUnit();
}
});
Flutter
remoteConfig = FirebaseRemoteConfig.instance;
// Fetch and activate the latest Remote Config values.
final updated = await remoteConfig.fetchAndActivate();
// Check if the config params were updated successfully.
if (updated) {
print('Config params updated');
} else {
print('Config params failed to update');
}
// Load the ad unit.
_loadAdUnit();
Einheit
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
Ihre App ist jetzt so konfiguriert, dass sie den Parameter Remote Config verarbeiten kann, den Sie zuvor in diesem Schritt erstellt haben.
Remote Config-Parameterwert verwenden
Verwenden Sie den vorab abgerufenen Remote Config-Wert in der Funktion loadAdUnit(), um zu ermitteln, ob die App-Instanz eine der folgenden Aktionen ausführen soll:
Der Parameterwert
ad_control_switchwird zutrueaufgelöst: Die Interstitial-Anzeige wird eingeblendet, da der Nutzer ein Nutzer der kostenlosen Version ist.Der Parameterwert
ad_control_switchwird zufalseaufgelöst: Die Anzeige wird nicht ausgeliefert, da der Nutzer ein zahlender Nutzer ist.
Swift
private func loadAdUnit() {
let showAds = remoteConfig["ad_control_switch"].boolValue
if showAds {
// Load interstitial ad (implemented ad unit)
// per AdMob instructions (the first step of this tutorial).
} else {
// Don't show ads.
}
}
Kotlin
private fun loadAdUnit() {
var showAds = remoteConfig.getBoolean(ad_control_switch)
if (showAds) {
// Load interstitial ad (implemented ad unit)
// per AdMob instructions (the first step of this tutorial).
} else {
// Don't show ads.
}
}
Java
private void loadAdUnit() {
boolean showAds =
mFirebaseRemoteConfig.getBoolean(ad_control_switch);
if (showAds) {
// Load interstitial ad (implemented ad unit)
// per AdMob instructions (the first step of this tutorial).
} else {
// Don't show ads.
}
}
Flutter
void _loadAdUnit() {
bool showAds = remoteConfig.getBool(ad_control_switch);
if (showAds) {
// Load interstitial ad (implemented ad unit)
// per AdMob instructions (the first step of this tutorial).
} else {
// Don't show ads.
}
}
Einheit
void LoadAdUnit() {
bool showAds =
remoteConfig.GetValue("ad_control_switch").BooleanValue;
if (showAds) {
// Load interstitial ad (implemented ad unit)
// per AdMob instructions (the first step of this tutorial).
} else {
// Don't show ads.
}
}
App veröffentlichen
Da die Logik für die Anzeige der Werbung in Ihrem Code enthalten ist, müssen Sie eine neue Version Ihrer App mit dieser Logik veröffentlichen.
Wenn Sie die Schritte dieser Anleitung befolgt haben, sollte Ihre App Ihren Nutzern sofort personalisierte In-App-Anzeigen präsentieren. Du kannst deine Werbeeinnahmen sowohl in deinem AdMob-Konto als auch in den Google Analytics-Dashboards (entweder in der Firebase-Konsole oder in der Google Analytics-Benutzeroberfläche) im Blick behalten.
Geschafft! Sie haben das Tutorial zur Optimierung der hybriden Monetarisierung mit AdMob, Google Analytics und Firebase abgeschlossen.
Weitere Informationen
Weitere Lösungsleitfäden:
Videoserie ansehen: App-Umsatz mit Firebase und AdMob optimieren
Schritt 2: Google Analytics einrichten