Tutorial: Optimieren Sie die Hybridmonetarisierung mit AdMob, Google Analytics und Firebases

Schritt 3: Richten Sie Firebase Remote Config ein, um bestimmte Anzeigenerlebnisse anzuzeigen


Einführung: Optimieren Sie die Hybridmonetarisierung mit AdMob, Google Analytics und Firebase
Schritt 1: Erstellen Sie mit AdMob neue Anzeigenblöcke für die Anzeige
Schritt 2: Richten Sie Google Analytics ein

Schritt 3: Richten Sie Firebase Remote Config ein, um bestimmte Anzeigenerlebnisse anzuzeigen


Am Ende des letzten Schritts haben Sie etwas über die Zielgruppen von Google Analytics erfahren. In diesem Schritt erstellen Sie einen boolesch gesteuerten Remote Config-Parameter ( ad_control_switch genannt), der die Zielgruppe „Käufer“ nutzt. Anschließend fügen Sie dem Code Ihrer App die Logik für das hinzu, was Ihre App basierend auf dem Wert dieses Parameters anzeigen soll.

Richten Sie Remote-Konfigurationsparameter und -Bedingungen in der Firebase-Konsole ein

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

  2. Erweitern Sie im linken Bereich den Abschnitt „Engage“ und wählen Sie dann „Remote-Konfiguration“ aus.

  3. Klicken Sie auf Konfiguration erstellen (oder Parameter hinzufügen, wenn Sie Remote Config zuvor 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 Dropdown-Menü Data type Option Boolean 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 “ (oder einen anderen leicht identifizierbaren Namen für die Bedingung) ein.

    2. Wählen Sie im Dropdown-Menü „Gilt, wenn...“ die Option „ Benutzerzielgruppe(n)“ aus.

    3. Wählen Sie im Dropdown-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 die Gruppe „Wert der Käufer“ die Option „falsch“ aus.

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

  7. Klicken Sie auf Speichern und dann auf Änderungen veröffentlichen .

Diese Konfiguration prüft, ob der Benutzer zur Zielgruppe „Käufer“ gehört (d. h. ob es sich um einen zahlenden Benutzer handelt):

  • Wenn der Benutzer zur Zielgruppe „Käufer“ gehört, gibt Remote Config den Wert „ false für den Parameter ad_control_switch zurück.

  • Wenn der Benutzer nicht zur Zielgruppe „Käufer“ gehört, gibt Remote Config den Wert „ true für den Parameter ad_control_switch zurück.

In den folgenden Schritten implementieren Sie Remote Config in Ihrer App, um diese Parameterwerte zu verarbeiten.

Fügen Sie das Remote Config SDK zu Ihrer App hinzu

Bevor Sie Remote Config in Ihrem Anwendungscode verwenden, fügen Sie das Remote Config SDK zur Codebasis Ihrer App hinzu. Beachten Sie, dass Ihre App bereits über das Google Mobile Ads (AdMob) SDK und das Google Analytics for Firebase SDK aus den vorherigen Schritten dieser Anleitung verfügen sollte.

Schnell

Fügen Sie den Remote Config-Pod in Ihrer Poddatei hinzu und installieren Sie ihn:

pod 'Firebase/RemoteConfig'

Android

Fügen Sie die Abhängigkeit der Remote Config-Bibliothek zu Ihrer build.gradle Datei hinzu:

implementation 'com.google.firebase:firebase-config:21.6.3'

Flattern

Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Remote Config-Plugin zu installieren:

flutter pub add firebase_remote_config

Einheit

Laden Sie das neueste Firebase Unity SDK herunter, installieren Sie es und fügen Sie dann das Remote Config-Paket zu Ihrem Projekt hinzu:
FirebaseRemoteConfig.unitypackage

Konfigurieren Sie die Remote Config-Instanz

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 es stündlich nach neuen Parameterwerten sucht.

Schnell

remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings

Kotlin+KTX

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);

Flattern

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");
}

Rufen Sie Remote Config ab und aktivieren Sie es

Rufen Sie den Remote Config-Parameter ab und aktivieren Sie ihn, damit er mit der Verwendung der neuen Parameterwerte beginnen kann.

Sie möchten diesen Aufruf so früh wie möglich in der Ladephase Ihrer App durchführen, da dieser Aufruf asynchron ist und Sie den Remote-Config-Wert vorab abrufen müssen, damit Ihre App weiß, ob eine Anzeige geschaltet werden soll.

Schnell

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+KTX

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();
            }
        });

Flattern

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 für die Verarbeitung des Remote Config-Parameters konfiguriert, den Sie zuvor in diesem Schritt erstellt haben.

Verwenden Sie den Parameterwert „Remote Config“.

Verwenden Sie den vorab abgerufenen Remote Config-Wert in der Funktion loadAdUnit() , um zu bestimmen, ob die App-Instanz einen der folgenden Schritte ausführen soll:

  • Der Wert des Parameters ad_control_switch wird zu „ true aufgelöst: Zeigt die Interstitial-Anzeige an (da der Benutzer ein nicht zahlender Benutzer ist).

  • Der Wert des Parameters ad_control_switch wird zu false aufgelöst: Die Anzeige wird nicht angezeigt (da der Benutzer ein zahlender Benutzer ist).

Schnell

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+KTX

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.
    }
}

Flattern

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.
  }
}

Geben Sie Ihre App frei

Da die Logik, ob die Anzeige geschaltet wird oder nicht, in Ihrer Codebasis liegt, müssen Sie eine neue Version Ihrer App veröffentlichen, die diese Logik enthält.

Wenn Sie die Schritte dieses Tutorials befolgt haben, sollte Ihre App sofort damit beginnen, Ihren Nutzern ein individuelles In-App-Anzeigenerlebnis zu bieten. Sie können Ihre Werbeeinnahmen sowohl in Ihrem AdMob-Konto als auch in den Google Analytics-Dashboards (entweder in der Firebase Console oder der Google Analytics-Benutzeroberfläche) überwachen.


Und das ist es! Sie haben die Anleitung zur Optimierung der Hybridmonetarisierung mit AdMob, Google Analytics und Firebase abgeschlossen.




Schritt 2: Richten Sie Google Analytics ein