Eğitim: AdMob, Google Analytics ve Firebase'i kullanarak karma para kazanma modelini optimize edin

3. Adım: Firebase Remote Config hizmetini, belirli reklam deneyimleri gösterecek şekilde ayarlayın


Giriş: Karma kitleleri optimize edin AdMob, Google Analytics ve Firebase kullanarak para kazanabilirsiniz
1. Adım: Görüntülü Reklam Ağı'nda yayınlanacak yeni reklam birimleri oluşturmak için AdMob kullanın
2. Adım: Ayarlama Google Analytics

. Adım 3: Kurulum Belirli reklam deneyimlerini göstermek için Firebase Remote Config


Son adımın sonunda Google Analytics kitleleri hakkında bilgi edindiniz. İçinde Bu adımda boole kontrollü bir Remote Config parametresi oluşturacaksınız. (diğer adıyla ad_control_switch) "Alıcılar" kitle. Bir sonraki sonra uygulamanızın koduna göre ne göstermesi gerektiğine ilişkin mantığı uygulamanızın koduna ekleyin. parametrenin değerini değiştirin.

Firebase konsolunda Remote Config parametre ve koşulunu ayarlayın

  1. Firebase konsolunda: Firebase projenizi açın.

  2. Soldaki bölmede Etkileşim bölümünü genişletin ve ardından Remote Config.

  3. Yapılandırma oluştur'u (veya Remote Config önce).

  4. Parametre oluştur panelinde aşağıdaki adımları tamamlayın:

    1. Parametre adı alanına ad_control_switch yazın.

    2. Data type açılır menüsünden Boole'u seçin.

    3. Yeni oluştur'u tıklayın ve ardından Yeni koşul oluştur'u seçin.

  5. Yeni bir koşul tanımlayın iletişim kutusunda aşağıdaki adımları tamamlayın:

    1. Name (Ad) alanına Purchasers Group (veya kolayca başka bir ad) girin. belirlenebilir adı kullanabilirsiniz).

    2. Geçerli olduğunda... açılır menüsünden Kullanıcı kitleleri'ni seçin.

    3. Kitleleri seçin açılır menüsünden Alıcılar'ı seçin.

    4. Koşulu kaydet'i tıklayın.

  6. Parametre oluştur paneline dönün ve aşağıdaki adımları tamamlayın:

    1. Alıcılar Grubu'nun Değeri olarak false'u seçin.

    2. Varsayılan değer için true seçeneğini belirleyin.

  7. Kaydet'i ve ardından Değişiklikleri yayınla'yı tıklayın.

Bu yapılandırma, kullanıcının "Alıcılar" bölümünde olup olmadığını kontrol eder kitle (yani, ödeme profili kullanıcısıysa):

  • Kullanıcı "Alıcılar" listesindeyse kitle, daha sonra Remote Config ad_control_switch parametresi için false değerini döndürür.

  • Kullanıcı "Alıcılar" arasında değilse kitle, ardından Remote Config değeri, ad_control_switch parametresi için true değerini döndürür.

Aşağıdaki adımlarda, aşağıdaki işlemler için uygulamanıza Remote Config uygulayacaksınız: bu parametre değerlerini işleyebilir.

Remote Config SDK'sını uygulamanıza ekleyin

Remote Config öğesini uygulama kodunuzda kullanmadan önce Remote Config SDK'sını uygulamanızın kod tabanına ekleyin. Uygulamanızın Google Mobile Ads (AdMob) SDK'sına ve Bu eğiticinin önceki adımlarındaki Firebase için Google Analytics SDK'sını inceleyin.

Swift

Remote Config kapsülünü kapsül dosyanıza ekleyin ve yükleyin:

pod 'Firebase/RemoteConfig'

Android

Remote Config kitaplığı bağımlılığını build.gradle dosyanıza ekleyin:

implementation 'com.google.firebase:firebase-config:22.0.0'

Flutter

Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak Remote Config eklentisi:

flutter pub add firebase_remote_config

Unity

En yeni sürümü indirin ve yükleyin Firebase Unity SDK'sı ve ardından Remote Config paketini projenize ekleyin:
FirebaseRemoteConfig.unitypackage

Remote Config örneğini yapılandırma

Uygulamanızın Remote Config parametre değerlerini kullanabilmesi için Remote Config örneğini kullanarak istemci uygulaması için yeni değerler getirebilir kullanır.

Bu örnekte, Remote Config yeni parametreyi kontrol edecek şekilde yapılandırılmıştır değerlerini yalnızca bir kez kontrol edin.

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");
}

Remote Config öğesini getir ve etkinleştir

Remote Config yeni parametre değerlerini ekleyin.

Bu aramayı, uygulamanızın yükleme aşamasında mümkün olduğunca erken yapmak istiyorsunuz çünkü bu çağrı eşzamansız olduğundan ve Remote Config değerine ihtiyacınız var uygulamanızın reklam gösterip göstermeyeceğini bilmesi için önceden getirilir.

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();
});

Uygulamanız artık sizin belirlediğiniz Remote Config parametresini işleyecek şekilde yapılandırıldı: bu adımın önceki bölümlerinde oluşturulur.

Remote Config parametre değerini kullanın

loadAdUnit() işlevinde önceden getirilen Remote Config değerini kullanarak şu işlemleri yapabilirsiniz: uygulama örneğinin aşağıdakilerden birini yapıp yapmayacağını belirler:

  • ad_control_switch parametre değeri true olarak çözümlenir: Geçiş reklamı (kullanıcının ödeme yapmayan bir kullanıcı olması nedeniyle).

  • ad_control_switch parametre değeri false olarak çözümleniyor: Gösterme bir reklamdır (çünkü kullanıcı ödeme yapan bir kullanıcıdır).

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.
  }
}

Uygulamanızı yayınlama

Reklamı gösterme veya göstermeme mantığı kod tabanınızda yer almadığından, uygulamanızın bu mantığı içeren yeni bir sürümünü yayınlayın.

Bu eğiticinin adımlarını uyguladıysanız uygulamanız hemen başlayacaktır Kullanıcılarınıza özelleştirilmiş bir uygulama içi reklam deneyimi sunar. Web sitemiz g.co/newsinitiative'de AdMob hesabınızda ve Google Analytics'te reklam geliri gösterge tablolarında (Firebase konsolunda veya Google Analytics kullanıcı arayüzünde) kullanılabilir.


Hepsi bu kadar! Karma para kazanmayı optimize etme eğitimini tamamladınız AdMob, Google Analytics ve Firebase kullanarak.




2. Adım: Google Analytics'i ayarlayın