3. adım: Firebase Remote Config'ı belirli reklam deneyimlerini gösterecek şekilde ayarlayın
| Giriş: AdMob, Google Analytics ve Firebase'i kullanarak karma para kazanma yöntemini optimize etme |
| 1. adım: Görüntülü reklamlar için yeni reklam birimleri oluşturmak üzere AdMob simgesini kullanın. |
| 2. adım: Google Analytics'i ayarlayın |
|
3. adım: Belirli reklam deneyimlerini göstermek için Firebase Remote Config ayarlarını yapın |
Son adımın sonunda Google Analytics kitleleri hakkında bilgi edindiniz. Bu adımda, "Satın alanlar" kitlesinden yararlanan bir Remote Config boolean kontrollü parametre
(ad_control_switch olarak adlandırılır) oluşturacaksınız. Ardından, uygulamanızın bu parametrenin değerine göre ne göstermesi gerektiğiyle ilgili mantığı uygulamanızın koduna eklersiniz.
Firebase konsolunda Remote Config parametrelerini ve koşullarını ayarlama
Firebase konsolunda Firebase projenizi açın.
Soldaki bölmede Etkileşim bölümünü genişletin ve Remote Config'i seçin.
Yapılandırma oluştur'u (veya daha önce Remote Config kullandıysanız Parametre ekle'yi) tıklayın.
Parametre oluştur panelinde aşağıdaki adımları tamamlayın:
Parametre adı alanına
ad_control_switchgirin.Data typeaçılır menüsünden Boolean'ı seçin.Yeni oluştur'u tıklayın ve Yeni koşul oluştur'u seçin.
Yeni bir koşul tanımlayın iletişim kutusunda aşağıdaki adımları tamamlayın:
Ad alanına
Purchasers Group(veya koşul için kolayca tanımlanabilir başka bir ad) girin.Geçerli olduğu durumlar... açılır menüsünden Kullanıcı kitleleri'ni seçin.
Kitleleri seçin açılır menüsünden Satın alanlar'ı seçin.
Koşulu kaydet'i tıklayın.
Parametre oluştur paneline dönerek aşağıdaki adımları tamamlayın:
Purchasers Group (Satın Alanlar Grubu) Değeri için false'u seçin.
Varsayılan değer için true'yu seçin.
Kaydet'i ve ardından Değişiklikleri yayınla'yı tıklayın.
Bu yapılandırma, kullanıcının "Satın Alanlar" kitlesinde olup olmadığını (yani ücretli kullanıcı olup olmadığını) kontrol eder:
Kullanıcı "Alıcılar" kitlesindeyse Remote Config,
ad_control_switchparametresi içinfalsedeğerini döndürür.Kullanıcı "Satın Alanlar" kitlesinde değilse Remote Config,
ad_control_switchparametresi içintruedeğerini döndürür.
Aşağıdaki adımlarda, bu parametre değerlerini işlemek için uygulamanızda Remote Config'ı uygulayacaksınız.
Uygulamanıza Remote Config SDK'sını ekleme
Uygulama kodunuzda Remote Config kullanmadan önce uygulamanızın kod tabanına Remote Config SDK'sını ekleyin. Uygulamanızda bu eğitimin önceki adımlarından Google Mobile Ads (AdMob) SDK'sının ve Firebase için Google Analytics SDK'sının yüklü olması gerektiğini unutmayın.
Swift
Podfile dosyanıza Remote Config kapsülünü ekleyin ve yükleyin:
pod 'Firebase/RemoteConfig'
Android
Remote Config kitaplık bağımlılığını build.gradle dosyanıza ekleyin:
implementation 'com.google.firebase:firebase-config:23.1.0'
Flutter
Remote Config eklentisini yüklemek için Flutter projenizin kökünden aşağıdaki komutu çalıştırın:
flutter pub add firebase_remote_config
Unity
En yeni Firebase Unity SDK'yı indirip yükleyin 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, istemci uygulaması örneği için yeni değerleri alacak ş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.
Swift
remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings
Kotlin
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 değerlerini getirin ve etkinleştirin
Yeni parametre değerlerini kullanmaya başlayabilmesi için Remote Config parametresini 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 getirilmiş olması gerektiğinden, bu çağrıyı uygulamanızın yükleme aşamasında mümkün olduğunca erken yapmak istersiniz.
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
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 bu adımda daha önce oluşturduğunuz Remote Config parametresini işleyecek şekilde yapılandırıldı.
Remote Config parametre değerini kullanın
Uygulama örneğinin aşağıdakilerden birini yapıp yapmayacağını belirlemek için loadAdUnit() işlevinde önceden getirilmiş Remote Config değerini kullanın:
ad_control_switchparametre değeritrueolarak çözümlenir: Geçiş reklamını gösterin (çünkü kullanıcı ücretli olmayan bir kullanıcıdır).ad_control_switchparametre değerifalseolarak çözümlenir: Reklamı gösterme (çünkü kullanıcı ücretli 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
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ın gösterilip gösterilmeyeceğine dair mantık kod tabanınızda olduğundan, bu mantığı içeren yeni bir uygulama sürümü yayınlamanız gerekir.
Bu eğitici programdaki adımları uyguladıysanız uygulamanız, kullanıcılarınıza anında özelleştirilmiş bir uygulama içi reklam deneyimi sunmaya başlamalıdır. Reklam gelirinizi hem AdMob hesabınızda hem de Google Analytics kontrol panellerinde (Firebase konsolunda veya Google Analytics kullanıcı arayüzünde) izleyebilirsiniz.
Hepsi bu kadar. AdMob, Google Analytics ve Firebase kullanarak karma para kazanmayı optimize etme eğitimini tamamladınız.
İlgili kaynaklar
Diğer çözüm kılavuzlarına göz atın:
Video serisini izleyin: Firebase ve ile uygulama gelirinizi optimize etme AdMob
2. adım: Google Analytics'i ayarlayın