Samouczek: Optymalizacja monetyzacji hybrydowej za pomocą AdMob, Google Analytics i Firebases

Krok 3: skonfiguruj zdalną konfigurację Firebase, aby wyświetlać określone reklamy


Wprowadzenie: Optymalizuj monetyzację hybrydową za pomocą AdMob, Google Analytics i Firebase
Krok 1: Użyj AdMob, aby utworzyć nowe jednostki reklamowe do wyświetlenia
Krok 2: Skonfiguruj Google Analytics

Krok 3: skonfiguruj zdalną konfigurację Firebase, aby wyświetlać określone reklamy


Na końcu ostatniego kroku dowiedziałeś się o odbiorcach Google Analytics. W tym kroku utworzysz kontrolowany przez wartość logiczną parametr Remote Config (zwany ad_control_switch ), który wykorzystuje odbiorców „Kupujący”. Następnie dodasz do kodu aplikacji logikę określającą, co aplikacja powinna wyświetlać na podstawie wartości tego parametru.

Skonfiguruj parametry i warunki Zdalnej konfiguracji w konsoli Firebase

  1. W konsoli Firebase otwórz swój projekt Firebase.

  2. W panelu po lewej stronie rozwiń sekcję Angażuj , a następnie wybierz opcję Zdalna konfiguracja .

  3. Kliknij opcję Utwórz konfigurację (lub Dodaj parametr , jeśli korzystałeś już wcześniej ze zdalnej konfiguracji).

  4. W panelu Utwórz parametry wykonaj następujące kroki:

    1. W polu Nazwa parametru wpisz ad_control_switch .

    2. Z menu rozwijanego Data type wybierz opcję Boolean .

    3. Kliknij opcję Utwórz nowy , a następnie wybierz opcję Utwórz nowy warunek .

  5. W oknie dialogowym Zdefiniuj nowy warunek wykonaj następujące kroki:

    1. W polu Nazwa wprowadź Purchasers Group (lub inną łatwą do zidentyfikowania nazwę warunku).

    2. Z menu rozwijanego Stosuje się, jeśli... wybierz opcję Odbiorcy użytkowników .

    3. Z menu rozwijanego Wybierz odbiorców wybierz opcję Kupujący .

    4. Kliknij Zapisz warunek .

  6. Wróć do panelu Utwórz parametry i wykonaj następujące kroki:

    1. W polu Grupa wartości nabywców wybierz wartość false .

    2. Jako wartość domyślną wybierz opcję true .

  7. Kliknij Zapisz , a następnie Opublikuj zmiany .

Ta konfiguracja sprawdzi, czy użytkownik należy do grupy odbiorców „Kupujący” (czyli jest użytkownikiem płacącym):

  • Jeśli użytkownik należy do grupy odbiorców „Kupujący”, Remote Config zwróci wartość false dla parametru ad_control_switch .

  • Jeśli użytkownik nie należy do grupy odbiorców „Kupujący”, Remote Config zwróci wartość true dla parametru ad_control_switch .

W poniższych krokach zaimplementujesz zdalną konfigurację w swojej aplikacji, aby obsługiwać te wartości parametrów.

Dodaj pakiet SDK zdalnej konfiguracji do swojej aplikacji

Przed użyciem funkcji Remote Config w kodzie aplikacji dodaj zestaw SDK Remote Config do bazy kodu aplikacji. Pamiętaj, że Twoja aplikacja powinna już mieć pakiet SDK do reklam mobilnych Google (AdMob) i pakiet SDK Google Analytics dla Firebase z poprzednich kroków tego samouczka.

Szybki

Dodaj i zainstaluj moduł Remote Config w swoim pliku pod:

pod 'Firebase/RemoteConfig'

Android

Dodaj zależność biblioteki Remote Config do pliku build.gradle :

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

Trzepotanie

W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę Remote Config:

flutter pub add firebase_remote_config

Jedność

Pobierz i zainstaluj najnowszy pakiet SDK Firebase Unity , a następnie dodaj pakiet Remote Config do swojego projektu:
FirebaseRemoteConfig.unitypackage

Skonfiguruj instancję Remote Config

Aby aplikacja mogła używać wartości parametrów Remote Config, skonfiguruj instancję Remote Config tak, aby mogła pobierać nowe wartości dla instancji aplikacji klienckiej.

W tym przykładzie usługa Remote Config jest skonfigurowana tak, aby co godzinę sprawdzała nowe wartości parametrów.

Szybki

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

Trzepotanie

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

Jedność

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

Pobierz i aktywuj zdalną konfigurację

Pobierz i aktywuj parametr Remote Config, aby mógł zacząć korzystać z nowych wartości parametrów.

Chcesz wykonać to wywołanie jak najwcześniej w fazie ładowania aplikacji, ponieważ jest ono asynchroniczne i potrzebujesz wcześniej pobranej wartości Remote Config, aby aplikacja wiedziała, czy wyświetlić reklamę.

Szybki

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

Trzepotanie

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

Jedność

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

Twoja aplikacja jest teraz skonfigurowana do obsługi parametru Remote Config utworzonego wcześniej w tym kroku.

Użyj wartości parametru Zdalna konfiguracja

Użyj wstępnie pobranej wartości Remote Config w funkcji loadAdUnit() , aby określić, czy instancja aplikacji powinna wykonać jedną z następujących czynności:

  • Wartość parametru ad_control_switch przyjmuje wartość true : wyświetla reklamę pełnoekranową (ponieważ użytkownik nie płaci).

  • Wartość parametru ad_control_switch przyjmuje wartość false : nie wyświetlaj reklamy (ponieważ użytkownik jest użytkownikiem płacącym).

Szybki

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

Trzepotanie

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

Jedność

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

Wydaj swoją aplikację

Ponieważ logika dotycząca wyświetlania reklamy lub jej braku znajduje się w Twojej bazie kodu, musisz wypuścić nową wersję aplikacji, która będzie zawierała tę logikę.

Jeśli wykonałeś czynności opisane w tym samouczku, Twoja aplikacja powinna natychmiast zacząć wyświetlać użytkownikom spersonalizowane reklamy w aplikacji. Możesz monitorować przychody z reklam zarówno na koncie AdMob, jak i w panelach Google Analytics (w konsoli Firebase lub w interfejsie Google Analytics).


I to wszystko! Ukończyłeś samouczek optymalizacji zarabiania na hybrydach za pomocą AdMob, Google Analytics i Firebase.




Krok 2: Skonfiguruj Google Analytics