出于调试和日志记录目的,成功加载的广告会提供 GADResponseInfo
对象。除了用于加载广告的中介广告瀑布流的相关信息之外,此对象还包含有关它所加载的广告的信息。
如果广告加载成功,广告对象会有一个 GADResponseInfo
属性。例如,GADInterstitialAd.responseInfo
可获取已加载的插页式广告的响应信息。
如果广告无法加载且系统只显示了一条错误,可使用错误的 userInfo
字典中的键 GADErrorUserInfoKeyResponseInfo
来提供 GADResponseInfo
。
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial" 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: BmnCZaSbE_6Mur8P5su8gAY
Network: GADMAdapterGoogleAdMobAds
** Loaded Adapter Response **
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
** Extras Dictionary **
{
}
** Mediation line items **
Entry (1)
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
GADResponseInfo
的属性包括:
属性 | 说明 |
---|---|
adNetworkInfoArray |
返回 GADAdNetworkResponseInfo 列表,其中具有广告响应中包含的每个适配器的元数据。可用于调试广告瀑布流中介和出价的执行情况。该列表的顺序与此广告请求的中介广告瀑布流的顺序一致。
如需了解详情,请参阅适配器响应信息。 |
loadedAdNetworkResponseInfo |
返回加载了广告的适配器所对应的 GADAdNetworkResponseInfo 。 |
adNetworkClassName |
返回加载了广告的广告联盟的中介适配器类名称。 |
responseIdentifier |
响应标识符是广告响应的唯一标识符。此标识符可用于在广告审核中心 (ARC) 中识别和屏蔽广告。 |
extrasDictionary |
返回有关广告响应的额外信息。 |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/21775744923/example/interstitial", 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 } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" 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; }]; }
适配器响应信息
GADAdNetworkResponseInfo
具有广告响应中包含的每个适配器的元数据,可用于调试广告瀑布流中介和出价的执行情况。该列表的顺序与广告请求的中介广告瀑布流的顺序一致。
以下是 GADAdNetworkResponseInfo
输出示例:
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
对于每个广告联盟,GADAdNetworkResponseInfo
都提供了以下属性:
属性 | 说明 |
---|---|
error |
与向广告联盟发送的广告请求相关的错误。如果广告联盟成功加载广告或未尝试加载广告,则返回 nil 。 |
adSourceId |
与此适配器响应相关联的广告来源 ID。 |
adSourceInstanceId |
与此适配器响应相关联的广告来源实例 ID。 |
adSourceInstanceName |
与此适配器响应相关联的广告来源实例名称。如果未由收益组填充,则返回空字符串。 |
adSourceName |
代表可提供展示机会的特定广告联盟的广告来源。 |
adNetworkClassName |
加载了广告的广告联盟适配器的类名称。 |
adUnitMapping |
在 Ad Manager 界面中设置的广告联盟配置。 |
latency |
广告联盟加载广告所花费的时间。如果广告联盟未尝试加载广告,则返回 0 。 |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial" 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; }]; }