Skip to content

Web SDK ​

具体的事件上报参数说明,参考文档:Lark 链接 密码:@8228T56

下载 SDK ​

下载 Web SDK (web-sdk-v1.2.0.js)

不同框架引入方式 ​

1)import 引入(适合 Vue / React 工程化项目) ​

当前产物是 UMD 文件,import 方式建议做"副作用引入",然后通过 window.WebSDK 使用:

javascript
// main.js / App.tsx
import "/web-sdk-v1.2.0.js";

window.WebSDK.init({
  appId: "1",
  uid: "",
  channel: "test",
  encryptedConfig: "jzzemX+UqICBr9/PIK62ENqIEXIaxKInHEYHeKcGXv1M...",
});

2)script 直引 ​

html
<script src="./web-sdk-latest.js"></script>
<script>
  window.WebSDK.init({
    appId: "1",
    uid: "",
    channel: "test",
    encryptedConfig: "jzzemX+UqICBr9/PIK62ENqIEXIaxKInHEYHeKcGXv1M...",
  });
</script>

3)JS 注入 ​

原生页面推荐使用脚本注入(GA 风格队列),可保证 SDK 未加载完成前事件先入队,不丢首屏事件:

html
<script>
  (function (i, s, o, g, r) {
    i[r] =
      i[r] ||
      function () {
        var args = Array.prototype.slice.call(arguments);
        return new Promise(function (resolve, reject) {
          (i[r].q = i[r].q || []).push({
            args: args,
            resolve: resolve,
            reject: reject,
          });
        });
      };
    var a = s.createElement(o);
    var m = s.getElementsByTagName(o)[0];
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
  })(window, document, "script", "./web-sdk-latest.js", "tracker");

  (function () {
    var timer = setInterval(function () {
      if (!window.WebSDK) return;
      clearInterval(timer);
      window.WebSDK.init({
        appId: "1",
        uid: "",
        channel: "test",
        encryptedConfig: "jzzemX+UqICBr9/PIK62ENqIEXIaxKInHEYHeKcGXv1M...",
      });
      var queued = (window.tracker && window.tracker.q) || [];
      var real = function () {
        return window.WebSDK.track.apply(window.WebSDK, arguments);
      };
      window.tracker = real;
      queued.forEach(function (item) {
        real.apply(null, item.args).then(item.resolve).catch(item.reject);
      });
    }, 30);
  })();
</script>

初始化 ​

javascript
WebSDK.init({
  appId: "1",
  uid: "",
  channel: "organic",
  encryptedConfig: "jzzemX+UqICBr9/PIK62ENqIEXIa...", // 加密配置串(必传)
  appVersion: "1.0.0",  // 可选,业务应用版本号
  deviceId: "custom_device_id", // 可选,自定义设备 ID;不传则 SDK 自动生成
  disableAutoEvents: [], // 可选,自动上报禁用名单
  batchIntervalMs: 5000, // 可选,默认 5000ms
  batchMaxSize: 20, // 可选,默认 10 条
  pingTimeoutMs: 1500, // 可选,测速超时毫秒
});
参数类型必填默认值说明
appIdstring是-平台分配的应用 ID
uidstring否""用户 ID;未登录传空字符串。非空时长度必须 ≥ 4
channelstring是-渠道标识
encryptedConfigstring是-AES-GCM 加密配置串,包含域名列表和事件白名单
appVersionstring否"1.0.0"业务应用版本号,随每条事件上报
deviceIdstring否-自定义设备 ID,不传则 SDK 自动生成并持久化
disableAutoEventsstring[]否[]自动上报禁用名单。命中则关闭对应事件的 SDK 自动上报;未命中保持默认。合法值:sdk_init / app_lifecycle / network_state_change / app_session_summary / app_page_view / page_click。不影响手动 WebSDK.track.*
batchIntervalMsnumber否5000批量上报间隔(毫秒)
batchMaxSizenumber否10触发立即上报的队列阈值(条数)
pingTimeoutMsnumber否1500域名测速超时(毫秒)

动态更新 UID / Channel ​

javascript
// 登录后设置 uid
WebSDK.setUid("user_123");

// 切换渠道
WebSDK.setChannel("ad_abc");

