奖励广告和插屏广告集成
要求
- 拥有 Telegram Mini App
- 确定广告的展示位置(如果不清楚,请参考 广告集成示例)
- 获取
blockId
(如果未获取,请参考 获取 blockId)
插入脚本
在 <head>
标签内添加以下脚本,将 Mini App 连接到 AdsGram 广告网络:
html
<script src="https://sad.adsgram.ai/js/sad.min.js"></script>
初始化 AdsGram SDK
js
const AdController = window.Adsgram.init({ blockId: "your-block-id" });
关于init
函数的更多信息,你可以在API参考部分找到。
your-block-id
— 可以从该链接获取 https://partner.adsgram.ai
关于如何获取blockId的详细说明,你可以在获取blockId部分找到。
展示广告素材
信息
以下是奖励格式的代码示例。这些示例也适用于插页格式。唯一的区别在于,AdController.show()承诺会为已观看至结束的广告以及已关闭的广告解析。你可以在这里找到一个简单的示例。
在大多数情况下,下面的代码用于 clicker handler 内部。
有关使用原生JavaScript、React、Unity的代码示例,请查看“代码示例”部分。
js
AdController.show().then((result) => {
// 用户观看完整广告或在插屏模式下关闭广告
// 在奖励广告模式下执行奖励逻辑
}).catch((result) => {
// 用户播放广告时发生错误
// 可选择不执行任何操作
})
ts
AdController.show().then((result: ShowPromiseResult) => {
// 用户观看完整广告或在插屏模式下关闭广告
// 在奖励广告模式下执行奖励逻辑
}).catch((result: ShowPromiseResult) => {
// 用户播放广告时发生错误
// 可选择不执行任何操作
})
result
包含包含下面的类型:
ts
interface ShowPromiseResult {
done: boolean; // 是否完整观看广告或在插屏模式下关闭
description: string; // 事件描述
state: 'load' | 'render' | 'playing' | 'destroy'; // 广告状态
error: boolean; // 是否因错误触发
}
信息
如果用户观看广告至结束或在插页格式中关闭它,showPromise
将变为已解决状态,否则将被拒绝。
小贴士
如果需要在广告播放结束、被跳过或出现错误后添加任何额外操作,可以使用 finally
链式调用 promise。
恭喜你,你已经成功集成了 AdsGram 广告!
其他信息
- 代码示例(适用于 React、Unity、JavaScript)
- 遇到问题请查看 故障排除
- 进阶 AdController API 指南文档可以在 API Reference section 找到
- 如果你使用 Typescript, 请参考 Typescript section