Krok 3. Skonfiguruj Firebase Remote Config, aby wyświetlać określone reklamy
| Wprowadzenie: Optymalizacja hybrydowej monetyzacji za pomocą AdMob, Google Analytics, i Firebase |
| Krok 1. Utwórz w AdMob nowe jednostki reklamowe do wyświetlania |
| Krok 2. Skonfiguruj Google Analytics |
|
Krok 3: Skonfiguruj Firebase Remote Config aby wyświetlać określone reklamy |
Na końcu poprzedniego kroku dowiedzieliśmy się więcej o listach odbiorców Google Analytics. W
tym kroku utworzysz parametr sterowany wartością logiczną Remote Config
(o nazwie ad_control_switch), który korzysta z listy odbiorców „Kupujący”. Następnie dodasz do kodu aplikacji logikę określającą, co aplikacja ma wyświetlać na podstawie wartości tego parametru.
Konfigurowanie parametrów i warunków w konsoliRemote ConfigFirebase
W panelu po lewej stronie rozwiń sekcję Zaangażowanie i wybierz Zdalna konfiguracja.
Kliknij Utwórz konfigurację (lub Dodaj parametr , jeśli wcześniej korzystałeś(-aś) ze Zdalnej konfiguracji Remote Config).
W panelu Utwórz parametr wykonaj te czynności:
W polu Nazwa parametru wpisz
ad_control_switch.W menu
Data typewybierz Wartość logiczna.Kliknij Utwórz nową, a następnie wybierz Utwórz nowy warunek.
W oknie Zdefiniuj nowy warunek wykonaj te czynności:
W polu Nazwa wpisz
Purchasers Group(lub inną łatwą do rozpoznania nazwę warunku).W menu Obowiązuje, jeśli... wybierz Listy odbiorców.
W menu Wybierz listy odbiorców wybierz Kupujący.
Kliknij Zapisz warunek.
Wróć do panelu Utwórz parametr i wykonaj te czynności:
W przypadku Wartości w Grupie kupujących wybierz fałsz.
W przypadku Wartości domyślnej wybierz prawda.
Kliknij Zapisz, a następnie Opublikuj zmiany.
Ta konfiguracja sprawdzi, czy użytkownik znajduje się na liście odbiorców „Kupujący” (czyli czy jest płacącym użytkownikiem):
Jeśli użytkownik znajduje się na liście odbiorców "Kupujący", Remote Config zwróci wartość
falsedla parametruad_control_switch.Jeśli użytkownik nie znajduje się na liście odbiorców "Kupujący", Remote Config zwróci wartość
truedla parametruad_control_switch.
W kolejnych krokach zaimplementujesz Remote Config w aplikacji, aby obsługiwać te wartości parametrów.
Dodawanie pakietu SDK Remote Config do aplikacji
Zanim zaczniesz używać Remote Config w kodzie aplikacji, dodaj pakiet SDK Remote Config do bazy kodu aplikacji. Pamiętaj, że w poprzednich krokach tego samouczka do aplikacji zostały już dodane pakiet SDK Google Mobile Ads (AdMob) i pakiet SDK Google Analytics dla Firebase.
Swift
Dodaj i zainstaluj pod Remote Config w pliku podfile:
pod 'Firebase/RemoteConfig'
Android
Dodaj zależność biblioteki Remote Config do pliku build.gradle:
implementation 'com.google.firebase:firebase-config:23.1.0'
Flutter
W katalogu głównym projektu Flutter uruchom to polecenie, aby zainstalować wtyczkę Remote Config:
flutter pub add firebase_remote_config
Unity
Pobierz i zainstaluj najnowszy
pakiet Firebase Unity SDK, a następnie dodaj
pakiet Remote Config do projektu:
FirebaseRemoteConfig.unitypackage
Konfigurowanie instancji Remote Config
Aby aplikacja mogła używać wartości parametrów Remote Config, skonfiguruj instancję Remote Config, która umożliwi pobieranie nowych wartości przez instancję aplikacji klienta.
W tym przykładzie Remote Config jest skonfigurowana tak, aby sprawdzać nowe wartości parametrów co godzinę.
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");
}
Pobieranie i aktywowanie Remote Config
Pobierz i aktywuj parametr Remote Config, aby mogła ona zacząć używać nowych wartości parametrów.
To wywołanie powinno pojawić się na etapie wczytywania aplikacji jak najszybciej ponieważ jest ono asynchroniczne. Wartość Remote Config musi być pobierana z wyprzedzeniem żeby było wiadomo, czy w aplikacji ma się wyświetlić reklama.
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();
});
Twoja aplikacja jest teraz skonfigurowana do obsługi parametru Remote Config utworzonego przez Ciebie wcześniej w tym kroku.
Użyj wartości parametru Remote Config
Użyj pobranej z wyprzedzeniem wartości Remote Config w funkcji loadAdUnit(), aby
określić, czy instancja aplikacji ma wykonać jedną z tych czynności:
Wartość parametru
ad_control_switchtotrue: wyświetl reklamę pełnoekranową (ponieważ użytkownik jest użytkownikiem wersji bezpłatnej).Wartość parametru
ad_control_switchtofalse: nie wyświetlaj reklamy (ponieważ użytkownik płaci).
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.
}
}
Publikowanie aplikacji
Ponieważ logika wyświetlania lub niewyświetlania reklamy znajduje się w bazie kodu, musisz opublikować nową wersję aplikacji, która zawiera tę logikę.
Jeśli wykonasz czynności opisane w tym samouczku, Twoja aplikacja powinna od razu zacząć wyświetlać użytkownikom spersonalizowane reklamy w aplikacji. Przychody z reklam możesz monitorować zarówno na koncie AdMob, jak i na panelach Google Analytics (w konsoli Firebase lub w interfejsie Google Analytics).
To wszystko! Ukończono samouczek dotyczący optymalizacji monetyzacji hybrydowej za pomocą AdMob, Google Analytics i Firebase.
Przydatne materiały
Zapoznaj się z innymi przewodnikami po rozwiązaniach:
Obejrzyj serię filmów: Optymalizacja przychodów z aplikacji za pomocą Firebase i AdMob
Krok 2. Skonfiguruj Google Analytics