您可通过接入Android SDK快速实现Android端上的音频通话功能(VoIP to PSTN)、及视频通话等功能,依托阿里云的研发资源,为您提供安全、可靠、弹性、低成本的实时通信服务。

前提条件

  • 您已经完成注册阿里云账号,并完成企业实名认证。具体操作,请参见阿里云账号注册流程实名认证
  • 获取阿里云访问密钥。具体操作,请参见获取AccessKey
  • 通过获取移动坐席Token获取token。用作为身份标识与服务进行交互,保证安全性。
    说明 SDK在Token即将失效或需要更新Token时,会通过回调通知接入方,App需自行实现接口获取最新Token并传递给SDK。

SDK下载地址

环境要求

  • 设备要求:搭载Android系统的设备。
  • 系统要求:语音版Android 5.0 (API 21) 及其以上。
  • 开发工具要求:Android Studio。

SDK集成

  • 导入SDK
    • 方法一:手动导入(推荐)
      1. 请先下载融合通信SDK,解压后放至项目目录,然后根据项目打包环境,自行引入本地依赖。gradle配置参考:
        implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
      2. 在项目目录下的build.gradle文件里面的allprojects里面加入Maven仓库。
        allprojects {    
        repositories {  
              ...    
              maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        }
      3. 如若使用本地依赖,请确保项目中已引入以下依赖:
        implementation 'com.alibaba:fastjson:1.2.80.noneautotype'
        implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.1'
        //如果启用crash组件,增加SDK稳定性请增加以下依赖
        implementation 'com.ucweb.wpk:crashsdk:3.2.0.1@aar'
      4. 1.7.0版本SDK加入了crash组件,用来保障增加SDK稳定性。如果启用crash组件还需将demo工程lib目录下的crashshield-release.aar拷贝到自己的lib目录下并完成依赖implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
        重要 如若接入方项目构建中因引入其他依赖包从而导致出现类重复或冲突,请联系业务经理。
    • 方法二:gradle导入(暂未对外开放)。
      1. 在项目目录下的build.gradle文件里面的allprojects里面加入Maven仓库。
        allprojects {    
        repositories {  
              ...    
              maven { url "http://mvnrepo.alibaba-inc.com/mvn/repository" }
        }
      2. 配置依赖
        • gradle 3.4及以上版本
          implementation('com.alicom.rtc:alicomRTC:latest.release@aar'){
               transitive true
           }
          or
           api('com.alicom.rtc:alicomRTC:latest.release@aar'){
               transitive true
           }
        • gradle 3.4及以下版本
          compile('com.alicom.rtc:alicomRTC:latest.release@aar'){
               transitive true
           }
  • so多架构配置
    1. 修改build.gradle文件中artc版本

      由原来的implementation 'com.taobao.android:artc_engine:1.9.145.0@aar'改为implementation 'com.taobao.android:artc_engine:3.0.1.12@aar',或手工导入最新的3.0.1.12版本的包,新版本不包含armeabi架构。

    2. 修改build.gradle文件中ndk的配置
      ndk {
                  abiFilters  "armeabi-v7a", "arm64-v8a"
        }
      说明 若需要其他架构so库,请联系业务经理。

混淆配置

主线版本混淆配置:
-keep class * implements java.io.Serializable{*;}
-keep class org.artc.webrtc.**{*;}
-keep class org.eclipse.paho.client.mqttv3.**{*;}
-keep class com.taobao.artc.internal.**{*;}
-keep class com.taobao.artc.**{*;}
-keepclasseswithmembernames class * {
   native <methods>;
}
#crash组件
-keep class com.uc.crashsdk.** { *; }
-keep interface com.uc.crashsdk.** { *; }

权限配置

<uses-permission android:name="android.permission.INTERNET"/>
<!--视频版本必须-->
<uses-permission android:name="android.permission.CAMERA"/>