Étape 3 : Gérer les valeurs des paramètres de configuration à distance dans le code de votre application
Introduction : tester l'adoption du nouveau format d'annonce AdMob à l'aide de Firebase |
Étape 1 : Utiliser AdMob pour créer une nouvelle variante de bloc d'annonces à tester |
Étape 2 : Configurez un test A/B dans la console Firebase |
Étape 3 : Gérer les valeurs des paramètres de configuration à distance dans le code de votre application |
Étape 4 : Lancez le test A/B et examinez les résultats du test dans la console Firebase |
Étape 5 : Décidez si vous souhaitez déployer le nouveau format d'annonce |
À la fin de la dernière étape, vous avez créé un paramètre Remote Config ( SHOW_NEW_AD_KEY
). Au cours de cette étape, vous allez ajouter la logique au code de votre application pour ce que votre application doit afficher en fonction de la valeur de ce paramètre : true
(afficher la nouvelle annonce) contre false
(ne pas afficher la nouvelle annonce).
Ajouter les SDK requis
Avant d'utiliser Remote Config dans votre code d'application, ajoutez à la fois le SDK Remote Config et le SDK Firebase pour Google Analytics aux fichiers de génération de votre projet.
Rapide
Ajoutez et installez les pods suivants dans votre podfile :
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Objectif c
Ajoutez et installez les pods suivants dans votre podfile :
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Java
Ajoutez les dépendances de bibliothèque suivantes à votre fichier build.gradle
:
implementation 'com.google.android.gms:play-services-ads:22.1.0'
implementation 'com.google.firebase:firebase-analytics:21.3.0'
implementation 'com.google.firebase:firebase-config:21.4.0'
Kotlin+KTX
Ajoutez les dépendances de bibliothèque suivantes à votre fichier build.gradle
:
implementation 'com.google.android.gms:play-services-ads:22.1.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0'
implementation 'com.google.firebase:firebase-config-ktx:21.4.0'
Unité
Téléchargez et installez le SDK Firebase Unity, puis ajoutez les packages Unity suivants à votre projet :
-
FirebaseAnalytics.unitypackage
-
FirebaseRemoteConfig.unitypackage
Configurer l'instance de configuration à distance
Pour utiliser les valeurs du paramètre Remote Config, configurez l'instance Remote Config afin qu'elle soit configurée pour récupérer de nouvelles valeurs pour l'instance de l'application cliente.
Dans cet exemple, Remote Config est configuré pour rechercher de nouvelles valeurs de paramètre une fois par heure.
Rapide
remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings
Objectif 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)
Unité
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");
}
Récupérer et activer la configuration à distance
Récupérez et activez les paramètres de configuration à distance afin qu'il puisse commencer à utiliser les nouvelles valeurs de paramètre.
Vous souhaiterez passer cet appel le plus tôt possible dans la phase de chargement de votre application, car cet appel est asynchrone et vous aurez besoin de la valeur de configuration à distance prérécupérée pour que votre application sache s'il faut afficher l'annonce.
Rapide
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()
}
Objectif 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()
}
Unité
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
Votre application est maintenant prête à gérer le paramètre Remote Config que vous avez créé lors de la configuration du test A/B précédemment dans ce didacticiel.
Utiliser la valeur du paramètre Remote Config
Utilisez la valeur Remote Config prérécupérée dans la fonction loadAdUnit()
pour déterminer si l'instance d'application doit afficher (valeur de paramètre true
) ou ne pas afficher (valeur de paramètre false
) le nouveau bloc d'annonces interstitielles avec récompense.
Rapide
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.
}
}
Objectif 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.
}
}
Unité
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.
}
}
Ajouter d'autres vérifications pour la valeur du paramètre
Il existe d'autres zones de votre code d'application où vous devrez vérifier la valeur de ce paramètre de configuration à distance pour dicter quelle expérience publicitaire sera chargée. Par exemple, vous pouvez décider de recharger une annonce une fois que l'utilisateur a fini de visionner l'annonce en cours.
Les appels de récupération et d'activation doivent être effectués en premier pour obtenir les modifications de valeur de paramètre, par exemple, si vous décidez de terminer ou de créer une nouvelle expérience.
À partir de là, vous pouvez toujours vérifier la valeur du paramètre à l'aide des appels suivants :
Rapide
remoteConfig["showNewAdKey"].boolValue
Objectif c
self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;
Java
mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY)
Kotlin+KTX
remoteConfig.getBoolean(SHOW_NEW_AD_KEY)
Unité
remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue
Ces appels renverront toujours la même valeur pour une instance d'application selon qu'elle a été placée dans le groupe de contrôle ou dans le nouveau groupe de variantes d'annonces, à moins que des modifications n'aient été apportées dans la console Firebase qui ont été récupérées et activées lors des appels précédents.
Étape 2 : Configurez un test A/B dans la console FirebaseÉtape 4 : Lancez le test A/B et examinez les résultats du test