观看页核心
本文档主要提供观看页 SDK 提供的核心方法 Api 说明。
在设计模式上,观看页核心实例是单例设计,所以 sdk 提供单独的方法来创建和销毁实例
一、创建观看页核心实例
Api 方法: createWatchCore(appConfig: AppConfig): PolyvWatchCore
参数说明:
- appConfig:配置选项,
AppConfig类型,必传,详细类型说明如下
| 参数名 | 说明 | 类型 | 必须 | 默认值 |
|---|---|---|---|---|
channelId |
频道号 | string |
是 | - |
promoteId |
渠道 id | string |
否 | - |
testModeToken |
测试模式 token | string |
否 | - |
zone |
网络类型 | ZoneType |
否 | - |
env |
SDK 需要加载的环境 | SdkLoaderEnv |
否 | - |
language |
语言类型 | LanguageType |
否 | - |
domainInfo |
自定义域名 | Partial<DomainInfo> |
否 | - |
sdkIntegration |
集成 SDK 脚本地址配置 | SdkIntegrationConfig |
否 | - |
userInfo |
观众信息 | UserInfo |
否 | - |
inviteInfo |
邀请信息 | Object |
否 | - |
statisticsParams |
统计信息 | StatisticsParams |
否 | - |
autoAuthParams |
自动授权参数 | Object |
否 | - |
saleInviteParams |
一客一码邀请参数 | Object |
否 | - |
vid |
回放 vid | string |
否 | - |
playbackOrigin |
回放类型 | PlaybackOrigin |
否 | - |
ipPlay |
是否使用 ip 地址进行 CDN 拉流,仅支持 PC 端 | boolean |
否 | - |
示例代码:
import { createWatchCore } from "@polyv/live-watch-sdk";
const watchCore = createWatchCore({
channelId: "频道号",
});
二、销毁观看页核心实例
Api 方法: destroyWatchCore(): void
注意:一般情况下不建议开发者主动去调用该方法,建议是随浏览器标签页关闭时,自动被浏览器销毁回收即可。
示例代码:
import { destroyWatchCore } from "@polyv/live-watch-sdk";
destroyWatchCore();
三、核心方法
3.1 设置授权 token
说明: 从 v1.1.0 开始对外使用
Api 方法: setXAuthToken(xAuthToken: string): void
参数说明:
- xAuthToken:授权 token,
string类型,必传
3.2 冻结模块
Api 方法: freeze(): void
从 v2.0.0 版本开始支持
3.3 解冻结模块
Api 方法: unFreeze(): void
从 v2.0.0 版本开始支持
3.4 安装观看页核心
观看页核心方法,用于安装观看页核心并加载频道信息,安装完成后回调 Promise 及 PolyvWatchCoreEvents.WatchCoreSetuped 事件。
Api 方法: setup(): Promise<void>
示例:
import { createWatchCore } from '@polyv/live-watch-sdk';
const watchCore = createWatchCore({
channelId: '频道号'
});
watchCore.setup();
3.5 连接聊天室
观看页核心方法,用于在进入直播观看页之前连接聊天室,连接完成后回调 Promise 及 PolyvWatchCoreEvents.WatchCoreConnected 事件。
默认情况下,该方法只被调用一次,如果需要多次调用,请先执行 watchCore.disconnect 方法。如果只需要临时断联 socket,可以通过 watchCore.chat.getSocket() 获取实例进行操作
Api 方法: connect(): Promise<void>
示例:
await watchCore.connect();
console.log('连接成功,显示直播观看页');
3.6 断开聊天室连接
完全断开聊天室 socket 连接,并销毁聊天室核心实例,慎用!
Api 方法: disconnect(): Promise<void>
从 v2.11.0 版本开始支持
示例:
await watchCore.disconnect();
console.log('断联成功');
3.7 更新核心配置
通过 updateAppConfig 更新核心配置,如切换多语言
不支持更新 uniqueId、env、sdkIntegration 配置,只能在创建时传入
Api 方法: updateAppConfig(appConfig: Partial<OmitAppConfig>): void
参数说明:
- appConfig:新的配置,
Partial<OmitAppConfig>类型,必传
示例:
// 设为英语
watchCore.updateAppConfig({
language: 'en',
});
3.8 是否为回放观看页模式
调用 createWatchCore 并传入回放 vid,页面将为回放模式,此时通过 isPlaybackWatchByVid 判断。
在 v0.6.0 之前的版本,需要在进入观看页后才有效,引导页暂时不能根据该标识位判断
Api 方法: isPlaybackWatchByVid(): boolean
返回值说明: 是否回放观看页模式
示例:
const watchCore = createWatchCore({
channelId: '频道号',
vid: '回放 vid',
});
console.log(watchCore.isPlaybackWatchByVid()); // true
3.9 获取通过 vid 观看回放的基础信息
Api 方法: getPlaybackWatchBasicInfo(): PlaybackWatchBasicInfo
从 v0.6.0 版本开始支持
返回值说明: 通过 vid 观看回放的基础信息,PlaybackWatchBasicInfo 类型,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
vid |
回放 vid | string |
vodUrl |
回放视频地址 | string |
videoName |
回放视频名称 | string |
3.10 获取账户信息
Api 方法: getAccountInfo(): AccountInfo
从 v1.2.0 版本开始支持
返回值说明: AccountInfo 类型,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
accountId |
账号 id | string |
companyName |
公司名称 | string |
companyLogo |
公司 logo | string |
isForbidden |
是否被禁用 | boolean |
3.11 设置微信 SDK 获取函数
Api 方法: setWeixinSdk(getWeixinSdk: Function): void
从 v1.10.0 版本开始支持
参数说明:
- getWeixinSdk:
Function类型,必传
3.12 获取设置到 core 的微信 SDK 获取函数
Api 方法: getWeixinSdk(): undefined | Function
从 v1.10.0 版本开始支持
返回值说明: undefined | Function 类型
3.13 获取额外的业务信息
Api 方法: getExtBusinessInfo(): Promise<ExtBusinessInfo>
从 v2.15.0 版本开始支持
返回值说明: 额外的信息,Promise<ExtBusinessInfo> 类型,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
infoFeedFlowPageId |
信息流页面Id | string |
