為了進行偵錯和記錄,成功載入的廣告會提供 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 |
回應 ID 是廣告回應的專屬 ID。您可以使用這個 ID 在廣告審核中心 (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; }]; }