Etapa 3: configurar a Configuração remota do Firebase para mostrar experiências de anúncios específicas
Introdução: otimize a monetização híbrida usando AdMob, Google Analytics e Firebase |
Etapa 1: use a AdMob para criar novos blocos de anúncios para exibição |
Etapa 2: configurar o Google Analytics |
Etapa 3: configurar a Configuração remota do Firebase para mostrar experiências de anúncios específicas |
Ao final da última etapa, você aprendeu sobre os públicos do Google Analytics. Nesta etapa, você criará um parâmetro controlado por booleano da Configuração remota (chamado ad_control_switch
) que aproveita o público-alvo "Compradores". Em seguida, você adicionará a lógica ao código do seu aplicativo para o que ele deve exibir com base no valor desse parâmetro.
Configurar parâmetros e condições do Configuração remota no console do Firebase
No console do Firebase , abra seu projeto do Firebase.
No painel esquerdo, expanda a seção Engajar e selecione Configuração remota .
Clique em Criar configuração (ou Adicionar parâmetro se você já usou o Configuração remota).
No painel Criar parâmetro , conclua as etapas a seguir:
No campo Nome do parâmetro , insira
ad_control_switch
.No menu suspenso
Data type
, selecione Boolean .Clique em Criar novo e selecione Criar nova condição .
Na caixa de diálogo Definir uma nova condição , conclua as etapas a seguir:
No campo Nome , insira
Purchasers Group
(ou qualquer outro nome facilmente identificável para a condição).No menu suspenso Aplica-se se... , selecione Público(s) do(s) usuário(s) .
No menu suspenso Selecionar públicos-alvo , selecione Compradores .
Clique em Salvar condição .
De volta ao painel Criar parâmetro , conclua as etapas a seguir:
Para o grupo Valor dos compradores , selecione falso .
Para o valor padrão , selecione true .
Clique em Salvar e em Publicar alterações .
Esta configuração irá verificar se o usuário está no público “Compradores” (ou seja, é um usuário pagante):
Se o usuário estiver no público "Compradores", o Configuração remota retornará o valor
false
para o parâmetroad_control_switch
.Se o usuário não estiver no público "Compradores", o Configuração remota retornará o valor
true
para o parâmetroad_control_switch
.
Nas etapas a seguir, você implementará o Configuração remota no seu aplicativo para lidar com esses valores de parâmetro.
Adicione o SDK do Configuração remota ao seu app
Antes de usar o Configuração remota no código do seu aplicativo, adicione o SDK do Configuração remota à base de código do seu aplicativo. Observe que seu aplicativo já deve ter o SDK dos anúncios para dispositivos móveis do Google (AdMob) e o SDK do Google Analytics para Firebase das etapas anteriores deste tutorial.
Rápido
Adicione e instale o pod do Configuração remota no seu podfile:
pod 'Firebase/RemoteConfig'
Android
Adicione a dependência da biblioteca do Configuração remota ao arquivo build.gradle
:
implementation 'com.google.firebase:firebase-config:21.6.3'
Vibração
Na raiz do seu projeto Flutter, execute o seguinte comando para instalar o plug-in do Configuração remota:
flutter pub add firebase_remote_config
Unidade
Faça download e instale o SDK do Firebase Unity mais recente e adicione o pacote do Configuração remota ao seu projeto:
FirebaseRemoteConfig.unitypackage
Configurar a instância do Configuração remota
Para que seu aplicativo possa usar os valores dos parâmetros do Configuração remota, configure a instância do Configuração remota para que ela possa buscar novos valores para a instância do aplicativo cliente.
Neste exemplo, o Configuração remota está configurado para verificar novos valores de parâmetros uma vez a 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);
Vibração
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');
});
Unidade
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 a Configuração remota
Busque e ative o parâmetro do Configuração remota para que ele possa começar a usar os novos valores dos parâmetros.
Você deseja fazer essa chamada o mais cedo possível na fase de carregamento do seu aplicativo porque ela é assíncrona e você precisa do valor da Configuração remota pré-buscado para que seu aplicativo saiba se deve exibir um anúncio.
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();
}
});
Vibração
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();
Unidade
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
Seu aplicativo agora está configurado para lidar com o parâmetro do Configuração remota criado anteriormente nesta etapa.
Usar o valor do parâmetro Configuração remota
Use o valor pré-buscado da Configuração remota na função loadAdUnit()
para determinar se a instância do aplicativo deve realizar uma das seguintes ações:
O valor do parâmetro
ad_control_switch
é resolvido comotrue
: mostra o anúncio intersticial (porque o usuário é um usuário não pagante).O valor do parâmetro
ad_control_switch
é resolvido comofalse
: não exibe o anúncio (porque o usuário é um usuário pagante).
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.
}
}
Vibração
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.
}
}
Unidade
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.
}
}
Libere seu aplicativo
Como a lógica para exibir ou não o anúncio está dentro da sua base de código, você precisa lançar uma nova versão do seu aplicativo que contenha essa lógica.
Se você seguiu as etapas deste tutorial, seu aplicativo deverá começar imediatamente a veicular uma experiência personalizada de anúncios no aplicativo para seus usuários. Você pode monitorar sua receita de anúncios na sua conta da AdMob e nos painéis do Google Analytics (no console do Firebase ou na IU do Google Analytics).
E é isso! Você concluiu o tutorial para otimizar a monetização híbrida usando AdMob, Google Analytics e Firebase.
Recursos relacionados
Confira outros guias de solução:
Assista a uma série de vídeos: Otimize a receita do seu aplicativo com o Firebase e a AdMob
Etapa 2: configurar o Google Analytics