adBreak()

امضای عملکرد:

adBreak(
   type: '<type>',                     // The type of this placement
   name: '<name>',                     // A descriptive name for this placement
   beforeAd: () => {},                 // Prepare for the ad. Mute and pause the game flow
   afterAd: () => {},                  // Resume the game and re-enable sound
   beforeReward: (showAdFn) => {},     // Show reward prompt (call showAdFn() if clicked)
   adDismissed: () => {},              // Player dismissed the ad before completion
   adViewed: () => {},                 // Ad was viewed and closed
   adBreakDone: (placementInfo) => {}, // Always called (if provided) even if an ad didn't show
);

پارامترهای adBreak()

نام تایپ کنید توضیحات
همه انواع قرارگیری
type رشته

نوع قرارگیری. ارزش ها:

  • قبل از بارگیری بازی (قبل از رندر شدن رابط کاربری) 'preroll'
  • 'start' قبل از شروع بازی (پس از رندر شدن رابط کاربری)
  • 'pause' بازیکن بازی را متوقف می کند
  • بازیکن 'next' به سطح بعدی حرکت می کند
  • 'browse' بازیکن گزینه های خارج از گیم پلی را بررسی می کند
  • 'reward' یک تبلیغ با پاداش
name رشته (اختیاری) نامی برای این آگهی خاص در بازی شما. این یک شناسه داخلی است و به بازیکن نشان داده نمی شود. در نسخه‌های بعدی این شناسه ممکن است برای فعال کردن ویژگی‌های گزارش‌دهی و بهینه‌سازی اضافی استفاده شود.

توصیه می کنیم همه مکان های خود را نام ببرید.
beforeAd تابع (اختیاری) قبل از نمایش آگهی تماس گرفته شده است. بازی باید مکث کند و صدا را قطع کند. این اقدامات باید به صورت همزمان انجام شود. آگهی بلافاصله پس از اتمام این تماس نمایش داده می شود.
afterAd تابع (اختیاری) پس از پایان آگهی (به هر دلیلی) تماس گرفته می شود. برای تبلیغات پاداش، بسته به اقدامات بازیکن، پس از adDismissed یا adViewed نامیده می شود. این تابع باید برای از سرگیری جریان بازی استفاده شود. به عنوان مثال، برای قطع صدا و شروع مرحله بعدی استفاده کنید.
adBreakDone تابع (اختیاری) همیشه به عنوان آخرین مرحله در adBreak() فراخوانی می شود، حتی اگر هیچ تبلیغی نشان داده نشده باشد. تابع به عنوان آرگومان یک شی placementInfo را می گیرد که به صورت زیر تعریف شده است:
{
    breakType: '<type>',
    breakName: '<name>',
    breakFormat: 'interstitial|reward',
    breakStatus:  'error|noAdPreloaded|...|viewed',
}
برای توضیح دقیق شیء اطلاعات مکان، به adBreakDone و placementInfo() مراجعه کنید.
فقط مکان‌های دارای پاداش...
beforeReward تابع در صورت موجود بودن آگهی با پاداش تماس گرفته می شود. تابع باید یک آرگومان واحد داشته باشد showAdFn() که باید برای نمایش تبلیغ پاداش داده شود.
adDismissed تابع زمانی که بازیکن آگهی را رد می کند، فقط برای تبلیغات با پاداش فراخوانی می شود. فقط در صورتی فراخوانی می شود که پخش کننده آگهی را قبل از تکمیل آن رد کند. در این صورت نباید پاداش اعطا شود.
adViewed تابع زمانی که بازیکن آگهی را تکمیل می‌کند، فقط برای آگهی‌های دارای پاداش فراخوانی می‌شود و باید جایزه به او تعلق گیرد.

adBreakDone() and placementInfo

اگر Ad Placement API تبلیغی برای نمایش نداشته باشد، تماس‌های مختلف قبل و بعد از آن را که ارسال می‌کنید فراخوانی نمی‌کند. با این حال، اگر شما یک callback adBreakDone() ارائه دهید، این مورد همیشه فراخوانی می شود، حتی اگر تبلیغی نشان داده نشود. این به شما این امکان را می دهد که هر کار اضافی دیگری را که ممکن است برای قرار دادن نیاز داشته باشید انجام دهید، مانند ثبت تجزیه و تحلیل اضافی در مورد مکان.

تابع adBreakDone() یک شی placementInfo را به عنوان آرگومان می گیرد که به صورت زیر تعریف شده است:

{
  breakType: '<type>',
  breakName: '<name>',
  breakFormat: 'interstitial|reward',
  breakStatus: 'notReady|timeout|error|noAdPreloaded|frequencyCapped|ignored|other|dismissed|viewed',
}

جایی که فیلدهای درون این شی دارای معنایی زیر هستند:

  • breakType آرگومان نوع ارسال شده به adBreak() است.
  • breakName آرگومان نامی است که به adBreak() ارسال می‌شود.
  • breakStatus وضعیت این مکان است و می تواند یکی از مقادیر زیر باشد:
breakStatus دلیل
'notReady' Ad Placement API راه اندازی نشده بود
'timeout' زمان قرار دادن به پایان رسید زیرا پاسخ API Ad Placement بیش از حد طول کشید
'invalid' قرار دادن نامعتبر بود و نادیده گرفته شد - به عنوان مثال باید فقط یک قرار دادن قبل از پخش در هر بارگذاری صفحه وجود داشته باشد، پیش فروش های بعدی با این وضعیت ناموفق هستند
'error' یک خطای جاوا اسکریپت در پاسخ به تماس وجود داشت
'noAdPreloaded' تبلیغی هنوز از قبل بارگیری نشده بود، بنابراین از این مکان صرفنظر شد
'frequencyCapped' تبلیغی نشان داده نشد زیرا محدودیت فرکانس در این مکان اعمال شده است
'ignored' کاربر قبل از رسیدن به مکان بعدی روی یک درخواست پاداش کلیک نکرد، یعنی showAdFn() قبل از adBreak() بعدی فراخوانی نشد.
'other' این تبلیغ به دلیل دیگری نمایش داده نشد. (به عنوان مثال، تبلیغ هنوز در حال واکشی بود، یا یک آگهی قبلاً ذخیره شده در حافظه پنهان حذف شد زیرا اندازه صفحه نمایش تغییر کرد/چرخش شد.)
'dismissed' کاربر یک تبلیغ پاداش را قبل از مشاهده کامل آن رد کرد
'viewed' آگهی توسط کاربر مشاهده شد

توجه : adBreakDone() همیشه آخرین تماسی است که adBreak() فراخوانی می‌کند.

اگر از afterAd() برای لغو مکث بازی خود پس از نمایش تبلیغ استفاده می کنید، پس از شروع مجدد بازی شما adBreakDone() فراخوانی می شود. برای مواردی مانند تجزیه و تحلیل ورود به سیستم، این ممکن است مناسب باشد، اما اگر می‌خواهید قبل از شروع مجدد بازی، کارهای بیشتری انجام دهید، منطق را برای لغو مکث بازی خود از afterAd() به adBreakDone() منتقل کنید.