// 批量更新
WebSDK.setContext({ uid: "user_123", channel: "ad_abc" });

// 动态更新 app_version
WebSDK.setContext({ app_version: "2.0.0" });

// 登出清空 uid
WebSDK.setUid("");

也可以统一使用 setContext:

javascript
WebSDK.init({ appId: "1", uid: "", channel: "organic" });

// 注册/登录后更新 uid
WebSDK.setContext({ uid: "user_123" });

// channel 变化后更新
WebSDK.setContext({ channel: "ad_abc" });

// 登出后清空 uid
WebSDK.setContext({ uid: "" });

更新后,后续事件自动带最新的 uid / channel。

uid 约束:未登录可传空字符串;登录后传入的 uid 长度必须 ≥ 4(init / setUid / setContext 均适用)。


获取公共字段 ​

javascript
// 获取全部公共字段
const all = await WebSDK.getCommonFields();

// 获取指定字段
const part = await WebSDK.getCommonFields([
  "device_id",
  "device_fingerprint",
  "fp_version",
  "sid",
]);

// 获取单个字段
const deviceId = await WebSDK.getCommonField("device_id");

公共字段列表 ​

每条上报事件自动携带以下公共字段(顶层):

字段说明
app_id应用 ID(init 传入)
app_version业务应用版本号;优先级:① init 传入全局默认 → ② setContext 动态覆盖
channel渠道(init 传入,可动态更新)
client_ts客户端时间戳(秒)
device设备类型:Android / iOS / PC
device_brand设备品牌(如 Apple、Samsung)
device_model设备型号(如 iPhone、SM-S9180)
device_id设备标识(localStorage 持久化随机 ID)
device_fingerprint设备指纹(多特征哈希;首次生成后写入 localStorage['__web_sdk_device_fp__'],之后优先读取;失败传空)
fp_version指纹算法版本号(当前 3.0.1;仅指纹算法变更时升级;指纹为空时该字段也为空)
sid会话 ID(按天轮换)
sdk_versionSDK 版本号(自动注入,当前 1.2.0,业务无需传入)
uid用户 ID(init 传入,可动态更新;未登录可为空,非空时长度必须 ≥ 4)
user_agent浏览器 UA

业务自定义字段统一放在 payload 内。

设备指纹说明(fp_version 3.0.1) ​

  • 参与计算的因子含操作系统、浏览器内核 / 平台、屏幕参数、Canvas / WebGL / Audio、字体 / 插件哈希等;不含 language、timezone(二者仍可出现在环境采集字段中)。
  • 首次生成后写入 localStorage['__web_sdk_device_fp__'],之后优先读取;清除站点存储后才会重新生成。
  • 服务端应按 fp_version 区分规则;升级到当前构建后首次访问可能得到新指纹值。

自动采集事件 ​

init() 成功后 SDK 自动启动采集,无需额外配置。以下事件由 SDK 自动上报,业务方无需手动调用 track():

事件名说明触发时机
app_page_view页面浏览首屏加载、SPA 路由变化(监听 pushState / popstate / hashchange)
page_click页面点击用户点击页面任意区域
app_lifecycle应用生命周期cold_start / web_load / warm_start / foreground / background / web_unload 等
sdk_initSDK 初始化init 成功时
network_state_change网络状态变化浏览器网络连接状态变化时
app_session_summary会话摘要会话结束时(空闲超时、页面卸载等),含停留时长、页面数、点击数、滚动行为等

如需关闭部分自动上报,在 init 传入 disableAutoEvents(例如 ['app_page_view'])。关闭自动 PV 后仍可手动调用 WebSDK.track.appPageView(...);SDK 会继续维护页面上下文并补全内部字段。

SPA 路由页面加载通知 ​

SPA 应用在完成客户端路由跳转后,可调用 notifyPageLoad() 通知 SDK 开始新页面统计:

javascript
// 路由跳转完成后
WebSDK.notifyPageLoad();

手动上报事件 ​

v1.2.0 起帖子 / 剧集客户端事件 3 个。服务端 eventCodes 需同步加入对应 event 字符串,否则 SDK 会拦截上报:post_event、drama_event、drama_status_change。点赞 / 评论 / 收藏 / 解锁由服务端上报,Web SDK 不提供对应方法。postEvent 创建时间字段为 post_create_time(不再使用 create_time)。

