BRTC SDK 的 uni-app 属于原生语言插件。其设计目标是扩展 App 端(Android、iOS、HarmonyOS)的原生能力(比如调用手机硬件、系统 API、第三方原生 SDK 等),仅在「App 打包」时生效。
而小程序(微信 / 支付宝 / 抖音等)的运行环境是小程序宿主的沙箱环境(不是完整的 Android/iOS 系统环境),有两个关键限制导致原生插件无法使用:
综上,BRTC SDK 的 uni-app 插件也不例外,它仅用于 Android、iOS 等平台的 App。
有两个可能发生的问题点您需要检查一下:
nvue
vue
BRTCSdk.createInstance()
通常在弹出的错误提示中会包含msg字段,后面跟着 UNICODE 编码的中文错误信息。您可以通过 HBuilderX 的控制台将这段中文错误信息拷贝出来,在网上随便找个转换工具就能看到具体含义。
msg
举例:
{ "errCode": -3301, "errMsg": "[BRTCUniApp-JS]Code:-3, Description: No 'ut' item in VT response: {\n\t\"code\":30201,\n\t\"data\":\n\t{\n\t\t\"appkey\":YourAppId\"\n\t},\n\t\"msg\":\"\\u8d26\\u6237\\u4f59\\u989d\\u4e0d\\u8db3,\\u8bf7\\u5148\\u5145\\u503c\"\n}\n", "extralnfo": { "errCodeUrl": "https://docs.baiiiayun.com/rtc/" } }
假设您看到上面的错误提示,将其中的 msg 字段的值 \\u8d26\\u6237\\u4f59\\u989d\\u4e0d\\u8db3,\\u8bf7\\u5148\\u5145\\u503c 拷贝出来(因转义原因,\\ 应为 \),在网上随便找个转换工具就能看到具体含义:账户余额不足,请先充值
\\u8d26\\u6237\\u4f59\\u989d\\u4e0d\\u8db3,\\u8bf7\\u5148\\u5145\\u503c
\\
\
账户余额不足,请先充值
标准基座仅能更新热刷代码和资源文件,其他诸如修改包名、应用名称、证书、权限、原生模块变更、xml 等资源变更、引入三方 sdk 等,需要完整的执行 Android/iOS 的打包流程,由 Android Studio 或 XCode 编译打包生成 apk 或ipa 安装包,才能生效。
由于 BRTC SDK uni-app 插件属于原生语言插件,因此您必须制作自定义基座,才能保证 SDK 相关二进制文件在您的 App 中存在,从而被调用执行。
制作自定义基座的方法可以参考 uni-app 官方文档。其中 iOS 的自定义基座制作步骤比 Android 复杂一些,建议按照官方文档 iOS平台离线生成自定义调试基座(uni-app) 来完成。
开发与集成
uni-app 插件是否支持小程序?
BRTC SDK 的 uni-app 属于原生语言插件。其设计目标是扩展 App 端(Android、iOS、HarmonyOS)的原生能力(比如调用手机硬件、系统 API、第三方原生 SDK 等),仅在「App 打包」时生效。
而小程序(微信 / 支付宝 / 抖音等)的运行环境是小程序宿主的沙箱环境(不是完整的 Android/iOS 系统环境),有两个关键限制导致原生插件无法使用:
综上,BRTC SDK 的 uni-app 插件也不例外,它仅用于 Android、iOS 等平台的 App。
我模仿 BRTC uni-app Demo 写的界面样式显示不正常
有两个可能发生的问题点您需要检查一下:
nvue,而不是vue运行 Demo 以后,点击某些按钮提示“尚未创建实例,请先创建”
BRTCSdk.createInstance()并成功返回填写了 AppId、UserId、UserSig 等信息后调用加房,弹出错误提示
通常在弹出的错误提示中会包含
msg字段,后面跟着 UNICODE 编码的中文错误信息。您可以通过 HBuilderX 的控制台将这段中文错误信息拷贝出来,在网上随便找个转换工具就能看到具体含义。举例:
假设您看到上面的错误提示,将其中的 msg 字段的值
\\u8d26\\u6237\\u4f59\\u989d\\u4e0d\\u8db3,\\u8bf7\\u5148\\u5145\\u503c拷贝出来(因转义原因,\\应为\),在网上随便找个转换工具就能看到具体含义:账户余额不足,请先充值如何制作自定义基座?
标准基座仅能更新热刷代码和资源文件,其他诸如修改包名、应用名称、证书、权限、原生模块变更、xml 等资源变更、引入三方 sdk 等,需要完整的执行 Android/iOS 的打包流程,由 Android Studio 或 XCode 编译打包生成 apk 或ipa 安装包,才能生效。
由于 BRTC SDK uni-app 插件属于原生语言插件,因此您必须制作自定义基座,才能保证 SDK 相关二进制文件在您的 App 中存在,从而被调用执行。
制作自定义基座的方法可以参考 uni-app 官方文档。其中 iOS 的自定义基座制作步骤比 Android 复杂一些,建议按照官方文档 iOS平台离线生成自定义调试基座(uni-app) 来完成。