ขั้นตอนที่ 3: ตั้งค่า Firebase Remote Config เพื่อแสดงประสบการณ์การใช้งานโฆษณาที่เฉพาะเจาะจง
| ข้อมูลเบื้องต้น เพิ่มประสิทธิภาพการสร้างรายได้แบบผสม โดยใช้ AdMob, Google Analytics และ Firebase |
| ขั้นตอนที่ 1 ใช้ AdMob เพื่อสร้างหน่วยโฆษณาใหม่สำหรับโฆษณา Display |
| ขั้นตอนที่ 2: ตั้งค่า Google Analytics |
|
ขั้นตอนที่ 3: ตั้งค่า Firebase Remote Config เพื่อแสดงประสบการณ์การใช้งานโฆษณาที่เฉพาะเจาะจง |
ในตอนท้ายของขั้นตอนสุดท้าย คุณได้เรียนรู้เกี่ยวกับกลุ่มเป้าหมาย Google Analytics ในขั้นตอนนี้ คุณจะสร้างRemote Configพารามิเตอร์ที่ควบคุมด้วยบูลีน
(เรียกว่า ad_control_switch) ซึ่งใช้ประโยชน์จากกลุ่มเป้าหมาย "ผู้ซื้อ" จากนั้นคุณจะเพิ่มตรรกะลงในโค้ดของแอปเพื่อกำหนดสิ่งที่แอปควรแสดงตามค่าของพารามิเตอร์นั้น
ตั้งค่าพารามิเตอร์และเงื่อนไข Remote Config ในคอนโซล Firebase
ในคอนโซล Firebase ให้เปิดโปรเจ็กต์ Firebase
ในแผงด้านซ้าย ให้ขยายส่วนมีส่วนร่วม แล้วเลือก Remote Config
คลิกสร้างการกำหนดค่า (หรือเพิ่มพารามิเตอร์หากเคยใช้ Remote Config มาก่อน)
ในแผงสร้างพารามิเตอร์ ให้ทำตามขั้นตอนต่อไปนี้
ในช่องชื่อพารามิเตอร์ ให้ป้อน
ad_control_switchเลือกบูลีนจากเมนูแบบเลื่อนลง
Data typeคลิกสร้างใหม่ แล้วเลือกสร้างเงื่อนไขใหม่
ในกล่องโต้ตอบกําหนดเงื่อนไขใหม่ ให้ทําตามขั้นตอนต่อไปนี้
ในช่องชื่อ ให้ป้อน
Purchasers Group(หรือชื่ออื่นๆ ที่ระบุเงื่อนไขได้ง่าย)จากเมนูแบบเลื่อนลงใช้ในกรณีที่... ให้เลือกกลุ่มเป้าหมายผู้ใช้
จากเมนูแบบเลื่อนลงเลือกกลุ่มเป้าหมาย ให้เลือกผู้ซื้อ
คลิกบันทึกเงื่อนไข
กลับไปที่แผงสร้างพารามิเตอร์ แล้วทำตามขั้นตอนต่อไปนี้
สําหรับค่าของกลุ่มผู้ซื้อ ให้เลือก false
สำหรับค่าเริ่มต้น ให้เลือก true
คลิกบันทึก แล้วคลิกเผยแพร่การเปลี่ยนแปลง
การกำหนดค่านี้จะตรวจสอบว่าผู้ใช้อยู่ในกลุ่มเป้าหมาย "ผู้ซื้อ" หรือไม่ (กล่าวคือ เป็นผู้ใช้แบบชำระเงิน)
หากผู้ใช้อยู่ในกลุ่มเป้าหมาย "ผู้ซื้อ" Remote Config จะ แสดงค่าของ
falseสำหรับพารามิเตอร์ad_control_switchหากผู้ใช้ไม่ได้อยู่ในกลุ่มเป้าหมาย "ผู้ซื้อ" Remote Config จะแสดงค่าของ
trueสำหรับพารามิเตอร์ad_control_switch
ในขั้นตอนต่อไปนี้ คุณจะใช้ Remote Config ในแอปเพื่อจัดการค่าพารามิเตอร์เหล่านี้
เพิ่ม Remote Config SDK ลงในแอป
ก่อนใช้ Remote Config ในโค้ดแอปพลิเคชัน ให้เพิ่ม SDK ของ Remote Config ลงในโค้ดเบสของแอป โปรดทราบว่าแอปของคุณควรมี SDK ของ Google Mobile Ads (AdMob) และ SDK ของ Google Analytics สําหรับ Firebase อยู่แล้วจากขั้นตอนก่อนหน้าของบทแนะนำนี้
Swift
เพิ่มและติดตั้งพ็อด Remote Config ใน Podfile โดยทำดังนี้
pod 'Firebase/RemoteConfig'
Android
เพิ่มทรัพยากร Dependency ของไลบรารี Remote Config ลงในไฟล์ build.gradle
implementation 'com.google.firebase:firebase-config:23.1.0'
Flutter
จากรูทของโปรเจ็กต์ Flutter ให้เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งปลั๊กอิน Remote Config
flutter pub add firebase_remote_config
Unity
ดาวน์โหลดและติดตั้ง
Firebase Unity SDK เวอร์ชันล่าสุด แล้วเพิ่ม
แพ็กเกจ Remote Config ลงในโปรเจ็กต์
FirebaseRemoteConfig.unitypackage
กำหนดค่าอินสแตนซ์ Remote Config
เพื่อให้แอปใช้ค่าพารามิเตอร์ Remote Config ได้ ให้กำหนดค่าอินสแตนซ์ Remote Config เพื่อให้ดึงค่าใหม่สำหรับอินสแตนซ์แอปไคลเอ็นต์ได้
ในตัวอย่างนี้ Remote Config ได้รับการกำหนดค่าให้ตรวจสอบค่าพารามิเตอร์ใหม่ ทุกๆ ชั่วโมง
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
ดึงข้อมูลและเปิดใช้งานพารามิเตอร์ Remote Config เพื่อให้เริ่มใช้ค่าพารามิเตอร์ใหม่ได้
คุณควรเรียกใช้โดยเร็วที่สุดในระยะโหลดข้อมูลของแอป เพราะการเรียกใช้นี้ไม่พร้อมกัน (อะซิงโครนัส) และต้องดึงค่า Remote Config ก่อน เพื่อให้แอปรู้ว่าจะแสดงโฆษณาหรือไม่
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();
});
ตอนนี้แอปได้รับการกำหนดค่าให้จัดการพารามิเตอร์ Remote Config ที่คุณ สร้างไว้ก่อนหน้านี้ในขั้นตอนนี้แล้ว
ใช้Remote Configค่าพารามิเตอร์
ใช้ค่า Remote Config ที่ดึงข้อมูลมาก่อนในฟังก์ชัน loadAdUnit() เพื่อ
พิจารณาว่าอินสแตนซ์แอปควรทำอย่างใดอย่างหนึ่งต่อไปนี้หรือไม่
ค่าพารามิเตอร์
ad_control_switchจะเปลี่ยนเป็นtrue: แสดง โฆษณาคั่นระหว่างหน้า (เนื่องจากผู้ใช้เป็นผู้ใช้ที่ไม่ชำระเงิน)ค่าพารามิเตอร์
ad_control_switchจะเปลี่ยนเป็นfalse: ไม่แสดงโฆษณา (เนื่องจากผู้ใช้เป็นผู้ใช้ที่ชำระเงิน)
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.
}
}
เผยแพร่แอป
เนื่องจากตรรกะในการแสดงโฆษณาหรือไม่แสดงอยู่ในโค้ดเบส คุณจึงต้อง เผยแพร่แอปเวอร์ชันใหม่ที่มีตรรกะนี้
หากคุณทำตามขั้นตอนในบทแนะนำนี้ แอปควรเริ่มแสดงประสบการณ์โฆษณาในแอปที่ปรับแต่งแล้วให้แก่ผู้ใช้ทันที คุณสามารถตรวจสอบรายได้จากโฆษณาได้ทั้งในAdMobบัญชีและในแดชบอร์ด Google Analytics (ทั้งในคอนโซล Firebase หรือ UI ของ Google Analytics)
เพียงเท่านี้ก็เรียบร้อยแล้ว คุณได้ทําตามบทแนะนำสําหรับการเพิ่มประสิทธิภาพการสร้างรายได้แบบไฮบริด โดยใช้ AdMob, Google Analytics และ Firebase เสร็จแล้ว
แหล่งข้อมูลที่เกี่ยวข้อง
ดูคำแนะนำโซลูชันอื่นๆ
ดูวิดีโอชุดเพิ่มรายได้จากแอปด้วย Firebase และ AdMob
ขั้นตอนที่ 2: ตั้งค่า Google Analytics