更新记录

1.1.3(2026-08-12)

更新 示例与说明文档

1.1.2(2026-08-03)

修复 安卓自定义广告解锁回调异常问题 更新 示例项目新增模拟激励成功模式

1.1.1(2026-08-03)

修复 Android 自定义广告解锁时 DJXRewardAdResult 类型不匹配导致的回调失败

查看更多

平台兼容性

uni-app(5.07)

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

uni-app x(5.07)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
× × 7.0 1.0.0 12 1.0.0 × ×

tt-short-djx

穿山甲短剧 SDK UTS 插件,为 uni-app x / uni-app App 端提供短剧内容接入能力。插件只提供 API,不提供列表 UI 组件;业务侧可自行实现首页、推荐、搜索、收藏、观看记录、播放入口和广告解锁流程。

支持能力:

  • 短剧列表、推荐、分类、搜索、短剧信息查询。
  • 观看记录、收藏列表、清空观看记录。
  • 点赞 / 取消点赞,收藏 / 取消收藏。
  • 分集解锁状态查询。
  • 原生详情播放页、滑滑流 openDraw()、原生聚合页 openHome()
  • 默认 SDK 解锁和业务侧自定义激励视频解锁回传。

接入前必读

  • 仅支持 App 真机环境;请使用自定义基座或云打包后的 App 调试,浏览器和小程序环境不能调用本插件。
  • 应用须先在穿山甲 / 巨量引擎后台开通短剧内容能力,并在 HBuilderX / manifest.json 中勾选穿山甲 GroMore 模块。
  • SDK_Setting.json、Android 包名或 iOS Bundle ID 必须与当前应用及其短剧授权一致;不要使用示例应用或其他应用的配置文件。
  • 短剧仅支持广告解锁,不支持 IAP、会员付费解锁或将短剧全量设为免费观看。短剧 SDK 会校验免费集数和解锁集数,不符合规则时会强制展示广告,规避广告解锁可能导致应用被封禁。
  • 短剧解锁广告必须包含穿山甲广告,并产生真实广告曝光。
  • 建议开通 UniAd,并联系相关人员在激励视频广告位瀑布流中配置穿山甲广告,穿山甲广告填充率须大于 6%。
  • 相关规则请参阅:穿山甲支持中心说明

目录

版本信息

平台 SDK 版本 支持状态
iOS 2.9.0.5 支持
Android 2.9.0.9 支持

授权说明

授权类型 购买名次 价格
普通授权 第 1~5 名 99
普通授权 第 6~20 名 149
普通授权 第 21 名起 199
源码授权 第 1~3 名 599
源码授权 第 4~10 名 799
源码授权 第 11 名起 999

配置文件

完成“接入前必读”的检查后,将当前应用对应的 SDK_Setting.json 放入插件目录。

Android 配置

将 Android 应用对应的 SDK_Setting.json 放到:

uni_modules/tt-short-djx/utssdk/app-android/assets/SDK_Setting.json

重点检查:

  • init.site_id 是当前 Android 应用的穿山甲媒体 ID。
  • license_config.PackageName 与项目 Android 包名一致。
  • 后台已为该应用开通短剧功能,并配置短剧相关广告位。

iOS 配置

将 iOS 应用对应的 SDK_Setting.json 放到:

uni_modules/tt-short-djx/utssdk/app-ios/Resources/SDK_Setting.json

重点检查:

  • init.site_id 是当前 iOS 应用的穿山甲媒体 ID。
  • license_config.BundleId 与项目 iOS Bundle ID 一致。
  • 后台已为该应用开通短剧功能,并配置短剧相关广告位。

adSiteId 与 adpid

  • adSiteId:穿山甲广告 SDK 媒体 ID,用于广告 SDK / 短剧 SDK 初始化。不传时插件会读取 SDK_Setting.jsoninit.site_id
  • adpid:激励视频广告位 ID,仅业务侧自定义解锁流程使用,不需要传给 createShortDrama()

创建实例时可显式传入 adSiteId

const shortDrama = createShortDrama({
  adSiteId: '你的穿山甲媒体 ID'
})

快速开始

导入并创建实例

import { createShortDrama } from '@/uni_modules/tt-short-djx'
import type { ShortDrama } from '@/uni_modules/tt-short-djx/utssdk/interface.uts'

let shortDrama: ShortDrama | null = null

