Etapa 3: configurar a Firebase Remote Config para mostrar experiências de anúncios específicas
Introdução: Otimize a nuvem híbrida monetização usando AdMob, Google Analytics e Firebase |
Etapa 1: Use AdMob para criar novos blocos de anúncios para display. |
Etapa 2: Configuração Google Analytics |
Etapa 3: Configuração Firebase Remote Config para mostrar experiências de anúncios específicas |
Ao final da última etapa, você aprendeu sobre os públicos-alvo do Google Analytics. Em
nesta etapa, você vai criar um parâmetro Remote Config controlado por booleano
chamada ad_control_switch
, que usa os "Compradores" público-alvo. Você vai
Em seguida, adicione a lógica ao código do app para definir o que ele deve mostrar com base
o valor desse parâmetro.
Configurar parâmetros e condições do Remote Config no console do Firebase
No console do Firebase, abra seu projeto do Firebase.
No painel do lado esquerdo, expanda a seção Engajar e selecione Configuração remota.
Clique em Criar configuração (ou Adicionar parâmetro se você usou Remote Config antes).
No painel Criar parâmetro, conclua as seguintes 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, digite
Purchasers Group
(ou qualquer outro identificável 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, conclua as seguintes etapas:
Para o Valor de Grupo de compradores, selecione false.
Em Valor padrão, selecione true.
Clique em Salvar e em Publicar alterações.
Essa configuração vai verificar se o usuário está na lista de "Compradores" público-alvo (ou seja, um usuário pagante):
Se o usuário estiver na seção "Compradores" público-alvo, Remote Config vai retornam o valor de
false
para o parâmetroad_control_switch
.Se o usuário não estiver na lista de "Compradores" público-alvo, Remote Config vai retornar o valor de
true
para o parâmetroad_control_switch
.
Nas etapas a seguir, você vai implementar o Remote Config no app para manipular esses valores de parâmetro.
Adicionar o SDK do Remote Config ao app
Antes de usar Remote Config no código do aplicativo, adicione o Remote Config de SDK à base de código do seu app. Seu app precisa tem 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:22.0.0'
Flutter
Na raiz do seu projeto do Flutter, execute o seguinte comando para instalar plug-in Remote Config:
flutter pub add firebase_remote_config
Unity
Faça o download e instale a versão mais recente
SDK do Firebase para Unity e adicione
o pacote Remote Config ao seu projeto:
FirebaseRemoteConfig.unitypackage
Configure a instância Remote Config
Para que seu app possa usar os valores de parâmetro Remote Config, configure o Instância de Remote Config para que ela possa buscar novos valores para o app cliente instância.
Neste exemplo, Remote Config está configurado para verificar se há novos parâmetros. valores uma vez por hora.
Swift
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);
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");
}
Busque e ative Remote Config
Busque e ative o parâmetro Remote Config para que ele possa começar a usar os novos valores de parâmetro.
Faça essa chamada o mais cedo possível na fase de carregamento do app. porque essa chamada é assíncrona e você precisa do valor Remote Config pré-buscada para que seu app saiba se deve 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+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();
}
});
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ê criados anteriormente nesta etapa.
Usar o valor de parâmetro Remote Config
Use o valor Remote Config pré-buscado na função loadAdUnit()
para
determine se a instância do app precisa realizar uma das seguintes ações:
O valor do parâmetro
ad_control_switch
é resolvido comotrue
: mostre 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 mostre o (porque o usuário é um 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+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.
}
}
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 o anúncio ou não está na sua base de código, você precisa lançar uma nova versão do app com essa lógica.
Se você tiver seguido as etapas deste tutorial, seu app será iniciado imediatamente veiculando uma experiência de anúncios personalizada para seus usuários. Você pode monitorar receita de publicidade na sua conta do AdMob e no Google Analytics painéis (no console do Firebase ou na interface do Google Analytics).
Pronto. Você concluiu o tutorial para otimizar a monetização híbrida usando o AdMob, o Google Analytics e o Firebase.
Recursos relacionados
Confira outros guias de solução:
Assista a uma série de vídeos: Otimize a receita do seu app com o Firebase e o AdMob
Etapa 2: configure o Google Analytics