3. Adım: Uygulamanızın kodunda Remote Config parametre değerlerini işleyin
Giriş: Firebase'i kullanarak yeni AdMob reklam biçimini benimsemeyi test edin |
1. Adım: Test için yeni bir reklam birimi varyantı oluşturmak üzere AdMob'u kullanın |
2. Adım: Firebase konsolunda bir A/B testi kurun |
3. Adım: Uygulamanızın kodunda Remote Config parametre değerlerini işleyin |
4. Adım: A/B testini başlatın ve Firebase konsolunda test sonuçlarını inceleyin |
5. Adım: Yeni reklam biçiminin kullanıma sunulup sunulmayacağına karar verin |
Son adımın sonunda bir Remote Config parametresi ( SHOW_NEW_AD_KEY
) oluşturdunuz. Bu adımda, true
(yeni reklamı göster) ve false
(yeni reklamı gösterme ) parametresinin değerine dayalı olarak uygulamanızın ne göstermesi gerektiğine ilişkin mantığı uygulamanızın koduna ekleyeceksiniz.
Gerekli SDK'ları ekleyin
Uygulama kodunuzda Remote Config'i kullanmadan önce, proje derleme dosyalarınıza hem Remote Config SDK'sını hem de Google Analytics için Firebase SDK'sını ekleyin.
Süratli
Aşağıdaki bölmeleri pod dosyanıza ekleyin ve yükleyin:
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Amaç-C
Aşağıdaki bölmeleri pod dosyanıza ekleyin ve yükleyin:
pod 'Google-Mobile-Ads-SDK'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
Java
build.gradle
dosyanıza aşağıdaki kitaplık bağımlılıklarını ekleyin:
implementation 'com.google.android.gms:play-services-ads:22.4.0'
implementation 'com.google.firebase:firebase-analytics:21.3.0'
implementation 'com.google.firebase:firebase-config:21.4.1'
Kotlin+KTX
build.gradle
dosyanıza aşağıdaki kitaplık bağımlılıklarını ekleyin:
implementation 'com.google.android.gms:play-services-ads:22.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0'
implementation 'com.google.firebase:firebase-config-ktx:21.4.1'
Birlik
Firebase Unity SDK'yı indirip yükleyin, ardından projenize aşağıdaki Unity paketlerini ekleyin:
-
FirebaseAnalytics.unitypackage
-
FirebaseRemoteConfig.unitypackage
Remote Config örneğini yapılandır
Remote Config parametre değerlerini kullanmak için Remote Config örneğini, istemci uygulaması örneği için yeni değerler alacak şekilde ayarlanacak şekilde yapılandırın.
Bu örnekte, Remote Config her saatte bir yeni parametre değerlerini kontrol edecek şekilde yapılandırılmıştır.
Süratli
remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings
Amaç-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)
Birlik
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");
}
Remote Config'i getir ve etkinleştir
Yeni parametre değerlerini kullanmaya başlayabilmesi için Remote Config parametrelerini alın ve etkinleştirin.
Bu çağrı eşzamansız olduğundan ve uygulamanızın reklamı gösterip göstermeyeceğini bilmesi için Remote Config değerinin önceden getirilmesine ihtiyaç duyacağınız için bu çağrıyı uygulamanızın yükleme aşamasında mümkün olduğunca erken yapmak isteyeceksiniz.
Süratli
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()
}
Amaç-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()
}
Birlik
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
Uygulamanız artık bu öğreticide daha önce A/B testi kurulumu sırasında oluşturduğunuz Remote Config parametresini işlemeye hazırdır.
Remote Config parametre değerini kullanın
Uygulama örneğinin yeni ödüllü geçiş reklamı birimini gösterip göstermeyeceğini ( true
parametre değeri ) veya göstermemeyi ( false
parametre değeri ) belirlemek için loadAdUnit()
işlevinde önceden getirilen Remote Config değerini kullanın.
Süratli
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.
}
}
Amaç-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.
}
}
Birlik
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.
}
}
Parametre değeri için başka kontroller ekleyin
Uygulama kodunuzda, hangi reklam deneyiminin yükleneceğini belirlemek için bu Remote Config parametresinin değerini kontrol etmeniz gereken başka alanlar da vardır. Örneğin, kullanıcı mevcut reklamı görüntülemeyi bitirdikten sonra bir reklamın yeniden yüklenip yüklenmeyeceğine karar verebilirsiniz.
Parametre değeri değişikliklerini almak için ilk önce getirme ve etkinleştirme çağrıları yapılmalıdır (örneğin, sonlandırmaya veya yeni bir deneme oluşturmaya karar verirseniz).
Buradan, aşağıdaki çağrıları kullanarak parametrenin değerini her zaman kontrol edebilirsiniz:
Süratli
remoteConfig["showNewAdKey"].boolValue
Amaç-C
self.remoteConfig[@"SHOW_NEW_AD_KEY"].boolValue;
Java
mFirebaseRemoteConfig.getBoolean(SHOW_NEW_AD_KEY)
Kotlin+KTX
remoteConfig.getBoolean(SHOW_NEW_AD_KEY)
Birlik
remoteConfig.GetValue("SHOW_NEW_AD_KEY").BooleanValue
Firebase konsolunda önceki çağrılarda getirilen ve etkinleştirilen herhangi bir değişiklik yapılmadıkça, bu çağrılar, kontrol grubuna mı yoksa yeni reklam varyantı grubuna mı yerleştirildiğine bağlı olarak bir uygulama örneği için her zaman aynı değeri döndürür.
2. Adım : Firebase konsolunda bir A/B testi kurun4. Adım : A/B testini başlatın ve test sonuçlarını