ขั้นตอนที่ 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 มาก่อน)
ในแผงสร้างพารามิเตอร์ ให้ทำตามขั้นตอนต่อไปนี้
ป้อน
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 ในโค้ดแอปพลิเคชัน ให้เพิ่ม Remote Config SDK ลงในโค้ดเบสของแอป โปรดทราบว่าแอปของคุณควรมี Google Mobile Ads (AdMob) SDK และ SDK ของ Google Analytics สําหรับ Firebase จากขั้นตอนก่อนหน้าของบทแนะนํานี้อยู่แล้ว
Swift
เพิ่มและติดตั้งพ็อด Remote Config ใน podfile
pod 'Firebase/RemoteConfig'
Android
เพิ่มการพึ่งพาไลบรารี Remote Config ลงในไฟล์ build.gradle
implementation 'com.google.firebase:firebase-config:22.0.1'
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 (ในคอนโซล AdMob หรือ UI ของ Google Analytics)Firebase
เท่านี้ก็เรียบร้อย คุณได้ทําตามบทแนะนําเพื่อเพิ่มประสิทธิภาพการสร้างรายได้แบบผสมโดยใช้ AdMob, Google Analytics และ Firebase จนเสร็จสมบูรณ์แล้ว
แหล่งข้อมูลที่เกี่ยวข้อง
ดูคำแนะนำโซลูชันอื่นๆ ได้ที่
ดูซีรีส์วิดีโอ: เพิ่มรายได้จากแอปด้วย Firebase และ AdMob
ขั้นตอนที่ 2: ตั้งค่า Google Analytics