iOS

# 快速集成

本文为您介绍了 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),示例如下:

aa.png

注:首次访问,请先注册后登录。

Juphoon_Rtc_SDK_for_Android_版本号_CallCenter 包里面提供了所有支持开发语言 demo 程序的编译程序、开发指南、demo 程序源码和 SDK 文件,其解压之后的目录结构如下所示:

cc.png

# 步骤二:导入SDK

  1. 拷贝 SDK 文件夹内的 JRTCSDK.aar与JRTCSSL.aar 到您工程目录中的 sdk 目录下,并打开工程,如下图所示

img

  1. 为能连接到我们的 so 库,在您工程 build.gradle 文件中确保增加以下配置,如图:

img

# 步骤三:添加权限

根据工程需要,打开 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,可以进行下一步了。