1. 导航路径行为 ​

示例代码:

javascript
window.WebSDK.track.navigation({
  navigation_key: "home",
  navigation_name: "首页",
});

参数说明:

字段类型必填说明
navigation_keystring是导航键
navigation_namestring是导航名称

2. 应用页面展示日志 ​

示例代码:

javascript
window.WebSDK.track.appPageView({
  page_key: "detail",
  page_name: "详情页",
});

参数说明:

字段类型必填说明
user_typestring否用户类型
page_keystring否页面键
page_namestring否页面名称
referrer_page_keystring否来源页面键
referrer_page_namestring否来源页面名称
current_page_keystring否当前页面键
current_page_namestring否当前页面名称
page_load_timeint否页面加载时间
recommend_trace_idstring否推荐追踪ID

3. 应用点击事件 ​

示例代码:

javascript
window.WebSDK.track.pageClick({
  page_key: "home",
  page_name: "首页",
  click_page_x: 100,
  click_page_y: 200,
  click_x_percent: 50,
  click_y_percent: 60,
  screen_width: 1920,
  screen_height: 1080,
  recommend_trace_id: "trace123",
});

参数说明:

字段类型必填说明
page_keystring是页面键
page_namestring是页面名称
click_page_xint是点击 X(视口坐标,与 clientX / click_viewport_x 同口径)
click_page_yint是点击 Y(视口坐标,与 clientY / click_viewport_y 同口径)
click_x_percentint是点击 X 百分比(0–100,相对 viewport)
click_y_percentint是点击 Y 百分比(0–100,相对 viewport)
screen_widthint是屏幕宽度
screen_heightint是屏幕高度
recommend_trace_idstring否推荐追踪ID

手动上报时 click_page_* / percent 请按视口口径传入;文档坐标由 SDK 补 click_document_*,不要写进 click_page_*。


4. 推荐列表内容展示 ​

示例代码:

javascript
window.WebSDK.track.recommendListView({
  page_key: "recommend",
  page_name: "推荐页",
  recommend_content_type: "video",
  recommend_trace_id: "trace123",
  recommend_id: "rec123",
  recommend_trace_info: "recommend_info",
  client_version: "1.0.0",
});

参数说明:

字段类型必填说明
page_keystring是页面键
page_namestring是页面名称
recommend_content_typestring是推荐内容类型 (video/novel/comic)
recommend_trace_idstring是推荐追踪ID
recommend_idstring是推荐ID
recommend_trace_infostring是推荐追踪信息
client_versionstring是客户端版本

5. 推荐列表内容点击 ​

示例代码:

javascript
window.WebSDK.track.recommendListClick({
  page_key: "recommend",
  page_name: "推荐页",
  recommend_content_type: "video",
  recommend_trace_id: "trace123",
  recommend_id: "rec123",
  recommend_trace_info: "recommend_info",
  client_version: "1.0.0",
});

参数说明:

字段类型必填说明
page_keystring是页面键
page_namestring是页面名称
recommend_content_typestring是推荐内容类型 (video/novel/comic)
recommend_trace_idstring是推荐追踪ID
recommend_idstring是推荐ID
recommend_trace_infostring是推荐追踪信息
client_versionstring是客户端版本

6. 广告页面点击事件 ​

示例代码:

javascript
window.WebSDK.track.advertising({
  event_type: "click",
  advertising_key: "ad123",
  advertising_name: "广告1",
  advertising_id: "ad_id123",
});

参数说明:

字段类型必填说明
event_typestring是事件类型 (click/close/show)
advertising_keystring是广告键
advertising_namestring是广告名称
advertising_idstring是广告ID

7. 视频事件 ​

示例代码:

javascript
window.WebSDK.track.videoEvent({
  media_id: "media123",
  video_id: "video123",
  video_title: "视频标题",
  video_type_id: "type1",
  video_type_name: "类型1",
  video_content_type: "video",
  recommend_trace_id: "trace123",
  video_tag_key: "tag1",
  video_tag_name: "标签1",
  video_duration: 120,
  play_duration: 60,
  play_progress: 50,
  play_speed: 100,
  video_behavior_key: "video_view",
  video_behavior_name: "视频播放",
});

