頻道設定
本文檔主要講述 频道模块(channel) 提供的頻道設定相關的 API 文件,詳細內容請見下文:
一、觀看頁設定
1.1 取得觀看頁面設定
用於取得管理後台設定的觀看頁設定資訊。
Api 方法: getWatchSetting(): ChannelWatchSetting
回傳值說明: 頻道觀看頁設定,ChannelWatchSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
watchEnabled |
觀看頁開關 | boolean |
mobileWatchEnabled |
行動端觀看頁開關 | boolean |
splashEnabled |
引導頁開關 | boolean |
範例:
const setting = watchCore.channel.getWatchSetting();
if (!setting.watchEnabled) { alert('当前观看页暂未开放'); }
if (isMobile && !setting.mobileWatchEnabled) { alert('暂不支持移动端观看'); }
二、頁面廣告
2.1 獲取頻道頁面廣告設定
用於獲取管理後台設定的頁面廣告設定資訊。
從 v1.2.0 開始可以透過 PlvChannelModule.generateDefaultPageAdvertSetting() 來取得預設配置
Api 方法: getPageAdvertSetting(): ChannelAdvertSetting
回傳值說明: 頻道頁面廣告設定,ChannelAdvertSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
pageAdvertEnabled |
頁面廣告開關 | boolean |
closeAdvertEnabled |
允許關閉頁面廣告 | boolean |
pageAdvertList |
頁面廣告列表 | PageAdvertItem[] |
範例:
const setting = watchCore.channel.getPageAdvertSetting();
console.log('页面广告开关:', setting.pageAdvertEnabled);
console.log('允许关闭页面广告:', setting.closeAdvertEnabled);
2.2 獲取頻道頁面廣告列表
用於取得管理後台設定的頁面廣告列表。
Api 方法: getPageAdvertList(): PageAdvertItem[]
回傳值說明: 廣告列表,PageAdvertItem[] 類型
範例:
const advertList = watchCore.channel.getPageAdvertList();
advertList.forEach((item, index) => {
console.log('广告内容', index, item.content);
console.log('广告类型', index, item.advertType); // PageAdvertType
console.log('跳转地址', index, item.href);
});
Interface 介面: PageAdvertItem 頁面廣告資訊
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
content |
廣告內容 | string |
advertType |
廣告類型 | PageAdvertType |
href |
跳轉地址 | string |
jumpWay |
跳轉方式 | LinkJumpWay |
link |
跳轉連結 | string |
mobileLink |
行動端跳轉連結 | string |
mobileAppLink |
行動端 app 跳轉連結 | string |
mobileAppLinkJumpWay |
行動端 app 跳轉方式 | LinkJumpWay |
pcLink |
PC 端跳轉連結 | string |
pcLinkJumpWay |
PC 端跳轉方式 | LinkJumpWay |
wxMiniprogramAppId |
微信小程式應用 id | string |
wxMiniprogramLink |
微信小程式內頁面路徑及參數 | string |
wxMiniprogramOriginalId |
微信小程式原始 id | string |
iosLink |
iOS 跳轉連結 | string |
androidLink |
Android 跳轉連結 | string |
harmonyLink |
Harmony 跳轉連結 | string |
hrefType |
跳轉類型 | string |
Enum 列舉: PageAdvertType 頁面廣告類型
| 常數 | 列舉成員 | 說明 |
|---|---|---|
'text' |
PageAdvertType.Text |
文字廣告 |
'image' |
PageAdvertType.Image |
圖片廣告 |
三、圖示廣告
3.1 獲取頻道圖示廣告設定
Api 方法: getImgAdvertSetting(): ChannelIconAdvertSetting
從 v2.0.0 版本開始支援
回傳值說明: 頻道圖示廣告設定,ChannelIconAdvertSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
imgAdvertEnabled |
圖示廣告開關 | boolean |
closeImgAdvertEnabled |
圖示廣告是否可關閉 | boolean |
imgAdvertList |
圖示廣告列表 | IconAdvertItem[] |
範例:
const iconSetting = watchCore.channel.getImgAdvertSetting();
console.log('图标广告开关:', iconSetting.iconAdvertEnabled);
console.log('关闭按钮是否显示:', iconSetting.closeIconAdvertEnabled);
3.2 取得頻道圖示廣告列表
Api 方法: getIconAdvertList(): IconAdvertItem[]
從 v2.0.0 版本開始支援
回傳值說明: IconAdvertItem[] 類型
四、頁尾
4.1 取得頻道頁尾設定
用於取得管理後台的頁尾資訊。
Api 方法: getPageFooterSetting(): ChannelPageFooterSetting
回傳值說明: 頁尾設定,ChannelPageFooterSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
footerEnabled |
頁尾開關 | boolean |
footerText |
頁尾文案 | string |
footerLink |
頁尾完整連結 | string |
footerTextLinkProtocol |
頁尾連結域名,如:https:// | string |
footerTextLinkUrl |
頁尾連結位址,如:www.polyv.net | string |
copyrightInfoList |
版權資訊 HTML 片段列表 | string[] |
範例:
const footerSetting = watchCore.channel.getPageFooterSetting();
console.log('页脚开关:', footerSetting.footerEnabled);
console.log('页脚文案:', footerSetting.footerText);
console.log('页脚链接:', footerSetting.footerLink);
五、公眾號關注
5.1 獲取頻道關注設定
用於取得管理後台的關注設定資訊。
Api 方法: getFollowSetting(): ChannelFollowSetting
回傳值說明: 頻道關注設定,ChannelFollowSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
followEnabled |
關注開關 | boolean |
followAutoShow |
主動彈窗 | boolean |
followEntrance |
入口文案 | string |
followImage |
二維碼圖片 | undefined | string |
followTips |
行動端彈窗提示文案 | undefined | string |
pcFollowTips |
PC端彈窗提示文案 | undefined | string |
範例:
const setting = watchCore.channel.getFollowSetting();
console.log('关注开关:', setting.followEnabled);
console.log('入口文案:', setting.followEntrance);
console.log('二维码图片:', setting.followImage);
六、多語言
6.1 獲取頻道多語言設定
用於獲取後台的多語言設定資訊。
Api 方法: getLangSetting(): ChannelLangSetting
回傳值說明: 頻道多語言設定,ChannelLangSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
preferRecommendSetting |
優先使用推薦配置 | boolean |
englishSettingEnabled |
雙語介面開關 | boolean |
aiTranslationEnabled |
AI 多語言翻譯開關 | boolean |
langSwitchEnabled |
多語言開關 | boolean |
isShowSevenLanguage |
是否顯示七國多語言 | boolean |
japLangEnabled |
是否將英文選擇文案替換成日語文案 | boolean |
isFollowBrowserLang |
是否跟隨瀏覽器語言 | boolean |
defaultLangType |
觀看頁預設配置的語言類型 | LanguageType |
範例:
const setting = watchCore.channel.getLangSetting();
console.log('多语言开关:', setting.langSwitchEnabled);
console.log('双语界面开关:', setting.englishSettingEnabled);
console.log('是否跟随浏览器语言:', setting.isFollowBrowserLang);
console.log('默认的语言类型:', setting.defaultLangType);
七、頁面佈局
7.1 獲取頻道佈局設定
用於獲取管理後台的頁面佈局相關設定。
Api 方法: getLayoutSetting(): ChannelLayoutSetting
回傳值說明: 頻道佈局設定,ChannelLayoutSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
mainScreenLayoutMode |
三分屏主螢幕佈局模式 | MainScreenLayoutMode |
mobileSplashLayout |
行動端引導頁佈局 | MobileSplashLayout |
mobileWatchLayout |
行動端觀看頁佈局 | MobileWatchLayout |
範例:
const setting = watchCore.channel.getLayoutSetting();
console.log('三分屏主屏布局模式:', setting.mainScreenLayoutMode);
console.log('移动端引导页布局:', setting.mobileSplashLayout);
console.log('移动端观看页页布局:', setting.mobileWatchLayout);
八、皮膚主題
8.1 取得觀看頁面主題樣式設定
當 themeStyleType 為 ChannelWatchThemeStyleType.Theme 時,可以傳入主題來取得相關的樣式配置。
v1 春節造型地址 'https://s2.videocc.net/watch-theme/spring/v1/config.json' v2 春節造型地址 'https://s2.videocc.net/watch-theme/spring/v2/config.json' v2 黑鏡造型地址 'https://s2.videocc.net/watch-theme/black-golden/v2/config.json'
Api 方法: getWatchThemeStyleConfig(theme: string, opts?: Object): Promise<T>
從 v2.14.0 版本開始支援
參數說明:
theme:
string類型,必填opts:
Object類型,選填,預設{},詳細類型說明如下
| 參數名稱 | 說明 | 類型 | 必填 | 預設值 |
|---|---|---|---|---|
url |
- | string |
否 | - |
回傳值說明: Promise<T> 類型
8.2 獲取頻道皮膚主題設定
用於取得管理後台的皮膚主題設定。
從 v1.2.0 開始可以透過 PlvChannelModule.generateDefaultThemeSetting() 來取得預設配置
Api 方法: getThemeSetting(): ChannelThemeSetting
回傳值說明: 頻道皮膚主題設定,ChannelThemeSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
pageSkin |
觀看頁面外觀 | ChannelWatchPageSkin |
watchTheme |
觀看頁面主題 | null | string |
styleType |
樣式類型 | ChannelWatchThemeStyleType |
browserFavIcon |
瀏覽器分頁圖示 | string |
channelCoverImg |
頻道圖示圖片網址 | string |
splashImg |
引導頁封面圖 | string |
splashImgBackgroundId |
引導頁封面圖背景 ID | undefined | number |
mobileSplashLargeImg |
行動裝置引導頁大圖 | string |
pcWatchBackgroundImage |
PC 端觀看頁背景圖 | undefined | string |
mobileChatBackgroundType |
行動裝置聊天室背景圖類型 | BackgroundType |
mobileChatBackgroundImage |
行動裝置聊天室背景圖 | undefined | string |
mobileChatBackgroundImageAmbiguity |
聊天室背景圖模糊,0 ~ 100 | undefined | number |
portraitBackgroundType |
直式背景圖類型 | BackgroundType |
portraitBackgroundImage |
直式背景圖 | undefined | string |
portraitBackgroundImageAmbiguity |
直式背景圖透明度,0 ~ 100 | undefined | number |
playerBackgroundType |
播放器背景圖類型 | BackgroundType |
playerBackgroundImage |
播放器背景圖 | undefined | string |
playerBackgroundImageAmbiguity |
播放器背景圖透明度,0 ~ 100 | undefined | number |
descInfoCardEnabled |
直播介紹資訊卡片開關,預設開啟 | boolean |
範例:
const setting = watchCore.channel.getThemeSetting();
console.log('皮肤风格:', setting.pageSkin);
console.log('直播间图标:', setting.channelCoverImg);
8.3 取得商品庫圖示設定
Api 方法: getProductIconConfig(): undefined | ProductIconConfig
從 v2.14.0 版本開始支援
回傳值說明: undefined | ProductIconConfig 類型
九、串流多軌配置/雙流配置
9.1 獲取頻道串流多軌配置
多軌配置與多線路不同,多線路取得的其實還是同一個來源,但多軌是取得不同的推流來源。
Api 方法: getChannelStreamTrackConfig(): ChannelStreamTrackConfig
從 v1.8.0 版本開始支援
回傳值說明: 頻道流多軌配置(雙流),ChannelStreamTrackConfig 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
type |
多軌配置類別 | ChannelStreamTrackType |
trackList |
多軌列表 | ChannelStreamTrackItem[] |
十、使用者分組
10.1 獲取頻道用戶分組配置
Api 方法: getChannelViewerGroupConfig(): ChannelViewerGroupConfig
從 v2.16.0 版本開始支援
回傳值說明: 頻道使用者分組設定,ChannelViewerGroupConfig 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
chatViewerGroupEnabled |
聊天使用者分組功能開關 | boolean |
channelViewerGroupEnabled |
頻道使用者分組功能開關 | boolean |
onlyGroupWatchEnabled |
限制僅分組使用者允許觀看開關 | boolean |
notInGroupCanWatchEnabled |
不在頻道使用者分組列表時是否能觀看 | boolean |
十一、其他開關
11.1 取得頻道小視窗設定
Api 方法: getPIPSetting(): ChannelPIPSetting
回傳值說明: 頻道小視窗設定,ChannelPIPSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
miniprogramNativePictureInPictureEnabled |
小程式原生小視窗播放 | boolean |
miniprogramWebviewPictureInPictureEnabled |
小程式 Webview 小視窗播放 | boolean |
miniprogramWebviewPIPIntermediatePagePath |
小程式中間頁路徑 | string |
11.2 獲取頻道頂部引導條配置
Api 方法: getTopGuideSetting(): ChannelTopGuideSetting
從 v2.0.0 版本開始支援
回傳值說明: 頂部引導條配置,ChannelTopGuideSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
topGuideBarEnabled |
引導條開關 | boolean |
topGuideBarLogo |
頂部 LOGO | string |
topGuideBarContent |
引導條文案 | string |
topGuideBarButtonContent |
按鈕文案 | string |
topGuideBarAndroidRedirectUrl |
跳轉連結:Android | string |
topGuideBarIosRedirectUrl |
跳轉連結:iOS | string |
topGuideBarHarmonyOSRedirectUrl |
跳轉連結:HarmonyOS | string |
topGuideBarCloseable |
是否允許關閉 | boolean |
11.3 獲取線上列表開關
Api 方法: getOnlineListEnabled(): boolean
從 v1.8.0 版本開始支援
11.4 取得管理員公告跑馬燈開關
Api 方法: getManagerBulletinMarqueeEnabled(): boolean
從 v2.0.0 版本開始支援
11.5 取得研討會白板教材開關
關閉時,研討會頻道不顯示文件。
Api 方法: getSeminarWhiteboardCoursewareEnabled(): boolean
從 v2.19.0 版本開始支援
11.6 獲取頻道訊息特效配置
Api 方法: getEffectSetting(): ChannelEffectSetting
從 v2.0.0 版本開始支援
回傳值說明: 頻道訊息特效設定,ChannelEffectSetting 類型,詳細類型說明如下
| 屬性名稱 | 說明 | 類型 |
|---|---|---|
visitEffectEnabled |
存取特效開關 | boolean |
joinVisitEffectTip |
使用者進入直播間 | string |
productEffectEnabled |
購買轉換特效開關 | boolean |
clickOrdinaryProductEffectTip |
使用者點擊商品-一般商品 | string |
clickFinancialProductEffectTip |
使用者點擊商品-金融商品 | string |
clickJobProductEffectTip |
使用者點擊商品-職位商品 | string |
orderProductEffectTip |
使用者下單商品-一般商品 | string |
interactionEffectEnabled |
參與互動特效開關 | boolean |
checkinInteractionEffectTip |
使用者簽到成功 | string |
donateInteractionEffectTip |
使用者打賞成功特效 | string |
11.7 需要隱藏觀眾暱稱
Api 方法: needHideViewerNickname(): boolean
從 v2.0.0 版本開始支援
11.8 獲取回放開關
Api 方法: getEnablePlayback(): boolean
從 v2.3.0 版本開始支援
11.9 取得上一次推流時間
Api 方法: getLastPushStreamTime(): number
從 v2.3.0 版本開始支援
11.10 獲取直播介紹內容圖片壓縮開關
Api 方法: getCompressImageEnabled(): boolean
從 v2.5.0 版本開始支援
11.11 獲取混合串流渲染模式
混合流渲染模式,預設為填黑模式,如需剪裁模式,請在觀看頁設定中開啟剪裁模式。
填黑模式: 此模式會嚴格保持來源影片的寬高比進行等比縮放,若渲染容器與來源影片比例不一致,則會露出背景。
裁剪模式: 此模式會嚴格依照目標影片的寬高比,對來源影片進行裁剪後再拉伸,並填滿畫布。
Api 方法: getMixStreamRenderMode(): MixStreamRenderMode
從 v2.5.0 版本開始支援
回傳值說明: MixStreamRenderMode 類型
11.12 取得禁止推流開關
Api 方法: getBanPushStream(): boolean
從 v2.5.0 版本開始支援
從 v2.7.0 版本起已棄用,請改用 getPlaybackForbiddenEnabled
11.13 取得回放禁流開關
Api 方法: getPlaybackForbiddenEnabled(): boolean
從 2.7.0 版本開始支援
11.14 取得 Android 增強全螢幕模式開關
Api 方法: getAndroidFullScreenEnhancedEnabled(): boolean
從 v2.5.0 版本開始支援
11.15 取得低延遲智慧播放開關
Api 方法: getLowLatencyIntelligentPlayEnabled(): boolean
從 v2.5.0 版本開始支援
11.16 取得直播廣場配置
Api 方法: getLiveSquareConfig(): undefined | LiveSquare
從 v2.6.0 版本開始支援
回傳值說明: undefined | LiveSquare 類型
11.17 取得是否顯示回放待生成文字開關
Api 方法: getShowPlaybackWaitTextEnabled(): boolean
從 v2.9.0 版本開始支援
11.18 獲取商品庫橫向位置設定
Api 方法: getProductEntryLandscapePosition(): string
從 v2.13.0 版本開始支援
11.19 獲取小班課頻道是否允許登入
Api 方法: getSmallClassLoginEnabled(): Promise<boolean>
從 v2.13.0 版本開始支援
回傳值說明: Promise<boolean> 類型
