您可以在监听到指定事件后,执行您自己的后续处理逻辑。
示例代码如下所示。
window.addEventListener('message', (event) => { try { if (event.origin.includes('byteoc.com')) { const data = JSON.parse(event.data); switch (data.action) { case 'player.play': // 请将 player.play 替换为具体的事件。 // 监听到事件后,执行您自己的后续处理逻辑。 console.log('====== ', data.action, ' -- ', data.payload, ' ======' ); break default: return; } } } catch (e) { } });
播放事件。
类型
() => void
(暂停、卡顿后)恢复播放事件。
类型
() => void
暂停播放事件。
类型
() => void
结束播放事件。
类型
() => void
销毁播放器事件。
类型
() => void
播放速率变化事件。
类型
(rate: number) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
rate | number | 播放速率。取值如下:
|
全屏模式变化事件。
类型
(isFullScreen: boolean) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
isFullScreen | boolean | 是否切换到全屏模式。取值如下:
|
PC 端小窗模式变化事件。
类型
(isPip: boolean) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
isPip | boolean | PC 端是否切换到小窗模式。取值如下:
|
等待加载数据事件。
类型
() => void
直播状态变化事件。
类型
(status: string) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
status | string | 直播状态。取值如下:
|
点播视频(预告和回放)断点续播事件。
点播视频播放过程中该事件的触发时机如下:
pagehide 事件触发时或用户手动拖动进度条时,触发该事件。类型
(VodInfo: { vid: string; currentTime: number; duration: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
VodInfo | - | 点播视频相关信息。 |
vid | string | 视频 ID,视频的唯一标识。 |
currentTime | number | 当前播放位置。单位为秒。 |
duration | number | 视频总时长。单位为秒。 |
多线路数量变化事件。
类型
(lines: number) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
lines | number | 当直播状态为直播中时,表示直播频道数量。 |
直播状态变化事件。
类型
(status: 1 | 2 | 3 | 4) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
status | 1 | 2 | 3 | 4 | 直播状态。取值如下:
|
聊天互动输入框点击事件。
类型
() => void
发送评论事件。
类型
(msg: string) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
msg | string | 发送的评论内容。 |
评论区昵称点击事件。
类型
(data: { Nickname: string; ExternalId: string; isTop: boolean; isPresenter: boolean;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | 评论昵称的相关信息。 |
Nickname | string | 用户昵称。 |
ExternalId | string | 外部用户 ID。 |
isTop | boolean | 评论是否置顶。取值如下:
|
isPresenter | boolean | 当前用户是否为主持人。取值如下:
|
立即预约按钮点击事件。
类型
() => void
成功预约事件。
类型
(tel: string) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
tel | string | 预约手机号。 |
菜单内的商品卡片点击事件。
您可以将 disableCardRedirect 的参数值设为 true 并监听该事件,实现商品卡片的自定义跳转逻辑。
类型
(card: { text: string; url: string; UAInfos: UAInfo[]; DirectUrls: string[];}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
card | - | 商品卡片菜单配置信息。 |
text | string | 商品卡片的标题。 |
url | string | 商品卡片的跳转链接。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
UAInfos | UAInfo[] | 商品卡片菜单配置的环境信息。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
DirectUrls | string[] | 商品卡片的直达链接。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
浮窗商品卡片点击事件。
您可以将 disableCardRedirect 的参数值设为 true 并监听该事件,实现商品卡片的自定义跳转逻辑。
类型
(card: { text: string; url: string; UAInfos: UAInfo[]; DirectUrls: string[];}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
card | - | 商品卡片菜单配置信息。 |
text | string | 商品卡片的标题。 |
url | string | 商品卡片的跳转链接。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
UAInfos | UAInfo[] | 商品卡片菜单配置的环境信息。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
DirectUrls | string[] | 商品卡片的直达链接。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
抽奖入口点击事件。
类型
(award: { awardId: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 抽奖信息。 |
awardId | string | 抽奖 ID。 |
参与抽奖事件。
类型
(award: { awardId: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 抽奖信息。 |
awardId | string | 抽奖 ID。 |
抽奖开奖事件。仅当抽奖开奖时用户在线,才会触发该事件。
类型
(award: { awardId: string; ifWin: boolean;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 抽奖开奖信息。 |
awardId | string | 抽奖 ID。 |
ifWin | boolean | 是否中奖。取值如下:
|
提交中奖信息事件。
类型
(award: { awardId: string; awardTel: string; awardAddress?: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 提交的中奖信息。 |
awardId | string | 抽奖 ID。 |
awardTel | string | 观众输入的手机号。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
awardAddress | string | undefined | 观众输入的收货地址。该参数是否有值取决于您在控制台或服务端 OpenAPI(如支持)的配置。 |
领取奖券奖品点击事件。
您可以将 disableLotteryTicketRedirect 的参数值设为 true 并监听该事件,实现奖券奖品领取链接的自定义跳转逻辑。
类型
(award: { url: string; ActivityId: string; TaskAwardId: string; TaskAwardItemId: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 奖券奖品相关信息。 |
url | string | 奖品链接。 |
ActivityId | string | 直播间活动 ID。 |
TaskAwardId | string | 抽奖配置 ID。 |
TaskAwardItemId | string | 累计观看抽奖的奖品 ID。 |
累计观看抽奖面板弹出事件。
类型
(award: { config: TaskAwardConfig | null; viewedTime: number; isLogin: boolean; winningRecordMap: Map<string, IRecordInfo>;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 抽奖信息。 |
config | TaskAwardConfig | null | 本次累计观看抽奖活动的抽奖配置信息。 |
viewedTime | number | 当前观众累计的观看时长。单位为秒。 |
isLogin | boolean | 当前观众是否登录直播间。取值如下:
|
winningRecordMap | Map<string, IRecordInfo> | 当前观众的中奖记录。 |
累计观看抽奖中奖结果点击事件。
类型
(award: { index: number; WatchTime: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 抽奖信息。 |
index | number | 抽奖宝箱序号。从 |
WatchTime | number | 累计观看时长。单位为分钟。 |
分享点击事件。在 PC 端单击分享,移动端点击复制链接或二维码时会触发该事件。
类型
() => void
邀请海报点击事件。
类型
() => void
浮标广告点击事件。仅在通过企业直播控制台或服务端 OpenAPI(如支持)配置跳转链接后,才会触发该事件。
您可以将 disableAdFloatingRedirect 的参数值设为 true 并监听该事件,实现浮标广告的自定义跳转逻辑。
类型
(ad: { AdvertisementRedirectUrl: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
ad | - | 浮标广告信息。 |
AdvertisementRedirectUrl | string | 浮标广告跳转链接。 |
页中广告点击事件。仅在通过企业直播控制台或服务端 OpenAPI(如支持)配置跳转链接后,才会触发该事件。
您可以将 disableAdMiddleRedirect 的参数值设为 true 并监听该事件,实现页中广告的自定义跳转逻辑。
类型
(ad: { AdvertisementRedirectUrl: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
ad | - | 页中广告信息。 |
AdvertisementRedirectUrl | string | 页中广告跳转链接。 |
主播账号点击事件。仅在通过企业直播控制台或服务端 OpenAPI(如支持)配置跳转链接后,才会触发该事件。
您可以将 disableAdAccountRedirect 的参数值设为 true 并监听该事件,实现主播账号的自定义跳转逻辑。
类型
(account: { AccountHeadRedirectUrl: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
account | - | 主播账号信息。 |
AccountHeadRedirectUrl | string | 主播账号的跳转链接。 |
菜单栏点击事件。
类型
(tab: { terminal: 'pc' | 'mobile'; layout?: 'portrait'; tab: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
tab | - | 菜单栏相关信息。 |
terminal | "pc" | "mobile" | 观众的终端类型。取值如下:
|
layout | "portrait" | undefined | 参数值固定为 |
tab | number | 菜单类型。取值如下:
|
直播间点赞事件。
类型
(thumb: { count: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
thumb | - | 点赞信息。 |
count | number | 点赞数量。 |
互动功能按钮点击事件。
类型
(feature: { feature: string; status: boolean;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
feature | - | 互动功能信息。 |
feature | string | 互动功能。取值如下:
|
status | boolean | 是否阻止互动功能的后续执行。取值如下:
|
自定义互动工具浮窗点击事件。
类型
(key: string) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
key | string | 互动工具浮窗的唯一标识。 |
观众未满足实时抽奖的下单条件时,做任务参与抽奖页面的去完成按钮点击事件。
类型
(award: { ID: number; Name: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
award | - | 抽奖信息。 |
ID | number | 抽奖 ID。 |
Name | string | 奖品名称。 |
立即提现按钮点击事件。
仅在同时满足以下条件时,才会触发该事件:
类型
(luckymoneyInfo: { activityId: string; id: string; timestamp: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
luckymoneyInfo | - | 红包相关信息。 |
activityId | string | 直播间活动 ID。 |
id | string | 红包 ID。 |
timestamp | number | 点击立即提现按钮的时间。Unix 时间戳,单位为秒。 |