函数签名:
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 | 
       字符串 | 展示位置类型。值: 
  | 
      
name | 
       字符串 | (可选)游戏中特定广告展示位置的名称。这是一个内部标识符,不会向玩家显示。在未来版本中,此标识符可用于启用其他报告和优化功能。 我们建议您为所有展示位置命名。  | 
      
beforeAd | 
       函数 | (可选)在展示广告之前调用。游戏此时应当暂停并静音。这两项操作必须同步完成。此回调完成后,广告将立即展示。 | 
afterAd | 
       函数 | (可选)无论出于任何原因,都应在广告展示完毕后调用。对于激励广告,此方法会在 adDismissed 或 adViewed 之后调用,具体取决于玩家操作。此函数应该用于恢复游戏流程。例如,用于取消静音并开始下一关。 | 
      
adBreakDone | 
       函数 | (可选)始终作为 adBreak() 中的最后一步调用,即使广告没有展示也是如此。函数将作为 placementInfo 对象定义的参数,如下所示: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' | 
展示位置无效并已被忽略。例如,每次网页加载时应只有一个前贴片广告展示位置,后续的前贴片广告都无法投放并显示此状态 | 
'error' | 
回调中存在 JavaScript 错误 | 
'noAdPreloaded' | 
广告尚未预加载,因此跳过了此展示位置 | 
'frequencyCapped' | 
由于向此展示位置应用了频次上限,因此广告未能展示 | 
'ignored' | 
用户在到达下一个展示位置之前没有点击奖励提示,即在下一个 adBreak() 之前没有调用 showAdFn()。 | 
'other' | 
广告因其他原因未能展示。(例如,系统仍在提取广告,或之前缓存的广告因屏幕大小调整/旋转而被清理。) | 
'dismissed' | 
用户在看完激励广告之前将其关闭了 | 
'viewed' | 
用户观看了广告 | 
注意:adBreakDone() 始终是 adBreak() 调用的最后一个回调。
如果您使用 afterAd() 在广告展示后取消暂停游戏,系统会在游戏重新开始后调用 adBreakDone()。可能适用于记录分析数据等操作,但如果您想在游戏重新开始之前执行其他操作,请将取消暂停游戏的逻辑从 afterAd() 改为 adBreakDone()。