参数说明:

字段类型必填说明
media_idstring是媒体ID
video_idstring是视频ID
video_titlestring是视频标题
video_type_idstring是视频类型ID
video_type_namestring是视频类型名称
video_content_typestring是视频内容类型(video / short_video / post_video)
recommend_trace_idstring是推荐追踪ID
video_tag_keystring是视频标签键
video_tag_namestring是视频标签名称
video_durationint是视频时长
play_durationint是播放时长
play_progressint是播放进度 [0-100]
play_speedint是播放倍速 × 100(如 1.25 倍传 125)
video_behavior_keystring是视频行为键
video_behavior_namestring是视频行为名称
post_idstring否帖子 ID;仅 post_video 时必填

帖子视频播放示例(仍走 videoEvent,不走 postEvent):

javascript
window.WebSDK.track.videoEvent({
  media_id: "media123",
  video_id: "video123",
  video_title: "帖子视频",
  video_type_id: "default",
  video_type_name: "默认分类",
  video_content_type: "post_video",
  recommend_trace_id: "",
  video_tag_key: "default",
  video_tag_name: "默认标签",
  video_duration: 60,
  play_duration: 15,
  play_progress: 25,
  play_speed: 125,
  video_behavior_key: "video_play",
  video_behavior_name: "播放",
  post_id: "post123",
});

8. 帖子展示事件 ​

图文帖 / 视频帖展示时上报。视频帖的播放、暂停、完播等仍走 videoEvent(video_content_type: "post_video" + 非空 post_id)。

示例代码:

javascript
window.WebSDK.track.postEvent({
  media_id: "media123",
  post_id: "post123",
  post_title: "帖子标题",
  post_create_time: 1725686400,
  post_user_id: "author123",
  post_user_nick: "作者昵称",
  post_type_id: "default",
  post_type_name: "默认分类",
  post_content_type: "video_post", // post | video_post
  recommend_trace_id: "",
  post_tag_key: "default",
  post_tag_name: "默认标签",
  post_behavior_key: "view",
  post_behavior_name: "展示",
});

参数说明:

字段类型必填说明
media_idstring否媒体 ID
post_idstring是帖子 ID
post_titlestring是帖子标题
post_create_timeint是帖子创建时间(10 位秒级时间戳)
post_user_idstring是创建人账号 ID
post_user_nickstring是创建人昵称
post_type_idstring是分类 ID
post_type_namestring是分类名称
post_content_typestring是post(图文)/ video_post(视频帖)
recommend_trace_idstring是推荐 trace,未对接传 ''
post_tag_keystring是标签 KEY,可空
post_tag_namestring是标签名称,可空
post_behavior_keystring是行为键,展示为 view
post_behavior_namestring是行为名称,如 展示

帖子点赞 / 评论 / 收藏 / 解锁为服务端上报,Web SDK 不提供对应方法。


9. 剧集播放事件 ​

示例代码:

javascript
window.WebSDK.track.dramaEvent({
  media_id: "media123",
  drama_id: "drama123",
  drama_title: "短剧标题",
  episode: 5,
  total_episode: 20,
  video_id: "video005",
  drama_type_id: "default",
  drama_type_name: "默认分类",
  drama_content_type: "short_drama",
  recommend_trace_id: "",
  drama_tag_key: "default",
  drama_tag_name: "默认标签",
  drama_duration: 300,
  play_duration: 60,
  play_progress: 20,
  play_speed: 100,
  play_behavior_key: "ep_play",
  play_behavior_name: "播放",
});

参数说明:

字段类型必填说明
media_idstring否媒体 ID
drama_idstring是剧集 ID
drama_titlestring是剧集名称
episodeint是当前第几集(从 1 开始)
total_episodeint是总集数
video_idstring是当前集视频 ID
drama_type_idstring是分类 ID
drama_type_namestring是分类名称
drama_content_typestring是如 short_drama
recommend_trace_idstring是推荐 trace,未对接传 ''
drama_tag_keystring是标签 KEY,可空
drama_tag_namestring是标签名称,可空
drama_durationint是当前集总时长(秒)
play_durationint是本次播放时长(秒)
play_progressint是播放进度 [0-100]
play_speedint是播放倍速 × 100(如 1.25 倍传 125)
play_behavior_keystring是播放行为标识:ep_view(展示)/ ep_play(播放)/ ep_pause(暂停)/ ep_forward(快进)/ ep_rewind(快退)/ ep_complete(播放完成)/ ep_share(分享)
play_behavior_namestring是播放行为名称:展示 / 播放 / 暂停 / 快进 / 快退 / 播放完成 / 分享

