Étape 3 : Configurez Firebase Remote Config pour afficher des expériences publicitaires spécifiques
Introduction : Optimiser la monétisation hybride à l'aide d'AdMob, Google Analytics et Firebase |
Étape 1 : Utiliser AdMob pour créer des blocs d'annonces à afficher |
Étape 2 : configurer Google Analytics |
Étape 3 : Configurez Firebase Remote Config pour afficher des expériences publicitaires spécifiques |
À la fin de la dernière étape, vous avez découvert les audiences Google Analytics. Au cours de cette étape, vous allez créer un paramètre contrôlé par booléen Remote Config (appelé ad_control_switch
) qui exploite l'audience « Acheteurs ». Vous ajouterez ensuite la logique au code de votre application pour ce que votre application doit afficher en fonction de la valeur de ce paramètre.
Configurer les paramètres et les conditions de Remote Config dans la console Firebase
Dans la console Firebase , ouvrez votre projet Firebase.
Dans le volet de gauche, développez la section Engage , puis sélectionnez Remote Config .
Cliquez sur Créer une configuration (ou Ajouter un paramètre si vous avez déjà utilisé Remote Config).
Dans le panneau Créer un paramètre , procédez comme suit :
Dans le champ Nom du paramètre , saisissez
ad_control_switch
.Dans le menu déroulant
Data type
, sélectionnez Booléen .Cliquez sur Créer nouveau , puis sélectionnez Créer une nouvelle condition .
Dans la boîte de dialogue Définir une nouvelle condition , procédez comme suit :
Dans le champ Nom , saisissez
Purchasers Group
(ou tout autre nom facilement identifiable pour la condition).Dans le menu déroulant S'applique si... , sélectionnez Public(s) d'utilisateurs .
Dans le menu déroulant Sélectionner des audiences , sélectionnez Acheteurs .
Cliquez sur Enregistrer la condition .
De retour dans le panneau Créer un paramètre , procédez comme suit :
Pour le groupe Valeur du groupe d'acheteurs , sélectionnez false .
Pour la valeur par défaut , sélectionnez true .
Cliquez sur Enregistrer , puis sur Publier les modifications .
Cette configuration vérifiera si l'utilisateur fait partie de l'audience "Acheteurs" (c'est-à-dire s'il s'agit d'un utilisateur payant) :
Si l'utilisateur fait partie de l'audience « Acheteurs », alors Remote Config renverra la valeur
false
pour le paramètread_control_switch
.Si l'utilisateur ne fait pas partie de l'audience « Acheteurs », Remote Config renverra la valeur
true
pour le paramètread_control_switch
.
Dans les étapes suivantes, vous implémenterez Remote Config dans votre application pour gérer ces valeurs de paramètres.
Ajoutez le SDK Remote Config à votre application
Avant d'utiliser Remote Config dans le code de votre application, ajoutez le SDK Remote Config à la base de code de votre application. Notez que votre application doit déjà disposer du SDK Google Mobile Ads (AdMob) et du SDK Google Analytics pour Firebase issus des étapes précédentes de ce didacticiel.
Rapide
Ajoutez et installez le pod Remote Config dans votre fichier pod :
pod 'Firebase/RemoteConfig'
Android
Ajoutez la dépendance de la bibliothèque Remote Config à votre fichier build.gradle
:
implementation 'com.google.firebase:firebase-config:21.6.3'
Battement
Depuis la racine de votre projet Flutter, exécutez la commande suivante pour installer le plugin Remote Config :
flutter pub add firebase_remote_config
Unité
Téléchargez et installez le dernier SDK Firebase Unity , puis ajoutez le package Remote Config à votre projet :
FirebaseRemoteConfig.unitypackage
Configurer l'instance de configuration à distance
Pour que votre application puisse utiliser les valeurs des paramètres Remote Config, configurez l'instance Remote Config afin qu'elle puisse récupérer de nouvelles valeurs pour l'instance de l'application client.
Dans cet exemple, Remote Config est configuré pour vérifier les nouvelles valeurs de paramètres une fois toutes les heures.
Rapide
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);
Battement
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');
});
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 Remote Config
Récupérez et activez le paramètre Remote Config afin qu'il puisse commencer à utiliser les nouvelles valeurs de paramètre.
Vous souhaitez effectuer cet appel le plus tôt possible lors de la phase de chargement de votre application, car cet appel est asynchrone et vous avez besoin que la valeur de Remote Config soit pré-extraite pour que votre application sache si elle doit diffuser une 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()
}
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();
}
});
Battement
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();
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 configurée pour gérer le paramètre Remote Config que vous avez créé plus tôt dans cette étape.
Utiliser la valeur du paramètre Remote Config
Utilisez la valeur Remote Config pré-extraite dans la fonction loadAdUnit()
pour déterminer si l'instance d'application doit effectuer l'une des opérations suivantes :
La valeur du paramètre
ad_control_switch
devienttrue
: affiche l'annonce interstitielle (car l'utilisateur est un utilisateur non payant).La valeur du paramètre
ad_control_switch
est définie surfalse
: ne diffusez pas l'annonce (car l'utilisateur est un utilisateur payant).
Rapide
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.
}
}
Battement
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.
}
}
Unité
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.
}
}
Libérez votre application
Étant donné que la logique de diffusion ou non de l'annonce se trouve dans votre base de code, vous devez publier une nouvelle version de votre application contenant cette logique.
Si vous avez suivi les étapes de ce didacticiel, votre application devrait immédiatement commencer à proposer à vos utilisateurs une expérience personnalisée d'annonces intégrées à l'application. Vous pouvez surveiller vos revenus publicitaires à la fois dans votre compte AdMob et dans les tableaux de bord Google Analytics (soit dans la console Firebase, soit dans l'interface utilisateur de Google Analytics).
Et c'est tout! Vous avez terminé le didacticiel sur l'optimisation de la monétisation hybride à l'aide d'AdMob, de Google Analytics et de Firebase.
Ressources associées
Consultez d'autres guides de solutions :
Regarder une série de vidéos : Optimisez les revenus de vos applications avec Firebase et AdMob
Étape 2 : Configurer Google Analytics