3

背景

项目中若涉及到即时通信IM或者直播这种业务场景的,一般都会选择第三方服务,而腾讯在这方面做的还是很好的,QQ和微信的统治力显而易见。

腾讯的服务接口都是以API文档的形式提供给开发者的,使用的时候有些麻烦,还需自己封装等,没有 SDK 用着方便,而官方对 SDK 的介绍着实不多,这一点阿里云做的是很不错的,必须要吐槽一下腾讯的文档问题,看着是有点心累的(小声bibi)。

正好项目中有直播场景,本文以 云直播 为例,逐一介绍如何使用腾讯云服务。

吐槽:拿直播的PK功能来说,本人和 iOS 兄弟调试了很久,又与腾讯技术支持对接了很久,依然不成功,三人都懵了。
      最后技术支持查了一下,像 PK、连麦的功能是需要购买套餐的。。。
      充完钱后,立!马!好!使! 我们的 iOS 兄弟直接竖了一个中指表示了慰问!

准备

  • 腾讯云账号(最好是通过企业认证的,个人的局限性比较大)
  • 开发环境 php+laravel+homestead (其他环境亦可,这里是我的环境)
  • 已备案的域名
  • 最好与腾讯售前和技术支持保持联系,不懂就问他们(机智如我)

选择合适的服务

以直播为例,刚开始接触直播时,并不清楚直播的流程是什么,所以搞不懂需要后端做什么,前后端如何交互等等问题,甚至都不知道应该选择哪一个服务,看下图:

tx1.jpg

没办法,只能一个个查看产品介绍。个人建议,当不清楚一个产品是什么的时候,一定要把产品简介多看几遍,收获很大。

每个产品的 快速入门 能加快你使用产品的速度,哪怕不清楚产品流程和功能,按照步骤操作,都能让你大致了解产品。这里面有很多注意和提示说明,很多时候配置出错或者程序出错,都是因为文档没看清楚。

本文以 云直播 为例,选择标准直播(LVB)。

开始

根据 快速入门 的操作,在 控制台 下面的 域名管理,点击 添加域名,如图:

tx2.jpg

tx4.jpg

依次添加 推流域名播放域名注意:这两个域名不能相同,可以为两个二级域名),首先你需要有自己的域名,这就是之前要准备的域名了,最好是在腾讯云的 域名注册 下购买一个,这样比较方便,若是在其他地方购买的域名,可能会涉及到域名转让的问题。

注意:添加的域名,一定要按照格式: `www.test.com`,可以使用二级域名。比如,推流域名:`push.test.com`;播放域名:`play.test.com`; 
      这个域名就是你域名解析列表中的真实域名

两个域名添加完毕后,列表中 CNAME 是❌,这是因为之前添加的域名并不存在,不急,下面会讲到这些。我们先进入管理中,如下图:

tx5.jpg

注意:图中是我自己的域名,已经配置成功的,按上述流程操作后,你的 CNAME 还是❌

复制下面的 CNAME 的值,以播放域名为例,推流的也要,并存放起来,域名解析的时候需要用到。

tx6.jpg

假设你已经有了域名,在 我的域名 中即可看到,点击解析、添加记录;腾讯云在添加记录时,每个 input 框会有相应的提示,根据提示就知道应该怎么填写了。这里的记录类型需要选择 CNAME 类型,如下图:

tx7.jpg

最终添加的结果如下:

tx8.jpg

整个配置流程就结束了,这一块腾讯云文档中 CNAME配置 会更详细一些。可在这个文档中了解到域名和 CNAME 配置的生效时间。当你的 推流域名播放域名CNAME 都为 就表示已经配置成功了。

此时,域名问题就全部完成了,可以在控制台中配置推流地址(注意过期时间的问题),这个地址可以用来给前端人员测试推流操作。

注意:此时我们没有写任何后端代码

建立应用

像 IM 和直播这种业务,都需要在控制台中建立相关的应用,前端人员会根据这里的应用信息对接前端的 SDK。再比如像对象存储这种业务,也是需要建立 bucket 才能存放数据的。

域名问题完成后,我们需要新建一个直播 SDK 应用,在 直播SDK -> 应用管理 点击 创建应用,按要求填写即可。

提示:建立直播应用时,会检测你的腾讯云账号下有没有 即时通信IM 的应用,若没有,会跳转到 IM 的控制台,让你新建 IM 应用。原因是直播和IM是不可分隔的,直播中的聊天室就是 IM 的一部分。

都建立完毕后,直播应用和 IM 应用都会有一个 SDKAPPID ,可能是相同的,也可以不同,当建立多个应用时,就会产生不一致的问题,只要在你的程序中使用时,配置好就可以,无妨。

在云直播控制台中的 直播SDK -> License 中添加一个测试版 License,App Name 按要求格式写一个即可,Package Name 为安卓提供的包名,Bundle Id 有 IOS 人员提供,完成后,提供给前端人员 LicenseUrl 和其所需的其他值。测试版本有大概半个月的有效期,无需付费,到期后则需要购买新的 License。

APP项目,前端是安卓和IOS,使用的是 移动直播SDK。

友情提示:测试版的 License 到期后,再次购买后才可创建新的 License, 这时就是正式版本的了。

吐血提示:前端需要用这个 License 做初始化,如果到期或者没流量了,直播立马就挂,但凡涉及到需要付费的,腾讯做的无比强大,需要注意;

上面所述的一切都完事后,就可以配合前端人员测试直播了。而 推流地址播放地址 可以先使用云直播控制台中的 辅助工具 -> 地址生成器 来生成;如下图:

tx9.jpg

注意:一定要注意地址的有效期问题。

前端人员有这两个地址后,即可测试直播是否可以成功。此时后端人员仍然没有写任何代码


LZXprogrammer
37 声望5 粉丝

道阻且长,仍需不断前行~