Krok 3. Skonfiguruj Firebase Remote Config, aby wyświetlać określone reklamy
Wprowadzenie: Optymalizacja modelu hybrydowego zarabianie za pomocą AdMob, Google Analytics i Firebase |
Krok 1. Użyj konta AdMob, aby utworzyć nowe jednostki reklamowe do wyświetlania w sieci reklamowej |
Krok 2. Konfiguracja Google Analytics, |
Krok 3. Konfiguracja Firebase Remote Config, aby wyświetlać określone reklamy |
W ostatnim kroku omówiliśmy listy odbiorców w Google Analytics. W
w tym kroku utworzysz Remote Config parametr kontrolowanego wartością logiczną
(o nazwie ad_control_switch
), który wykorzystuje kolumnę „Kupujący”, z całego świata. Za
a następnie dodaj do kodu aplikacji logikę określającą, co ma się wyświetlać
wartość tego parametru.
Skonfiguruj parametry i warunki Remote Config w konsoli Firebase
W konsoli Firebase, otwórz swój projekt Firebase.
W panelu po lewej stronie rozwiń sekcję Engage (Zaangażowanie) i wybierz Zdalna konfiguracja.
Kliknij Utwórz konfigurację (lub Dodaj parametr, jeśli używasz Remote Config wcześniej).
W panelu Utwórz parametr wykonaj te czynności:
W polu Nazwa parametru wpisz
ad_control_switch
.W menu
Data type
wybierz Wartość logiczna.Kliknij kolejno Utwórz nowy i Utwórz nowy warunek.
W oknie Zdefiniuj nowy warunek wykonaj te czynności:
W polu Name (Nazwa) wpisz
Purchasers Group
(lub inny dowolny tekst) rozpoznawalna nazwa warunku).W menu Dotyczy, jeśli... wybierz Odbiorcy użytkowników.
W menu Wybierz odbiorców kliknij Kupujący.
Kliknij Zapisz warunek.
W panelu Utwórz parametr wykonaj te czynności:
W polu Wartość w sekcji Grupa kupujących wybierz false.
W polu Wartość domyślna wybierz prawda.
Kliknij kolejno Zapisz i Opublikuj zmiany.
Ta konfiguracja sprawdza, czy użytkownik jest na liście „Kupujący”. odbiorcy (czyli jest użytkownikiem wersji płatnej):
Jeśli użytkownik jest na liście „Kupujący” wśród odbiorców, Remote Config zwraca wartość
false
dla parametruad_control_switch
.Jeśli użytkownik nie znajduje się na liście „Kupujący”, odbiorcy, a potem Remote Config zwróci wartość
true
dla parametruad_control_switch
.
W kolejnych krokach wdrożysz Remote Config w swojej aplikacji, aby: obsługuje te wartości parametrów.
Dodaj do aplikacji pakiet SDK Remote Config
Zanim użyjesz w kodzie aplikacji Remote Config, dodaj do pakietu SDK Remote Config do bazy kodu aplikacji. Pamiętaj, że aplikacja powinna już mieć pakiet SDK Google Mobile Ads (AdMob) oraz Pakiet SDK Google Analytics dla Firebase z poprzednich kroków tego samouczka.
Swift
Dodaj i zainstaluj poda 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.0'
Flutter
W katalogu głównym projektu Flutter uruchom poniższe polecenie, aby zainstalować wtyczka Remote Config:
flutter pub add firebase_remote_config
Unity
Pobierz i zainstaluj najnowszą wersję
pakiet SDK Firebase Unity, a potem dodaj
pakiet Remote Config do Twojego projektu:
FirebaseRemoteConfig.unitypackage
Skonfiguruj instancję Remote Config
Aby aplikacja mogła używać wartości parametrów Remote Config, skonfiguruj parametr Remote Config, aby mogła pobierać nowe wartości dla aplikacji klienckiej instancji.
W tym przykładzie Remote Config jest skonfigurowany do sprawdzania nowego parametru raz na godzinę.
Swift
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);
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 usługę Remote Config
Pobierz i aktywuj parametr Remote Config, aby mógł zacząć używać nowe wartości parametrów.
To wywołanie powinno zostać wykonane jak najwcześniej na etapie wczytywania aplikacji. ponieważ to wywołanie jest asynchroniczne i potrzebujesz wartości Remote Config są pobierane z wyprzedzeniem, by aplikacja wiedziała, czy 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+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();
}
});
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();
});
Aplikacja jest teraz skonfigurowana tak, aby obsługiwać parametr Remote Config, który utworzonych wcześniej w tym kroku.
Używaj wartości parametru Remote Config
Użyj pobranej z wyprzedzeniem wartości Remote Config w funkcji loadAdUnit()
, aby:
określić, czy instancja aplikacji powinna wykonać jedną z tych czynności:
Wartość parametru
ad_control_switch
przyjmuje wartośćtrue
: pokaż parametr reklama pełnoekranowa (ponieważ użytkownik korzysta z wersji bezpłatnej).Wartość parametru
ad_control_switch
przyjmuje wartośćfalse
: nie pokazuj parametru reklamę (ponieważ użytkownik jest użytkownikiem wersji płatnej).
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+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.
}
}
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 lub nie jest uzależniona od bazy kodu, musisz: opublikować nową wersję aplikacji, która zawiera tę logikę.
Po wykonaniu czynności opisanych w tym samouczku aplikacja powinna się natychmiast uruchomić wyświetlanie użytkownikom spersonalizowanych reklam w aplikacji. Możesz monitorować przychody z reklam na koncie AdMob i w Google Analytics paneli (w konsoli Firebase lub w interfejsie Google Analytics).
To wszystko. Udało Ci się ukończyć samouczek 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 o optymalizowaniu przychodów z aplikacji dzięki Firebase i AdMob
Krok 2. Skonfiguruj Google Analytics