跳到主要内容

激励视频奖励结算

胜利时基础奖励 10 螺丝随结算入账,并解锁下一关。页面另有「看完广告,再得 10 螺丝」按钮。玩家随时可以继续游戏。示例金额用于练习结算设计。

状态与玩家反馈​

状态输入可见结果与数据动作
可领取点击广告按钮生成本次 attemptId,显示加载,锁住广告按钮防止连点
加载或播放无广告、加载失败、提前关闭解释本次未获奖励,允许在结算页重新发起
播放中确认本次完整播放持久化待发记录,提交一次额外奖励,页面显示「确认奖励中」
待发请求超时、断线或冷启动先按幂等键查账,必要时使用原键重试。保留可继续游戏的入口
已发结算重开、重复回调或重复请求展示已领取,从账本读取余额,奖励总额保持原值
播放中被回收冷启动,且无可恢复的完整播放凭据提示这次播放未能确认。已入账则展示已领取,否则可重新申请

微信适配层需按实际基础库确认完整播放的信号。只有能关联到正在处理的 attemptId 且明确完整播放的结果才进入待发。广告开始展示、收到未知状态、缺少完成证明或旧回调到达,都不进入发奖。适配层无法可靠关联时保留未确认状态。接入真实服务时依据该广告能力可用的校验凭据核验玩家、本次展示与胜利场次。

账本合同​

  • 基础奖励键为 runId:base,广告奖励键为 runId:ad_bonus。attemptId 区分每次展示,发奖上限按 runId 判定。
  • 账本按玩家与幂等键唯一。发放条目和余额变更在同一事务,重复请求返回既有记录。通关标记和基础奖励都以该局结算为依据。
  • 失败场次不开放奖励广告。发奖时再校验结算属于当前玩家且为胜利。先确认已有账本,再决定需不需要提交额外奖励。
  • 保存待发记录后才发送网络请求。请求已经入账但响应丢失时,页面通过查询或重试重新对齐。广告页面结束后余额仍能从账本恢复。

可直接交给 AI 的需求​

将本页的规则和验收表与下面的指令一起发给 AI。

按本页实现胜利结算奖励。基础 +10,确认完整播放后额外 +10。
广告只能由玩家点击发起,继续游戏入口保持可用。区分 runId、
attemptId 与幂等键,播放事件、待发记录和账本使用各自的状态。
把广告适配器和奖励仓库做成可以注入的接入点,先用模拟器重放下面用例,
再按微信小游戏官方文档在目标基础库验证回调与失败分支。

验收用例​

以下用例各自从胜利局基础奖励已发、余额 10 螺丝开始,失败场次除外。

编号给定当则
A01结算页允许申请快速点击两次并在半途关掉广告只创建一次展示,余额 10,继续入口可用
A02当次展示完整播放相同回调和发奖请求各重放两次余额 20,额外奖励条目恰好一条
A03服务端入账,客户端等响应时断网冷启动后恢复待发记录并重试同一个 runId 的键返回已有奖励,余额仍为 20
A04当前尝试是 B,旧尝试 A 的回调延迟到达接收 A 的完成回调B 保持原状态,额外奖励账本无新增
A05广告无填充或无法确认播放结果返回结算页展示可理解的状态,余额 10,可以直接继续
A06对局失败打开结算并尝试提交广告奖励页面无激励入口,账本拒绝该场次的额外奖励

微信小游戏广告指南 · 广告关闭回调