Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Eğitici: Yeni AdMob reklam biçimlerinin benimsenmesini test edin

3. Adım: Uygulamanızın kodunda Remote Config parametre değerlerini işleyin


Giriş: Firebase kullanarak test Yeni AdMob reklam biçimi benimsenmesi
1. Adım: Kullanım AdMob testi için yeni bir reklam birimi varyantı oluşturmak için
Aşama 2: Firebase konsolunda bir A / B testi ayarlama

3. Adım: Uygulamanızın kodunda Remote Config parametre değerlerini işleyin

4. Adım: Başlat A / B testi ve Firebase konsolunda test sonuçlarını gözden
Adım 5: yeni bir reklam biçimi sunmaya karar verin


Son adımda sonunda, bir Uzak Yapılandırma parametre (yarattı SHOW_NEW_AD_KEY ). - Bu adımda, uygulama o parametrenin değerini temel göstermesi gerekir ne için uygulamanızın koduna mantığı ekleriz true karşı (yeni reklamı göstermek) false (yeni reklam gösterme).

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

Sizin için aşağıdaki kütüphane bağımlılıkları ekleyin build.gradle dosyası:

implementation 'com.google.android.gms:play-services-ads:20.4.0'
implementation 'com.google.firebase:firebase-analytics:19.0.2'
implementation 'com.google.firebase:firebase-config:21.0.1'

Kotlin+KTX

Sizin için aşağıdaki kütüphane bağımlılıkları ekleyin build.gradle dosyası:

implementation 'com.google.android.gms:play-services-ads:20.4.0'
implementation 'com.google.firebase:firebase-analytics-ktx:19.0.2'
implementation 'com.google.firebase:firebase-config-ktx:21.0.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

İçinde önceden getirilen Uzaktan Yapılandırma değeri kullan loadAdUnit() uygulaması örneği (parametre değeri göstermesi gerekir belirlemek için işlevin true ) olmadığını (parametre değeri göstermek false ) yeni ödüllendirilir geçiş reklam birimi.

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.




Firebase konsolu içinde bir A / B testi yukarı Set: 2 Adım Başlangıç A / B testi ve yorum test sonuçları: Adım 4