PC端SDK两种对接模式

在线教室总共由三部分组成:登录页、课表页和教室页,其中登录页和课表页可由用户自定义,教室页功能由直播云提供,目前支持一对一、小班(30人)、大班三种班型。 如下图所示:

客户端嵌入的登录页

客户端登录页跳转到课表页

客户端原生的小班教室

客户端原生的一对一教室

PC端SDK对接模式是现有对接机构普遍采用的模式。直播云提供线上环境的演示安装包,进行对接演示、功能演示、对接联调,完成对接后,为机构定制正式的安装包。 此类对接方式,衍生出两种子模式,一种是“内嵌页对接模式(嵌入对接机构的登录页和课表页)”,另外一种是“网页唤起对接模式(在浏览器中直接调起客户端)”,已对接机构绝大部分使用“嵌入第三方机构登录页和课表页的对接方式”,此种对接方式最成熟。

1. 内嵌页对接模式(嵌入对接机构的登录页和课表页)

此对接模式,需要对接机构开发登录页面和课表页面,具备登录页跳转到课表页的能力。 客户端运行的原理:启动后,加载对接机构开发的在线页面地址(地址可配置),以直播云为例,流程如下: 流程如下:

(1) 客户端的登录页,在登录页面,用户输入账号;

(2) 登录后,页面跳转到课表页;

(3) 点击课表中的进入教室按钮,这时候Web页面调用直播云提供的进教室的接口,客户端进入教室。

机构进行对接,课表页调用直播云提供的JS-SDK的接口,传入用户参数以及课程参数,即可启动和使用直播云教室。

调用JS接口

对接机构开发登录页和课表页,对接自己的后台,展示自己后台的课表数据,课表中嵌入直播云提供的JS-SDK wcrclassroom_t_api.js
点击进教室的时候,先后调用JS-SDK中以下两个接口(参数说明见下文),传入用户参数和课程参数,启动直播云教室:

1) window.WCRClassRoom.setUser(userInfo)

2) window. WCRClassRoom.joinClassRoomWithoutCallback(classinfo)

流程图很重要

对接步骤总结

嵌入登录页和课表页的对接方式

  1. 先用提供的演示版本,了解启动客户端和具体实现,体验教室内功能;
  2. 机构完成后台对接,最重要的部分是已分配机构ID,且鉴权接口对接完成;
  3. 机构使用Demo,在demo中输入token和机构ID,完成与后台对接的联调;
  4. 机构完成登录页&课表页的开发,并手动替换演示包app.ini中的"startPageUrl",进行页面的调试;
  5. 调试成功后,机构将登录页&课表页上线,并提Web页面的地址,直播云拿到地址后,为机构定制并打出正式的线上安装包。

注:demo使用说明参见DEMO章节 课表页的demo地址为:https://cloudclass-static.oss-cn-beijing.aliyuncs.com/client/sdk/websdkdemo/index_online.html

2. 网页唤起对接模式(在浏览器中直接调起客户端)

此对接模式,在对接机构的业务后台,通过一个链接,启动直播云客户端,进直播云教室上课。 流程如下:

在浏览器中打开机构后台,用户进行登录,呈现出该用户的课程,在课程上点击进教室,通过提供的外链协议,用户参数和课程参数直接进入教室。学生和老师端使用同一节课的参数分别启动学生端和老师端,进入同一节课,即可开始上课。 浏览器中调起客户端

启动客户端

在浏览器启动客户端,通过启动协议传递参数的方式将用户参数和课程参数传入客户端,启动协议实际上是一个超链接。

生成url,可以参考这个demo页:

https://cloudclass-static.oss-cn-beijing.aliyuncs.com/client/sdk/demo_web_start/index.html

  1. Windows端,协议如下:\点击进入教室\
参数 值描述 示例
lwcself 客户端主程序exe名称 lwcself
app 对接机构的机构ID,在机构对接时,由直播云后台创建机构,得到机构ID 79
user=$(base64_userinfo) $(base64_userinfo)替换为用户信息json串,json串经过base64加密。 加密前的json字符串为:
{"id":"20160401","name":"Jeff_Teacher","type":"teacher","token":"eyJ0eXAiOi"}"
class=$(base64_classinfo) $(base64_classinfo)替换为课程信息json串,json串经过base64加密 加密前的json串为:"{"id":"10000000","title":"网页唤起,测试课","institutionId":"79","type":"0","scenario":"0","status":"2","startTime":"2017-05-12 18:00:00","endTime":"2017-05-12 22:05:00","teacherId":"20160401"}"

user字段中各个参数的含义如下表所示:

key value 描述
id String 用户id
name String 用户名
institutionId String 机构id同app
token String 用户token 后台鉴权使用,参考后台对接:参看后台接口规范

class字段如下:

key value 描述
id String 课程id
title String 课程名称
scenario String 课程类型:
0:1v1
7:小班课
2:大班课
status String 课程状态:
1=未上课;2=课中;3=已下课
startTime String 课程计划开始上课的时间
endTime String 课程计划结束时间
teacherId String 老师id
  1. MAC端,协议如下: 老师端,lwcself改为lwcselfteacher 学生端,lwcself改为lwcselfstudent

嵌入JS-SDK

对接机构仍然需要实现一个Web页面(相当于启动页),这个Web页面需要嵌入1个JS文件,该JS文件分为测试环境和生产环境。 wcrclassroom_t_api.js

对接步骤总结

嵌入登录页和课表页的对接方式:

  1. 先用提供的演示版本,了解启动客户端和具体实现,体验教室内功能;
  2. 机构完成后台对接,最重要的部分是已分配机构ID,且鉴权接口对接完成;
  3. 机构使用Demo,在demo中输入token和机构ID,完成与后台对接的联调;
  4. 机构完成启动客户端协议的开发,完成JS SDK的嵌入;
  5. 调试成功后,机构将Web页面上线,并提Web页面的地址,直播云拿到地址后,为机构定制并打出正式的线上安装包。 注:mac端,需要安装后,先点击启动一次程序,协议才能生效。

results matching ""

    No results matching ""