โฆษณาที่โหลดสำเร็จจะมีออบเจ็กต์ GADResponseInfo
เพื่อช่วยในการแก้ไขข้อบกพร่องและการบันทึก ออบเจ็กต์นี้มีข้อมูลเกี่ยวกับโฆษณาที่โหลด นอกเหนือจากข้อมูลเกี่ยวกับ Waterfall ของสื่อกลางที่ใช้โหลดโฆษณา
ในกรณีที่โฆษณาโหลดสำเร็จ ออบเจ็กต์โฆษณาจะมีพร็อพเพอร์ตี้ GADResponseInfo
เช่น GADInterstitialAd.responseInfo
รับข้อมูลการตอบสนองของโฆษณาคั่นระหว่างหน้าที่โหลด
ในกรณีที่มีการโหลดโฆษณาไม่สำเร็จและมีเฉพาะข้อผิดพลาด ระบบจะแสดง GADResponseInfo
โดยใช้คีย์ GADErrorUserInfoKeyResponseInfo
ในพจนานุกรม userInfo
ของข้อผิดพลาด
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request ) { (ad, error) in if let error = error { let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? GADResponseInfo print("\(String(describing: responseInfo))") return } let responseInfo = ad?.responseInfo print("\(String(describing: responseInfo))") } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo]; NSLog(@"%@", responseInfo.description); return; } GADResponseInfo *responseInfo = ad.responseInfo; NSLog(@"%@", responseInfo.description); }]; }
ข้อมูลคำตอบ
ต่อไปนี้คือตัวอย่างเอาต์พุตที่แสดงข้อมูลการแก้ไขข้อบกพร่องที่แสดงผลสำหรับโฆษณาที่โหลด
** Response Info **
Response ID: CLz5r-KMtfoCFQvv7QodfGAMHw
Network: GADMAdapterGoogleAdMobAds
** Loaded Adapter Response **
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:Reservation campaign
Ad Source ID:7068401028668408324
Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
AdUnitMapping:
{
}
Error: (null)
Latency: 0.357
** Extras Dictionary **
{
"mediation_group_name" = Campaign;
}
** Mediation line items **
Entry (1)
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:Reservation campaign
Ad Source ID:7068401028668408324
Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
AdUnitMapping:
{
}
Error: (null)
Latency: 0.357
พร็อพเพอร์ตี้ใน GADResponseInfo
มีดังนี้
พร็อพเพอร์ตี้ | คำอธิบาย |
---|---|
adNetworkInfoArray |
แสดงรายการของ GADAdNetworkResponseInfo ที่มีข้อมูลเมตาสำหรับอะแดปเตอร์แต่ละตัวที่รวมอยู่ในการตอบกลับโฆษณา ใช้เพื่อแก้ไขข้อบกพร่องของสื่อกลาง Waterfall และการดำเนินการเสนอราคาได้ ลำดับของรายการตรงกับลำดับการแสดงโฆษณาสื่อกลางตามลำดับขั้นสำหรับคำขอโฆษณานี้
ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลการตอบกลับอะแดปเตอร์ |
loadedAdNetworkResponseInfo |
แสดง GADAdNetworkResponseInfo ที่สอดคล้องกับอะแดปเตอร์ที่โหลดโฆษณา |
adNetworkClassName |
แสดงชื่อคลาสอะแดปเตอร์สื่อกลางของเครือข่ายโฆษณาที่โหลดโฆษณา |
responseIdentifier |
ตัวระบุการตอบกลับเป็นตัวระบุที่ไม่ซ้ำกันสําหรับการตอบกลับโฆษณา คุณใช้ตัวระบุนี้เพื่อระบุและบล็อกโฆษณาในศูนย์ตรวจสอบโฆษณา (ARC) ได้ |
extrasDictionary |
แสดงข้อมูลเพิ่มเติมเกี่ยวกับการตอบกลับของโฆษณา ส่วนเสริมอาจส่งคืนคีย์ต่อไปนี้:
|
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request ) { (ad, error) in let responseInfo = ad?.responseInfo let responseIdentifier = responseInfo?.responseIdentifier let adNetworkClassName = responseInfo?.adNetworkClassName let adNetworkInfoArray = responseInfo?.adNetworkInfoArray let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo 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
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { GADResponseInfo *responseInfo = ad.responseInfo; NSString *responseIdentifier = responseInfo.responseIdentifier; NSString *adNetworkClassName = responseInfo.adNetworkClassName; NSArray *adNetworkInfoArray = responseInfo.adNetworkInfoArray; GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo; NSString *mediationGroupName = responseInfo.extrasDictionary[@"mediation_group_name"]; NSString *mediationABTestName = responseInfo.extrasDictionary[@"mediation_ab_test_name"]; NSString *mediationABTestVariant = responseInfo.extrasDictionary[@"mediation_ab_test_variant"]; }]; }
ข้อมูลการตอบกลับอะแดปเตอร์
GADAdNetworkResponseInfo
มีข้อมูลเมตาสำหรับอะแดปเตอร์แต่ละรายการที่รวมอยู่ในการตอบกลับโฆษณา ซึ่งสามารถใช้เพื่อแก้ไขข้อบกพร่องของสื่อกลาง Waterfall และการดำเนินการเสนอราคาได้ ลำดับของรายการจะตรงกับลำดับการแสดงโฆษณาสื่อกลางตามลำดับขั้นของคำขอโฆษณา
ต่อไปนี้คือตัวอย่างเอาต์พุต GADAdNetworkResponseInfo
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:Reservation campaign
Ad Source ID:7068401028668408324
Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
AdUnitMapping:
{
}
Error: (null)
Latency: 0.277
สำหรับเครือข่ายโฆษณาแต่ละเครือข่าย GADAdNetworkResponseInfo
จะมีพร็อพเพอร์ตี้ต่อไปนี้
พร็อพเพอร์ตี้ | คำอธิบาย |
---|---|
error |
ข้อผิดพลาดที่เชื่อมโยงกับคำขอที่ส่งไปยังเครือข่าย แสดงผล nil หากเครือข่ายโหลดโฆษณาสำเร็จ หรือเครือข่ายไม่ได้พยายามโหลด |
adSourceId |
รหัสแหล่งที่มาของโฆษณาที่เชื่อมโยงกับการตอบสนองของอะแดปเตอร์นี้
สําหรับแคมเปญ ระบบจะแสดงผล 6060308706800320801 สําหรับประเภทเป้าหมายแคมเปญของโฆษณาที่ใช้สื่อกลาง และแสดงผล 7068401028668408324 สําหรับประเภทเป้าหมายการแสดงผลและการคลิก ดูรายการรหัสแหล่งที่มาของโฆษณาที่เป็นไปได้เมื่อเครือข่ายโฆษณาแสดงโฆษณาได้ที่แหล่งที่มาของโฆษณา |
adSourceInstanceId |
รหัสอินสแตนซ์ของแหล่งที่มาของโฆษณาที่เชื่อมโยงกับการตอบสนองของอะแดปเตอร์นี้ |
adSourceInstanceName |
ชื่ออินสแตนซ์ของแหล่งที่มาของโฆษณาที่เชื่อมโยงกับการตอบสนองของอะแดปเตอร์นี้ |
adSourceName |
แหล่งที่มาของโฆษณาซึ่งเป็นตัวแทนของเครือข่ายโฆษณาเฉพาะเจาะจงที่แสดงผล สำหรับแคมเปญ ระบบจะแสดงผล Mediated House Ads สำหรับประเภทเป้าหมายแคมเปญของโฆษณาที่ใช้สื่อกลาง และแสดงผล Reservation Campaign สำหรับประเภทเป้าหมายการแสดงผลและการคลิก ดูรายการชื่อแหล่งที่มาของโฆษณาที่เป็นไปได้เมื่อเครือข่ายโฆษณาแสดงโฆษณาได้ที่แหล่งที่มาของโฆษณา |
adNetworkClassName |
ชื่อคลาสของอะแดปเตอร์เครือข่ายโฆษณาที่โหลดโฆษณา |
adUnitMapping |
การกำหนดค่าเครือข่ายที่ตั้งค่าจาก AdMob UI |
latency |
ระยะเวลาที่เครือข่ายโฆษณาใช้ในการโหลดโฆษณา แสดงผล 0 หากยังไม่ได้พยายามเชื่อมต่อเครือข่าย |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request ) { (ad, error) in let responseInfo = ad?.responseInfo let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo let adNetworkError = loadedAdNetworkResponseInfo?.error let adSourceId = loadedAdNetworkResponseInfo?.adSourceID let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName let adSourceName = loadedAdNetworkResponseInfo?.adSourceName let adNetworkClassName = loadedAdNetworkResponseInfo?.adNetworkClassName let adUnitMapping = loadedAdNetworkResponseInfo?.adUnitMapping let latency = loadedAdNetworkResponseInfo?.latency } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { GADResponseInfo *responseInfo = ad.responseInfo; GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo; NSError *adNetworkError = loadedAdNetworkResponseInfo.error; NSString *adSourceId = loadedAdNetworkResponseInfo.adSourceID; NSString *adSourceInstanceId = loadedAdNetworkResponseInfo.adSourceInstanceID; NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName; NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName; NSString *adNetworkClassName = loadedAdNetworkResponseInfo.adNetworkClassName; NSDictionary*adUnitMapping = loadedAdNetworkResponseInfo.adUnitMapping; NSTimeInterval latency = loadedAdNetworkResponseInfo.latency; }]; }