API 参考
Adsgram 方法
init
创建用于显示、加载和销毁广告的 AdController。
对于一个 blockId,只需初始化一次。
如果您使用相同的 blockId 多次调用 init 函数,将返回相同的 AdController。
语法
const AdController = window.Adsgram.init({
blockId: "your-block-id",
debug: true,
debugBannerType: "FullscreenMedia"
});参数
blockId
字符串,例如
"123"。
广告块的唯一标识符,可在流量主账户中获取。
获取blockId的详细说明,请参阅获取 blockId 部分。
debug 可选
布尔值,设置为
true时,服务器将返回测试广告。\注意:
不要忘记在发布到生产环境时移除或将debug设置为
false。
我们不会将测试广告曝光添加到统计数据中,因此您无法在平台和区块页面上看到其曝光、展示、点击等统计信息。
请求 Reward URL 不会被发送。
debugBannerType 可选
可能的值为
"FullscreenMedia"或"RewardedVideo"。
在调试模式下,当 debug 设置为true时,使用此值以获取指定类型的测试广告。
返回值
AdController
AdController 方法
show
加载并显示广告。
语法
AdController.show();const showPromise: Promise<ShowPromiseResult> = AdController.show();返回值
返回
Promise,用户观看广告到结束时解析,否则拒绝。
示例类型如下:tsinterface ShowPromiseResult { done: boolean; // 用户观看到结束时为 true,否则为 false。 description: string; // 事件描述。 state: 'load' | 'render' | 'playing' | 'destroy'; // 广告状态。 error: boolean; // 如果因错误触发事件则为 true,否则为 false。 }
示例
使用 promises API:
AdController.show().then((result) => {
// 用户观看到结束
// 给用户奖励的代码
}).catch((result) => {
// 用户在播放广告时遇到错误或跳过广告
// 无需处理或执行其他操作
})AdController.show().then((result: ShowPromiseResult) => {
// 用户观看到结束
// 给用户奖励的代码
}).catch((result: ShowPromiseResult) => {
// 用户在播放广告时遇到错误或跳过广告
// 无需处理或执行其他操作
})使用 await
try {
const showPromiseResult = await AdController.show();
// 用户观看到结束
// 给用户奖励的代码
} catch (showPromiseResult) {
// 用户在播放广告时遇到错误或跳过广告
// 无需处理或执行其他操作
}try {
const showPromiseResult: ShowPromiseResult = await AdController.show();
// 用户观看到结束
// 给用户奖励的代码
} catch (showPromiseResult: ShowPromiseResult) {
// 用户在播放广告时遇到错误或跳过广告
// 无需处理或执行其他操作
}提示
如果您需要在广告播放结束、被跳过或出现错误后添加任何额外操作,请使用 finally 链式处理 Promise。
destroy
停止展示广告并移除加载的广告数据。
语法
AdController.destroy();返回值
None(
undefined)
信息
通常情况下,您无需手动调用它。如果发生错误、跳过广告或广告被完整观看,广告会自动销毁。
addEventListener
订阅 event 并在触发事件时调用 callback 函数;当您对广告展示需要更多控制时,可以使用此方法。
语法
AdController.addEventListener('onReward', () => {
// 给用户奖励的代码
});参数事件类型
event
Types of events:
事件 触发时机 onStart第一个广告帧展示时 onSkip用户关闭广告时 onReward用户观看奖励广告到结束时 onComplete用户观看插页式广告到结束或关闭时 onError用户在播放广告时遇到错误时 onBannerNotFound没有可显示广告时 onNonStopShow当用户尝试连续观看多个广告时 onTooLongSession当会话时间过长时,用户需要重新启动应用以获取广告 提示
如果您想显示自定义弹窗,可以订阅
onBannerNotFound、onNonStopShow或onTooLongSession。
否则,我们将显示默认弹窗。
弹窗会以用户的语言或英语显示
callback
当指定类型的事件发生时将被调用的函数。
返回值
None(
undefined)
removeEventListener
基于确定的 callback 取消订阅 event。
语法
AdController.removeEventListener('onReward', rewardFunction);参数
和 addEventListener 相同
返回值
None(
undefined)
