เมื่อเกิดการแสดงผล SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะเรียกตัวแฮนเดิลเหตุการณ์ที่ชําระเงิน พร้อมข้อมูลรายได้ที่เชื่อมโยง การติดตั้งใช้งานแฮนเดิลนี้จะช่วยให้คุณ ใช้ข้อมูลเพื่อคํานวณมูลค่าตลอดอายุการใช้งานของผู้ใช้ หรือส่งต่อข้อมูล ไปยังระบบอื่นๆ ที่เกี่ยวข้องได้
คู่มือนี้มีไว้เพื่อช่วยคุณติดตั้งใช้งานการบันทึกข้อมูล LTV ในแอป iOS
ข้อกำหนดเบื้องต้น
- ตรวจสอบว่าคุณได้เปิดฟีเจอร์รายได้จากโฆษณาระดับการแสดงผลใน UI ของ AdMob แล้ว
- นำเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 9.10.0 ขึ้นไป
- ทำตามคู่มือเริ่มต้นใช้งาน
ก่อนที่จะได้รับรายได้จากโฆษณาระดับการแสดงผล คุณต้องใช้รูปแบบโฆษณาอย่างน้อย 1 รูปแบบต่อไปนี้
ใช้ตัวจัดการเหตุการณ์แบบเสียค่าใช้จ่าย
โฆษณาแต่ละรูปแบบมีpaidEventHandler
พร็อพเพอร์ตี้ประเภท
GADPaidEventHandler
ในระหว่างวงจรของเหตุการณ์โฆษณา Google Mobile Ads SDK จะตรวจสอบ
เหตุการณ์การแสดงผลและเรียกใช้แฮนเดิลด้วยมูลค่าที่ได้รับ
Swift
class ViewController: UIViewController, FullScreenContentDelegate {
var rewardedAd: RewardedAd?
func requestRewardedAd() {
RewardedAd.load(
with: "AD_UNIT_ID", request: Request()
) { (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?.extras["mediation_group_name"]
let mediationABTestName = responseInfo?.extras["mediation_ab_test_name"]
let mediationABTestVariant = responseInfo?.extras["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"];
};
]};
}
ระบุชื่อแหล่งที่มาของโฆษณาเหตุการณ์ที่กำหนดเอง
สําหรับแหล่งที่มาของโฆษณาเหตุการณ์ที่กําหนดเอง พร็อพเพอร์ตี้ adSourceName
จะให้ชื่อแหล่งที่มาของโฆษณา Custom event
หากคุณใช้เหตุการณ์ที่กำหนดเองหลายรายการ ชื่อแหล่งที่มาของโฆษณาจะมีความละเอียดไม่เพียงพอที่จะแยกความแตกต่างระหว่างเหตุการณ์ที่กำหนดเองหลายรายการ หากต้องการค้นหาเหตุการณ์ที่กำหนดเองที่เฉพาะเจาะจง ให้ทำตามขั้นตอนต่อไปนี้
- รับพร็อพเพอร์ตี้
adNetworkClassName
- ตั้งชื่อแหล่งที่มาของโฆษณาที่ไม่ซ้ำกัน
ตัวอย่างต่อไปนี้จะตั้งชื่อแหล่งที่มาของโฆษณาที่ไม่ซ้ำกันสำหรับเหตุการณ์ที่กำหนดเอง
Swift
func uniqueAdSourceName(for loadedAdNetworkResponseInfo: AdNetworkResponseInfo) -> String {
var adSourceName: String = loadedAdNetworkResponseInfo.adSourceName ?? ""
if adSourceName == "Custom Event" {
if loadedAdNetworkResponseInfo.adNetworkClassName
== "MediationExample.SampleCustomEventSwift"
{
adSourceName = "Sample Ad Network (Custom Event)"
}
}
return adSourceName
}
Objective-C
- (NSString *)uniqueAdSourceNameForAdNetworkResponseInfo:
(GADAdNetworkResponseInfo *)loadedAdNetworkResponseInfo {
NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName;
if ([adSourceName isEqualToString:@"Custom Event"]) {
if ([loadedAdNetworkResponseInfo.adNetworkClassName isEqualToString:@"SampleCustomEvent"]) {
adSourceName = @"Sample Ad Network (Custom Event)";
}
}
return adSourceName;
}
ดูข้อมูลเพิ่มเติมเกี่ยวกับแหล่งที่มาของโฆษณาที่ชนะได้ที่ดึงข้อมูลเกี่ยวกับ การตอบกลับโฆษณา
ผสานรวมกับ App Attribution Partner (AAP)
โปรดดูรายละเอียดทั้งหมดเกี่ยวกับการส่งต่อข้อมูลรายได้จากโฆษณาไปยังแพลตฟอร์มข้อมูลวิเคราะห์ ในคู่มือของพาร์ทเนอร์
SDK ของพาร์ทเนอร์ |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
แนวทางปฏิบัติแนะนำสำหรับการนำไปใช้
- ตั้งค่าแฮนเดิลทันทีเมื่อสร้างหรือได้รับสิทธิ์เข้าถึงออบเจ็กต์โฆษณา และก่อนที่จะแสดงโฆษณา ซึ่งจะช่วยให้คุณไม่พลาด การเรียกกลับของกิจกรรมแบบชำระเงิน
- ส่งข้อมูลกิจกรรมแบบชำระเงินไปยังเซิร์ฟเวอร์การวิเคราะห์ที่คุณต้องการ
ทันทีเมื่อมีการเรียกใช้
paidEventHandler
วิธีนี้ช่วยให้มั่นใจได้ว่าคุณจะไม่พลาดการเรียกกลับโดยไม่ได้ตั้งใจและหลีกเลี่ยงความคลาดเคลื่อนของข้อมูล
GADAdValue
GADAdValue
คือคลาสที่แสดงมูลค่าทางการเงินที่ได้รับจากโฆษณา
รวมถึงรหัสสกุลเงินของมูลค่าและประเภทความแม่นยำที่เข้ารหัสดังต่อไปนี้
GADAdValuePrecision | คำอธิบาย |
---|---|
GADAdValuePrecisionUnknown
|
มูลค่าโฆษณาที่ไม่รู้จัก ระบบจะแสดงผลข้อความนี้เมื่อเปิดใช้การรายงานผล Conversion ของ LTV แต่มีข้อมูลไม่เพียงพอ |
GADAdValuePrecisionEstimated
|
มูลค่าโฆษณาโดยประมาณจากข้อมูลรวม |
GADAdValuePrecisionPublisherProvided
|
ผู้เผยแพร่โฆษณาเป็นผู้ระบุมูลค่าโฆษณา เช่น CPM ที่กําหนดเองในกลุ่มสื่อกลาง |
GADAdValuePrecisionPrecise
|
มูลค่าที่ตรงกับค่าใช้จ่ายโฆษณานี้ |
ทดสอบการแสดงผลจากแหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคา
หลังจากเหตุการณ์รายได้จากโฆษณาระดับการแสดงผลเกิดขึ้นสำหรับ แหล่งที่มาของโฆษณาที่เสนอราคาผ่านคำขอทดสอบ คุณจะได้รับเฉพาะค่าต่อไปนี้
GADAdValuePrecisionUnknown
: ระบุประเภทความแม่นยำ
0
: ระบุมูลค่าโฆษณา
ก่อนหน้านี้ คุณอาจเห็นประเภทความแม่นยำเป็นค่าอื่นที่ไม่ใช่
GADAdValuePrecisionUnknown
และมูลค่าโฆษณามากกว่า 0
ดูรายละเอียดเกี่ยวกับการส่งคำขอโฆษณาทดสอบได้ที่ เปิดใช้อุปกรณ์ทดสอบ