Schritt 3: Behandeln Sie Remote Config-Parameterwerte im Code Ihrer App
Einführung: Testen Sie die Einführung des neuen AdMob-Anzeigenformats mit Firebase |
Schritt 1: Verwenden Sie AdMob, um eine neue Anzeigenblockvariante zum Testen zu erstellen |
Schritt 2: Richten Sie einen A/B-Test in der Firebase-Konsole ein |
Schritt 3: Behandeln Sie Remote Config-Parameterwerte im Code Ihrer App |
Schritt 4: Starten Sie den A/B-Test und überprüfen Sie die Testergebnisse in der Firebase-Konsole |
Schritt 5: Entscheiden Sie, ob Sie das neue Anzeigenformat einführen möchten |
Am Ende des letzten Schritts haben Sie einen Remote Config-Parameter ( SHOW_NEW_AD_KEY
) erstellt. In diesem Schritt fügen Sie dem Code Ihrer App die Logik für das hinzu, was Ihre App basierend auf dem Wert dieses Parameters anzeigen soll – true
(zeigt die neue Anzeige) oder false
(zeigt keine neue Anzeige).
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 Ihrer build.gradle
-Datei die folgenden Bibliotheksabhängigkeiten hinzu:
implementation 'com.google.android.gms:play-services-ads:22.4.0'
implementation 'com.google.firebase:firebase-analytics:21.3.0'
implementation 'com.google.firebase:firebase-config:21.4.1'
Kotlin+KTX
Fügen Sie Ihrer build.gradle
-Datei die folgenden Bibliotheksabhängigkeiten hinzu:
implementation 'com.google.android.gms:play-services-ads:22.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0'
implementation 'com.google.firebase:firebase-config-ktx:21.4.1'
Einheit
Laden Sie das Firebase Unity SDK herunter und installieren Sie es, und fügen Sie Ihrem Projekt dann die folgenden Unity-Pakete hinzu:
-
FirebaseAnalytics.unitypackage
-
FirebaseRemoteConfig.unitypackage
Remote Config-Instanz konfigurieren
Um die Remote Config-Parameterwerte 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 es einmal pro Stunde nach neuen Parameterwerten sucht.
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");
}
Holen und aktivieren Sie Remote Config
Rufen Sie die Remote Config-Parameter ab und aktivieren Sie sie, damit sie mit der Verwendung der neuen Parameterwerte beginnen können.
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 den vorab abgerufenen Remote Config-Wert in der Funktion loadAdUnit()
, um zu bestimmen, ob die App-Instanz den neuen Interstitial-Anzeigenblock mit Prämie anzeigen soll (Parameterwert true
) oder nicht anzeigen soll (Parameterwert false
).
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 Anzeige geladen wird. Beispielsweise können Sie entscheiden, ob eine Anzeige neu geladen werden soll, nachdem der Nutzer die aktuelle Anzeige beendet hat.
Die Abruf- und Aktivierungsaufrufe sollten zuerst ausgeführt werden, um Parameterwertänderungen abzurufen – beispielsweise, wenn Sie sich entscheiden, ein Experiment zu beenden oder ein neues zu erstellen.
Von dort aus können Sie den Wert für den Parameter 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 den gleichen Wert für eine App-Instanz zurück, je nachdem, ob sie in der Kontrollgruppe oder der neuen Anzeigenvariantengruppe platziert wurde, es sei denn, es wurden Änderungen in der Firebase-Konsole vorgenommen, die in den vorherigen Aufrufen abgerufen und aktiviert wurden.
Schritt 2 : Richten Sie einen A/B-Test in der Firebase-Konsole ein.Schritt 4 : Starten Sie den A/B-Test und überprüfen Sie die Testergebnisse