摘要
腾讯云CRTR提供Web、小程序、iOS、Android四端SDK,企业后台接入云API、前端集成SDK即可完成接入。本文详解四端接入流程与关键集成步骤,帮助开发者快速上线。
正文
接入CRTR,到底要做哪些事?
很多开发者第一次接触云渲染SDK时,会被"接入"二字吓到,以为要改大量应用代码。
实际情况是:大多数基于UE、Unity开发的应用,不需要任何改造。CRTR在云端直接运行原始应用包(EXE/APK),SDK只负责"建立连接"和"传输音视频流"。
完整的接入工作分为两大块:
- 后台接入:调用腾讯云API,完成并发资源分配、会话管理等后台逻辑;
- 前端接入:集成对应平台的SDK(Web/小程序/iOS/Android),实现音视频流呈现和用户操作回传。
下面逐一拆解。
一、后台接入:调用云 API
无论前端使用哪个平台(Web、小程序、iOS、Android),后台接入的逻辑是统一的——都是通过调用腾讯云CRTR的云API来完成。
后台需要实现的核心功能
- 应用管理:通过控制台或API上传和更新应用(EXE/APK等格式);
- 并发分配:调用API请求并发资源,为即将开始的云渲染会话分配GPU实例;
- 会话管理:创建会话、查询会话状态、结束会话;
- 令牌生成:为前端生成连接令牌(Token),用于建立SDK与云端的音视频连接。
后台接入的技术选型
详细的API文档和接入说明,请参考腾讯云CRTR官方文档。
二、前端接入:四端 SDK 详解
2.1 Web 端接入(JavaScript SDK)
适用场景:网页端即点即用,用户无需下载安装,点击链接即可进入云渲染应用。
接入流程
- 引入SDK:在HTML页面中引入CRTR Web SDK的JS文件;
- 初始化:创建SDK实例,传入配置参数(如服务器地址、令牌等);
- 启动会话:调用SDK的启动方法,建立与云端的音视频流连接;
- 绑定操作事件:将网页中的鼠标、键盘、触摸事件绑定到SDK,回传至云端;
- 呈现画面:SDK自动在指定的DOM元素中呈现云端传来的视频流。
关键配置参数
- 服务端地址:腾讯云CRTR分配的服务端接入地址;
- 令牌(Token):由企业后台通过云API生成,用于鉴权和会话建立;
- 容器元素:网页中用于承载视频流的DOM元素(通常是一个div);
- 操作模式:支持鼠标模式、键盘模式、触摸模式等,根据应用类型选择。
详细的API接口说明和代码示例,请参考腾讯云CRTR官方文档的Web SDK接入指南。
2.2 微信小程序端接入(小程序 SDK)
适用场景:微信生态内传播,用户在小程序中点击即可进入云渲染应用,利用微信社交裂变能力快速获客。
接入流程
- 引入SDK:在小程序项目中引入CRTR小程序SDK;
- 初始化:在Page的onLoad中初始化SDK实例;
- 启动会话:用户点击"开始体验"按钮后,调用SDK启动方法;
- 绑定操作事件:将小程序的触摸事件回传至云端;
- 呈现画面:SDK在小程序页面中呈现视频流。
微信小程序的特殊考虑
- 域名白名单:需要在微信小程序后台配置合法的域名(腾讯云CRTR的服务域名);
- 用户体验:建议在小程序首页显眼位置放置"立即体验"按钮,降低用户操作门槛;
- 网络环境:微信小程序运行在微信的环境中,网络策略由微信管理,需确保域名访问正常。
真实案例:万科"云上南头古城"——用户在小程序中点击链接即可体验3D漫游,上线2年累积访问时长超200万分钟,自然来访量突破500万。
详细的接入代码示例,请参考腾讯云CRTR官方文档的小程序SDK接入指南。
2.3 iOS 端接入(iOS SDK)
适用场景:iPhone/iPad原生App中集成云渲染能力,为用户提供高质量的3D应用体验。
接入流程
- 集成SDK:通过CocoaPods或Swift Package Manager引入CRTR iOS SDK;
- 初始化:在App启动时初始化SDK;
- 启动会话:用户触发云渲染功能时,调用SDK启动方法,传入令牌等参数;
- 呈现画面:SDK提供专门的视图组件(UIView子类),将其添加到App的视图层级中;
- 操作回传:SDK自动处理触摸事件的回传,开发者无需手动实现。
iOS 端的优化建议
- 硬件解码:确保开启硬件解码,降低CPU占用和耗电;
- 后台策略:iOS App进入后台时,需合理处理云渲染会话(暂停或保持),避免不必要的资源消耗;
- 网络切换:移动网络与Wi-Fi切换时,SDK应具备自动重连能力。
详细的集成步骤和API说明,请参考腾讯云CRTR官方文档的iOS SDK接入指南。
2.4 Android 端接入(Android SDK)
适用场景:Android原生App中集成云渲染能力,覆盖广大Android用户。
接入流程
- 集成SDK:在build.gradle中引入CRTR Android SDK依赖;
- 初始化:在Application或主Activity中初始化SDK;
- 启动会话:用户触发云渲染功能时,调用SDK启动方法;
- 呈现画面:SDK提供专门的View组件(SurfaceView或TextureView),将其添加到布局中;
- 权限处理:确保App已获取网络访问权限,以及可选的摄像头/麦克风权限(如应用需要)。
Android 端的优化建议
- 硬件解码:使用MediaCodec等硬件解码API,降低延迟和功耗;
- 多机型适配:Android机型碎片化严重,建议在主流机型上充分测试;
- 网络类型检测:在移动网络下,可提示用户当前网络状态,避免消耗过多流量。
详细的集成步骤和API说明,请参考腾讯云CRTR官方文档的Android SDK接入指南。
三、四端接入的通用最佳实践
3.1 令牌安全
前端SDK连接云端时使用的令牌(Token),必须由企业后台通过云API生成,绝不能硬编码在前端代码中,也不能通过不安全的传输方式传递给前端。
推荐流程:
- 前端请求企业后台的"获取云渲染令牌"接口;
- 企业后台调用腾讯云API,生成有时效性的令牌;
- 企业后台将令牌返回给前端;
- 前端使用令牌初始化SDK,建立连接。
3.2 并发资源管理
令牌对应的是云端GPU并发资源。企业需要合理管理并发的分配和回收:
- 会话开始前:确保有可用并发,再生成令牌分发给用户;
- 会话结束后:及时释放并发资源,避免资源浪费;
- 并发不足时:可以提示用户"当前排队人数较多,请稍后再试",而非直接报错。
3.3 用户体验优化
- 加载动画:从调用启动方法到画面出现,可能有1-3秒的等待时间,建议展示加载动画;
- 网络异常提示:当网络中断时,SDK应能自动重连或给出明确的提示;
- 画质策略:可根据业务需要,在云端配置不同的串流参数。
3.4 数据统计
建议在前端埋点统计以下数据,用于优化用户体验和并发资源配置:
- 每次会话的时长;
- 启动成功率;
- 平均延迟感知(可通过用户反馈收集);
- 异常断开率。
四、接入时间预估
根据腾讯云CRTR的官方数据和企业实践案例:
五、获取接入 Demo 和详细文档
腾讯云CRTR提供了接入Demo,涵盖Web、小程序、iOS、Android四端,开发者可以通过Demo快速理解SDK的使用方式。
获取方式:
- 登录腾讯云CRTR控制台;
- 在"接入指南"或"SDK下载"页面获取对应平台的SDK和Demo;
- 参考官方文档中的接入教程,完成集成。
了解更多详情,请访问:https://www.tencentcloud.com/products/crtr