剧集点赞 / 评论 / 收藏 / 解锁为服务端上报,Web SDK 不提供对应方法。


10. 剧集状态变更事件 ​

示例代码:

javascript
window.WebSDK.track.dramaStatusChange({
  media_id: "media123",
  drama_id: "drama123",
  drama_title: "短剧标题",
  episode: 5,
  video_id: "video005",
  pre_episode: 2, // 从第 2 集切到第 5 集
  drama_behavior_key: "ep_switch",
  drama_behavior_name: "切换剧集",
});

参数说明:

字段类型必填说明
media_idstring否媒体 ID
drama_idstring是剧集 ID
drama_titlestring是剧集名称
episodeint是当前第几集
video_idstring是当前集视频 ID
pre_episodeint是前集序号
drama_behavior_keystring是ep_auto_play / ep_previous / ep_next / ep_switch / ep_unlock
drama_behavior_namestring是行为名称,如 切换剧集

11. 小说事件 ​

示例代码:

javascript
window.WebSDK.track.novelEvent({
  novel_id: "novel123",
  novel_title: "小说标题",
  media_id: "media123",
  novel_type_id: "type1",
  novel_type_name: "类型1",
  recommend_trace_id: "trace123",
  novel_tag_key: "tag1",
  novel_tag_name: "标签1",
  read_progress: 50,
  page_no: 1,
  novel_behavior_key: "view",
  novel_behavior_name: "小说阅读",
  chapter_id: "chapter_001",
  chapter_name: "第一章 陨落的天才",
});

参数说明:

字段类型必填说明
novel_idstring是小说ID
novel_titlestring是小说标题
media_idstring是媒体ID
novel_type_idstring是小说类型ID
novel_type_namestring是小说类型名称
recommend_trace_idstring是推荐追踪ID
novel_tag_keystring是小说标签键
novel_tag_namestring是小说标签名称
read_progressnumber是阅读进度
page_nonumber是页码。普通小说从 1 开始;仅有声小说允许上报 0,其他类型不得为 0
novel_behavior_keystring是小说行为键
novel_behavior_namestring是小说行为名称
chapter_idstring否章节 ID,无章节或未对接推荐引擎时传 ""
chapter_namestring否章节名称,无章节或未对接推荐引擎时传 ""

12. 漫画事件 ​

示例代码:

javascript
window.WebSDK.track.comicEvent({
  media_id: "media123",
  comic_id: "comic123",
  comic_title: "漫画标题",
  comic_type_id: "type1",
  comic_type_name: "类型1",
  recommend_trace_id: "trace123",
  comic_tag_key: "tag1",
  comic_tag_name: "标签1",
  read_progress: 50,
  page_no: 1,
  comic_behavior_key: "view",
  comic_behavior_name: "漫画阅读",
  chapter_id: "chapter_001",
  chapter_name: "第一话",
});

参数说明:

字段类型必填说明
media_idstring是媒体ID
comic_idstring是漫画ID
comic_titlestring是漫画标题
comic_type_idstring是漫画类型ID
comic_type_namestring是漫画类型名称
recommend_trace_idstring是推荐追踪ID
comic_tag_keystring是漫画标签键
comic_tag_namestring是漫画标签名称
read_progressnumber是阅读进度
page_nonumber是页码
comic_behavior_keystring是漫画行为键
comic_behavior_namestring是漫画行为名称
chapter_idstring否章节 ID,无章节或未对接推荐引擎时传 ""
chapter_namestring否章节名称,无章节或未对接推荐引擎时传 ""

13. 关键词搜索事件 ​

示例代码:

javascript
window.WebSDK.track.keywordSearch({
  keyword: "搜索关键词",
  search_result_count: 100,
  search_content_type: "post", // video | novel | comic | post | short_drama
  search_trace_id: "trace123",
  search_id: "search123",
});