export default {
  onLoad() {
    shortDrama = createShortDrama()
  },
  onUnload() {
    shortDrama?.destroy()
    shortDrama = null
  }
}

获取推荐并打开播放页

shortDrama?.getRecommendedList(
  { page: 1, pageSize: 20 },
  (res) => {
    if (res.list.length === 0) return

    const item = res.list[0]
    shortDrama?.open(
      {
        dramaId: item.dramaId,
        startEpisode: item.currentEpisode > 0 ? item.currentEpisode : 1,
        freeEpisodeCount: 1,
        unlockEpisodeCount: 1,
        unlockAdMode: 'sdk'
      },
      () => console.log('打开成功'),
      (err) => console.error('打开失败', err)
    )
  },
  (err) => console.error('推荐列表获取失败', err)
)

默认 unlockAdMode: 'sdk' 使用 SDK_Setting.json 中的短剧解锁广告配置,不需要业务侧传入激励视频广告位 ID。

常用能力示例

列表、分类、搜索

shortDrama.getList({ page: 1, pageSize: 20, order: 'default' }, success, fail)
shortDrama.getRecommendedList({ page: 1, pageSize: 20 }, success, fail)
shortDrama.getCategories(success, fail)
shortDrama.getListByCategory({ category: '霸总', page: 1, pageSize: 20 }, success, fail)
shortDrama.search({ keyword: '霸总', fuzzy: true, page: 1, pageSize: 20 }, success, fail)
shortDrama.getInfo({ dramaId: 123456 }, success, fail)
shortDrama.getInfo({ dramaIds: [123456, 789012] }, success, fail)

观看记录与收藏列表

shortDrama.getWatchHistory({ page: 1, pageSize: 20 }, success, fail)
shortDrama.getFavorites({ page: 1, pageSize: 20 }, success, fail)
shortDrama.clearWatchHistory(success, fail)

点赞与收藏操作

shortDrama.like({ dramaId: 123456, episode: 1 }, success, fail)
shortDrama.unlike({ dramaId: 123456, episode: 1 }, success, fail)

shortDrama.favorite({ dramaId: 123456, episode: 1 }, success, fail)
shortDrama.unfavorite({ dramaId: 123456, episode: 1 }, success, fail)

说明:

  • like() / unlike() 操作指定短剧集。
  • favorite() / unfavorite() 操作短剧收藏;iOS 收藏 / 取消收藏接口不使用 episode,传入也会被忽略。

分集解锁状态

shortDrama.getEpisodeUnlockStatus(
  { dramaId: 123456, freeEpisodeCount: 1 },
  (res) => {
    const locked = res.list.filter((item) => item.locked)
    console.log('锁定集数', locked)
  },
  fail
)

打开详情播放页

shortDrama.open(
  {
    dramaId: 123456,
    startEpisode: 1,
    freeEpisodeCount: 1,
    unlockEpisodeCount: 1,
    unlockAdMode: 'sdk',
    hideLikeButton: false,
    hideFavorButton: false
  },
  success,
  fail
)

打开滑滑流

shortDrama.openDraw(
  {
    channelType: 'recommend',
    hideChannelName: false,
    hideDramaEnter: false,
    hideClose: false,
    dramaFree: 1,
    topDramaId: 0,
    freeEpisodeCount: 1,
    unlockEpisodeCount: 1,
    unlockAdMode: 'sdk'
  },
  success,
  fail
)

打开原生聚合页

shortDrama.openHome(
  {
    showPageTitle: true,
    showBackBtn: true,
    topDramaId: 0,
    freeEpisodeCount: 1,
    unlockEpisodeCount: 1,
    unlockAdMode: 'sdk'
  },
  success,
  fail
)

自定义解锁流程

默认 SDK 解锁不需要监听 onUnlockEvent(),也不需要调用 completeUnlock()。只有当 unlockAdMode: 'custom' 时,业务侧才需要监听 unlockRequired、展示激励视频,并把结果回传给短剧 SDK。

const rewardAd = uni.createRewardedVideoAd({
  adpid: '你的激励视频广告位 ID'
})

// 广告实例的生命周期回调只注册一次,不要放进 onUnlockEvent。
let pendingTaskId = ''

