Krok 3: Obsługuj wartości parametrów Zdalnej konfiguracji w kodzie aplikacji
Wprowadzenie: przetestuj nowy format reklam AdMob za pomocą Firebase |
Krok 1: za pomocą AdMob utwórz nowy wariant jednostki reklamowej do testowania |
Krok 2. Skonfiguruj test A/B w konsoli Firebase |
Krok 3: Obsługuj wartości parametrów Zdalnej konfiguracji w kodzie aplikacji |
Krok 4: Rozpocznij test A/B i przejrzyj wyniki testu w konsoli Firebase |
Krok 5: Zdecyduj, czy wprowadzić nowy format reklamy |
Pod koniec ostatniego kroku utworzyłeś parametr zdalnej konfiguracji ( SHOW_NEW_AD_KEY
). W tym kroku dodasz logikę do kodu aplikacji określającą, co powinna wyświetlać Twoja aplikacja na podstawie wartości tego parametru — true
(pokaż nową reklamę) lub false
( nie wyświetlaj nowej reklamy).
Dodaj wymagane pakiety SDK
Przed użyciem Zdalnej konfiguracji w kodzie aplikacji dodaj zarówno pakiet SDK Zdalnej konfiguracji, jak i pakiet Firebase SDK dla Google Analytics do plików kompilacji projektu.
Szybki
Dodaj i zainstaluj następujące pody w swoim pliku pod:
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Cel C
Dodaj i zainstaluj następujące pody w swoim pliku pod:
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Java
Dodaj następujące zależności bibliotek do pliku build.gradle
:
implementation 'com.google.android.gms:play-services-ads:22.1.0'
implementation 'com.google.firebase:firebase-analytics:21.3.0'
implementation 'com.google.firebase:firebase-config:21.4.0'
Kotlin+KTX
Dodaj następujące zależności bibliotek do pliku build.gradle
:
implementation 'com.google.android.gms:play-services-ads:22.1.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0'
implementation 'com.google.firebase:firebase-config-ktx:21.4.0'
Jedność
Pobierz i zainstaluj pakiet Firebase Unity SDK, a następnie dodaj do projektu następujące pakiety Unity:
-
FirebaseAnalytics.unitypackage
-
FirebaseRemoteConfig.unitypackage
Skonfiguruj instancję Zdalnej konfiguracji
Aby użyć wartości parametrów Zdalna konfiguracja, skonfiguruj wystąpienie Zdalnej konfiguracji tak, aby było skonfigurowane do pobierania nowych wartości dla wystąpienia aplikacji klienckiej.
W tym przykładzie Zdalna konfiguracja jest skonfigurowana do sprawdzania nowych wartości parametrów raz na godzinę.
Szybki
remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings
Cel C
self.remoteConfig = [FIRRemoteConfig remoteConfig];
FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
remoteConfigSettings.minimumFetchInterval = 3600;
self.remoteConfig.configSettings = remoteConfigSettings;
Java
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(3600)
.build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
Kotlin+KTX
remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)
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 parametry Remote Config, aby można było zacząć używać nowych wartości parametrów.
Musisz wykonać to wywołanie jak najwcześniej w fazie ładowania aplikacji, ponieważ to wywołanie jest asynchroniczne i musisz wstępnie pobrać wartość Zdalnej konfiguracji, aby aplikacja wiedziała, czy wyświetlać 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()
}
Cel C
[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
if (status == FIRRemoteConfigFetchStatusSuccess) {
NSLog(@"Config fetched!");
[self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
// ...
}];
} else {
NSLog(@"Config not fetched");
NSLog(@"Error %@", error.localizedDescription);
}
[self 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();
}
});
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()
}
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 gotowa do obsługi parametru Zdalnej konfiguracji utworzonego podczas konfiguracji testu A/B we wcześniejszej części tego samouczka.
Użyj wartości parametru Zdalna konfiguracja
Użyj wstępnie pobranej wartości Zdalnej konfiguracji w funkcji loadAdUnit()
, aby określić, czy wystąpienie aplikacji powinno pokazywać (wartość parametru true
), czy nie (wartość parametru false
) nową pełnoekranową jednostkę reklamową z nagrodą.
Szybki
private func loadAdUnit() {
let showNewAdFormat = remoteConfig["users"].boolValue
if showNewAdFormat {
// Load Rewarded Interstitial Ad.
// This should load your new implemented ad unit
// as per AdMob instructions (the first step of this tutorial).
} else {
// Show the existing ad unit.
}
}
Cel C
- (void)loadAdUnit {
BOOL showAds = self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;
if (showAds) {
// Load Rewarded Interstitial Ad.
// This should load your new implemented ad unit
// per AdMob instructions (the first step of this tutorial).
} else {
// Show the existing ad unit.
}
}
Java
private void loadAdUnit() {
boolean showNewAdFormat =
mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY);
if (showNewAdFormat) {
// Load Rewarded Interstitial Ad.
// This should load your new implemented ad unit
// per AdMob instructions (the first step of this tutorial).
} else {
// Show the existing ad unit.
}
}
Kotlin+KTX
private fun loadAdUnit() {
var showNewAdFormat = remoteConfig.getBoolean(SHOW_NEW_AD_KEY)
if (showNewAdFormat) {
// Load Rewarded Interstitial Ad.
// This should load your new implemented ad unit
// per AdMob instructions (the first step of this tutorial).
} else {
// Show the existing ad unit.
}
}
Jedność
void LoadAdUnit() {
bool showNewAdFormat =
remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue;
if (showNewAdFormat) {
// Load Rewarded Interstitial Ad (new implemented ad unit)
// per AdMob instructions (the first step of this tutorial).
} else {
// Show the existing ad unit.
}
}
Dodaj inne kontrole dla wartości parametru
Istnieją inne obszary w kodzie aplikacji, w których musisz sprawdzić wartość tego parametru Zdalnej konfiguracji, aby określić, która reklama zostanie załadowana. Na przykład możesz zdecydować, czy ponownie załadować reklamę po tym, jak użytkownik zakończy przeglądanie bieżącej.
Wywołania pobierania i aktywacji należy wykonać jako pierwsze, aby uzyskać jakiekolwiek zmiany wartości parametrów — na przykład, jeśli zdecydujesz się zakończyć lub utworzyć nowy eksperyment.
Stamtąd możesz zawsze sprawdzić wartość parametru za pomocą następujących wywołań:
Szybki
remoteConfig["showNewAdKey"].boolValue
Cel C
self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;
Java
mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY)
Kotlin+KTX
remoteConfig.getBoolean(SHOW_NEW_AD_KEY)
Jedność
remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue
Te wywołania zawsze zwracają tę samą wartość dla wystąpienia aplikacji w zależności od tego, czy zostało ono umieszczone w grupie kontrolnej, czy w nowej grupie wariantów reklamy, chyba że w konsoli Firebase wprowadzono jakiekolwiek zmiany, które zostały pobrane i aktywowane w poprzednich wywołaniach.
Krok 2 : Skonfiguruj test A/B w konsoli FirebaseKrok 4 : Rozpocznij test A/B i sprawdź wyniki testu