帮助中心

直播活动嵌入

一、 微信嵌入

1.复制链接嵌入微信公众号

(“我的主页”为过往在微吼发生的所有直播的集合展示页面链接,“观看直播”为单场直播的展示链接。)

2.打开公众号的后台,进入菜单设置,把直播链接嵌入到公众号的自定义菜单即可。

二、 观看端嵌入

<head> <title>DEMO</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> </head> <body> <iframe border="0" src="http://e.vhall.com/webinar/inituser/123456789?email=test@vhall.com&name=visitor" width="800" height="600"></iframe> </body>

三、 直播嵌入接口定义

1. URL

http://e.vhall.com/webinar/inituser/123456789?email=test@vhall.com&name=visitor&k=随机字符串 注:数字123456789表示活动id

2. URL参数

1) email:可选参数 如果不填写系统会随机生成邮箱地址。 由于保证email自身的唯一性,我们推荐使用email来作为唯一标识有效用户的字段。对于第三方自有用户数据的系统,也可以使用一些特征ID作为此标识,请以email的格式组织,比如在第三方系统中,用户ID为123456,可在其后添加一个@domain.com,组成123456@domain.com形式的email地址。 email格式要求:总长度必须小于50个字符,且可以通过下列正则表达式校验 ^[a-z’A-Z’0-9]+([._-][a-z’A-Z’0-9]+)*@([a-zA-Z0-9]+([._-][a-zA-Z0-9]+)+)+$ 对于不符合上述两个条件的email,系统会使用随机生成的email地址代替用户输入的参数 注:请务必保证email填写的唯一性! 2) name: 可选参数 如果不填写系统会随机生成。此字段表示用户昵称、姓名或其他有意义的字符串。可以为中文,但必须为UTF-8,且经过URL编码(urlencode)。 3) hideVideoControlBar:可选参数 观看直播时显示/隐藏控制栏,1表示隐藏,0表示显示。 4)mute: 可选参数 默认mute=0表示打开网页观看时默认开启声音,mute=1时没有开启声音,用户可手动再次开启。 5) embed: 可选参数 embed=video表示只显示播放器模块。 注:手机端嵌入页面时,目前只支持两种方式:没有embed参数(显示视频、文档、聊天)和embed=video(只显示视频) 6) k: 可选参数 此字段为了提供给第三方可以根据自己的权限系统,验证客户是否可访问直播地址,具体说明参考“三、第三方K值验证”。 7) rid: 可选参数 此字段为了设置回放视频id,回放视频id在控制台的回放管理里可查看到。

四、 第三方K值验证

1. 背景

Vhall网络直播在不涉及权限控制,如公开活动时,采取上文描述的接口,基本可以满足集成的要求 如需涉及权限控制,Vhall提供以下认证流程来实现简单的权限认证过程

2. 认证流程

3. 流程说明

3.1 开启设置 1)全局设置: 针对所有的活动配置生效,如果针对单个活动再做配置,以单个活动配置为最终配置。接口调用设置接口: webinar/whole-auth-url 全局配置第三方K值验证URL 2) 针对某个活动的配置方式一:通过页面配置 http://e.vhall.com/webinar/auth/123456789 ,数字表示自己帐号下的活动id 3)针对某个活动的配置方式二:通过接口(webinar/create或webinar/update)设置 4)接口参数:use_global_k ,默认为0不开启,1为开启,是否针对此活动开启全局K值配置;当设置为0后,则以单个活动的配置为最终配置。 3.2 Vhall接口URL中请务必带上k参数,如果这个参数为空或者没有这个参数,则视为认证失败 3.3 Vhall系统收到用户的接口访问请求后,会向第三方认证URL(auth_url)发送HTTP POST请求,同时将email和k值作为POST数据提交 给第三方认证。由第三方系统验证k值的合法性。如果认证通过,第三方认证URL(auth_url)返回无bom字符串pass,否则的返回fail 注:需要确保您的回调地址支持 multipart/form-data 方式接收 post 数据。 3.4 Vhall 系统根据第三方认证URL返回值判断认证是否成功。只有收到pass,才能认定为验证成功,否则一律跳转到指定的认证失败 URL,或者提示'非法访问'

4. 参数特征

URL请求很容易被探测截获,这就要求第三方系统生成的K值必须有以下特征: 4.1 唯一性:每次调用接口必须产生不同的K值 4.2 时效性:设定一个时间范围,超时的K值即失效。 4.3 如果包含有第三方系统内部信息,必须加密和混淆过。

5. 建议的K值实现

第三方系统可以考虑K值元素包括:用户ID、Vhall直播ID、时间戳(1970-01-01至今的秒数)元素组合后加密后,使用Base64或者hex 匹配成URL可识别编码。K值在第三方系统中持久化或放在Cache中 回调验证时,根据时间戳判断是否在设定时间内有效 验证结束,若认证通过,则从DB或Cache中移除K值 DB或Cache建议有时效性控制,自动失效或定期清理过期数据

五、 问答嵌入接口定义

1. URL

http://e.vhall.com/webinar/qa?id=123456789&account=123456&name=visitor&signed_at=1474617658&app_key=11111&sign=17e3dcb69

2. URL参数

1) id:必填参数 创建活动得到的九位数活动id 2) account: 必填参数 第三方唯一识别ID。 3) name: 必填参数 此字段表示用户昵称、姓名或其他有意义的字符串。可以为中文,但必须为UTF-8,且经过URL编码(urlencode)。 4) signed_at:必填参数 签名生成时间戳,签名有效期一个小时。 5)app_key: 必填参数 从此页面获取API/SDK的使用权限信息:点击查看 6) sign: 必填参数 签名,用于验证链接的有效性,签名生成规则详见API调用说明 三、接口定义5. 签名方式调用 (此接口只存在签名方式调用一种,auth_type可以省略)