跳转到主要内容
SDK 暴露了两个回调,按需选用。

onEvent —— 公开的广告生命周期

onEvent 会触发少量公开的广告生命周期事件:ad.filledad.no-fillad.viewedad.clickedad.error,以及视频和奖励相关事件。这些通常用来驱动你的 UI 与分析。 完整列表与 payload 见 广告生命周期事件

onDebugEvent —— 详细的内部日志

onDebugEvent 会触发 SDK 内部的每一个步骤——预加载请求的开始与完成、message id 配对、重试尝试、iframe 加载里程碑等等。它内容非常多,且在 SDK 版本之间不保证稳定;请把它当作诊断日志使用,不要当作 API。 只在排查问题时打开它,之后在生产环境记得关掉:
onDebugEvent: (name, data) => {
  console.log('[kontext]', name, data)
}

出现异常时

如果广告没有出现、触发了错误的事件、或 SDK 表现不符合预期:
  1. 在你的构建中重新打开 onDebugEvent
  2. 复现问题。
  3. 把完整的 onDebugEvent 输出发送给我们:support@kontext.so
调试日志是我们在不远程接入的情况下,最快定位问题的方式。

skipCode 参考

ad.no-fill 事件触发时,其 payload 会携带一个 skipCode,说明为何没有返回广告。可能出现的值:
skipCode含义该怎么做
ads_disabledSDK 告知服务端本次请求的广告已禁用,因为你在调用 addMessage 时传入了 trackOnly: truetrack-only 模式下属于预期行为。
ad_skipped服务端按规则主动跳过本轮——通常与 节奏控制 有关。属于预期行为;下一个可投放的回合会展示广告。
ivt_blocked无效流量(IVT)检测拦截了该请求。真实用户通常不会触发。若生产环境频繁出现,请联系 support。
unfilled_bid拍卖完成但没有竞价方返回可投广告。偶发属于预期——填充率不可能恒为 100%。
illegal_content对话内容被判定为不适合投放广告。检查消息文本——某些类别不参与广告投放。
unknown暂未单独枚举的兜底代码。抓取 onDebugEvent 输出并发送给 support。