Etapa 3: configurar o Firebase Remote Config para mostrar experiências de anúncios específicas
| Introdução: otimizar a monetização híbrida usando AdMob, Google Analytics e o Firebase |
| Etapa 1: use AdMob para criar novos blocos de anúncios de display |
| Etapa 2: Configurar o Google Analytics |
|
Etapa 3: configure o Firebase Remote Config para mostrar experiências de anúncios específicas |
Na última etapa, você aprendeu sobre os públicos-alvo do Google Analytics. Nesta etapa, você vai criar um parâmetro controlado por booleano Remote Config (chamado ad_control_switch) que usa o público-alvo "Compradores". Em seguida, adicione a lógica ao código do app para o que ele deve exibir com base no valor desse parâmetro.
Configurar parâmetros e condições de Remote Config no console do Firebase
No console do Firebase, abra seu projeto do Firebase.
No painel à esquerda, expanda a seção Engajamento e selecione Remote Config.
Clique em Criar configuração ou Adicionar parâmetro se você já usou Remote Config.
No painel Criar parâmetro, siga estas etapas:
No campo Nome do parâmetro, insira
ad_control_switch.No menu suspenso
Data type, selecione Booleano.Clique em Criar nova e selecione Criar nova condição.
Na caixa de diálogo Definir uma nova condição, siga estas etapas:
No campo Nome, insira
Purchasers Groupou qualquer outro nome fácil de identificar para a condição.No menu suspenso Aplicável se..., selecione Públicos-alvo de usuários.
No menu suspenso Selecionar públicos-alvo, escolha Compradores.
Clique em Salvar condição.
De volta ao painel Criar parâmetro, siga estas etapas:
No Valor do Grupo de compradores, selecione false.
Em Valor padrão, selecione true.
Clique em Salvar e em Publicar alterações.
Essa configuração verifica se o usuário está no público-alvo "Compradores" (ou seja, se ele é um usuário pagante):
Se o usuário estiver no público-alvo "Compradores", Remote Config vai retornar o valor de
falsepara o parâmetroad_control_switch.Se o usuário não estiver no público-alvo "Compradores", Remote Config vai retornar o valor de
truepara o parâmetroad_control_switch.
Nas etapas a seguir, você vai implementar Remote Config no app para processar esses valores de parâmetro.
Adicionar o SDK do Remote Config ao seu app
Antes de usar o Remote Config no código do aplicativo, adicione o SDK do Remote Config à base de código do app. Seu app já deve ter o SDK Google Mobile Ads (AdMob) e o SDK do Google Analytics para Firebase das etapas anteriores deste tutorial.
Swift
Adicione e instale o pod Remote Config no seu podfile:
pod 'Firebase/RemoteConfig'
Android
Adicione a dependência da biblioteca Remote Config ao arquivo build.gradle:
implementation 'com.google.firebase:firebase-config:23.1.0'
Flutter
Na raiz do seu projeto do Flutter, execute o seguinte comando para instalar o plug-in do Remote Config:
flutter pub add firebase_remote_config
Unity
Faça o download e instale o SDK do Firebase para Unity mais recente e adicione o pacote Remote Config ao seu projeto:
FirebaseRemoteConfig.unitypackage
Configurar a instância Remote Config
Para que o app possa usar os valores de parâmetros Remote Config, configure a instância Remote Config para que ela possa buscar novos valores para a instância do app cliente.
Neste exemplo, Remote Config está configurado para verificar novos valores de parâmetro uma vez por hora.
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");
}
Buscar e ativar Remote Config
Busque e ative o parâmetro Remote Config para que ele possa começar a usar os novos valores de parâmetros.
Faça essa chamada o quanto antes na fase de carregamento do app, porque ela é assíncrona e vai precisar do valor de Remote Config pré-buscado para que o app saiba se vai exibir um anúncio.
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();
});
Seu app agora está configurado para processar o parâmetro Remote Config que você criou anteriormente nesta etapa.
Usar o valor do parâmetro Remote Config
Use o valor pré-buscado Remote Config na função loadAdUnit() para
determinar se a instância do app precisa fazer uma das seguintes ações:
O valor de parâmetro
ad_control_switché resolvido comotrue: mostre o anúncio intersticial porque o usuário é um usuário não pagante.O valor de parâmetro
ad_control_switché resolvido comofalse: não mostre o anúncio (porque o usuário é usuário pagante).
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.
}
}
Lançar o app
Como a lógica para mostrar ou não o anúncio está na sua base de código, é preciso lançar uma nova versão do app que contenha essa lógica.
Se você seguiu as etapas deste tutorial, seu app vai começar imediatamente a oferecer uma experiência personalizada de anúncios no app aos usuários. É possível monitorar a receita de anúncios na sua conta do AdMob e nos painéis do Google Analytics (no console do Firebase ou na interface do Google Analytics).
Pronto. Você concluiu o tutorial de como otimizar a monetização híbrida usando AdMob, o Google Analytics e o Firebase.
Recursos relacionados
Confira outros guias de solução:
Assista a uma série de vídeos: otimizar a receita do seu app com o Firebase e a AdMob
Etapa 2: configurar o Google Analytics