เมื่อเกิดการแสดงผลขึ้น Google Mobile Ads SDK จะเรียกใช้ตัวแฮนเดิลเหตุการณ์ที่เสียค่าใช้จ่ายพร้อมข้อมูลรายได้ที่เกี่ยวข้อง เมื่อใช้ตัวแฮนเดิลนี้ คุณจะสามารถใช้ข้อมูลเพื่อคํานวณมูลค่าตลอดอายุการใช้งานของผู้ใช้ หรือส่งต่อข้อมูลไปยังระบบที่เกี่ยวข้องอื่นๆ ได้
คู่มือนี้มีไว้เพื่อช่วยให้คุณใช้การเก็บรวบรวมข้อมูล LTV ในแอป iOS
ข้อกำหนดเบื้องต้น
- ตรวจสอบว่าคุณได้เปิดใช้ฟีเจอร์รายได้จากโฆษณาระดับการแสดงผลใน UI ของ AdMob แล้ว
- นําเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 9.10.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
คุณต้องติดตั้งใช้งานโฆษณาอย่างน้อย 1 รูปแบบก่อนจึงจะได้รับรายได้จากโฆษณาระดับการแสดงผล
ใช้ตัวจัดการเหตุการณ์แบบเสียค่าใช้จ่าย
โฆษณาแต่ละรูปแบบมีพร็อพเพอร์ตี้ paidEventHandler
ประเภท GADPaidEventHandler
ตลอดอายุการใช้งานของเหตุการณ์โฆษณา Google Mobile Ads SDK จะตรวจสอบเหตุการณ์การแสดงผลและเรียกใช้ตัวแฮนเดิลที่มีมูลค่าที่ได้รับ
Swift
class ViewController: UIViewController, GADFullScreenContentDelegate {
var rewardedAd: GADRewardedAd?
func requestRewardedAd() {
GADRewardedAd.load(
withAdUnitID: "AD_UNIT_ID", request: GADRequest()
) { (ad, error) in
if let error = error {
print("Rewarded ad failed to load with error: \(error.localizedDescription)")
return
}
if let ad = ad {
self.rewardedAd = ad
self.rewardedAd?.paidEventHandler = { adValue in
// TODO: Send the impression-level ad revenue information to your preferred analytics
// server directly within this callback.
// Extract the impression-level ad revenue data.
let value = adValue.value
let precision = adValue.precision
let currencyCode = adValue.currencyCode
// Get the ad unit ID.
let adUnitId = ad.adUnitID
let responseInfo = ad.responseInfo
let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo
let adSourceId = loadedAdNetworkResponseInfo?.adSourceID
let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID
let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName
let adSourceName = loadedAdNetworkResponseInfo?.adSourceName
let mediationGroupName = responseInfo?.extrasDictionary["mediation_group_name"]
let mediationABTestName = responseInfo?.extrasDictionary["mediation_ab_test_name"]
let mediationABTestVariant = responseInfo?.extrasDictionary["mediation_ab_test_variant"]
}
}
}
}
}
Objective-C
@import GoogleMobileAds;
@import UIKit;
@interface ViewController ()
@property(nonatomic, strong) GADRewardedAd *rewardedAd;
@end
@implementation ViewController
- (void)requestRewardedAd {
__weak ViewController *weakSelf = self;
GADRequest *request = [GADRequest request];
[GADRewardedAd
loadWithAdUnitID:@"AD_UNIT_ID"
request:request
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.paidEventHandler = ^void(GADAdValue *_Nonnull value){
ViewController *strongSelf = weakSelf;
// TODO: Send the impression-level ad revenue information to your preferred analytics
// server directly within this callback.
// Extract the impression-level ad revenue data.
NSDecimalNumber *value; = value.value;
NSString *currencyCode = value.currencyCode;
GADAdValuePrecision precision = value.precision;
// Get the ad unit ID.
NSString *adUnitId = strongSelf.rewardedAd.adUnitID;
GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo =
strongSelf.rewardedAd.responseInfo.loadedAdNetworkResponseInfo;
NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName;
NSString *adSourceID = loadedAdNetworkResponseInfo.adSourceID;
NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName;
NSString *adSourceInstanceID = loadedAdNetworkResponseInfo.adSourceInstanceID;
NSDictionary<NSString *, id> *extras = strongSelf.rewardedAd.responseInfo.extrasDictionary;
NSString *mediationGroupName = extras["mediation_group_name"];
NSString *mediationABTestName = extras["mediation_ab_test_name"];
NSString *mediationABTestVariant = extras["mediation_ab_test_variant"];
};
]};
}
ดูข้อมูลเพิ่มเติมเกี่ยวกับแหล่งที่มาของโฆษณาที่ชนะได้ที่ดึงข้อมูลเกี่ยวกับโฆษณาที่แสดง
ผสานรวมกับ App Attribution Partner (AAP)
โปรดดูรายละเอียดทั้งหมดเกี่ยวกับการส่งต่อข้อมูลรายได้จากโฆษณาไปยังแพลตฟอร์มข้อมูลวิเคราะห์ในคู่มือของพาร์ทเนอร์ต่อไปนี้
SDK ของพาร์ทเนอร์ |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
แนวทางปฏิบัติแนะนำในการนำใช้งาน
- ตั้งค่าตัวแฮนเดิลทันทีที่คุณสร้างหรือเข้าถึงออบเจ็กต์โฆษณา และก่อนแสดงโฆษณา วิธีนี้ช่วยให้มั่นใจว่าคุณจะไม่พลาดการติดต่อกลับเหตุการณ์แบบชำระเงิน
- ส่งข้อมูลเหตุการณ์แบบชำระเงินไปยังเซิร์ฟเวอร์ข้อมูลวิเคราะห์ที่ต้องการโดยทันทีเมื่อเรียกใช้เมธอด
paidEventHandler
วิธีนี้ช่วยให้มั่นใจว่าคุณจะไม่ทิ้งการเรียกกลับโดยไม่ตั้งใจและหลีกเลี่ยงความคลาดเคลื่อนของข้อมูล
GADAdValue
GADAdValue
คือคลาสที่แสดงมูลค่าเงินที่ได้รับจากโฆษณา ซึ่งรวมถึงรหัสสกุลเงินของค่าและประเภทความแม่นยำที่เข้ารหัสไว้ดังด้านล่าง
GADAdValuePrecision | คำอธิบาย |
---|---|
GADAdValuePrecisionUnknown
|
ค่าโฆษณาที่ไม่รู้จัก ระบบจะแสดงผลลัพธ์นี้เมื่อเปิดใช้ LTV Pingback แต่มีข้อมูลไม่เพียงพอ |
GADAdValuePrecisionEstimated
|
มูลค่าโฆษณาโดยประมาณจากข้อมูลรวม |
GADAdValuePrecisionPublisherProvided
|
ผู้เผยแพร่โฆษณาเป็นผู้ระบุมูลค่าโฆษณา เช่น CPM ที่กําหนดเองในกลุ่มสื่อกลาง |
GADAdValuePrecisionPrecise
|
มูลค่าที่ตรงกับค่าใช้จ่ายโฆษณานี้ |
ทดสอบการแสดงผลจากแหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคา
หลังจากเหตุการณ์รายได้จากโฆษณาระดับการแสดงผลเกิดขึ้นสําหรับแหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคาผ่านคําขอทดสอบแล้ว คุณจะได้รับเฉพาะค่าต่อไปนี้
GADAdValuePrecisionUnknown
: ระบุประเภทความแม่นยำ
0
: ระบุมูลค่าโฆษณา
ก่อนหน้านี้ คุณอาจเห็นประเภทความแม่นยำเป็นค่าอื่นที่ไม่ใช่ GADAdValuePrecisionUnknown
และมูลค่าโฆษณามากกว่า 0
ดูรายละเอียดเกี่ยวกับการส่งคําขอโฆษณาทดสอบได้ที่หัวข้อเปิดใช้อุปกรณ์ทดสอบ