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 के पास दिखाने के लिए कोई विज्ञापन नहीं है, तो यह आपके पास किए गए अलग-अलग before/after कॉलबैक को कॉल नहीं करेगा. हालांकि, अगर आपने 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' Ad Placement API को जवाब देने में बहुत ज़्यादा समय लगा. इसलिए, प्लेसमेंट का समय खत्म हो गया
'invalid' विज्ञापन प्लेसमेंट अमान्य था और इसे अनदेखा कर दिया गया. उदाहरण के लिए, हर पेज लोड पर सिर्फ़ एक प्रीरोल विज्ञापन प्लेसमेंट होना चाहिए. इसके बाद के प्रीरोल विज्ञापन इस स्थिति के साथ फ़ेल हो जाते हैं
'error' कॉलबैक में JavaScript से जुड़ी कोई गड़बड़ी हुई
'noAdPreloaded' विज्ञापन को अब तक प्रीलोड नहीं किया गया था, इसलिए इस प्लेसमेंट को छोड़ दिया गया
'frequencyCapped' इस प्लेसमेंट पर फ़्रीक्वेंसी कैपिंग लागू होने की वजह से, विज्ञापन नहीं दिखाया गया
'ignored' उपयोगकर्ता ने अगले प्लेसमेंट पर पहुंचने से पहले, इनाम के प्रॉम्प्ट पर क्लिक नहीं किया. इसका मतलब है कि अगले adBreak() से पहले showAdFn() को कॉल नहीं किया गया था.
'other' विज्ञापन किसी और वजह से नहीं दिखाया गया. (उदाहरण के लिए, विज्ञापन अब भी फ़ेच किया जा रहा था या पहले से कैश मेमोरी में सेव किए गए विज्ञापन को हटा दिया गया था, क्योंकि स्क्रीन का साइज़ बदला गया था/स्क्रीन को घुमाया गया था.)
'dismissed' उपयोगकर्ता ने इनाम वाला विज्ञापन पूरा देखे बिना ही बंद कर दिया
'viewed' उपयोगकर्ता ने विज्ञापन देखा

ध्यान दें: adBreakDone() हमेशा वह आखिरी कॉलबैक होता है जिसे adBreak() कॉल करता है.

अगर विज्ञापन दिखाए जाने के बाद, गेम को फिर से शुरू करने के लिए afterAd() का इस्तेमाल किया जाता है, तो गेम के फिर से शुरू होने के बाद adBreakDone() को कॉल किया जाएगा. यह तरीका, Analytics को लॉग करने जैसी चीज़ों के लिए सही हो सकता है. हालांकि, अगर आपको गेम के फिर से शुरू होने से पहले कोई और काम करना है, तो गेम को अनपॉज़ करने के लॉजिक को afterAd() से adBreakDone() पर ले जाएं.