ขั้นตอนที่ 3: ตั้งค่า Firebase Remote Config เพื่อแสดงประสบการณ์การใช้งานโฆษณาที่เฉพาะเจาะจง
บทนำ: เพิ่มประสิทธิภาพแบบผสม การสร้างรายได้โดยใช้ AdMob, Google Analytics และ Firebase |
ขั้นตอนที่ 1 ใช้ AdMob เพื่อสร้างหน่วยโฆษณาใหม่สำหรับโฆษณาแบบดิสเพลย์ |
ขั้นตอนที่ 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
ให้เลือกบูลีนคลิกสร้างใหม่ แล้วเลือกสร้างเงื่อนไขใหม่
ทำตามขั้นตอนต่อไปนี้ในกล่องโต้ตอบกำหนดเงื่อนไขใหม่
ในช่อง Name ให้ป้อน
Purchasers Group
(หรืออะไรก็ได้ที่จำง่าย ชื่อที่ระบุได้ของเงื่อนไข)จากเมนูแบบเลื่อนลงใช้หาก... ให้เลือกกลุ่มเป้าหมายที่เป็นผู้ใช้
จากเมนูแบบเลื่อนลงเลือกกลุ่มเป้าหมาย ให้เลือกผู้ซื้อ
คลิกบันทึกเงื่อนไข
กลับไปที่แผงสร้างพารามิเตอร์ ให้ทำตามขั้นตอนต่อไปนี้
สําหรับค่าของกลุ่มผู้ซื้อ ให้เลือก false
เลือก true สําหรับค่าเริ่มต้น
คลิกบันทึก แล้วคลิกเผยแพร่การเปลี่ยนแปลง
การกําหนดค่านี้จะตรวจสอบว่าผู้ใช้อยู่ใน "ผู้ซื้อ" หรือไม่ กลุ่มเป้าหมาย (กล่าวคือ พวกเขาเป็นผู้ใช้ที่จ่ายเงิน):
หากผู้ใช้อยู่ในกลุ่ม "ผู้ซื้อ" จากนั้น Remote Config จะ แสดงผลค่า
false
สำหรับพารามิเตอร์ad_control_switch
หากผู้ใช้ไม่ได้อยู่ใน "ผู้ซื้อ" จากนั้น Remote Config จะแสดงผลค่า
true
สำหรับพารามิเตอร์ad_control_switch
ในขั้นตอนต่อไปนี้คุณจะใช้ Remote Config ในแอปเพื่อ จัดการค่าพารามิเตอร์เหล่านี้
เพิ่ม SDK Remote Config ลงในแอป
ก่อนใช้ Remote Config ในโค้ดของแอปพลิเคชัน ให้เพิ่ม Remote Config SDK ไปยังฐานของโค้ดของแอป โปรดทราบว่าแอปของคุณควร มี 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:22.0.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 เพื่อตรวจหาพารามิเตอร์ใหม่ 1 ครั้งต่อชั่วโมง
Swift
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);
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+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();
}
});
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+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.
}
}
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