डीबग और लॉग करने के लिए, सही तरीके से लोड हुए विज्ञापन
GADResponseInfo
ऑब्जेक्ट उपलब्ध कराते हैं. इस ऑब्जेक्ट में, लोड किए गए विज्ञापन की जानकारी के साथ-साथ विज्ञापन लोड करने के लिए इस्तेमाल किए गए मीडिएशन वॉटरफ़ॉल की जानकारी भी होती है.
ऐसे मामलों में जहां विज्ञापन सही तरीके से लोड होता है, विज्ञापन ऑब्जेक्ट में GADResponseInfo
प्रॉपर्टी होती है. उदाहरण के लिए,
GADInterstitialAd.responseInfo
को लोड किए गए इंटरस्टीशियल विज्ञापन के रिस्पॉन्स की जानकारी मिलती है.
ऐसे मामलों में जहां विज्ञापन लोड नहीं हो पाते और सिर्फ़ गड़बड़ी की वजह से कोई गड़बड़ी होती है वहां GADResponseInfo
, गड़बड़ी के userInfo
शब्दकोश में मौजूद GADErrorUserInfoKeyResponseInfo
कुंजी का इस्तेमाल करके उपलब्ध होता है.
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/6499/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:@"/6499/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 |
रिस्पॉन्स आइडेंटिफ़ायर, विज्ञापन रिस्पॉन्स के लिए यूनीक आइडेंटिफ़ायर होता है. विज्ञापन समीक्षा केंद्र (एआरसी) में, विज्ञापन की पहचान करने और उसे ब्लॉक करने के लिए, इस आइडेंटिफ़ायर का इस्तेमाल किया जा सकता है. |
extrasDictionary |
विज्ञापन से मिले रिस्पॉन्स के बारे में ज़्यादा जानकारी दिखाता है. |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/6499/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:@"/6499/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 |
इस अडैप्टर रिस्पॉन्स से जुड़ा विज्ञापन सोर्स आईडी. |
adSourceInstanceId |
इस अडैप्टर रिस्पॉन्स से जुड़ा विज्ञापन स्रोत इंस्टेंस आईडी. |
adSourceInstanceName |
इस अडैप्टर रिस्पॉन्स से जुड़े विज्ञापन स्रोत के इंस्टेंस का नाम. अगर यह जानकारी देने वाले ग्रुप में नहीं दिखती है, तो खाली स्ट्रिंग दिखाता है. |
adSourceName |
वह विज्ञापन स्रोत जो इंप्रेशन दिखाने वाली खास विज्ञापन नेटवर्क कंपनी को दिखाता है. |
adNetworkClassName |
विज्ञापन लोड करने वाले विज्ञापन नेटवर्क अडैप्टर की क्लास का नाम. |
adUnitMapping |
नेटवर्क कॉन्फ़िगरेशन, Ad Manager यूज़र इंटरफ़ेस (यूआई) से सेट किया गया है. |
latency |
विज्ञापन नेटवर्क को विज्ञापन लोड करने में लगा समय. अगर नेटवर्क से कनेक्ट करने की कोशिश नहीं की गई है, तो
0 दिखाता है. |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/6499/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:@"/6499/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; }]; }