デバッグとロギング用の場合、正常に読み込まれた広告は GADResponseInfo
オブジェクトを提供します。このオブジェクトには、広告を読み込む際に使用されたメディエーションの順次処理の情報とともに、読み込まれた広告の情報が含まれています。
広告の読み込みが成功した場合、広告オブジェクトは GADResponseInfo
プロパティを持ちます。たとえば、GADInterstitialAd.responseInfo
により、読み込まれたインタースティシャル広告のレスポンス情報を取得可能です。
広告の読み込みに失敗してエラーだけが返された場合は、そのエラーの userInfo
ディクショナリのキー GADErrorUserInfoKeyResponseInfo
を使って GADResponseInfo
を取得できます。
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", request: request ) { (ad, error) in if let error = error { let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo 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 **
{
"creative_id" = "138471856178";
"line_item_id" = "6707237225";
}
** 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 |
レスポンス ID は、広告レスポンスごとに固有の ID で、広告レビュー センター(ARC)で広告を識別してブロックするために使われます。 |
extrasDictionary |
広告レスポンスについての追加情報を返します。追加情報には次のキーが含まれます。
|
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/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 let creativeID = responseInfo?.extrasDictionary["creative_id"] let lineItemID = responseInfo?.extrasDictionary["line_item_id"] } }
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; NSString *creativeID = responseInfo.extrasDictionary[@"creative_id"]; NSString *lineItemID = responseInfo.extrasDictionary[@"line_item_id"]; }]; }
アダプタ レスポンス情報
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 |
アド マネージャーの管理画面で設定されたネットワーク設定。 |
latency |
広告ネットワークが広告の読み込みに費やした時間。読み込みを試行しなかった場合は 0 が返されます。 |
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/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; }]; }