Passaggio 3. Configurare Firebase Remote Config per mostrare esperienze pubblicitarie specifiche
| Introduzione: Ottimizza la monetizzazione ibrida utilizzando AdMob, Google Analytics, e Firebase |
| Passaggio 1: Utilizzare AdMob per creare nuove unità pubblicitarie per la visualizzazione |
| Passaggio 2: Configurare Google Analytics |
|
Passaggio 3: Configurare Firebase Remote Config per mostrare esperienze pubblicitarie specifiche |
Al termine del passaggio precedente, hai scoperto di più sui segmenti di pubblico di Google Analytics. In
questo passaggio, creerai un parametro controllato da un valore booleano Remote Config
(denominato ad_control_switch) che utilizza il segmento di pubblico "Acquirenti". Aggiungerai poi la logica al codice dell'app per indicare cosa deve mostrare l'app in base al valore di questo parametro.
Configurare i parametri e le condizioni nella consoleRemote ConfigFirebase
Nella Firebase console, apri il tuo progetto Firebase.
Nel riquadro a sinistra, espandi la sezione Coinvolgimento e seleziona Remote Config.
Fai clic su Crea configurazione (o Aggiungi parametro se hai già utilizzato Remote Config prima).
Nel riquadro Crea parametro, completa i seguenti passaggi:
Nel campo Nome parametro, inserisci
ad_control_switch.Dal menu a discesa
Data type, seleziona Booleano.Fai clic su Crea nuovo e poi seleziona Crea nuova condizione.
Nella finestra di dialogo Definisci una nuova condizione, completa i seguenti passaggi:
Nel campo Nome, inserisci
Purchasers Group(o qualsiasi altro nome facilmente identificabile per la condizione).Dal menu a discesa Si applica se..., seleziona Segmenti di pubblico utente.
Dal menu a discesa Seleziona segmenti di pubblico, seleziona Acquirenti.
Fai clic su Salva condizione.
Torna al riquadro Crea parametro e completa i seguenti passaggi:
Per il Valore di Purchasers Group, seleziona false.
Per il Valore predefinito, seleziona true.
Fai clic su Salva e poi su Pubblica modifiche.
Questa configurazione verificherà se l'utente fa parte del segmento di pubblico "Acquirenti" (ovvero se è un utente pagante):
Se l'utente fa parte del segmento di pubblico "Acquirenti", Remote Config restituirà il valore
falseper il parametroad_control_switch.Se l'utente non fa parte del segmento di pubblico "Acquirenti", Remote Config restituirà il valore
trueper il parametroad_control_switch.
Nei passaggi seguenti, implementerai Remote Config nella tua app per gestire questi valori dei parametri.
Aggiungere l'Remote Config SDK all'app
Prima di utilizzare Remote Config nel codice dell'applicazione, aggiungi l' Remote Config SDK alla codebase dell'app. Tieni presente che l'app dovrebbe già avere l'SDK Google Mobile Ads (AdMob) e l'SDK Google Analytics per Firebase dai passaggi precedenti di questo tutorial.
Swift
Aggiungi e installa il Remote Config pod nel tuo podfile:
pod 'Firebase/RemoteConfig'
Android
Aggiungi la dipendenza della libreria Remote Config al file build.gradle:
implementation 'com.google.firebase:firebase-config:23.1.0'
Flutter
Dalla directory principale del progetto Flutter, esegui il seguente comando per installare il plug-in Remote Config:
flutter pub add firebase_remote_config
Unity
Scarica e installa l'ultima versione dell'
SDK Firebase Unity, quindi aggiungi
il pacchetto Remote Config al tuo progetto:
FirebaseRemoteConfig.unitypackage
Configurare l'istanza Remote Config
Per consentire all'app di utilizzare i valori dei parametri Remote Config, configura l'istanza Remote Config in modo che possa recuperare nuovi valori per l'istanza dell'app client.
In questo esempio, Remote Config è configurato per verificare la presenza di nuovi valori dei parametri una volta ogni ora.
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");
}
Recuperare e attivare Remote Config
Recupera e attiva il parametro Remote Config in modo che possa iniziare a utilizzare i nuovi valori dei parametri.
Ti consigliamo di effettuare questa chiamata il prima possibile durante la fase di caricamento dell'app poiché si tratta di una chiamata asincrona e l'app avrà bisogno del valore Remote Config precaricato per sapere se mostrare un annuncio.
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();
});
L'app è ora configurata per gestire il parametro Remote Config che hai creato in precedenza in questo passaggio.
Utilizzare il valore parametro Remote Config
Utilizza il valore Remote Config precaricato nella funzione loadAdUnit() per
determinare se l'istanza dell'app deve eseguire una delle seguenti operazioni:
Il valore del parametro
ad_control_switchviene risolto intrue: mostra l'annuncio interstitial (perché l'utente non è pagante).Il valore del parametro
ad_control_switchviene risolto infalse: non mostrare l'annuncio (perché l'utente è 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.
}
}
Pubblicare l'app
Poiché la logica per mostrare o meno l'annuncio è all'interno della codebase, devi rilasciare una nuova versione dell'app che contenga questa logica.
Se hai seguito i passaggi di questo tutorial, l'app dovrebbe iniziare immediatamente a pubblicare un'esperienza pubblicitaria in-app personalizzata per i tuoi utenti. Puoi monitorare le tue entrate pubblicitarie sia nel tuo account AdMob sia nelle dashboard di Google Analytics (nella console Firebase o nell'interfaccia utente di Google Analytics).
Ecco fatto. Hai completato il tutorial per l'ottimizzazione della monetizzazione ibrida utilizzando AdMob, Google Analytics e Firebase.
Risorse correlate
Consulta altre guide alle soluzioni:
Guarda una serie di video: Ottimizzare le entrate dell'app con Firebase e AdMob
Passaggio 2. Configurare Google Analytics