Paso 3: Configura Firebase Remote Config para mostrar experiencias publicitarias específicas
Introducción: Optimice la monetización híbrida con AdMob, Google Analytics y Firebase |
Paso 1: utilice AdMob para crear nuevos bloques de anuncios para mostrar |
Paso 2: configurar Google Analytics |
Paso 3: Configura Firebase Remote Config para mostrar experiencias publicitarias específicas |
Al final del último paso, aprendió sobre las audiencias de Google Analytics. En este paso, creará un parámetro controlado booleano de Remote Config (llamado ad_control_switch
) que aprovecha la audiencia de "Compradores". Luego agregará la lógica al código de su aplicación para lo que su aplicación debería mostrar según el valor de ese parámetro.
Configurar los parámetros y condiciones de Remote Config en Firebase console
En Firebase console , abre tu proyecto de Firebase.
En el panel del lado izquierdo, expanda la sección Engage y luego seleccione Remote Config .
Haga clic en Crear configuración (o Agregar parámetro si ha usado Remote Config antes).
En el panel Crear parámetro , complete los siguientes pasos:
En el campo Nombre del parámetro , ingrese
ad_control_switch
.En el menú desplegable
Data type
, seleccione Booleano .Haga clic en Crear nueva y luego seleccione Crear nueva condición .
En el cuadro de diálogo Definir una nueva condición , complete los siguientes pasos:
En el campo Nombre , ingrese
Purchasers Group
(o cualquier otro nombre fácilmente identificable para la condición).En el menú desplegable Se aplica si... , seleccione Público(s) de usuarios .
En el menú desplegable Seleccionar audiencias , seleccione Compradores .
Haga clic en Guardar condición .
De vuelta en el panel Crear parámetro , complete los siguientes pasos:
Para el grupo Valor de compradores , seleccione falso .
Para el valor predeterminado , seleccione verdadero .
Haga clic en Guardar y luego en Publicar cambios .
Esta configuración verificará si el usuario está en la audiencia de "Compradores" (es decir, es un usuario de pago):
Si el usuario está en la audiencia "Compradores", Remote Config devolverá el valor
false
para el parámetroad_control_switch
.Si el usuario no está en la audiencia "Compradores", Remote Config devolverá el valor
true
para el parámetroad_control_switch
.
En los siguientes pasos, implementará Remote Config en su aplicación para manejar estos valores de parámetros.
Agregue el SDK de Remote Config a su aplicación
Antes de usar Remote Config en el código de su aplicación, agregue el SDK de Remote Config al código base de su aplicación. Tenga en cuenta que su aplicación ya debería tener el SDK de Google Mobile Ads (AdMob) y el SDK de Google Analytics para Firebase de los pasos anteriores de este tutorial.
Rápido
Agregue e instale el pod de Remote Config en su podfile:
pod 'Firebase/RemoteConfig'
Androide
Agregue la dependencia de la biblioteca de Remote Config a su archivo build.gradle
:
implementation 'com.google.firebase:firebase-config:21.6.3'
Aleteo
Desde la raíz de su proyecto Flutter, ejecute el siguiente comando para instalar el complemento Remote Config:
flutter pub add firebase_remote_config
Unidad
Descargue e instale el último SDK de Firebase Unity y luego agregue el paquete Remote Config a su proyecto:
FirebaseRemoteConfig.unitypackage
Configurar la instancia de Remote Config
Para que su aplicación pueda usar los valores de los parámetros de Remote Config, configure la instancia de Remote Config para que pueda recuperar nuevos valores para la instancia de la aplicación cliente.
En este ejemplo, Remote Config está configurado para comprobar si hay nuevos valores de parámetros una vez cada hora.
Rápido
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);
Aleteo
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');
});
Unidad
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");
}
Obtener y activar Remote Config
Obtenga y active el parámetro Remote Config para que pueda comenzar a usar los nuevos valores de los parámetros.
Desea realizar esta llamada lo antes posible en la fase de carga de su aplicación porque esta llamada es asincrónica y necesita obtener previamente el valor de Remote Config para que su aplicación sepa si debe mostrar un anuncio.
Rápido
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();
}
});
Aleteo
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();
Unidad
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
Su aplicación ahora está configurada para manejar el parámetro Remote Config que creó anteriormente en este paso.
Utilice el valor del parámetro Remote Config
Utilice el valor de Remote Config obtenido previamente en la función loadAdUnit()
para determinar si la instancia de la aplicación debe realizar una de las siguientes acciones:
El valor del parámetro
ad_control_switch
se resuelve entrue
: muestra el anuncio intersticial (porque el usuario no paga).El valor del parámetro
ad_control_switch
se resuelve enfalse
: no muestra el anuncio (porque el usuario es un usuario que paga).
Rápido
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.
}
}
Aleteo
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.
}
}
Unidad
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.
}
}
Libera tu aplicación
Dado que la lógica para mostrar o no el anuncio está dentro de su código base, debe lanzar una nueva versión de su aplicación que contenga esta lógica.
Si siguió los pasos de este tutorial, su aplicación debería comenzar a ofrecer inmediatamente una experiencia de anuncios personalizados en la aplicación a sus usuarios. Puede monitorear sus ingresos publicitarios tanto en su cuenta de AdMob como en los paneles de Google Analytics (ya sea en la consola de Firebase o en la interfaz de usuario de Google Analytics).
¡Y eso es! Ha completado el tutorial para optimizar la monetización híbrida mediante AdMob, Google Analytics y Firebase.
Recursos Relacionados
Consulte otras guías de soluciones:
Vea una serie de vídeos: Optimice los ingresos de su aplicación con Firebase y AdMob
Paso 2: configurar Google Analytics