Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Anleitung: Testen Sie die Akzeptanz neuer AdMob-Anzeigenformate

Schritt 3: Parameterwerte von Remote Config im Code Ihrer App verarbeiten


Einleitung: Testen neues AdMob - Anzeigenformat Annahme Firebase mit
Schritt 1: Verwenden Sie AdMob eine neue Anzeigeneinheit Variante zum Testen erstellen
Schritt 2: Legen Sie einen A / B - Test in der Firebase Konsole nach oben

Schritt 3: Parameterwerte von Remote Config im Code Ihrer App verarbeiten

Schritt 4: Starten Sie den A / B - Test und die Testergebnisse in der Firebase Konsole überprüfen
Schritt 5: Entscheiden Sie, ob das neue Anzeigenformat ausrollen


Am Ende des letzten Schrittes haben Sie einen Remote - Config - Parameter ( SHOW_NEW_AD_KEY ). In diesem Schritt werden Sie die Logik Ihres App - Code hinzufügen , was Ihre Anwendung basierend auf dem Wert des Parameters angezeigt werden soll - true (die neue Anzeige geschaltet) im Vergleich zu false (Sie die neue Anzeige nicht geschaltet ).

Fügen Sie die erforderlichen SDKs hinzu

Bevor Sie Remote Config in Ihrem Anwendungscode verwenden, fügen Sie Ihren Projekt-Build-Dateien sowohl das Remote Config SDK als auch das Firebase SDK für Google Analytics hinzu.

Schnell

Fügen Sie die folgenden Pods in Ihrer Poddatei hinzu und installieren Sie sie:

pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'

Ziel c

Fügen Sie die folgenden Pods in Ihrer Poddatei hinzu und installieren Sie sie:

pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'

Java

Fügen Sie die folgenden Bibliotheksabhängigkeiten zu Ihrer build.gradle - Datei:

implementation 'com.google.android.gms:play-services-ads:20.4.0'
implementation 'com.google.firebase:firebase-analytics:19.0.2'
implementation 'com.google.firebase:firebase-config:21.0.1'

Kotlin+KTX

Fügen Sie die folgenden Bibliotheksabhängigkeiten zu Ihrer build.gradle - Datei:

implementation 'com.google.android.gms:play-services-ads:20.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:19.0.2'
implementation 'com.google.firebase:firebase-config-ktx:21.0.1'

Einheit

Laden Sie das Firebase Unity SDK herunter und installieren Sie es und fügen Sie dann die folgenden Unity-Pakete zu Ihrem Projekt hinzu:

  • FirebaseAnalytics.unitypackage
  • FirebaseRemoteConfig.unitypackage

Remote Config-Instanz konfigurieren

Um die Parameterwerte von Remote Config zu verwenden, konfigurieren Sie die Remote Config-Instanz so, dass sie zum Abrufen neuer Werte für die Client-App-Instanz eingerichtet ist.

In diesem Beispiel ist Remote Config so konfiguriert, dass stündlich nach neuen Parameterwerten gesucht wird.

Schnell

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

Ziel c

self.remoteConfig = [FIRRemoteConfig remoteConfig];
FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
remoteConfigSettings.minimumFetchInterval = 3600;
self.remoteConfig.configSettings = remoteConfigSettings;

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)

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

Abrufen und Aktivieren von Remote Config

Rufen Sie die Remote Config-Parameter ab und aktivieren Sie sie, damit sie die neuen Parameterwerte verwenden kann.

Sie sollten diesen Aufruf so früh wie möglich in der Ladephase Ihrer App tätigen, da dieser Aufruf asynchron ist und Sie den Remote Config-Wert vorab abrufen müssen, damit Ihre App weiß, ob die 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()
}

Ziel c

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self 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();
            }
        });

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

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 bereit, den Remote Config-Parameter zu verarbeiten, den Sie während des zuvor in diesem Tutorial eingerichteten A/B-Tests erstellt haben.

Verwenden Sie den Parameterwert Remote Config

Verwenden Sie die Pre hergeholt Fern Config - Wert im loadAdUnit() Funktion , um zu bestimmen , ob die App - Instanz (Parameterwert anzeigen soll true ) oder nicht zeigen (Parameterwert false ) , um den neuen belohnt Interstitial - Anzeigenblock.

Schnell

private func loadAdUnit() {
  let showNewAdFormat = remoteConfig["users"].boolValue
  if showNewAdFormat {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // as per AdMob instructions (the first step of this tutorial).
  } else {
    // Show the existing ad unit.
  }
}

Ziel c

- (void)loadAdUnit {
    BOOL showAds = self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;
    if (showAds) {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Show the existing ad unit.
    }
}

Java

private void loadAdUnit() {
    boolean showNewAdFormat =
      mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY);

    if (showNewAdFormat) {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Show the existing ad unit.
    }
}

Kotlin+KTX

private fun loadAdUnit() {
  var showNewAdFormat = remoteConfig.getBoolean(SHOW_NEW_AD_KEY)

  if (showNewAdFormat) {
      // Load Rewarded Interstitial Ad.
      // This should load your new implemented ad unit
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Show the existing ad unit.
    }
}

Einheit

void LoadAdUnit() {
  bool showNewAdFormat =
      remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue;

  if (showNewAdFormat) {
    // Load Rewarded Interstitial Ad (new implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Show the existing ad unit.
  }
}

Fügen Sie weitere Prüfungen für den Parameterwert hinzu

Es gibt andere Bereiche in Ihrem Anwendungscode, in denen Sie den Wert dieses Remote Config-Parameters überprüfen müssen, um festzulegen, welche Anzeigenoberfläche geladen wird. Sie können beispielsweise entscheiden, ob eine Anzeige neu geladen werden soll, nachdem der Nutzer die aktuelle Anzeige beendet hat.

Die Aufrufe zum Abrufen und Aktivieren sollten zuerst ausgeführt werden, um Änderungen an Parameterwerten abzurufen – beispielsweise, wenn Sie sich entscheiden, ein Experiment zu beenden oder ein neues Experiment zu erstellen.

Von dort aus können Sie den Wert des Parameters jederzeit mit den folgenden Aufrufen überprüfen:

Schnell

remoteConfig["showNewAdKey"].boolValue

Ziel c

self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;

Java

mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY)

Kotlin+KTX

remoteConfig.getBoolean(SHOW_NEW_AD_KEY)

Einheit

remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue

Diese Aufrufe geben immer denselben Wert für eine App-Instanz zurück, je nachdem, ob sie in die Kontrollgruppe oder die neue Anzeigenvariantengruppe eingefügt wurde, es sei denn, es wurden Änderungen in der Firebase-Konsole vorgenommen, die in den vorherigen Aufrufen abgerufen und aktiviert wurden.




Schritt 2: Einrichten eines A / B - Test in der Firebase Konsole Schritt 4: Starten Sie das A / B - Test & Bewertung Testergebnisse