Étape 3: Configurez Firebase Remote Config pour diffuser des expériences publicitaires spécifiques
Présentation : Optimiser la monétisation hybride à l'aide de AdMob, Google Analytics et Firebase |
Étape 1 : Utilisez AdMob pour créer des blocs d'annonces à afficher |
Étape 2 : Configurez 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. À cette étape, vous allez créer un paramètre Remote Config contrôlé par une valeur booléenne (appelé ad_control_switch
) qui exploite l'audience "Acheteurs". Vous ajouterez ensuite la logique au code de votre application pour ce qu'elle doit afficher en fonction de la valeur de ce paramètre.
Configurer les paramètres et les conditions Remote Config dans la console Firebase
Dans la console Firebase, ouvrez votre projet Firebase.
Dans le volet de gauche, développez la section Engagement, puis sélectionnez Remote Config (Configuration à distance).
Cliquez sur Créer une configuration (ou sur 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, puis sélectionnez Créer une condition.
Dans la boîte de dialogue Définir une 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 Audience(s) utilisateur.
Dans le menu déroulant Sélectionner une ou plusieurs audiences, sélectionnez Acheteurs.
Cliquez sur Save condition (Enregistrer la condition).
De retour dans le panneau Créer un paramètre, procédez comme suit:
Pour la Valeur de Groupe d'acheteurs, sélectionnez false.
Pour Valeur par défaut, sélectionnez true.
Cliquez sur Enregistrer, puis sur Publier les modifications.
Cette configuration vérifie si l'utilisateur appartient à l'audience "Acheteurs" (c'est-à-dire s'il s'agit d'un utilisateur payant):
Si l'utilisateur appartient à l'audience "Acheteurs", Remote Config renvoie la valeur
false
pour le paramètread_control_switch
.Si l'utilisateur n'appartient pas à l'audience "Acheteurs", Remote Config renvoie la valeur
true
pour le paramètread_control_switch
.
Dans les étapes suivantes, vous allez implémenter Remote Config dans votre application pour gérer ces valeurs de paramètre.
Ajoutez le SDK Remote Config à votre application.
Avant d'utiliser Remote Config dans le code de votre application, ajoutez le SDK Remote Config au codebase de votre application. Notez que votre application doit déjà inclure le SDK Google Mobile Ads (AdMob) et le SDK Google Analytics pour Firebase des étapes précédentes de ce tutoriel.
Swift
Ajoutez et installez le pod Remote Config dans votre fichier Podfile:
pod 'Firebase/RemoteConfig'
Android
Ajoutez la dépendance de la bibliothèque Remote Config à votre fichier build.gradle
:
implementation 'com.google.firebase:firebase-config:22.0.1'
Flutter
À partir de la racine de votre projet Flutter, exécutez la commande suivante pour installer le plug-in Remote Config:
flutter pub add firebase_remote_config
Unity
Téléchargez et installez le dernier SDK Unity Firebase, puis ajoutez le package Remote Config à votre projet:
FirebaseRemoteConfig.unitypackage
Configurer l'instance Remote Config
Pour que votre application puisse utiliser les valeurs de paramètre Remote Config, configurez l'instance Remote Config afin qu'elle puisse extraire de nouvelles valeurs pour l'instance de l'application cliente.
Dans cet exemple, Remote Config est configuré pour vérifier les nouvelles valeurs de paramètre toutes les heures.
Swift
remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings
Kotlin
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);
Flutter
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');
});
Unity
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");
}
Extraire et activer Remote Config
Extrayez et activez le paramètre Remote Config pour qu'il puisse commencer à utiliser les nouvelles valeurs de paramètre.
Vous devez effectuer cet appel le plus tôt possible dans la phase de chargement de votre application. Comme cet appel est asynchrone, vous aurez besoin d'extraire la valeur Remote Config à l'avance pour que votre application sache si une annonce doit être diffusée.
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()
}
Kotlin
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();
}
});
Flutter
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();
Unity
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éé précédemment 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 de l'application doit effectuer l'une des opérations suivantes:
La valeur du paramètre
ad_control_switch
est résolue entrue
: affichez l'annonce interstitielle (car l'utilisateur n'est pas un utilisateur payant).La valeur du paramètre
ad_control_switch
estfalse
: n'affichez pas l'annonce (car l'utilisateur est un utilisateur payant).
Swift
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
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.
}
}
Flutter
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.
}
}
Unity
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.
}
}
Publier votre application
Étant donné que la logique de diffusion ou non de l'annonce se trouve dans votre codebase, vous devez publier une nouvelle version de votre application contenant cette logique.
Si vous avez suivi les étapes de ce tutoriel, votre application devrait immédiatement commencer à diffuser une expérience publicitaire personnalisée dans l'application auprès de vos utilisateurs. Vous pouvez surveiller vos revenus publicitaires dans votre compte AdMob et dans les tableaux de bord Google Analytics (dans la console Firebase ou dans l'interface utilisateur de Google Analytics).
C'est tout ! Vous avez terminé le tutoriel sur l'optimisation de la monétisation hybride à l'aide de AdMob, Google Analytics et Firebase.
Ressources associées
Consultez d'autres guides de solutions:
Regarder une série de vidéos: Optimiser les revenus de votre application avec Firebase etAdMob
Étape 2: Configurer Google Analytics