function showPendingRewardAd() {
  if (pendingTaskId.length === 0) return

  // 广告真实展示前通知短剧 SDK。
  shortDrama.notifyUnlockAdWillShow({ taskId: pendingTaskId })
  rewardAd.show()
}

rewardAd.onLoad(() => {
  showPendingRewardAd()
})

rewardAd.onClose((res) => {
  if (pendingTaskId.length === 0) return

  shortDrama.completeUnlock({
    taskId: pendingTaskId,
    success: res.isEnded === true,
    extra: { isEnded: res.isEnded } as UTSJSONObject
  })
  pendingTaskId = ''
})

rewardAd.onError((err) => {
  if (pendingTaskId.length === 0) return

  shortDrama.completeUnlock({
    taskId: pendingTaskId,
    success: false,
    extra: { error: err } as UTSJSONObject
  })
  pendingTaskId = ''
})

shortDrama.onUnlockEvent((event) => {
  if (event.type !== 'unlockRequired') return

  pendingTaskId = event.taskId
  rewardAd.load()
})

广告加载失败、展示失败或用户跳过广告时,也应调用 completeUnlock({ taskId, success: false }),避免解锁任务挂起。

广告曝光回调 onADWillShow 和奖励下发结果应优先回传广告真实 CPM。无法获取 CPM 时可以传空字符串 ''

API 参考

createShortDrama(options?)

参数 类型 必填 说明
adSiteId string 穿山甲广告 SDK 媒体 ID;不传时读取 SDK_Setting.jsoninit.site_id

ShortDrama 方法

方法 说明
getList(options, success?, fail?) 获取全量短剧列表。
getRecommendedList(options, success?, fail?) 获取推荐短剧列表。
getCategories(success?, fail?) 获取短剧分类列表。
getListByCategory(options, success?, fail?) 按分类获取短剧列表。
getInfo(options, success?, fail?) dramaIddramaIds 查询短剧信息。
getWatchHistory(options, success?, fail?) 获取观看记录列表。
getFavorites(options, success?, fail?) 获取收藏列表。
clearWatchHistory(success?, fail?) 清空观看记录。
getEpisodeUnlockStatus(options, success?, fail?) 获取短剧分集解锁 / 锁定状态。
like(options, success?, fail?) / unlike(options, success?, fail?) 点赞 / 取消点赞指定短剧集。
favorite(options, success?, fail?) / unfavorite(options, success?, fail?) 收藏 / 取消收藏短剧。
search(options, success?, fail?) 搜索短剧。
open(options, success?, fail?) 打开原生短剧播放页。
openDraw(options, success?, fail?) 打开 Android / iOS 原生短剧滑滑流页面。
openHome(options, success?, fail?) 打开 Android / iOS 原生短剧聚合页。
notifyUnlockAdWillShow(options) 自定义解锁流程中,通知短剧 SDK 业务侧激励视频广告即将展示。
completeUnlock(options) 自定义解锁流程中,通知短剧 SDK 业务侧解锁流程已完成。
destroy() 销毁实例并解绑事件。
onLoad(callback) / offLoad(callback?) 监听 / 清空加载成功事件。
onError(callback) / offError(callback?) 监听 / 清空错误事件。
onPlayEvent(callback) / offPlayEvent(callback?) 监听 / 清空详情播放页事件。
onDrawEvent(callback) / offDrawEvent(callback?) 监听 / 清空滑滑流事件。
onHomeEvent(callback) / offHomeEvent(callback?) 监听 / 清空聚合页事件。
onAdEvent(callback) / offAdEvent(callback?) 监听 / 清空广告事件。
onUnlockEvent(callback) / offUnlockEvent(callback?) 监听 / 清空解锁事件。

success / fail 均可省略。未传 fail 时,插件会把错误转发到 onError()offXxx(callback?) 在 Android / iOS 均统一为清空当前事件的全部监听,不保证只移除传入的单个 callback。

Options

ShortDramaListOptions

适用于 getList()getRecommendedList()getWatchHistory()getFavorites()

参数 类型 必填 默认值 说明
page number 1 页码,从 1 开始。
pageSize number 20 每页数量。
order 'default' \| 'reverse' 'default' 排序方式,部分接口可能由原生 SDK 决定是否生效。

ShortDramaCategoryListOptions

参数 类型 必填 默认值 说明
category string - 分类名称,例如 霸总
page number 1 页码,从 1 开始。
pageSize number 20 每页数量。
order 'default' \| 'reverse' 'default' 排序方式。