参数说明:

字段类型必填说明
keywordstring是搜索关键词
search_result_countnumber是搜索结果数量
search_content_typestring否搜索列表类型:video(视频)/ novel(小说)/ comic(漫画)/ post(帖子)/ short_drama(短剧)。未对接搜索推荐引擎上报空字符串
search_trace_idstring否搜索引擎 trace_id;未对接搜索推荐引擎上报空字符串
search_idstring否搜索结果列表 ID:video_id(视频)/ novel_id(小说)/ comic_id(漫画)/ 帖子 ID / 短剧 ID;可视窗口有多个时用英文逗号分隔。未对接搜索推荐引擎上报空字符串

14. 关键词搜索结果点击事件 ​

示例代码:

javascript
window.WebSDK.track.keywordClick({
  keyword: "搜索关键词",
  click_item_id: "item123",
  click_item_type_key: "post", // video | novel | comic | post | short_drama
  click_item_type_name: "帖子",
  click_position: 1,
  search_trace_id: "trace123",
});

参数说明:

字段类型必填说明
keywordstring是搜索关键词
click_item_idstring是点击项 ID
click_item_type_keystring是点击项目类型:video(视频)/ novel(小说)/ comic(漫画)/ post(帖子)/ short_drama(短剧)
click_item_type_namestring是点击项目类型名称:视频 / 小说 / 漫画 / 帖子 / 短剧
click_positionnumber是点击位置
search_trace_idstring是搜索追踪ID

15. 广告展示日志 ​

示例代码:

javascript
window.WebSDK.track.adImpression({
  page_key: "home",
  page_name: "首页",
  ad_slot_key: "slot1",
  ad_slot_name: "广告位1",
  ad_id: "ad1,ad2",
  creative_id: "creative1,creative2",
  ad_type: "banner",
});

参数说明:

字段类型必填说明
page_keystring是页面键
page_namestring是页面名称
ad_slot_keystring是广告位键
ad_slot_namestring是广告位名称
ad_idstring是广告ID (多个ID用逗号分隔)
creative_idstring是创意ID (多个ID用逗号分隔)
ad_typestring是广告类型

16. 广告点击日志 ​

示例代码:

javascript
window.WebSDK.track.adClick({
  page_key: "home",
  page_name: "首页",
  ad_slot_key: "slot1",
  ad_slot_name: "广告位1",
  ad_id: "ad1,ad2",
  creative_id: "creative1,creative2",
  ad_type: "banner",
});

参数说明:

字段类型必填说明
page_keystring是页面键
page_namestring是页面名称
ad_slot_keystring是广告位键
ad_slot_namestring是广告位名称
ad_idstring是广告ID (多个ID用逗号分隔)
creative_idstring是创意ID (多个ID用逗号分隔)
ad_typestring是广告类型

17. 客户端安装事件 ​

示例代码:

javascript
window.WebSDK.track.appInstall({
  trace_id: "从业务侧获取的 trace 字符串",
});

参数说明:

字段类型必填说明
trace_idstring是安装/激活归因侧下发的追踪 ID,须为字符串(勿传数字类型)

18. 应用内容项曝光事件 ​

示例代码:

javascript
window.WebSDK.track.appPageitemExposure({
  item_id: "item123",
  item_type: "video",
  item_name: "内容项名称",
  parent_item_id: "parent123",
  page_key: "home",
  page_name: "首页",
  referrer_page_key: "recommend",
  referrer_page_name: "推荐页",
  recommend_trace_id: "trace123",
  recommend_id: "rec123",
  recommend_trace_info: "extra_info",
});

参数说明:

字段类型必填说明
item_idstring是内容项ID
item_typestring是内容项类型
item_namestring是内容项名称
parent_item_idstring是父级内容项ID
page_keystring是页面键
page_namestring是页面名称
referrer_page_keystring否来源页面键
referrer_page_namestring否来源页面名称
recommend_trace_idstring否推荐追踪ID
recommend_idstring是推荐ID
recommend_trace_infostring是推荐追踪信息

19. 应用内容项点击事件 ​

示例代码:

