Langkah 3: Siapkan Firebase Remote Config untuk menampilkan pengalaman iklan tertentu
Pengantar: Mengoptimalkan monetisasi campuran menggunakan AdMob, Google Analytics, dan Firebase |
Langkah 1: Gunakan AdMob untuk membuat unit iklan baru yang akan ditampilkan |
Langkah 2: Siapkan Google Analytics |
Langkah 3: Siapkan Firebase Remote Config untuk menampilkan pengalaman iklan tertentu |
Di akhir langkah terakhir, Anda telah mempelajari audiens Google Analytics. Pada
langkah ini, Anda akan membuat parameter Remote Config yang dikontrol boolean
(disebut ad_control_switch
) yang memanfaatkan audiens "Pembeli". Kemudian, Anda akan menambahkan logika ke kode aplikasi untuk hal yang harus ditampilkan aplikasi Anda berdasarkan nilai parameter tersebut.
Menyiapkan parameter dan kondisi Remote Config di Firebase console
Di Firebase console, buka project Firebase Anda.
Di panel sebelah kiri, luaskan bagian Engage, lalu pilih Remote Config.
Klik Create configuration (atau Add parameter jika Anda telah menggunakan Remote Config sebelumnya).
Di panel Create parameter, selesaikan langkah-langkah berikut:
Di kolom Parameter name, masukkan
ad_control_switch
.Dari menu dropdown
Data type
, pilih Boolean.Klik Buat baru, lalu pilih Buat kondisi baru.
Dalam dialog Define a new condition, selesaikan langkah-langkah berikut:
Di kolom Name, masukkan
Purchasers Group
(atau nama lain yang mudah diidentifikasi untuk kondisi tersebut).Dari menu dropdown Berlaku jika..., pilih Audiens pengguna.
Dari menu dropdown Pilih audiens, pilih Pembeli.
Klik Simpan kondisi.
Kembali ke panel Create parameter, selesaikan langkah-langkah berikut:
Untuk Nilai Purchasers Group, pilih false.
Untuk Nilai default, pilih true.
Klik Simpan, lalu Publikasikan perubahan.
Konfigurasi ini akan memeriksa apakah pengguna berada dalam audiens "Pembeli" (yaitu, mereka adalah pengguna yang membayar):
Jika pengguna berada dalam audiens "Pembeli", Remote Config akan menampilkan nilai
false
untuk parameterad_control_switch
.Jika pengguna tidak berada di audiens "Pembeli", Remote Config akan menampilkan nilai
true
untuk parameterad_control_switch
.
Pada langkah-langkah berikut, Anda akan menerapkan Remote Config di aplikasi untuk menangani parameter value ini.
Menambahkan Remote Config SDK ke aplikasi
Sebelum menggunakan Remote Config dalam kode aplikasi, tambahkan Remote Config SDK ke codebase aplikasi Anda. Perhatikan bahwa aplikasi Anda seharusnya sudah memiliki Google Mobile Ads (AdMob) SDK dan Google Analytics for Firebase SDK dari langkah-langkah sebelumnya dalam tutorial ini.
Swift
Tambahkan dan instal pod Remote Config di podfile Anda:
pod 'Firebase/RemoteConfig'
Android
Tambahkan dependensi library Remote Config ke file build.gradle
Anda:
implementation 'com.google.firebase:firebase-config:22.0.1'
Flutter
Dari root project Flutter Anda, jalankan perintah berikut untuk menginstal plugin Remote Config:
flutter pub add firebase_remote_config
Unity
Download dan instal Firebase Unity SDK terbaru, lalu tambahkan paket Remote Config ke project Anda:
FirebaseRemoteConfig.unitypackage
Mengonfigurasi instance Remote Config
Agar aplikasi Anda dapat menggunakan parameter value Remote Config, konfigurasikan instance Remote Config agar dapat mengambil nilai baru untuk instance aplikasi klien.
Dalam contoh ini, Remote Config dikonfigurasi untuk memeriksa parameter value baru sekali setiap jam.
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");
}
Mengambil dan mengaktifkan Remote Config
Ambil dan aktifkan parameter Remote Config agar dapat mulai menggunakan parameter value baru.
Sebaiknya lakukan panggilan ini sedini mungkin dalam fase pemuatan aplikasi Anda karena panggilan ini bersifat asinkron dan Anda memerlukan nilai Remote Config yang diambil sebelumnya agar aplikasi dapat mengetahui apakah akan menampilkan iklan atau tidak.
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();
});
Aplikasi Anda kini dikonfigurasi untuk menangani parameter Remote Config yang Anda buat sebelumnya di langkah ini.
Menggunakan parameter value Remote Config
Gunakan nilai Remote Config yang diambil sebelumnya dalam fungsi loadAdUnit()
untuk menentukan apakah instance aplikasi harus melakukan salah satu hal berikut:
Nilai parameter
ad_control_switch
di-resolve ketrue
: tampilkan iklan interstisial (karena pengguna adalah pengguna yang tidak membayar).Nilai parameter
ad_control_switch
di-resolve kefalse
: jangan tampilkan iklan (karena pengguna adalah pengguna yang membayar).
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.
}
}
Merilis aplikasi
Karena logika untuk menampilkan iklan atau tidak berada dalam codebase, Anda perlu merilis versi baru aplikasi yang berisi logika ini.
Jika Anda mengikuti langkah-langkah tutorial ini, aplikasi akan segera mulai menayangkan pengalaman iklan dalam aplikasi yang disesuaikan kepada pengguna. Anda dapat memantau pendapatan iklan di akun AdMob dan di dasbor Google Analytics (baik di konsol Firebase maupun UI Google Analytics).
Dan selesai! Anda telah menyelesaikan tutorial untuk mengoptimalkan monetisasi campuran menggunakan AdMob, Google Analytics, dan Firebase.
Referensi terkait
Lihat panduan solusi lainnya:
Tonton serial video: Mengoptimalkan pendapatan aplikasi Anda dengan Firebase dan AdMob
Langkah 2: Siapkan Google Analytics