ShortDramaInfoOptions

参数 类型 必填 说明
dramaId number \| string 单个短剧 ID,和 dramaIds 二选一。
dramaIds Array<number \| string> 多个短剧 ID,和 dramaId 二选一。

ShortDramaEpisodeUnlockStatusOptions

参数 类型 必填 默认值 说明
dramaId number \| string - 短剧 ID。
freeEpisodeCount number 0 前置免费观看集数。

ShortDramaUserActionOptions

适用于 like()unlike()favorite()unfavorite()

参数 类型 必填 默认值 说明
dramaId number \| string - 短剧 ID。
episode number 1 集数;iOS 收藏 / 取消收藏接口不使用该参数。

ShortDramaSearchOptions

参数 类型 必填 默认值 说明
keyword string - 搜索关键词。
fuzzy boolean true 是否开启模糊搜索。
page number 1 页码,从 1 开始。
pageSize number 20 每页数量。

ShortDramaOpenOptions

参数 类型 必填 默认值 说明
dramaId number \| string - 短剧 ID。
startEpisode number 1 起播集数。
unlockEpisodeCount number 1 每次激励视频可解锁的集数,范围 1-10
freeEpisodeCount number 1 前置免费观看集数,范围 1-20
unlockAdMode 'sdk' \| 'custom' 'sdk' 解锁广告模式。
hideBack boolean false 是否隐藏详情页返回按钮。
hideTopInfo boolean false 是否隐藏详情页顶部信息。
hideBottomInfo boolean false 是否隐藏详情页底部短剧信息。
hideMore boolean false 是否隐藏详情页更多按钮。
hideLikeButton boolean false 是否隐藏详情页点赞按钮。
hideFavorButton boolean false 是否隐藏详情页收藏按钮。
hideRewardDialog boolean false 是否隐藏详情页激励广告确认弹窗。
topOffset number - 详情页顶部偏移,单位 px;当前仅 Android 生效。
bottomOffset number - 详情页底部偏移,单位 px;当前仅 Android 生效。

ShortDramaDrawOptions

参数 类型 必填 默认值 说明
channelType 'recommend' \| 'theater' \| 'recommendTheater' 'recommend' 滑滑流频道类型。
hideChannelName boolean false 是否隐藏频道名称 / 顶部频道 tab。
hideDramaInfo boolean false 是否隐藏底部短剧信息;当前仅 Android 生效。
hideDramaEnter boolean false 是否隐藏底部短剧入口。
enableRefresh boolean true 是否支持下拉刷新;当前仅 Android 生效。
hideClose boolean false 是否隐藏关闭按钮。
dramaFree number 1 短剧滑滑流免费集数。
topDramaId number \| string 0 置顶短剧 ID,不传或传 0 表示不指定。
freeEpisodeCount number 1 进入详情播放页后的前置免费观看集数,范围 1-20
unlockEpisodeCount number 1 进入详情播放页后,每次激励视频可解锁的集数,范围 1-10
unlockAdMode 'sdk' \| 'custom' 'sdk' 解锁广告模式。

ShortDramaHomeOptions

参数 类型 必填 默认值 说明
showChangeBtn boolean true 是否显示换一换按钮;当前仅 Android 生效。
showPageTitle boolean true 是否显示页面标题。
showBackBtn boolean true 是否显示返回按钮。
topOffset number 0 顶部偏移,单位 px;当前仅 Android 生效。
topDramaId number \| string 0 置顶短剧 ID,不传或传 0 表示不指定。
freeEpisodeCount number 1 进入详情播放页后的前置免费观看集数,范围 1-20
unlockEpisodeCount number 1 进入详情播放页后,每次激励视频可解锁的集数,范围 1-10
unlockAdMode 'sdk' \| 'custom' 'sdk' 解锁广告模式。

NotifyUnlockAdWillShowOptions

参数 类型 必填 说明
taskId string unlockRequired 事件返回的任务 ID。
cpm string 广告 CPM;建议传真实值,无法获取时可传空字符串 ''

CompleteUnlockOptions

参数 类型 必填 说明
taskId string unlockRequired 事件返回的任务 ID。
success boolean 激励视频是否完整播放并允许本次解锁。
cpm string 广告 CPM;建议传真实值,无法获取时可传空字符串 ''
extra UTSJSONObject 透传给短剧 SDK 的附加信息。

