H5直播聊天室

公司在做一个电商项目进行直播商品,直播当然少不了互动,不然直播多么乏味无趣,那么弹幕式聊天室(IM)怎么实现的那,小编的公司用的是腾讯云的云通信服务。

介绍:

腾讯云IM的前身是QQ的及时通讯消息系统,对QQ的消息模块进行抽离,变成了适合移动端接入的IM SDK,脱离了对QQ号码的绑定,就是现在的IM云通信。登录QQ用的是QQ号密码,登录IM SDK也是一样,只是不是QQ号和密码了,而是指定的用户名(userid)和密码(usersig)。后面会用到这两个字段,我再详细介绍一下。

userid:用来表示用户的字段,可以是APP的用户ID,也可以是另外定义的。

usersig:有了userid,腾讯云用usersig来确认用户是合法的用户,usersig是userid、appid等信息的非对称加密。

服务开通配置

1、首先到云通信的控制台,如果没有开通服务的话,先开通云通信。开通之后应用列表是空的,小编已经创建了应用。
H5直播聊天室

2、创建应用,会分配一个SDKAPPID(后面会用到)

3、创建完成后点击应用配置,进行配置,需要注意的地方:
(1)集成模式选择独立模式还是托管模式
(2)记下accountType,代码中会用到
(3)下载公私钥,有一个private_key和一个public_key,private_key就是用来签发usersig的私钥。

4、聊天房间创建:
在应用配置里有一个群组管理,创建完成后会有一个群ID(会用到)
H5直播聊天室

5、下载SDK
官网地址:https://cloud.tencent.com/product/im#sdk
小编是在H5中进行,所以下载的是 IM Web,下载完后是一个叫docs的zip压缩包,
H5直播聊天室

H5的看直播聊天室WebDemo就可以。

6、准备环境

需要web服务器,官网给的是apache,小编用的是tomcat

把webDemo放到tomcat的webapps中,小编把demo的名字改成了chat,
H5直播聊天室

chat的文件:
H5直播聊天室

7、启动tomcat,访问页面http://llocalhost:8080/chat/index.html
H5直播聊天室

页面上的identifier和UserSig就是用户名和密码,下面先介绍独立模式和托管模式的区别(上面小编配置的是独立模式),然后讲怎么生成用户名和密码。

8、效果图:
H5直播聊天室

独立模式:用户账号信息由开发者保存,用户身份验证(比如注册与验密)也由开发者负责。

托管模式:由腾讯云为开发者提供账号的密码注册、存储和密码验证,以及第三方openid和token的托管验证服务。

如果是托管模式,进入demo后,会先注册和登录腾讯
H5直播聊天室

这时候用户的usersig是由腾讯来生成的。

如果是独立模式,则需要开发者在自己的服务器调用tls api生成,参考文档:
https://cloud.tencent.com/document/product/269/1510

具体创建应用和配置的步骤,可以参考腾讯云给的文档,

小编用的是windows平台的java接口,下载地址:
https://share.weiyun.com/2b3abe0e3f185c440cf455647455f661

H5直播聊天室

java文件夹中是一个生成usersig的工具类,如果只是运行demo,可以用腾讯云给的工具tools,在这个文件夹下打开cmd窗口,输入命令,就可以生成一个usersig

命令:./tls_licence_tools gen ec_key.pem sig 1400001052 xiaojun

参数解释:./tls_licence_tools gen 私钥文件路径 sig将要存放的路径 sdkappid 用户id

这个在文档里有详细介绍,一定要仔细阅读官网给的文档。

小编部署的是独立模式,官网给的默认是托管模式,只需要修改一下index.html中的js的参数值就可以,如下:
H5直播聊天室

结束语

小编也是刚刚接触,如果有认识不到位的地方,欢迎交流!