3. Adım: Belirli reklam deneyimlerini göstermek için Firebase Remote Config'i kurun
Giriş: AdMob, Google Analytics ve Firebase'i kullanarak karma para kazanmayı optimize edin |
1. Adım: Görüntülü reklamlara yönelik yeni reklam birimleri oluşturmak için AdMob'u kullanın |
2. Adım: Google Analytics'i kurun |
3. Adım: Belirli reklam deneyimlerini göstermek için Firebase Remote Config'i kurun |
Son adımın sonunda Google Analytics kitlelerini öğrendiniz. Bu adımda, "Satın Almacılar" kitlesinden yararlanan, Remote Config boolean kontrollü bir parametre ( ad_control_switch
adı verilen) oluşturacaksınız. Daha sonra, söz konusu parametrenin değerine göre uygulamanızın ne göstermesi gerektiğine ilişkin mantığı uygulamanızın koduna ekleyeceksiniz.
Firebase konsolunda Remote Config parametrelerini ve koşullarını ayarlayın
Firebase konsolunda Firebase projenizi açın.
Sol taraftaki bölmede Engage bölümünü genişletin ve ardından Remote Config'i seçin.
Yapılandırma oluştur'a (veya daha önce Remote Config'i kullandıysanız Parametre ekle ) tıklayın.
Parametre oluştur panelinde aşağıdaki adımları tamamlayın:
Parametre adı alanına
ad_control_switch
değerini girin.Data type
açılır menüsünden Boolean öğesini seçin.Yeni oluştur'u tıklayın ve ardından Yeni koşul oluştur'u seçin.
Yeni bir koşul tanımla iletişim kutusunda aşağıdaki adımları tamamlayın:
Ad alanına
Purchasers Group
(veya koşul için kolayca tanımlanabilen başka bir adı) girin.Şu durumda geçerlidir: açılır menüsünden Kullanıcı kitlesi/hedefleri seçeneğini seçin.
Kitleleri seç açılır menüsünden Satın Alanlar'ı seçin.
Durumu kaydet'i tıklayın.
Parametre oluştur paneline döndüğünüzde aşağıdaki adımları tamamlayın:
Alıcı Grubunun Değeri için yanlış seçeneğini seçin.
Varsayılan değer için doğruyu 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 ödeme yapan bir kullanıcı olup olmadığını) kontrol edecektir:
Kullanıcı "Satın Almacılar" kitlesindeyse Remote Config,
ad_control_switch
parametresi içinfalse
değerini döndürecektir.Kullanıcı "Satın Almacılar" kitlesinde değilse Remote Config,
ad_control_switch
parametresi içintrue
değerini döndürecektir.
Aşağıdaki adımlarda, bu parametre değerlerini işlemek için uygulamanızda Remote Config'i uygulayacaksınız.
Remote Config SDK'yı uygulamanıza ekleyin
Uygulama kodunuzda Remote Config'i kullanmadan önce Remote Config SDK'sını uygulamanızın kod tabanına ekleyin. Uygulamanızın, bu eğitimin önceki adımlarında yer alan Google Mobile Ads (AdMob) SDK'sına ve Firebase için Google Analytics SDK'sına zaten sahip olması gerektiğini unutmayın.
Süratli
Remote Config bölmesini pod 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:21.6.3'
çarpıntı
Flutter projenizin kökünden Remote Config eklentisini yüklemek için aşağıdaki komutu çalıştırın:
flutter pub add firebase_remote_config
Birlik
En son 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ğerler getirebilecek şekilde yapılandırın.
Bu örnekte Remote Config, yeni parametre değerlerini saatte bir kontrol edecek şekilde yapılandırılmıştır.
Süratli
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);
çarpıntı
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');
});
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 parametresini getirip etkinleştirin.
Bu çağrıyı uygulamanızın yükleme aşamasında mümkün olduğunca erken yapmak istiyorsunuz çünkü bu çağrı eşzamansızdır ve uygulamanızın bir reklam gösterip göstermeyeceğini bilmesi için Remote Config değerinin önceden getirilmesi gerekir.
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()
}
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();
}
});
çarpıntı
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();
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 adımda daha önce oluşturduğunuz Remote Config parametresini işleyecek şekilde yapılandırılmıştır.
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 getirilen Remote Config değerini kullanın:
ad_control_switch
parametre değeritrue
olarak çözümlenir: geçiş reklamını gösterir (çünkü kullanıcı ödeme yapmayan bir kullanıcıdır).ad_control_switch
parametre değerifalse
olarak çözümlenir: reklamı gösterme (çünkü kullanıcı ödeme yapan bir kullanıcıdır).
Süratli
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.
}
}
çarpıntı
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.
}
}
Birlik
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ınlayın
Reklamın gösterilip gösterilmemesinin mantığı kod tabanınızda olduğundan, uygulamanızın bu mantığı içeren yeni bir sürümünü yayınlamanız gerekir.
Bu eğitimin adımlarını izlediyseniz uygulamanız, kullanıcılarınıza özelleştirilmiş bir uygulama içi reklam deneyimi sunmaya hemen 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.
Ve bu kadar! AdMob, Google Analytics ve Firebase'i kullanarak karma para kazanmayı optimize etmeye yönelik eğiticiyi tamamladınız.
Alakalı kaynaklar
Başka bir çözüm kılavuzuna göz atın:
Bir video serisi izleyin: Uygulama gelirinizi Firebase ve AdMob ile optimize edin
2. Adım: Google Analytics'i kurun