বিজ্ঞাপন প্রতিক্রিয়া সম্পর্কে তথ্য পুনরুদ্ধার করুন

ডিবাগিং এবং লগিংয়ের উদ্দেশ্যে, সফলভাবে লোড হওয়া বিজ্ঞাপনগুলিতে একটি GADResponseInfo অবজেক্ট থাকে। এই অবজেক্টে লোড করা বিজ্ঞাপন সম্পর্কে তথ্য রয়েছে, বিজ্ঞাপনটি লোড করার জন্য ব্যবহৃত মধ্যস্থতা জলপ্রপাত সম্পর্কে তথ্য ছাড়াও।

যেসব ক্ষেত্রে একটি বিজ্ঞাপন সফলভাবে লোড হয়, বিজ্ঞাপনের বস্তুর একটি GADResponseInfo বৈশিষ্ট্য থাকে। উদাহরণস্বরূপ, GADInterstitialAd.responseInfo একটি লোড করা ইন্টারস্টিশিয়াল বিজ্ঞাপনের প্রতিক্রিয়া তথ্য পায়।

যেসব ক্ষেত্রে বিজ্ঞাপন লোড হতে ব্যর্থ হয় এবং শুধুমাত্র একটি ত্রুটি পাওয়া যায়, সেসব ক্ষেত্রে ত্রুটির userInfo অভিধানে GADErrorUserInfoKeyResponseInfo কী ব্যবহার করে GADResponseInfo পাওয়া যায়।

সুইফট

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))")
  }
}

অবজেক্টিভ-সি

- (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 প্রতিক্রিয়া শনাক্তকারী হল বিজ্ঞাপন প্রতিক্রিয়ার জন্য একটি অনন্য শনাক্তকারী। এই শনাক্তকারী বিজ্ঞাপন পর্যালোচনা কেন্দ্র (ARC) এ বিজ্ঞাপনটি সনাক্ত করতে এবং ব্লক করতে ব্যবহার করা যেতে পারে।
extrasDictionary বিজ্ঞাপনের প্রতিক্রিয়া সম্পর্কে অতিরিক্ত তথ্য প্রদান করে। অতিরিক্তগুলি নিম্নলিখিত কীগুলি প্রদান করতে পারে:
  • creative_id : নির্বাচিত বিজ্ঞাপনের লাইন আইটেম আইডি। শুধুমাত্র রিজার্ভেশন বিজ্ঞাপনের জন্য ফেরত পাঠানো হয়েছে।
  • line_item_id : নির্বাচিত বিজ্ঞাপনের সৃজনশীল আইডি। শুধুমাত্র রিজার্ভেশন বিজ্ঞাপনের জন্য ফেরত পাঠানো হয়েছে।

সুইফট

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"]
  }
}

অবজেক্টিভ-সি

- (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 contains metadata for each adapter included in the ad response which can be used to debug the waterfall mediation and bidding execution. The order of the list matches the order of the mediation waterfall for the ad request.

এখানে 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 এই অ্যাডাপ্টারের প্রতিক্রিয়ার সাথে সম্পর্কিত বিজ্ঞাপন উৎসের উদাহরণের নাম। যদি কোনও yield গ্রুপ দ্বারা পূরণ না করা হয় তবে একটি খালি স্ট্রিং ফেরত পাঠায়।
adSourceName বিজ্ঞাপনের উৎসটি সেই নির্দিষ্ট বিজ্ঞাপন নেটওয়ার্কের প্রতিনিধিত্ব করে যা ছাপ পরিবেশন করে।
adNetworkClassName যে বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টারটি বিজ্ঞাপনটি লোড করেছে তার ক্লাসের নাম।
adUnitMapping বিজ্ঞাপন ম্যানেজার UI থেকে সেট করা নেটওয়ার্ক কনফিগারেশন।
latency The amount of time the ad network spent loading an ad. Returns 0 if the network was not attempted.

সুইফট

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
  }
}

অবজেক্টিভ-সি

- (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;
  }];
}