更新记录

1.0.8(2026-11-02) 下载此版本

优化

1.0.7(2026-11-02) 下载此版本

优化

1.0.6(2026-11-02) 下载此版本

ios调试

查看更多

平台兼容性

uni-app(4.71)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

极准广告SDK · 非标服务广告(UTS 插件)

极准广告 SDK(Jizhun Ad)的 uni-app UTS 插件,提供 SDK 初始化 + 非标服务广告:

平台 非标广告能力
Android ① 页面内组件 <jz-service-ad> ② 浮层 API showServiceAd()(可指定位置/尺寸/坐标)
iOS 页面内组件 <jz-service-ad>

支持 uni-app(vue2 / vue3)、uni-app x(需关闭蒸汽模式)。


一、环境要求

项 要求
HBuilderX uni-app x ≥ 3.9(建议 4.71+);vue3 ≥ 3.6;vue2 ≥ 3.6.8
Android minSdkVersion ≥ 24(极准 AAR 要求);ABI:armeabi-v7a / arm64-v8a
iOS 最低 11.0
运行方式 必须使用自定义调试基座或云打包(标准基座不含 UTS 插件)
uni-app x manifest.json → uni-app-x 必须 "vapor": false(不支持蒸汽模式)

二、安装

  1. 插件市场导入本插件(或把 uni_modules/jz-ad/ 拷入项目根目录)
  2. Android 项目设置最低版本:
    "app-android": { "distribute": { "minSdkVersion": 24 } }

    (uni-app 项目为 app-plus.distribute.android.minSdkVersion)

  3. uni-app x 项目:manifest.json → uni-app-x 设置 "vapor": false
  4. 运行 → 制作自定义调试基座,选择自定义基座运行

三、初始化

// App.vue onLaunch(全项目唯一一次 import)
import { initJZ, setConfig } from '@/uni_modules/jz-ad/js_sdk/index.js'

setConfig({ appid: '极准APPID' })
initJZ({}, (res) => console.log('[JZAD]', res.event, res.msg))

也可以直接调用 UTS API:

import { initSDK } from '@/uni_modules/jz-ad'
initSDK({ appId: '极准APPID', requestDomain: 'https://admin.hzjizhun.cn' }, (code, message) => {
  console.log(code === 0 ? '初始化成功' : message)
})

四、用法一:页面内组件(Android + iOS)

组件是原生组件,只能放在 nvue / uvue 页面:

<jz-service-ad
  v-if="show"
  style="width:320rpx;height:300rpx"
  :posId="posId"
  :showCloseView="true"
  :refershTime="30"
  @onReceived="onAd"
  @onFail="onAd"
  @onClicked="onAd"
  @onClose="onAd"
  @onExposure="onAd"
  @onExposureReport="onAd"
  @onClickedReport="onAd"
  @onCloseLandingPage="onAd" />

属性

属性 类型 默认 说明
posId String 57229709 非标广告位 ID(务必传真实值)
showCloseView Boolean false 是否显示关闭按钮
refershTime Number 0 自动刷新间隔(秒),0 不刷新

事件

事件 说明
onReceived 广告获取成功
onExposure 广告曝光
onExposureReport 曝光上报
onClicked 广告点击
onClickedReport 点击上报
onClose 广告关闭
onCloseLandingPage 关闭落地页
onFail 广告失败

事件载荷(两端格式不同,建议兼容写法):

onAd(e) {
  let d = e.detail
  if (typeof d === 'string') d = JSON.parse(d) // iOS 载荷为 JSON 字符串
  d = d || e
  // Android: { event, posId, code?, msg?, message? }
  // iOS:     JSON.parse 后 { event, posId };onFail -> +code/message;onClicked -> +loadingPageURL
}

五、用法二:浮层 API(仅 Android)

不占页面布局,直接浮在屏幕上,可自定义位置、尺寸、坐标:

// 右上角 320x250(dp)
uni.$jzad.showServiceAd({
  adid: '非标位ID',
  position: 'top-right',
  width: 320,
  height: 250
}, res => console.log(res.event))

// 按左上角坐标定位(dp)
uni.$jzad.showServiceAd({
  adid: '非标位ID',
  width: 320,
  height: 250,
  x: 30,
  y: 100
})

// 全屏(默认)
uni.$jzad.showServiceAd({ adid: '非标位ID' })
参数 说明
adid 非标广告位 ID
position full(默认) / top-left / top-right / bottom-left / bottom-right / top-center / center
width / height 容器尺寸(dp,默认 320 × 250),仅非 full 生效
x / y 左上角坐标(dp),传了 x/y 则忽略 position

失败事件会 reject Promise:

uni.$jzad.showServiceAd({ adid: 'xxx' }).catch(e => console.warn(e.code, e.msg))

六、平台差异

能力 Android iOS
jz-service-ad 组件 ✅ ✅
showServiceAd() 浮层(位置/尺寸/坐标) ✅ ✖

七、常见问题

现象 处理
「插件未生效 / 未加载」 用了标准基座;请制作自定义基座或云打包
组件不显示 页面不是 nvue/uvue;或 posId 不是有效非标广告位
编译报「蒸汽模式不支持 uni-app 兼容模式组件」 manifest.json → uni-app-x 设 "vapor": false
manifest 合并报 minSdkVersion 23 cannot be smaller than 24 项目 minSdkVersion 抬到 24
posId config no found 极准后台广告位类型不是"非标服务",或 appid 与广告位不属于同一账号
事件里取不到 code/msg 用 e.detail \|\| e 兼容两端
iOS 非标不显示 确认是 iOS 账号下的有效非标广告位,且页面为 nvue/uvue

八、UTS 开发注意(改插件源码时)

  1. 局部函数必须先声明后使用(编译成 Kotlin,无提升)
  2. 不要用 push/pop/map 等内置方法名做函数名
  3. 不要用交叉类型:type A = B & { ... } 会报 UTS110111101
  4. 不要把数值参数直接传给 Java 的 int/long;本插件统一用 String 传数值,Java 侧解析
  5. charCodeAt() 返回 Number?,不能直接参与算术
  6. 未声明类型的对象字面量变量(const cfg = { a: 'x' })属性会退化为 Any?,请用显式类型常量

九、版本

版本 说明
1.0.1 修复:uni-app 经典版(vue2/vue3)JS 层导入失效(去掉 APP-ANDROID/APP-IOS 条件编译,改用 APP-PLUS);修复浮层/组件视图操作线程异常(切主线程);iOS 补齐同名 API 占位,保证两端 JS 导入签名一致
1.0.0 非标服务广告:Android(组件 + 浮层)/ iOS(组件);内置 JS 层

隐私、权限声明

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

Android:INTERNET(网络请求)、ACCESS_NETWORK_STATE(网络状态)、ACCESS_WIFI_STATE(WiFi 状态)、ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION(定位,广告定向)、WAKE_LOCK(播放广告保持亮屏)、READ_PHONE_STATE(设备标识与广告归因)。iOS:NSUserTrackingUsageDescription(IDFA 广告标识)、NSLocationWhenInUseUsageDescription(定位)、NSMotionUsageDescription(运动与健身)。以上由插件 utssdk/app-android/config.json 与 utssdk/app-ios/Info.plist 声明,云打包时自动合并;另有 NSAllowsArbitraryLoads=true 允许 http 广告上报(非系统权限)

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

插件本身不采集、不上报任何数据;仅封装极准广告SDK(Jizhun Ad)调用。集成后由极准SDK在广告请求/展示时采集并发送:设备信息(型号、系统版本、屏幕参数、语言时区、OAID、Android ID,具备READ_PHONE_STATE时可能含IMEI/IMSI;iOS为IDFA,需ATT授权)、网络信息(IP、网络类型、运营商、WiFi状态)、位置信息(经纬度,需定位权限)、应用信息(包名、版本、渠道)、广告行为数据(请求、曝光、点击、关闭、转化、错误日志)。发送地址:默认 https://admin.hzjizhun.cn(可通过 initSDK.requestDomain / setConfig.baseHttp 修改),广告素材可能由极准及其合作广告平台服务器提供。用途:广告请求与展示、广告定向与频次控制、效果统计与归因、反作弊与风控。不采集通讯录、相册、短信、通话记录等无关信息

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

包含广告(由极准广告平台提供,需业务代码调用后展示)。形式与频率:①开屏:全屏 3~5 秒可跳过,由业务在启动时调用;②插屏:页面内弹窗,可配置自动关闭时间(如 5 秒),业务在页面切换/操作节点调用;③激励视频:用户主动点击后全屏播放(约 15~30 秒),看完发奖,非强制;④信息流模板:弹窗或页面内嵌展示;⑤悬屏:底部/顶部悬浮小尺寸(16:7、5:1、1:1);⑥非标服务:页面内原生容器/浮层,尺寸位置由业务指定并带关闭按钮;⑦游戏功能:全屏互动广告。除 jz-service-ad 组件在页面渲染后自动请求一次且可配置刷新间隔(refershTime,0 为不刷新)外,其余均为业务主动触发,插件不自动弹窗,同时受极准后台频次策略控制

许可协议

MIT协议

暂无用户评论。