Anleitung: Hybride Monetarisierung mit AdMob, Google Analytics und Firebase optimieren

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

  1. Öffnen Sie Ihr Firebase-Projekt in der Firebase Console.

  2. Erweitern Sie im linken Bereich den Abschnitt Engage und wählen Sie Remote Config aus.

  3. Klicken Sie auf Konfiguration erstellen (oder auf Parameter hinzufügen, wenn Sie Remote Config bereits verwendet haben).

  4. Führen Sie im Bereich Parameter erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld Parametername ad_control_switch ein.

    2. Wählen Sie im Drop-down-Menü Data type die Option Boolesch aus.

    3. Klicken Sie auf Neu erstellen und wählen Sie dann Neue Bedingung erstellen aus.

  5. Führen Sie im Dialogfeld Neue Bedingung definieren die folgenden Schritte aus:

    1. Geben Sie im Feld Name Purchasers Group ein (oder einen anderen leicht identifizierbaren Namen für die Bedingung).

    2. Wählen Sie im Drop-down-Menü Gilt, wenn… die Option Nutzerzielgruppe(n) aus.

    3. Wählen Sie im Drop-down-Menü Zielgruppe(n) auswählen die Option Käufer aus.

    4. Klicken Sie auf Bedingung speichern.

  6. Führen Sie im Bereich Parameter erstellen die folgenden Schritte aus:

    1. Wählen Sie für den Wert der Gruppe der Käufer die Option false aus.

    2. Wählen Sie für Standardwert die Option true aus.

  7. 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 false für den Parameter ad_control_switch zurück.

  • Wenn der Nutzer nicht zur Zielgruppe „Käufer“ gehört, wird mit Remote Config der Wert von true für den Parameter ad_control_switch zurü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_switch wird zu true aufgelöst: Die Interstitial-Anzeige wird eingeblendet, da der Nutzer ein Nutzer der kostenlosen Version ist.

  • Der Parameterwert ad_control_switch wird zu false aufgelö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.




Schritt 2: Google Analytics einrichten