授权观看


简介

针对某些直播内容需要设置观看人群范围,例如企业年会、研讨会、内部培训等场景。通过登录设置、提前录入手机白名单、用户白名单、密码观看、付费观看、观看券观看、自定义授权等7种形式设置筛选观看人群。

操作步骤

登录后台之后,选择某一场直播活动,点击【观看页设置】-【授权观看】,选择合适的观看设置即可。

① 登录设置

开启后,观众进入播放页会强制需要先进行登录才能观看,否则无法观看。关闭强制登录,将提示其他4个关联功能,付费观看、观看券观看、用户白名单、报名模式。
操作步骤
第一步:开启【登录设置】按钮
第二步:点击【查看登录名单】即可查看到最近三个月内登录过直播间的用户信息,并且支持【Excel导出】。
展示效果
PC端
移动端

② 手机白名单

开启后,只有在手机白名单中的用户才能观看直播
操作步骤
第一步:开启【手机白名单观看】按钮,同时也可以选择性打开【单一登录】按钮,设置一个手机号只能用于一个页面/设备上验证观看。
第二步:点击【添加】可以将需要录入的用户手机号提前添加到后台,点击右侧【删除】按钮即可删掉手机号。
展示效果
PC端
移动端

③ 用户名单

开启后,只有在用户白名单中的用户才能观看直播,且默认开启强制登录。
操作步骤
点击【用户白名单】,开启用户白名单观看按钮,将左侧【用户列表】中的用户选中移动到右侧【白名单列表】。
展示效果
PC端
移动端

④ 密码观看

开启后,只有正确输入观看码后才能观看直播
操作步骤
开启【观看码授权】按钮,输入观看码,最后点击【保存配置】
展示效果
PC端
移动端

⑤ 付费观看

开启生效,可配置观看价格和付费提示,所有进入直播间的观众都需先支付要求的费用才能进入直播间观看,且默认开启强制登录。
操作步骤
开启【付费观看】按钮,输入观看价格、付费有效期、提示文字,并且可以设置能否试看以及试看的时长,最后点击【保存配置】。
PS:开启付费观看后,会跳出温馨提示,系统将强制播放器进行微信登录,点击【确认开启】即可。
展示效果
PC端
移动端

⑥ 观看券观看

可生成一次性观看地址,常用于配合付费观看使用(等效在线付费),或者单独开启使用,观众只能通过观看券的地址才能进入直播间,且默认开启强制登录。
操作步骤
第一步:开启【观看券观看】按钮,输入有效期、观看价格即可生成对应的链接与二维码。
第二步:点击【批量生成】可以批量生成观看链接,设置需要的数量,最多能设置100张,点击【确定】下载Excel表,将链接发给对应用户即可。
第三步:【使用记录】中详细记录了所有使用过的观看券以及点击进来的用户信息,【未使用记录】中记录了未使用观看券的链接尾部码和创建的时间。
展示效果
PC端
移动端

⑦ 自定义授权

操作步骤
配置自定义授权页地址,验证成功后才可以进入观看直播(需要具有开发能力)可实现验证观众身份后观看、关注公众号后观看等授权等自定义授权观看形式。
授权流程图
第一步:功能开通,联系商务开通 S3 套餐或专属套餐,开启『自定义授权』功能
第二步:功能位置,登录后台,选择某一场直播活动,点击【观看页设置】-【授权观看】-【自定义授权】。
第三步:配置授权页地址,按要求输入你的自主授权页面地址,最后点击【提交】。
第四步:复制密钥,配置完成后,点击『提交』,系统自动生成构造 token 需要的密钥
第五步:生成常规令牌(token)
1234const timestamp = Date.now();const key = 'secret-key';const sign = md5(`${timestamp}-${key}`)const token = `${timestamp}-${sign}`
chrome 浏览器开发者工具生成 timestamp 演示:
注意需要使用当前时间生成 timestamp ,默认 10 分钟后失效
在线 md5 加密工具生成 key 演示:
Token(令牌)构造:1566286417058-3ee7b145f9dd9bda0f2fc200189fa197
第六步:生成一次性令牌 (token)
一次性令牌顾名思义,即令牌只能使用一次,并且一次性令牌有过期时间,生成后请尽快使用。目前一次性令牌的过期时间暂时定为 10 分钟,后续可能会根据情况进行调整,请勿过分依赖此时间。一次性令牌与常规令牌的区别在于,一次性令牌以 O- (大写字母 O 与横线) 开头标识,并且在生成过程中需要 10 ~ 20 位之间的随机字符串(字符串不要重复使用)加以混淆。
一次性令牌正则表达式校验规则: ^O-\d{13}-\w{10,20}-[a-f0-9]{32}$
1234567891011functionrandomString(length, chars) {chars = chars || '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';let result = '';for(let i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];returnresult;}const timestamp = Date.now();const key = <secret-key>;const nonceStr = randomString(16);const sign = md5(`O-${timestamp}-${nonceStr}-${key}`);const token = `O-${timestamp}-${nonceStr}-${sign}`;
一次性令牌 (token) 示例: O-1597134852061-uEYPyjXfi4KeyVVy-b97d2582c2e03ed8d73ffc4ac4b372ab
第七步:生成试看令牌
试看令牌,即对于相关活动,用户可以试看多少时间,当观看超过该时长之后,则跳转到对应的自定义授权页面进行授权。该令牌存在可重复试看和不可重复试看两种模式。
试看令牌说明:
  • 如果为可重复试看令牌,则用户观看超过限制时长后,可以重新授权,若为不可重复试看令牌,则不可重新授权
  • 试看令牌可以被一次性令牌、常规令牌覆盖,即用户使用试看令牌授权后,又使用常规令牌进行了授权,则当前用户的授权方式为常规令牌授权
试看令牌参数说明:
  • 以 TE- (大写字母TE与横线)开头标识。
  • timestamp 为时间戳,单位毫秒
  • duration 为 指定用户可以试看的时长,单位为秒,比如用户可以试看10分钟, 则 duration 应设置为600
  • repeat 为是否允许重复试看,取值 1 或 0,1 表示允许试看,0 表示不允许试看
  • secret 为在平台配置自定义授权设置时颁发的用于加密的秘钥
  • nonceStr 为10 ~ 20 位之间的随机字符串(该字符串不要重复使用,否则可能造成令牌冲突)
123456789101112functionrandomString(length, chars) {chars = chars || '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';let result = '';for(let i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];returnresult;}const timestamp = Date.now();const duration = 600;const nonceStr = randomString(15);const repeat = '1';const sign = md5(`${timestamp}-${duration}-${repeat}-${secret}-${nonceStr}`);const token = `TE-${timestamp}-${duration}-{repeat}-${nonceStr}-${sign}`;
试看令牌(token)示例:TE-1618560795067-600-1-ezgokufijizweri-757d23590a522bfcd7b323847b9187d4
第八步:带上令牌的访问地址
常规令牌: https://shangzhibo.tv/watch/6136209?token=1566286417058-3ee7b145f9dd9bda0f2fc200189fa197
展示效果
PC端
移动端