ডিবাগিং এবং লগিংয়ের উদ্দেশ্যে, সফলভাবে লোড হওয়া বিজ্ঞাপনগুলো একটি ResponseInfo অবজেক্ট প্রদান করে। এই অবজেক্টটিতে লোড করা বিজ্ঞাপনটি সম্পর্কিত তথ্যের পাশাপাশি, বিজ্ঞাপনটি লোড করতে ব্যবহৃত মিডিয়েশন ওয়াটারফল সম্পর্কিত তথ্যও থাকে।
যেসব ক্ষেত্রে কোনো বিজ্ঞাপন সফলভাবে লোড হয়, সেই ক্ষেত্রে অ্যাড অবজেক্টটিতে একটি GetResponseInfo() মেথড থাকে। উদাহরণস্বরূপ, InterstitialAd.GetResponseInfo() একটি লোড হওয়া ইন্টারস্টিশিয়াল বিজ্ঞাপনের রেসপন্স ইনফো পেয়ে থাকে।
যেসব ক্ষেত্রে বিজ্ঞাপন লোড হতে ব্যর্থ হয় এবং শুধুমাত্র একটি ত্রুটি দেখা যায়, সেসব ক্ষেত্রে AdFailedToLoadEventArgs.LoadAdError.GetResponseInfo() -এর মাধ্যমে প্রতিক্রিয়ার তথ্য পাওয়া যায়।
InterstitialAd ad;
private void RequestInterstitial()
{
ad = new InterstitialAd("AD_UNIT_ID");
this.interstitial.OnAdLoaded += OnAdLoaded;
this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
AdRequest request = new AdRequest.Builder().Build();
this.interstitial.LoadAd(request);
}
private void OnAdLoaded(object sender, EventArgs args)
{
ResponseInfo info = ad.GetResponseInfo();
}
private void OnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
ResponseInfo info = args.LoadAdError.GetResponseInfo();
}
প্রতিক্রিয়া তথ্য
এখানে ResponseInfo.ToString() দ্বারা ফেরত আসা একটি নমুনা আউটপুট দেখানো হলো, যা একটি লোড করা বিজ্ঞাপনের জন্য প্রাপ্ত ডিবাগিং ডেটা প্রদর্শন করে:
অ্যান্ড্রয়েড
{
"Response ID": "NI3BZZDbGdyQtOUP4o21gAM",
"Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
"Adapter Responses": [
{
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
}
],
"Loaded Adapter Response": {
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
},
"Response Extras": {
"creative_id": "138471856178",
"line_item_id": "6707237225",
}
}
আইওএস
** 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
ResponseInfo অবজেক্টের মেথডগুলোর মধ্যে রয়েছে:
| পদ্ধতি | বর্ণনা |
|---|---|
GetAdapterResponses | বিজ্ঞাপনের প্রতিক্রিয়ায় অন্তর্ভুক্ত প্রতিটি অ্যাডাপ্টারের মেটাডেটা সম্বলিত AdapterResponseInfo এর তালিকা ফেরত দেয়। এটি ওয়াটারফল মিডিয়েশন এবং বিডিং এক্সিকিউশন ডিবাগ করতে ব্যবহার করা যেতে পারে। তালিকার ক্রমটি এই বিজ্ঞাপন অনুরোধের মিডিয়েশন ওয়াটারফলের ক্রমের সাথে মিলে যায়।আরও তথ্যের জন্য অ্যাডাপ্টার রেসপন্স ইনফো দেখুন। |
GetLoadedAdapterResponseInfo | যে অ্যাডাপ্টারটি বিজ্ঞাপনটি লোড করেছে, তার সাথে সম্পর্কিত AdapterResponseInfo ফেরত দেয়। |
GetMediationAdapterClassName | যে বিজ্ঞাপন নেটওয়ার্কটি বিজ্ঞাপনটি লোড করেছে, তার মিডিয়েশন অ্যাডাপ্টার ক্লাসের নাম ফেরত দেয়। |
GetResponseId | রেসপন্স আইডেন্টিফায়ার হলো বিজ্ঞাপনের প্রতিক্রিয়ার জন্য একটি অনন্য শনাক্তকারী। এই আইডেন্টিফায়ারটি অ্যাডস রিভিউ সেন্টার (ARC)- এ বিজ্ঞাপনটি শনাক্ত করতে এবং ব্লক করতে ব্যবহার করা যেতে পারে। |
GetResponseExtras | বিজ্ঞাপনের প্রতিক্রিয়া সম্পর্কে অতিরিক্ত তথ্য ফেরত দেয়। অতিরিক্ত তথ্য নিম্নলিখিত কী-গুলো ফেরত দিতে পারে:
|
লোড করা ResponseInfo থেকে মান পড়ার একটি নমুনা নিচে দেওয়া হলো:
private void OnAdLoaded(object sender, EventArgs args)
{
ResponseInfo info = ad.GetResponseInfo();
string responseId = responseInfo.GetResponseId();
string mediationAdapterClassName = responseInfo.GetMediationAdapterClassName();
List<AdapterResponseInfo> adapterResponses = responseInfo.GetAdapterResponses();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
Dictionary<string, string> extras = responseInfo.GetResponseExtras();
string creativeId = extras["creative_id"];
string lineItemId = extras["line_item_id"];
}
অ্যাডাপ্টার প্রতিক্রিয়া তথ্য
AdapterResponseInfo বিজ্ঞাপনের প্রতিক্রিয়ায় অন্তর্ভুক্ত প্রতিটি অ্যাডাপ্টারের মেটাডেটা থাকে, যা ওয়াটারফল মিডিয়েশন এবং বিডিং এক্সিকিউশন ডিবাগ করতে ব্যবহার করা যেতে পারে। তালিকার ক্রমটি বিজ্ঞাপন অনুরোধের মিডিয়েশন ওয়াটারফলের ক্রমের সাথে মিলে যায়।
AdapterResponseInfo দ্বারা ফেরত দেওয়া একটি নমুনা আউটপুট নিচে দেওয়া হলো:
অ্যান্ড্রয়েড
{ "Adapter": "com.google.ads.mediation.admob.AdMobAdapter", "Latency": 328, "Ad Source Name": "Reservation campaign", "Ad Source ID": "7068401028668408324", "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial", "Ad Source Instance ID": "4665218928925097", "Credentials": {}, "Ad Error": "null" }
আইওএস
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.391
প্রতিটি বিজ্ঞাপন নেটওয়ার্কের জন্য, AdapterResponseInfo নিম্নলিখিত পদ্ধতিগুলো প্রদান করে:
| পদ্ধতি | বর্ণনা |
|---|---|
AdError | নেটওয়ার্কে করা অনুরোধের সাথে সম্পর্কিত ত্রুটিটি দেখায়। যদি নেটওয়ার্কটি সফলভাবে কোনো বিজ্ঞাপন লোড করে অথবা নেটওয়ার্কে চেষ্টাই করা না হয়, তবে null রিটার্ন করে। |
AdSourceId | এই অ্যাডাপ্টার রেসপন্সের সাথে যুক্ত অ্যাড সোর্স আইডিটি পাওয়া যায়। ক্যাম্পেইনের ক্ষেত্রে, মিডিয়েটেড অ্যাডস ক্যাম্পেইন গোল টাইপের জন্য 6060308706800320801 এবং ইম্প্রেশন ও ক্লিক গোল টাইপের জন্য 7068401028668408324 রিটার্ন করা হয়। যখন কোনো অ্যাড নেটওয়ার্ক বিজ্ঞাপনটি পরিবেশন করে, তখন সম্ভাব্য অ্যাড সোর্স আইডিগুলোর তালিকার জন্য 'অ্যাড সোর্সেস' দেখুন। |
AdSourceInstanceId | এই অ্যাডাপ্টার প্রতিক্রিয়ার সাথে যুক্ত বিজ্ঞাপন উৎস ইনস্ট্যান্স আইডিটি পাওয়া যায়। |
AdSourceInstanceName | এই অ্যাডাপ্টার প্রতিক্রিয়ার সাথে যুক্ত অ্যাড সোর্স ইনস্ট্যান্সের নামটি পাওয়া যায়। |
AdSourceName | যে নির্দিষ্ট অ্যাড নেটওয়ার্কটি ইম্প্রেশনটি পরিবেশন করে, তার প্রতিনিধিত্বকারী অ্যাড সোর্সটি পাওয়া যায়। ক্যাম্পেইনের ক্ষেত্রে, মিডিয়েটেড অ্যাডস ক্যাম্পেইন গোল টাইপের জন্য ‘ Mediated House Ads এবং ইম্প্রেশন ও ক্লিক গোল টাইপের জন্য Reservation Campaign ফেরত আসে। যখন কোনো অ্যাড নেটওয়ার্ক বিজ্ঞাপনটি পরিবেশন করে, তখন সম্ভাব্য অ্যাড সোর্সের নামগুলোর তালিকার জন্য ‘অ্যাড সোর্সেস’ দেখুন। |
AdapterClassName | একটি ক্লাস নেম পাওয়া যায় যা বিজ্ঞাপন নেটওয়ার্কটিকে শনাক্ত করে। |
AdUnitMapping | Admob UI থেকে নেটওয়ার্ক কনফিগারেশন সেটটি নিয়ে নেওয়া হয়। |
LatencyMillis | একটি বিজ্ঞাপন লোড করতে বিজ্ঞাপন নেটওয়ার্কটি যে পরিমাণ সময় ব্যয় করেছে তা জানা যায়। নেটওয়ার্কটিতে চেষ্টা করা না হলে 0 রিটার্ন করে। |
লোড করা AdapterResponseInfo থেকে মান পড়ার একটি নমুনা নিচে দেওয়া হলো:
private void OnAdLoaded(object sender, EventArgs args)
{
ResponseInfo responseInfo = ad.GetResponseInfo();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
AdError adError = loadedAdapterResponseInfo.AdError;
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
}