Tutorial: ottimizza la monetizzazione ibrida utilizzando AdMob, Google Analytics e Firebases

Passaggio 3: configura Firebase Remote Config per mostrare esperienze pubblicitarie specifiche


Introduzione: ottimizza la monetizzazione ibrida utilizzando AdMob, Google Analytics e Firebase
Passaggio 1: utilizza AdMob per creare nuove unità pubblicitarie per la visualizzazione
Passaggio 2: imposta Google Analytics

Passaggio 3: configura Firebase Remote Config per mostrare esperienze pubblicitarie specifiche


Alla fine dell'ultimo passaggio, hai imparato a conoscere i segmenti di pubblico di Google Analytics. In questo passaggio creerai un parametro controllato da booleano di Remote Config (chiamato ad_control_switch ) che sfrutta il pubblico "Acquirenti". Aggiungerai quindi la logica al codice della tua app per ciò che l'app dovrebbe visualizzare in base al valore di tale parametro.

Configura i parametri e le condizioni di Remote Config nella console Firebase

  1. Nella console Firebase , apri il tuo progetto Firebase.

  2. Nel riquadro di sinistra, espandere la sezione Coinvolgi , quindi selezionare Configurazione remota .

  3. Fai clic su Crea configurazione (o Aggiungi parametro se hai già utilizzato Remote Config in precedenza).

  4. Nel pannello Crea parametro , completare i seguenti passaggi:

    1. Nel campo Nome parametro , inserisci ad_control_switch .

    2. Dal menu a discesa Data type , seleziona Booleano .

    3. Fare clic su Crea nuovo e quindi selezionare Crea nuova condizione .

  5. Nella finestra di dialogo Definisci una nuova condizione , completare i seguenti passaggi:

    1. Nel campo Nome , inserisci Purchasers Group (o qualsiasi altro nome facilmente identificabile per la condizione).

    2. Dal menu a discesa Si applica se... , seleziona Pubblico/i utente/i .

    3. Dal menu a discesa Seleziona pubblico/i , seleziona Acquirenti .

    4. Fare clic su Salva condizione .

  6. Tornando al pannello Crea parametro , completa i seguenti passaggi:

    1. Per il valore del gruppo acquirenti , selezionare false .

    2. Per il valore predefinito , selezionare true .

  7. Fare clic su Salva , quindi su Pubblica modifiche .

Questa configurazione controllerà se l'utente fa parte del pubblico "Acquirenti" (ovvero, è un utente pagante):

  • Se l'utente appartiene al gruppo di destinatari "Acquirenti", Remote Config restituirà il valore false per il parametro ad_control_switch .

  • Se l'utente non è nel gruppo di destinatari "Acquirenti", Remote Config restituirà il valore true per il parametro ad_control_switch .

Nei passaggi seguenti implementerai Remote Config nella tua app per gestire questi valori di parametro.

Aggiungi l'SDK Remote Config alla tua app

Prima di utilizzare Remote Config nel codice dell'applicazione, aggiungi l'SDK Remote Config al codebase dell'app. Tieni presente che la tua app dovrebbe già disporre dell'SDK Google Mobile Ads (AdMob) e dell'SDK Google Analytics per Firebase descritti nei passaggi precedenti di questo tutorial.

Veloce

Aggiungi e installa il pod Remote Config nel tuo podfile:

pod 'Firebase/RemoteConfig'

Androide

Aggiungi la dipendenza della libreria Remote Config al tuo file build.gradle :

implementation 'com.google.firebase:firebase-config:21.6.3'

Svolazzare

Dalla radice del tuo progetto Flutter, esegui il comando seguente per installare il plug-in Remote Config:

flutter pub add firebase_remote_config

Unità

Scarica e installa l'ultimo Firebase Unity SDK , quindi aggiungi il pacchetto Remote Config al tuo progetto:
FirebaseRemoteConfig.unitypackage

Configurare l'istanza di Remote Config

Affinché l'app possa 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.

Veloce

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);

Svolazzare

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');
  });

Unità

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");
}

Recupera e attiva Remote Config

Recupera e attiva il parametro Remote Config in modo che possa iniziare a utilizzare i nuovi valori dei parametri.

Vuoi effettuare questa chiamata il prima possibile nella fase di caricamento della tua app perché questa chiamata è asincrona e hai bisogno che il valore Remote Config sia precaricato in modo che la tua app sappia se mostrare un annuncio.

Veloce

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();
            }
        });

Svolazzare

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();

Unità

remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
  if (task.IsFaulted) {
    Debug.LogWarning("Config params failed to update");
  } else {
    Debug.Log("Config params updated: " + task.Result);
  }
  LoadAdUnit();
});

La tua app è ora configurata per gestire il parametro Remote Config creato in precedenza in questo passaggio.

Utilizzare il valore del parametro Remote Config

Utilizza il valore Remote Config prerecuperato nella funzione loadAdUnit() per determinare se l'istanza dell'app deve eseguire una delle seguenti operazioni:

  • Il valore del parametro ad_control_switch viene risolto in true : mostra l'annuncio interstitial (perché l'utente è un utente non pagante).

  • Il valore del parametro ad_control_switch viene risolto in false : non mostra l'annuncio (perché l'utente è un utente pagante).

Veloce

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.
    }
}

Svolazzare

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.
  }
}

Unità

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.
  }
}

Rilascia la tua app

Poiché la logica per mostrare o meno l'annuncio rientra nella tua codebase, devi rilasciare una nuova versione della tua app che contenga questa logica.

Se hai seguito i passaggi di questo tutorial, la tua app dovrebbe iniziare immediatamente a offrire ai tuoi utenti un'esperienza pubblicitaria in-app personalizzata. Puoi monitorare le entrate pubblicitarie sia nel tuo account AdMob che nei dashboard di Google Analytics (nella console Firebase o nell'interfaccia utente di Google Analytics).


E questo è tutto! Hai completato il tutorial per ottimizzare la monetizzazione ibrida utilizzando AdMob, Google Analytics e Firebase.




Passaggio 2: imposta Google Analytics