Result 与数据类型

ShortDramaListResult

字段 类型 说明
list Array<ShortDramaInfo> 短剧列表。
extra UTSJSONObject 原生 SDK 返回的附加数据,例如 hasMore

ShortDramaInfo

字段 类型 说明
dramaId number 短剧 ID。
title string 标题。
coverUrl string 封面图地址。
summary string 简介。
categoryId number 分类 ID。
categoryName string 分类名称。
currentEpisode number 当前推荐或续播集数。
totalEpisodes number 总集数。
groupId number 分组 ID。
unlockedEpisodeIndex number 原生 SDK 返回的已解锁位置。
styleType number 样式类型。
durationSeconds number 时长,单位秒。
rawData UTSJSONObject 原生 SDK 原始数据。

ShortDramaCategoryListResult / ShortDramaCategoryInfo

字段 类型 说明
list Array<ShortDramaCategoryInfo> 分类列表。
extra UTSJSONObject 原生 SDK 返回的附加数据。
ShortDramaCategoryInfo.name string 分类名称。
ShortDramaCategoryInfo.rawData UTSJSONObject 原始分类数据。

ShortDramaEpisodeUnlockStatusResult / ShortDramaEpisodeUnlockStatusInfo

字段 类型 说明
list Array<ShortDramaEpisodeUnlockStatusInfo> 分集锁定状态列表。
extra UTSJSONObject 原生 SDK 返回的附加数据。
ShortDramaEpisodeUnlockStatusInfo.episodeIndex number 集数索引,按官方 SDK 返回值透传。
ShortDramaEpisodeUnlockStatusInfo.locked boolean 是否锁定。
ShortDramaEpisodeUnlockStatusInfo.rawData UTSJSONObject 原始数据。

ShortDramaError

字段 类型 说明
code number 错误码。
message string 错误描述。
detail UTSJSONObject 原生 SDK 附加错误信息。

事件说明

播放、滑滑流、聚合页与广告事件

事件 常见 type 说明
ShortDramaPlayEvent requestStartrequestSuccessrequestFailplaypauseresumecompletionoverseekprogressclosedramaSwitch 详情播放页事件。
ShortDramaDrawEvent requestStartrequestSuccessrequestFailloadplaypauseresumecompletionoverseekprogressclose 滑滑流事件。
ShortDramaHomeEvent requestStartrequestSuccessprepareFailcreateFailloadopenclose 聚合页生命周期事件。
ShortDramaAdEvent requestrequestFailshowclickedrewardVerifyplayStartplayCompleteskippedVideo 广告相关事件。

事件对象通用字段:

字段 类型 说明
type string 事件类型。
data UTSJSONObject 事件附加数据。
code number 错误码;成功为 0
message string 错误信息。

解锁事件

字段 类型 说明
type 'unlockStart' \| 'unlockRequired' \| 'unlockEnd' 解锁阶段。
taskId string 解锁任务 ID。
drama ShortDramaInfo 当前短剧信息。
code number 错误码;成功为 0
message string 错误信息。
extra UTSJSONObject 附加数据。

unlockRequired 只在 unlockAdMode: 'custom' 的业务侧自定义解锁流程中需要处理。

payload 约定

Android / iOS 会尽量统一补齐以下字段;原生 SDK 没有返回时字段可能为空:

字段 说明
data.source / extra.source 事件来源:detaildrawhomesdkcustomUnlockunlock
data.dramaId 当前短剧 ID。
data.episode / data.position 当前集数、seek 位置等上下文。
data.current / data.progress 播放进度;current 统一为毫秒,progress0~1
data.taskId / data.cpm / data.extra 自定义解锁广告任务、价格和业务透传数据。
data.rawData / extra.rawData Android / iOS 原生 SDK 返回中无法标准化的原始数据。

业务逻辑建议优先使用标准字段,不要直接依赖 rawData 的平台私有结构。

