更新记录

1.0.0(2025-04-07)

新增

  • 初始发布RewardedVideoAd激励视频广告组件
  • 支持广告加载、展示、关闭等基本功能
  • 提供多种广告展示模式配置
  • 支持服务器回调参数设置
  • 实现广告加载失败自动重试机制

优化

  • 完善错误处理逻辑
  • 增加广告状态管理
  • 改进Promise回调处理

修复

  • 修复广告实例销毁时的事件解绑问题
  • 修复广告加载失败时的重试逻辑
  • 修复广告展示时的状态更新问题

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.0 app-vue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

广告组件文档

RewardedVideoAd 激励视频广告

基本使用

const videoAd = new RewardedVideoAd({
  // 必填参数
  adUnitId: 'your-ad-unit-id',

  // 服务器回调参数(可选)
  urlCallback: {
    userId: 'user123',
    extra: 'some-extra-data'
  },

  // 最大重试次数(可选,默认3次)
  maxRetries: 3,

  // 广告展示模式(可选,默认0)
  mode: 0, // 0: 默认模式, 1: 询问是否继续, 2: 强制看完广告, 3: 强制弹窗倒计时

  // 事件回调(可选)
  onLoad: () => {
    console.log('广告加载成功');
  },
  onError: (err) => {
    console.log('广告加载失败', err);
  },
  onClose: (res) => {
    console.log('广告关闭', res);
  },
  onAdClicked: () => {
    console.log('广告被点击');
  }
});

API 文档

构造函数

new RewardedVideoAd(options)

参数: 参数 说明 类型 默认值
adUnitId 广告位ID String -
urlCallback 服务器回调参数 Object -
maxRetries 最大重试次数 Number 3
mode 广告展示模式 Number 0
countdownTime 倒计时时间(秒),仅mode=3时有效 Number 30
popupTitle 弹窗标题,仅mode=3时有效 String -
popupContent 弹窗内容,仅mode=3时有效 String -
onLoad 广告加载成功回调 Function -
onError 广告加载失败回调 Function -
onClose 广告关闭回调 Function -
onAdClicked 广告被点击回调 Function -

mode可选值:

  • 0: 默认模式
  • 1: 询问是否继续
  • 2: 强制看完广告
  • 3: 强制弹窗倒计时

方法

show()

显示广告

返回值: Promise对象,resolve时返回广告关闭的回调值

load()

手动加载广告

返回值: Promise对象

destroy()

销毁广告实例

使用示例

// 在需要显示广告的地方调用
async function showRewardAd() {
  try {
    const result = await videoAd.show();

    if (result.success) {
      if (result.isEnded) {
        // 用户完整观看了广告
        await giveReward();
      } else {
        // 用户中途退出
        showTip('需要完整观看广告才能获得奖励');
      }
    } else {
      // 广告展示失败
      showTip('广告加载失败,请稍后重试');
    }
  } catch (err) {
    console.error('广告异常', err);
    showTip('广告展示异常,请稍后重试');
  }
}

// 在组件销毁时调用
onUnmounted(() => {
  videoAd.destroy();
});

最佳实践

  1. 建议在页面加载时就初始化广告实例
  2. 在适当的时候调用load()预加载广告
  3. 确保在组件销毁时调用destroy()方法
  4. 处理所有可能的错误情况
  5. 根据业务需求合理设置重试次数

ScoryAd Vue组件

基本使用

<scory-ad 
  adUnitId="your-ad-unit-id"
  mode="2"
  countdownTime="30"
  popupTitle="广告"
  popupContent="广告内容"
  autoShow="false"
  autoShowDelay="0"
  @success="handleSuccess"
  @fail="handleFail"
  @close="handleClose"
  @load="handleLoad"
  @complete="handleComplete"
  @error="handleError"
/>

属性

参数 说明 类型 默认值
adUnitId 广告单元ID String -
mode 广告模式 Number 2
countdownTime 倒计时时间(秒) Number 30
popupTitle 弹窗标题 String "广告"
popupContent 弹窗内容 String "广告内容"
autoShow 是否自动显示广告 Boolean false
autoShowDelay 自动显示的延迟时间(毫秒) Number 0

事件

事件名 说明 回调参数
success 广告成功回调 result
fail 广告失败回调 error
close 广告关闭回调 result
load 广告加载完成回调 -
complete 广告展示完成回调 result
error 广告错误回调 error

方法

方法名 说明
showAd() 显示广告
destroyAd() 销毁广告实例

注意事项

  1. 确保广告位ID正确
  2. 测试环境下请使用测试广告位ID
  3. 正式环境请替换为正式广告位ID
  4. 广告加载可能需要一定时间,建议提前预加载
  5. 用户网络环境可能影响广告加载

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问