3***@qq.com
3***@qq.com
  • 发布:2026-04-23 14:45
  • 更新:2026-04-23 14:50
  • 阅读:38

【报Bug】广告跳过后 ad.onClose回调中的isEnded 显示为true

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22H2

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: 小米14

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: 3.0.0-5000320260312001

操作步骤:

打开激励视频 当出现跳过按钮时 按下跳过并确认跳过

预期结果:
onClose回调中  
res.isEnded 的值为false

实际结果:
onClose回调中  
res.isEnded 的值为true

bug描述:

广告跳过后 ad.onClose回调中的isEnded 显示为true

2026-04-23 14:45 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

这个反馈整体信息较为完整,包含了运行环境、设备信息和基本的问题描述,但缺少关键的代码示例和广告商信息,这对于定位问题是必要的。

从反馈内容来看,用户描述的场景是:在激励视频播放过程中点击"跳过"按钮后,onClose回调中的isEnded参数返回了true,但用户期望是false

根据知识库中关于激励视频广告的文档说明,isEnded字段的定义为:视频是否是在用户完整观看的情况下被关闭的,true 表示用户是在视频播放完以后关闭的视频,false 表示用户在视频播放过程中关闭了视频链接

按照此定义,用户通过"跳过"按钮中断播放属于"播放过程中关闭",预期isEndedfalse是合理的。如果实际返回true,可能是以下情况之一:

  1. 特定广告商的行为差异:不同广告平台(如穿山甲、优量汇、海外平台等)对"跳过"事件的处理逻辑可能不同,某些平台可能将"跳过并确认"视为有效完成。
  2. 客户端参数限制:文档明确提示isEnded 作为一个客户端参数,仅作为参考,需通过服务器回调来判断最终结果,且海外广告的 isEnded 参数并不准确链接

为了进一步确认是否为框架层bug,建议补充以下信息:

  • 具体的广告代码实现(使用的是ad-rewarded-video组件还是uni.createRewardedVideoAd API)
  • 使用的广告商(adpid对应的具体广告平台)
  • 是否使用了服务器回调机制

如果业务对奖励发放的安全性要求较高,强烈建议接入服务器回调功能,通过服务端验证来确保奖励发放的准确性,而非仅依赖客户端的isEnded参数。关于服务器回调的配置,可参考激励视频广告文档中的相关说明。链接

内容为 AI 生成,仅供参考
DCloud_Android_zl

DCloud_Android_zl

提供一个完整的录屏

要回复问题请先登录注册