跳到主要内容

激励视频广告:展示与发奖是两回事

广告 API 能调用,不代表账号有对应广告位;广告展示出来,也不代表玩家满足奖励条件。先定义“什么算成功”,再写按钮逻辑。

奖励流程​

微信官方类型定义说明小游戏激励视频对象有全局单例语义,load() 与 show() 返回 Promise,关闭结果中的 isEnded 表示完整观看情况。不要在每个奖励按钮上各自无限创建监听并重复发奖。

关键分支都要有​

事件含义处理
创建/加载失败配置、网络或库存等问题恢复按钮,不扣除奖励资格
show 成功展示已开始等待关闭,不立即发奖
关闭且明确完整观看满足观看条件进入一次性奖励确认
提前关闭或信息不明确未确认满足条件不发奖,允许正常继续游戏
重复触发/回调竞态或监听残留以流程状态和奖励标识去重

涉及有价值资产时,还需设计服务端校验与平台可用的验证方案。客户端 isEnded 分支是 UI 逻辑的一部分,不是天然防作弊证明。

生命周期要覆盖广告对象​

给 onClose 和 onError 注册稳定函数引用,在拥有者退出时用对应 offClose、offError 解除。由于广告可能跨场景,应明确由哪个应用级模块管理,避免新旧场景同时认为自己拥有奖励。

无合适广告不是稀奇异常。应该允许玩家继续游戏或稍后重试,不要让一次无库存把流程永久卡住。

给 AI 一份可实现规格​

玩家主动点击后展示激励视频;同一时刻仅允许一个广告流程。
只有关闭回调明确完整观看,才提交本次奖励确认。
取消、加载失败、展示失败、无广告都恢复 UI,不发奖励。
回调去重;切场景解除监听;浏览器只演示带“模拟”标识的流程。
先列平台资质、广告位配置与真机验收,再写适配代码。

依据:微信激励视频创建、关闭事件、腾讯官方小游戏类型与注释。本章不承诺任何账号的广告资格、库存或收入。