# 快速集成
本文为您介绍了 Android 端集成 SDK 的操作步骤,帮助您快速集成 SDK 并实现视频客服的基本功能。
# 前提条件
- Android SDK API 等级 21 或以上
- Android Studio 3.5及以上版本
- 支持 Android 5.0 或以上版本的移动设备
# 创建Android项目
参考以下步骤创建一个 Android 项目。若已有 Android 项目,可以直接查看【集成 SDK】
打开 Android Studio,点击 Start a new Android Studio project
在 Select a Project Template 界面,选择 Phone and Tablet -> Empty Activity,然后点击 Next
在 Configure Your Project 界面,依次填入以下内容:
- Name:您的 Android 项目名称,如 HelloJuphoon
- Package name:您的项目包的名称,如 io.helloJuphoon
- Save location:项目的存储路径
- Language:项目的编程语言,如 Java
- Minimum API level:项目的最低 API 等级
然后点击 Finish。根据屏幕提示,安装可能需要的插件
# 3.3 操作步骤
# 步骤一: 获取Juphoon_Rtc_SDK_for_Android
您可在 Juphoon 的产品官方网站下载到最新版的 Juphoon RTC SDK,
访问下载地址 (opens new window),示例如下:
注:首次访问,请先注册后登录。
Juphoon_Rtc_SDK_for_Android_版本号_CallCenter 包里面提供了所有支持开发语言 demo 程序的编译程序、开发指南、demo 程序源码和 SDK 文件,其解压之后的目录结构如下所示:
# 步骤二:导入SDK
- 拷贝 SDK 文件夹内的 JRTCSDK.aar与JRTCSSL.aar 到您工程目录中的 sdk 目录下,并打开工程,如下图所示
- 为能连接到我们的 so 库,在您工程 build.gradle 文件中确保增加以下配置,如图:
# 步骤三:添加权限
根据工程需要,打开 AndroidManifest.xml 文件,配置权限。
<uses-feature android:name="android.hardware.microphone"/>
<uses-feature android:name="android.hardware.audio.output"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature android:name="android.hardware.bluetooth_le"
android:required="false"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- 允许程序连接配对过的蓝牙设备 -->
<!--Android 12 以及以上需要动态申请 android.permission.BLUETOOTH_CONNECT 权限-->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.LISTEN_CALL_STATE" />
//如果Android targetVersion 设置29及以上,则需要添加前台服务权限,屏幕共享需要
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<activity
android:name="com.justalk.cloud.zmf.ZmfActivity"
android:theme="@android:style/Theme.Dialog" />
//如果Android targetVersion 设置29或以上,则需要注册service,屏幕共享需要
<service
android:name="com.justalk.cloud.zmf.CaptureScreenService"
android:enabled="true"
android:foregroundServiceType="mediaProjection"/>
权限 | 介绍 |
---|---|
INTERNET | 网络权限,登录与通话必需 |
ACCESS_NETWORK_STATE | 访问网络状态权限,登录与通话必需 |
ACCESS_WIFI_STATE | 访问wifi状态权限,登录与通话必需 |
CAMERA | 相机权限,视频通话必需 |
RECORD_AUDIO | 音频采集权限,本地录制,音频采集需要 |
MODIFY_AUDIO_SETTINGS | 修改音量权限,音频控制需要 |
BLUETOOTH | 蓝牙权限,SDK内部监听系统蓝牙耳机连接以及切换到蓝牙通话需要 |
LISTEN_CALL_STATE | 监听来电权限,需要在通话中监听来电并关闭音频上传 |
FOREGROUND_SERVICE | Android targetVersion 29后台屏幕采集需要 |
READ_PHONE_STATE | 监听系统来电和读取系统通话状态,SDK内部在监听到系统通话状态下会去停止音视频通信,系统通话结束后恢复音视频通信 |
LISTEN_CALL_STATE |
您在AndroidManifest.xml中进行权限配置时,请确保您能够获得打开摄像头、音视频录制等权限
# 关于蓝牙权限
- Android 12 以下,配置蓝牙权限只要在 AndroidManifest.xml 中 添加 android.permission.BLUETOOTH
- Android 12 以及以上需要在 AndroidManifest.xml中 添加android.permission.BLUETOOTH_CONNECT,同时需要动态申请,具体参考官网说明,Android 12 中的新蓝牙权限 (opens new window)
# 步骤四:混淆规则
-keep class com.juphoon.rtc.MtcEngine {
private static int notified(java.lang.String , int , java.lang.String );
}
-keep class com.juphoon.rtc.MtcEngineRoom {
static void onAudioOutput(java.lang.String , byte[] ,
int , int , int );
}
-keep interface com.justalk.cloud.zmf.ZmfVideo$*Callback { *; }
-keep interface com.justalk.cloud.zmf.Zmf$*Callback { *; }
-keep interface com.justalk.cloud.lemon.MtcImageFilter { *; }
-keep class com.justalk.cloud.lemon.MtcNumber { *; }
-keep class com.justalk.cloud.zmf.Zmf { *; }
-keep class com.justalk.cloud.zmf.CamDrv { *; }
-keep class com.justalk.cloud.zmf.UVCCamera { *; }
-keep class com.justalk.cloud.zmf.I420Image { *; }
-keep class com.justalk.cloud.lemon.MtcPathCb { *; }
-keep class com.justalk.cloud.avatar.** { *; }
# 步骤五:编译运行
以上步骤进行完后,编译工程,如果没有报错,恭喜您,您已经成功配置 SDK,可以进行下一步了。