Schritt 3: Remote Config-Parameterwerte im Code Ihrer App verarbeiten
Einführung: Testen Einführung neuer AdMob-Anzeigenformate mit Firebase |
Schritt 1: Verwenden Sie AdMob, um eine neue Anzeigenblockvariante zum Testen zu erstellen |
Schritt 2: Einrichtung A/B-Test in der Firebase-Konsole |
Schritt 3: Remote Config-Parameterwerte im Code Ihrer App verarbeiten |
Schritt 4: A/B-Test starten und die Testergebnisse in der Firebase Console ansehen |
Schritt 5: Entscheiden, 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 hinzu, die festlegt, was in Ihrer App basierend auf dem Wert dieses Parameters angezeigt werden soll: true
(neue Anzeige anzeigen) oder false
(neue Anzeige nicht anzeigen).
Erforderliche SDKs hinzufügen
Bevor Sie Remote Config in Ihrem Anwendungscode verwenden, fügen Sie die beiden Parameter Remote Config SDK und das Firebase SDK für Google Analytics, um Ihre Projekt-Build-Dateien.
Apple-Plattformen
Fügen Sie Ihrer Podfile-Datei die folgenden Pods hinzu und installieren Sie sie:
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Android
Fügen Sie der Datei build.gradle
die folgenden Bibliotheksabhängigkeiten hinzu:
implementation 'com.google.android.gms:play-services-ads:23.4.0'
implementation 'com.google.firebase:firebase-analytics:22.1.2'
implementation 'com.google.firebase:firebase-config:22.0.0'
Einheit
Laden Sie das Firebase Unity SDK herunter und installieren Sie es. Fügen Sie Ihrem Projekt dann die folgenden Unity-Pakete hinzu:
FirebaseAnalytics.unitypackage
FirebaseRemoteConfig.unitypackage
Remote Config-Instanz konfigurieren
Damit Sie die Remote Config-Parameterwerte verwenden können, konfigurieren Sie die Remote Config-Instanz so, dass die neuen Werte für die Client-App-Instanz abgerufen werden können.
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
Objective-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");
}
Remote Config abrufen und aktivieren
Rufen Sie die Remote Config-Parameter ab und aktivieren Sie sie, damit die Anwendung beginnen kann, die neuen Parameterwerte.
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 die 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()
}
Objective-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 kann jetzt den von Ihnen erstellten Parameter Remote Config verarbeiten. der A/B-Testeinrichtung weiter oben in dieser Anleitung.
Parameterwert Remote Config verwenden
Verwenden Sie den vorab abgerufenen Remote Config-Wert in der loadAdUnit()
-Funktion, um zu bestimmen, ob der neue Interstitial-Anzeigenblock mit Prämie in der App-Instanz eingeblendet werden soll (Parameterwert true
) oder nicht (Parameterwert false
).
Swift
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.
}
}
Objective-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.
}
}
Weitere Überprüfungen des Parameterwerts hinzufügen
Es gibt weitere Bereiche in Ihrem Anwendungscode, in denen Sie die Remote Config-Parameters ein, um festzulegen, welche Anzeige geladen. Sie können z. B. entscheiden, ob eine Anzeige neu geladen werden soll, nachdem der Nutzer die aktuelle Anzeige vollständig wiedergegeben hat.
Die Abruf- und Aktivierungsaufrufe sollten zuerst ausgeführt werden, um Parameterwertänderungen abzurufen – z. B. wenn Sie sich entschließen, einen Test zu beenden oder einen neuen zu erstellen.
Dort können Sie den Wert für den Parameter jederzeit mithilfe der Methode folgenden Aufrufen:
Swift
remoteConfig["showNewAdKey"].boolValue
Objective-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 Anwendungsinstanz zurück, je nachdem, ob sie in die Kontrollgruppe oder die neue Anzeigenvariantengruppe aufgenommen wurde, es sei denn, In der Firebase-Konsole wurden Änderungen vorgenommen, die abgerufen und aktiviert wurden in den vorherigen Gesprächen.
Firebase-Konsole ein. Schritt 2: Richten Sie einen A/B-Test in der Schritt 4: A/B-Test starten und Testergebnisse prüfen