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' ก่อนที่เกมจะโหลด (ก่อนที่ UI จะแสดง)
  • 'start' ก่อนที่เกมเพลย์จะเริ่ม (หลังจากที่ UI แสดงผลแล้ว)
  • 'pause' ผู้เล่นหยุดเกมชั่วคราว
  • 'next' ผู้เล่นไปยังเลเวลถัดไป
  • 'browse' ผู้เล่นสำรวจตัวเลือกนอกเหนือจากการเล่นเกม
  • 'reward' โฆษณาที่มีการให้รางวัล
name สตริง (ไม่บังคับ) ชื่อสำหรับตำแหน่งโฆษณานี้ในเกม โดยเป็นตัวระบุภายในและจะไม่แสดงต่อผู้เล่น ในรุ่นต่อๆ ไป ระบบอาจใช้ตัวระบุนี้เพื่อเปิดใช้ฟีเจอร์การรายงานและการเพิ่มประสิทธิภาพเพิ่มเติม

เราขอแนะนำให้คุณตั้งชื่อตําแหน่งโฆษณาทั้งหมด
beforeAd ฟังก์ชัน (ไม่บังคับ) เรียกใช้ก่อนแสดงโฆษณา เกมควรหยุดชั่วคราวและปิดเสียง การดำเนินการเหล่านี้ต้องทำพร้อมกัน โฆษณาจะแสดงทันทีหลังจากที่ Callback นี้เสร็จสิ้น
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 ไม่มีโฆษณาที่จะแสดง ก็จะไม่เรียกใช้ การเรียกกลับก่อน/หลังต่างๆ ที่คุณส่ง อย่างไรก็ตาม หากคุณระบุ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' ตำแหน่งโฆษณาไม่ถูกต้องและถูกละเว้น เช่น ควรมีตำแหน่งโฆษณาแบบ Pre-roll เพียงตำแหน่งเดียวต่อการโหลดหน้าเว็บ และ Pre-roll ที่ตามมาจะล้มเหลวโดยมีสถานะนี้
'error' เกิดข้อผิดพลาด JavaScript ใน Callback
'noAdPreloaded' ยังไม่ได้โหลดโฆษณาล่วงหน้า ระบบจึงข้ามตําแหน่งนี้
'frequencyCapped' โฆษณาไม่แสดงเนื่องจากมีการใช้ความถี่สูงสุดกับตําแหน่งนี้
'ignored' ผู้ใช้ไม่ได้คลิกข้อความแจ้งให้รับรางวัลก่อนที่จะไปถึงตําแหน่งถัดไป นั่นคือไม่ได้เรียกใช้ showAdFn() ก่อน adBreak() รายการถัดไป
'other' โฆษณาไม่แสดงเนื่องจากเหตุผลอื่น (เช่น ระบบยังคงดึงข้อมูลโฆษณา หรือทิ้งโฆษณาที่แคชไว้ก่อนหน้านี้เนื่องจากมีการปรับขนาด/หมุนหน้าจอ)
'dismissed' ผู้ใช้ปิดโฆษณาที่มีการให้รางวัลก่อนที่จะดูจนจบ
'viewed' ผู้ใช้ดูโฆษณา

หมายเหตุ: adBreakDone() จะเป็นฟังก์ชันเรียกกลับสุดท้ายที่ adBreak() เรียกใช้เสมอ

หากคุณใช้ afterAd() เพื่อยกเลิกการหยุดเกมชั่วคราวเมื่อโฆษณาแสดงแล้ว ระบบจะเรียกใช้ adBreakDone() หลังจากที่เกมรีสตาร์ท สำหรับสิ่งต่างๆ เช่น การบันทึกข้อมูลวิเคราะห์ วิธีนี้อาจเหมาะสม แต่หากต้องการดำเนินการเพิ่มเติมก่อนที่เกมจะรีสตาร์ท ให้ย้ายตรรกะเพื่อยกเลิกการหยุดเกมชั่วคราวจาก afterAd() ไปยัง adBreakDone()