برای اشکالزدایی و ثبت وقایع، تبلیغات بارگذاریشده با موفقیت، یک شیء ResponseInfo ارائه میدهند. این شیء علاوه بر اطلاعاتی در مورد تبلیغی که بارگذاری شده است، شامل اطلاعاتی در مورد آبشار میانجیگری مورد استفاده برای بارگذاری تبلیغ نیز میشود.
برای مواردی که یک تبلیغ با موفقیت بارگذاری میشود، شیء تبلیغ دارای یک متد GetResponseInfo() است. برای مثال، interstitialAd.GetResponseInfo() اطلاعات پاسخ را برای یک تبلیغ بینابینی بارگذاری شده دریافت میکند.
برای مواردی که تبلیغات بارگذاری نمیشوند و فقط یک خطا موجود است، اطلاعات پاسخ از طریق LoadAdError.GetResponseInfo() در دسترس است.
private void LoadInterstitialAd()
{
AdRequest adRequest = new AdRequest();
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
ResponseInfo errorInfo = error.GetResponseInfo();
Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
return;
}
ResponseInfo loadInfo = insterstitialAd.GetResponseInfo();
});
}
اطلاعات پاسخ
در اینجا نمونهای از خروجی برگردانده شده توسط ResponseInfo.ToString() نشان داده شده است که دادههای اشکالزدایی برگردانده شده برای یک تبلیغ بارگذاری شده را نشان میدهد:
اندروید
{ "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g", "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter", "Adapter Responses": [ { "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" } ], "Loaded Adapter Response": { "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" }, "Response Extras": { "mediation_group_name": "Campaign" } }
آیاواس
** Response Info ** Response ID: CIzs0ZO5kPoCFRqWAAAdJMINpQ Network: GADMAdapterGoogleAdMobAds ** Loaded Adapter Response ** 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 ** Extras Dictionary ** { "mediation_group_name" = Campaign; } ** Mediation line items ** Entry (1) 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
متدهای شیء ResponseInfo عبارتند از:
| روش | توضیحات |
|---|---|
GetAdapterResponses | فهرست AdapterResponseInfo را که شامل فراداده برای هر آداپتور موجود در پاسخ تبلیغ است، برمیگرداند. میتواند برای اشکالزدایی میانجیگری آبشاری و اجرای پیشنهاد قیمت استفاده شود. ترتیب لیست با ترتیب میانجیگری آبشاری برای این درخواست تبلیغ مطابقت دارد.برای اطلاعات بیشتر به اطلاعات پاسخ آداپتور مراجعه کنید. |
GetLoadedAdapterResponseInfo | AdapterResponseInfo مربوط به آداپتوری که تبلیغ را بارگذاری کرده است را برمیگرداند. |
GetMediationAdapterClassName | نام کلاس آداپتور واسطهای شبکه تبلیغاتی که تبلیغ را بارگذاری کرده است، برمیگرداند. |
GetResponseId | شناسه پاسخ، یک شناسه منحصر به فرد برای پاسخ تبلیغ است. از این شناسه میتوان برای شناسایی و مسدود کردن تبلیغ در مرکز بررسی تبلیغات (ARC) استفاده کرد. |
GetResponseExtras | اطلاعات اضافی در مورد پاسخ تبلیغ را برمیگرداند. موارد اضافی میتوانند کلیدهای زیر را برگردانند:
|
در اینجا نمونهای از مقادیر خوانده شده از ResponseInfo بارگذاری شده را مشاهده میکنید:
private void LoadInterstitialAd()
{
AdRequest adRequest = new AdRequest();
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
return;
}
ResponseInfo responseInfo = insterstitialAd.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 mediationGroupName = extras["mediation_group_name"];
string mediationABTestName = extras["mediation_ab_test_name"];
string mediationABTestVariant = extras["mediation_ab_test_variant"];
});
}
اطلاعات پاسخ آداپتور
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 | منبع تبلیغاتی که نشاندهنده شبکه تبلیغاتی خاصی است که به نمایش (impression) میپردازد را دریافت میکند. برای کمپینها، Mediated House Ads برای نوع هدف کمپین تبلیغات واسطهای و Reservation Campaign برای انواع هدف نمایش و کلیک بازگردانده میشوند. برای فهرست نامهای منبع تبلیغاتی ممکن، زمانی که یک شبکه تبلیغاتی به تبلیغ میپردازد، به Ad sources مراجعه کنید. |
AdapterClassName | یک نام کلاس دریافت میکند که شبکه تبلیغاتی را مشخص میکند. |
AdUnitMapping | تنظیمات شبکه را از رابط کاربری Admob دریافت میکند. |
LatencyMillis | مقدار زمانی که شبکه تبلیغاتی صرف بارگذاری یک تبلیغ کرده است را دریافت میکند. اگر شبکه تلاشی نکرده باشد، مقدار 0 را برمیگرداند. |
در اینجا نمونهای از مقادیر خوانده شده از یک AdapterResponseInfo بارگذاری شده را مشاهده میکنید:
private void LoadInterstitialAd()
{
AdRequest adRequest = new AdRequest();
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
return;
}
ResponseInfo responseInfo = insterstitialAd.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;
});
}