Krok 3. Skonfiguruj Firebase Remote Config, aby wyświetlać określone reklamy
Wprowadzenie: Optymalizacja monetyzacji hybrydowej za pomocą AdMob, Google Analytics i Firebase |
Krok 1. Użyj opcji AdMob, aby utworzyć nowe jednostki reklamowe wyświetlania |
Krok 2. Skonfiguruj Google Analytics |
Krok 3. Skonfiguruj Firebase Remote Config, aby wyświetlać określone reklamy |
W ostatnim kroku poznaliśmy listy odbiorców Google Analytics. W tym kroku utworzysz parametr Remote Config kontrolowany przez wartość logiczną (nazywany ad_control_switch
), który wykorzystuje listę odbiorców „Kupujący”. Następnie dodaj do kodu aplikacji logikę, która określi, co ma się wyświetlać w aplikacji na podstawie wartości tego parametru.
Konfigurowanie parametrów i warunków Remote Config w konsoli Firebase
W konsoli Firebase otwórz projekt Firebase.
W panelu po lewej stronie rozwiń sekcję Zaangażuj i kliknij Konfiguracja zdalna.
Kliknij Utwórz konfigurację (lub Dodaj parametr, jeśli korzystasz z ustawienia Remote Config).
W panelu Utwórz parametr wykonaj te czynności:
W polu Nazwa parametru wpisz
ad_control_switch
.W menu
Data type
kliknij Logiczna.Kliknij Utwórz nowe, a następnie Utwórz nowy warunek.
W oknie Definiowanie nowego warunku wykonaj te czynności:
W polu Nazwa wpisz
Purchasers Group
(lub inną łatwo rozpoznawalną nazwę dla warunku).W menu Dotyczy, jeśli… kliknij Listy odbiorców z danymi o użytkownikach.
W menu Wybierz listy odbiorców kliknij Kupujący.
Kliknij Zapisz warunek.
W panelu Utwórz parametr wykonaj te czynności:
Jako Wartość w polu Grupa nabywców wybierz false.
Jako Wartość domyślna wybierz true.
Kliknij kolejno Zapisz i Opublikuj zmiany.
Ta konfiguracja sprawdza, czy użytkownik należy do grupy odbiorców „Kupujący” (czyli czy jest płatnym użytkownikiem):
Jeśli użytkownik należy do listy odbiorców „Kupujący”, funkcja Remote Config zwraca wartość
false
dla parametruad_control_switch
.Jeśli użytkownik nie znajduje się na liście odbiorców „Kupujący”, funkcja Remote Config zwróci wartość
true
dla parametruad_control_switch
.
W następnych krokach wdrożysz w swojej aplikacji funkcję Remote Config, aby obsługiwać te wartości parametrów.
Dodaj do aplikacji pakiet SDK Remote Config
Zanim użyjesz pakietu Remote Config w kodzie aplikacji, dodaj do kodu aplikacji pakiet SDK Remote Config. Pamiętaj, że w aplikacji powinien być już zainstalowany pakiet SDK Google Mobile Ads (AdMob) i pakiet SDK Google Analytics dla Firebase z poprzednich kroków tego samouczka.
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:22.0.1'
Flutter
Aby zainstalować w katalogu głównym projektu Flutter wtyczkę Remote Config, uruchom to polecenie:
flutter pub add firebase_remote_config
Unity
Pobierz i zainstaluj najnowszą wersję pakietu Firebase Unity SDK, a potem dodaj do projektu pakiet Remote Config:
FirebaseRemoteConfig.unitypackage
Konfigurowanie instancji Remote Config
Aby aplikacja mogła używać wartości parametru Remote Config, skonfiguruj instancję Remote Config tak, aby mogła pobierać nowe wartości dla instancji aplikacji klienta.
W tym przykładzie Remote Config jest skonfigurowany tak, aby co godzinę sprawdzać nowe wartości parametrów.
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");
}
Pobierz i aktywuj 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, a wartość Remote Config musi być pobierana z wyprzedzeniem, żeby aplikacja wiedziała, czy ma wyświetlić reklamę.
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 w funkcji loadAdUnit()
wartości Remote Config pobranej wcześniej, aby określić, czy instancja aplikacji powinna wykonać jedną z tych czynności:
Wartość parametru
ad_control_switch
jest przekształcana w wartośćtrue
: wyświetl reklamę pełnoekranową (ponieważ użytkownik nie jest płatnym subskrybentem).Wartość parametru
ad_control_switch
tofalse
: nie wyświetlaj reklamy (ponieważ użytkownik jest płacącym użytkownikiem).
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 reklamy znajduje się w Twoim kodzie, musisz opublikować nową wersję aplikacji zawierającą tę logikę.
Jeśli wykonasz czynności opisane w tym samouczku, Twoja aplikacja powinna od razu zacząć wyświetlać użytkownikom spersonalizowane reklamy. Przychody z reklam możesz sprawdzać na koncie AdMob oraz na panelach w Google Analytics (w konsoli Firebase lub w interfejsie Google Analytics).
To wszystko. Użytkownik ukończył samouczek dotyczący optymalizacji hybrydowej monetyzacji 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