เมื่อมีการแสดงผล Google Mobile Ads SDK จะเรียกเครื่องจัดการเหตุการณ์ที่เสียค่าใช้จ่ายด้วยข้อมูลรายได้ที่เกี่ยวข้อง การนำเครื่องจัดการนี้ไปใช้จะทำให้คุณใช้ข้อมูลเพื่อคำนวณมูลค่าตลอดอายุการใช้งานของผู้ใช้หรือส่งต่อข้อมูลดาวน์สตรีมไปยังระบบที่เกี่ยวข้องอื่นๆ ได้
คู่มือนี้มีจุดประสงค์เพื่อช่วยคุณใช้งานการบันทึกข้อมูล LTV ในแอป iOS
ข้อกำหนดเบื้องต้น
- ตรวจสอบว่าคุณได้เปิดใช้ฟีเจอร์รายได้จากโฆษณาระดับการแสดงผลใน UI ของ AdMob แล้ว
- นำเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 9.10.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
คุณต้องใช้โฆษณาอย่างน้อย 1 รูปแบบ จึงจะรับรายได้จากโฆษณาระดับการแสดงผลได้
การใช้เครื่องจัดการเหตุการณ์ที่เสียค่าใช้จ่าย
โฆษณาแต่ละรูปแบบมีพร็อพเพอร์ตี้ paidEventHandler
ประเภท GADPaidEventHandler
ในระหว่างวงจรเหตุการณ์โฆษณา SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะตรวจสอบเหตุการณ์การแสดงผลและเรียกตัวแฮนเดิลที่มีค่าที่ได้รับ
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"];
};
]};
}
ดูข้อมูลเพิ่มเติมเกี่ยวกับแหล่งที่มาของโฆษณาที่ชนะได้ที่ดึงข้อมูลเกี่ยวกับการตอบกลับโฆษณา
การผสานรวมกับพาร์ทเนอร์การระบุแหล่งที่มาของแอป (AAP)
สำหรับรายละเอียดทั้งหมดเกี่ยวกับการส่งต่อข้อมูลรายได้จากโฆษณาไปยังแพลตฟอร์มการวิเคราะห์ โปรดดูคู่มือของพาร์ทเนอร์
SDK ของพาร์ทเนอร์ |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
แนวทางปฏิบัติแนะนำสำหรับการนำไปใช้
- ตั้งค่าเครื่องจัดการทันทีเมื่อคุณสร้างหรือเข้าถึงออบเจ็กต์โฆษณา และต้องแสดงโฆษณาก่อนที่จะแสดงโฆษณา ซึ่งจะช่วยให้จะไม่พลาดการเรียกกลับ เหตุการณ์ที่เสียค่าใช้จ่าย
- ส่งข้อมูลเหตุการณ์ที่เสียค่าใช้จ่ายไปยังเซิร์ฟเวอร์การวิเคราะห์ที่ต้องการทันทีเมื่อมีการเรียกเมธอด
paidEventHandler
การทำเช่นนี้จะช่วยให้คุณไม่ทิ้งโค้ดเรียกกลับโดยไม่ตั้งใจและหลีกเลี่ยงความคลาดเคลื่อนของข้อมูล
GADAdValue
GADAdValue
เป็นคลาสที่แสดงมูลค่าเงินที่ได้รับจากโฆษณา ซึ่งรวมถึงรหัสสกุลเงินของค่าและประเภทความแม่นยําที่เข้ารหัสด้านล่าง
GADAdValuePrecision | คำอธิบาย |
---|---|
GADAdValuePrecisionUnknown
|
ค่าโฆษณาที่ไม่รู้จัก ระบบจะแสดงผลข้อมูลนี้เมื่อเปิดใช้ Pingback ของ LTV แต่มีข้อมูลไม่เพียงพอ |
GADAdValuePrecisionEstimated
|
มูลค่าโฆษณาโดยประมาณจากข้อมูลรวม |
GADAdValuePrecisionPublisherProvided
|
ผู้เผยแพร่โฆษณาเป็นผู้ระบุมูลค่าโฆษณา เช่น CPM ที่กําหนดเองในกลุ่มสื่อกลาง |
GADAdValuePrecisionPrecise
|
ค่าที่แน่นอนที่จ่ายให้กับโฆษณานี้ |