平台差异

  • openDraw():Android 支持 hideDramaInfoenableRefresh;当前 iOS SDK 的 DJXDrawVideoVCConfig 未暴露对应字段,因此这两个参数在 iOS 被忽略。
  • openHome():Android / iOS 均为原生聚合页;iOS 使用 DJXPlayletAggregatePageViewController,支持导航栏标题、返回按钮、置顶短剧和详情播放配置;showChangeBtntopOffset 当前仅 Android 生效。
  • favorite() / unfavorite():iOS 收藏 / 取消收藏接口不使用 episode
  • offXxx(callback?):Android / iOS 已统一为清空当前事件的全部监听。
  • 示例自定义激励视频广告位:Android 默认 953685911,iOS 默认 953685880,均来自示例 SDK_Setting.json,正式接入请替换。

错误码

错误码 说明 建议处理
-1 参数错误或原生 SDK 通用错误。 检查入参、短剧 ID、搜索关键词等是否正确。
-7001 短剧 SDK / 广告 SDK 初始化或 prepare 失败。 检查 site_id、SDK 配置、依赖冲突和原生日志。
-7002 当前原生上下文不存在,例如 Android Activity 或 iOS UIViewController 为空。 确认在 App 真机 / 自定义基座页面生命周期内调用。
-7003 原生页面、控制器或 Widget 创建 / 打开失败。 查看原生日志,检查 SDK 版本、页面参数和宿主依赖。
-2001 解锁任务不存在。 检查 taskId 是否来自当前 unlockRequired 事件,是否重复回传。

推荐统一监听错误事件:

shortDrama.onError((err) => {
  console.error('短剧插件错误', err.code, err.message, err.detail)
})

常见问题

插件是否提供短剧列表组件?

不提供。插件只提供 API,业务侧需要自行实现列表 UI、搜索 UI、收藏页、观看记录页和入口逻辑。

默认 SDK 解锁需要传激励视频广告位 ID 吗?

不需要。默认 SDK 解锁广告位来自当前应用的 SDK_Setting.json。只有 unlockAdMode: 'custom' 时,才需要业务侧自行调用 uni.createRewardedVideoAd({ adpid }) 展示激励视频,并通过 completeUnlock() 回传结果。

SDK 解锁和自定义解锁如何选择?

unlockAdMode: 'sdk' 由插件使用 SDK_Setting.json 中的短剧解锁广告配置,接入简单,但业务侧不能调整广告请求逻辑。unlockAdMode: 'custom' 由业务侧通过 uni.createRewardedVideoAd({ adpid }) 请求广告,适用于已接入 UniAd 的项目;对应瀑布流必须包含穿山甲广告,并在广告曝光、奖励下发、用户跳过或广告失败时,通过 notifyUnlockAdWillShow()completeUnlock() 回传解锁状态。

自定义解锁失败时如何排查?

先检查业务侧激励视频广告的加载或展示失败回调;广告未展示、用户跳过或广告失败时,必须使用当前 taskId 调用 completeUnlock({ taskId, success: false }) 结束任务。广告完整观看并发放奖励后,再调用 completeUnlock({ taskId, success: true })。同时确认 UniAd 瀑布流包含穿山甲广告且填充正常。

应用重装后为什么仍保留解锁记录?

接入登录并绑定用户数据时,解锁记录会随用户账号保留;未绑定账号时,短剧 SDK 的解锁记录可能与设备关联。业务侧的登录退出或账号切换逻辑需要自行处理。

自定义广告不回传 CPM 会怎样?

CPM 可以传空字符串 ''。但若 CPM 为空且平台未监测到合理广告展示,短剧 SDK 会强制切换为 SDK 直出广告,并屏蔽自定义解锁逻辑。应在广告真实曝光时调用 notifyUnlockAdWillShow({ taskId, cpm }),并在奖励下发时通过 completeUnlock({ taskId, success: true, cpm }) 回传同一广告的 CPM。

可以设置全部免费观看吗?

不可以。短剧仅支持广告解锁,不支持 IAP、会员付费或全量免费观看;免费集数由短剧 SDK 强校验。本插件的 freeEpisodeCount 公开参数范围为 1-20,不能通过该参数设置全量免费观看。

页面销毁时需要做什么?

如果当前页面或模块不再使用短剧实例,建议调用 destroy() 解绑事件监听,避免重复回调。

出现初始化失败时优先检查什么?

优先检查穿山甲短剧能力是否开通、GroMore 模块是否勾选、SDK_Setting.json 是否属于当前应用、包名 / Bundle ID 是否与 license 配置一致,以及原生日志中的广告 SDK 初始化错误。

隐私、权限声明

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

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

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