出于调试和记录目的,成功加载的广告会提供
GADResponseInfo
对象。除了
用于加载广告的中介广告瀑布流的相关信息。
如果广告成功加载,则广告对象将具有
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 的列表
包含广告响应中包含的每个适配器的元数据。可以是
用于调试广告瀑布流中介和出价执行情况。添加
此列表与此广告请求的中介广告瀑布流的顺序一致。
如需了解详情,请参阅适配器响应信息 信息。 |
loadedAdNetworkResponseInfo |
返回与适配器对应的 GADAdNetworkResponseInfo
加载广告。 |
adNetworkClassName |
返回已加载的广告联盟的中介适配器类名称 。 |
responseIdentifier |
响应标识符是广告响应的唯一标识符。这个 标识符,可用于在广告审核中心 (ARC) 中识别和屏蔽广告。 |
extrasDictionary |
<ph type="x-smartling-placeholder">
返回有关广告响应的额外信息。 extras 可能会返回以下键:
|
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
包含广告响应中包含的每个适配器的元数据,
对广告瀑布流中介和出价的执行情况进行调试。列表的顺序
与广告请求的中介广告瀑布流的顺序一致。
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 |
与此适配器响应相关联的广告来源 ID。
对于广告系列,系统会为参与中介的广告返回 6060308706800320801
广告系列目标类型、
并且会针对展示和点击返回 7068401028668408324
目标类型。请参阅广告来源
,在广告联盟投放广告时获取可能的广告来源 ID 列表。 |
adSourceInstanceId |
与此适配器关联的广告来源实例 ID 响应。 |
adSourceInstanceName |
与此适配器关联的广告来源实例名称 响应。 |
adSourceName |
表示投放广告的特定广告联盟的广告来源
对于广告系列
针对参与中介的广告返回 Mediated House Ads
广告系列目标类型、
并且会针对展示和点击返回 Reservation Campaign
目标类型。请参阅广告来源
,查看在广告联盟投放
。 |
adNetworkClassName |
加载了广告的广告联盟适配器的类名称。 |
adUnitMapping |
通过 AdMob 界面。 |
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; }]; }