javascript
window.WebSDK.track.appPageitemClick({
  item_id: "item123",
  item_type: "video",
  item_name: "内容项名称",
  parent_item_id: "parent123",
  position: 1,
  page_key: "home",
  page_name: "首页",
  recommend_trace_id: "trace123",
  recommend_id: "rec123",
  recommend_trace_info: "extra_info",
});

参数说明:

字段类型必填说明
item_idstring是内容项ID
item_typestring是内容项类型
item_namestring是内容项名称
parent_item_idstring是父级内容项ID
positionint是点击位置
page_keystring是页面键
page_namestring是页面名称
recommend_trace_idstring否推荐追踪ID
recommend_idstring是推荐ID
recommend_trace_infostring是推荐追踪信息

20. 广告请求 ​

示例代码:

javascript
window.WebSDK.track.adRequest({
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
});

参数说明:

字段类型必填说明
request_idstring是请求ID
ad_slot_keystring是广告位键

21. 广告填充成功 ​

示例代码:

javascript
window.WebSDK.track.adFill({
  trace_id: "trace123",
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_id: "ad001",
  ad_type: "banner",
  fill_count: 3,
  is_skippable: 1,
  is_closable: 0,
});

参数说明:

字段类型必填说明
trace_idstring是追踪ID
request_idstring是请求ID
ad_slot_keystring是广告位键
ad_idstring是广告ID
ad_typestring是广告类型
fill_countint是填充数量
is_skippableint是是否支持跳过(1/0,映射 show_skip_button)
is_closableint是是否支持关闭(1/0,映射 show_close_button)

22. 广告无填充 ​

示例代码:

javascript
window.WebSDK.track.adNoFill({
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_type: "banner",
  reason: "no_ad_available",
});

参数说明:

字段类型必填说明
request_idstring是请求ID
ad_slot_keystring是广告位键
ad_typestring是广告类型
reasonstring是无填充原因

23. 广告加载成功 ​

示例代码:

javascript
window.WebSDK.track.adLoadSuccess({
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_id: "ad001",
  ad_type: "banner",
  load_duration: 350,
});

参数说明:

字段类型必填说明
request_idstring是请求ID
ad_slot_keystring是广告位键
ad_idstring是广告ID
ad_typestring是广告类型
load_durationint是加载耗时(ms)

24. 广告展示(SDK 侧) ​

示例代码:

javascript
window.WebSDK.track.adImpressionSdk({
  trace_id: "trace123",
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_id: "ad001",
  ad_type: "banner",
  material_size: "320x50",
  is_skippable: 1,
  is_closable: 0,
});

参数说明:

字段类型必填说明
trace_idstring是追踪ID
request_idstring是请求ID
ad_slot_keystring是广告位键
ad_idstring是广告ID
ad_typestring是广告类型
material_sizestring是素材尺寸
is_skippableint是是否支持跳过(1/0,映射 show_skip_button)
is_closableint是是否支持关闭(1/0,映射 show_close_button)

25. 广告点击(SDK 侧) ​

示例代码:

javascript
window.WebSDK.track.adClickSdk({
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_id: "ad001",
  ad_type: "banner",
});

参数说明:

字段类型必填说明
request_idstring是请求ID
ad_slot_keystring是广告位键
ad_idstring是广告ID
ad_typestring是广告类型

26. 广告关闭 ​

示例代码:

javascript
window.WebSDK.track.adClose({
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_id: "ad001",
  ad_type: "banner",
  close_type: "manual",
});

参数说明:

字段类型必填说明
request_idstring是请求ID
ad_slot_keystring是广告位键
ad_idstring是广告ID
ad_typestring是广告类型
close_typestring是关闭方式

27. 广告错误 ​

示例代码:

javascript
window.WebSDK.track.adError({
  trace_id: "trace123",
  request_id: "req123",
  ad_slot_key: "slot_banner_home",
  ad_type: "banner",
  ad_id: "ad001", // 无创意 ID 时传 ''
  error_code: "E001",
  error_msg: "广告加载超时",
  error_stage: "load",
});

参数说明:

字段类型必填说明
trace_idstring是追踪ID
request_idstring否请求ID
ad_slot_keystring是广告位键
ad_typestring是广告类型
ad_idstring是广告ID(允许空字符串;有创意 ID 则传,没有传 '')
error_codestring是错误码
error_msgstring是错误信息
error_stagestring是错误阶段