tencent cloud

文档反馈

Android

最后更新时间:2024-01-31 14:57:06
    TUIKit 组件从 4.8.50 版本开始支持音视频通话功能,并且实现了 iOS、 Android、Web 平台的互通。
    说明:
    在 6.5.xxxx 版本以后,TUIKit 组件升级了音视频通话功能,采用了全新的 TUICallKit,新版本音视频通话功能需要加购专属的 IM 音视频通话能力包后解锁,具体购买方法请参考 步骤1:开通音视频服务,如已开通,则可忽略该步骤。
    需要注意的是不同的版本在集成方式上有一定的区别,详见 版本说明建议升级到 6.5.2816 及以上版本,本文重点讲解 6.5.2816 及以上版本的集成方案。
    音视频通话界面如下图所示:
    视频通话
    语音通话
    ![](https://qcloudimg.tencent-cloud.cn/raw/83d6cd991cd0e9251caafebe75e46f12.png)
    ![](https://qcloudimg.tencent-cloud.cn/raw/842c563a9dd99da4950402e7a61836dd.png)
    
    

    步骤1:开通音视频通话服务

    1. 登录 即时通信 IM 控制台 ,单击目标应用卡片,进入应用的基础配置页面。
    2. 在页面的右下角找到腾讯实时音视频服务功能区,单击下方 音视频通话能力-免费体验 ,在弹出的免费开通音视频通话能力体验版对话框中,单击免费开通,即可开通 TUICallKit 的 60 天免费试用服务。
    

    步骤2:配置工程文件

    APPbuild.gradle 文件中添加对 tuicallkit 的依赖:
    api project(':tuicallkit')
    

    步骤3:打开/关闭音视频通话

    TUICallKit 组件和 TUIChat 组件可自由组合,当集成了 TUICallKit 组件后,TUIChat 会默认开启音视频通话功能,并在聊天页面更多菜单中显示入口。
    如果您想在 TUIChat 中动态的打开/关闭视频或语音通话入口,可以手动修改 InputView.java 文件的 addActionsFromListeners 函数。示例代码如下:
    private void addActionsFromListeners() {
    ...
    boolean enableAudio = true; // 动态开启语音通话入口
    boolean enableVideo = true; // 动态开启视频通话入口
    Map<String, Object> audioCallExtension = TUICore.getExtensionInfo(TUIConstants.TUIChat.EXTENSION_INPUT_MORE_AUDIO_CALL, param);
    if (audioCallExtension != null && enableAudio) {
    ...
    mInputMoreActionList.add(audioUnit);
    }
    
    Map<String, Object> videoCallExtension = TUICore.getExtensionInfo(TUIConstants.TUIChat.EXTENSION_INPUT_MORE_VIDEO_CALL, param);
    if (videoCallExtension != null && enableVideo) {
    ...
    mInputMoreActionList.add(videoUnit);
    }
    ...
    }
    
    

    步骤4:离线推送

    在使用离线推送之前,您需要开通 IM 离线推送 服务。关于 APP 的配置,您也可以参考 TUIKitDemo 内的 OEMPush 快速接入厂商推送,完成后,接收端就可以收到如图所示的通知:
    
    单击这个通知,就会跳转到通话界面。
    说明:
    配置完成后,当单击接收到的“音视频通话离线推送通知”时,首先会打开您配置的 APP 跳转页面,然后 TUICallKit 会自动拉起“音视频通话邀请界面”
    

    版本说明

    版本
    库/组件名称
    说明
    4.8.50 ~ 5.1.60
    TUIKit
    TUIKit 组件默认集成了音视频通话 UI 组件和 TRTC 音视频库
    5.4.666 ~ 5.6.1200
    TUIKitLive
    TUIKit 组件默认不再集成音视频通话 UI 组件和 TRTC 音视频库 <br/>音视频相关逻辑都移到了 TUIKitLive 组件里面
    5.7.1435 - 6.0.1992
    TUICalling
    TUICalling 组件包含了所有的音视频通话 UI 和 TRTC 音视频库 <br/>TUICalling 组件支持与 TUIKit 其他组件自由组合
    6.1.2155 - 6.5.2803
    TUICalling
    TUICalling 前后台切换体验优化
    6.5.2816 及以上
    TUICallKit
    全新升级音视频通话组件,功能更强大
    

    常见问题

    

    错误提示“The package you purchased does not support this ability”?

    如遇以上错误提示,是由于您当前应用的音视频通话能力包过期未开通,请参见 步骤一:开通服务,领取或者开通音视频通话能力,进而继续使用 TUICallKit 组件.

    如何购买套餐?

    音视频通话 SDK 目前处于内测期,提供有效期为60天的免费体验版

    在通话邀请超时时间内,被邀请者如果离线再上线,能否弹出通话界面?

    根据 App 的启动类型,分别有不同的情况:
    
    说明:
    如果离线再上线后没有弹出通话界面,请过滤<b>"onReceiveNewInvitation"</b>日志,检查是否拉取到历史消息

    单击离线推送通知,拉不起通话界面

    需要检查下,配置的离线推送的跳转逻辑,确保可以拉取 App 主界面。
    说明:
    例如,在 App 中配置的 intent 需要与小米推送控制台上的一致。
    <activity
    android:name="应用包名.MainActivity"
    android:launchMode="singleTask"
    android:screenOrientation="portrait">
    <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data
    android:host="com.tencent.qcloud"
    android:path="/detail"
    android:scheme="pushscheme" />
    </intent-filter>
    </activity>

    应用在后台时,不能自动将通话界面拉取到前台

    将应用从后台自动拉取到前台,需要检查 App 是否开启了”后台自启动“或”悬浮窗“权限。
    值得注意的是,不同厂商、甚至同一厂商不同 Android 版本,其对于应用开放的权限以及权限名称也会存在不一致。例如,小米6只需要开启后台弹出界面权限,而红米需要同时打开后台弹出界面显示悬浮窗权限。
    说明:
    如果您在测试过程中发现手动开启了所有权限,依然无法自动拉起通话界面到前台,需要做兼容处理。

    如果您使用的是老版本 TUICalling,想单独升级 IM 相关组件(TUIChat/TUIConversation/TUIGroup/TUIContact/TUISearch/TUIOfflinePush),应该怎么处理?

    只需要替换 IM 相关组件的源代码即可。TUICalling 和 TUICallKit 可以自由互通,建议您升级到最新的 TUICallKit 组件。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持