1、Android sdk集成攻略

1.1、导入sdk

假如仅集成IM功用,只需求导入IM专版的SDK:YTX_Android_IM_SDK.zip,去下载

假如需求集成悉数功用,包括IM、实时音视频、会议,则需求导入全功用的SDK:YTX_Android_Full_SDK.zip,去下载

将解压后的文件导入您工程下的libs目录下。Jar版别号以SDK目录下放置的Jar包实践版别为准。

IM专版SDK导入libs目录下图所示:

IM.png

全才能版SDK导入libs目录如下图所示:

Full.png

阐明:

1. libserphone.so: IM音讯和音视频以及音视频会议功用库,有必要增加。

2. libECMedia.so: 运用音视频功用,有必要增加。

3. libyuntx_gl_disp.so: 5.3.0以及之后版别增加了视频图画制作库,运用ECOpenGLView控件需求增加。

4. libvoicechange.so: 5.3.0以及之后版别增加了语音变声接口库,用来将录制的语音文件进行音频数据处理转换成不同发声作用。

5. arm64-v8a目录中是64位的so库,适用于CPU是ARM64位的终端设备。

6. armeabi目录中是32位的so库,适用于CPU是通用ARM的终端设备。

7. Yuntx_IMLib_v5.x.xr.jar是SDK对外供给的Jar包。

留意事项:

1. 假如开发者项目需求增加armeabi-v7a目录,可将armeabi目录下的libserphone.so复制至armeabi-v7a目录。

2. 现在云通讯只支撑arm系列的CPU。其他类型(X86,MIPS等)不支撑,因而不能在libs目录下增加ARM类型以外的适配目录,如有必要此类适配,能够拨打4006101019客服电话详细洽谈。

1.2、装备工程

1.2.1 权限装备

//自定义权限装备

云通讯SDK需求用户声明接纳IM音讯和接纳来电的自定义权限,用于接纳SDK宣布的播送告诉。客户可依据需求运用的功用进行装备,如未设置对应权限将无法正常接纳播送告诉。

                	
//接纳IM音讯的自定义权限
<permission android:name="com.yuntongxun.ecdemo.permission.RECEIVE_MSG" android:protectionLevel="signature"/>
//运用接纳IM音讯权限
<uses-permission android:name="com.yuntongxun.ecdemo.permission.RECEIVE_MSG"/>
//接纳来电的自定义权限
<permission android:name="com.yuntongxun.ecdemo.permission.INCOMING_CALL" android:protectionLevel="signature"/>
//运用接纳来电权限
<uses-permission android:name="com.yuntongxun.ecdemo.permission.INCOMING_CALL"/>


                    

留意事项:

在开发自有项目APP时需求将以上装备中的com.yuntongxun.ecdemo替换为自有项目APP的包名

                	
					

//以下为必选装备

//答应程序翻开网络sockets <uses-permission android:name="android.permission.INTERNET"/> //答应程序拜访有关的网络信息 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> //答应程序拜访Wi-Fi网络状况信息 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> //答应运用读写用户的外部存储器 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> //答应读取电话的状况 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> //答应一个程序获取信息有关当时或最近运转的使命,一个缩略的使命状况,是否活动等等 <uses-permission android:name="android.permission.GET_TASKS"/> //答应程序录制音频 <uses-permission android:name="android.permission.RECORD_AUDIO"/> //答应运用程序修正大局声响设置的权限 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> //答应运用PowerManager的WakeLocks在进程休眠时能够后台坚持 <uses-permission android:name="android.permission.WAKE_LOCK"/> //答应恳求拜访运用照相设备(假如运用视频通话则必选装备) <uses-permission android:name="android.permission.CAMERA"/>
                	
					

//以下列出几种可选装备,开发者可依据自己的需求进行挑选装备

//如需运用蓝牙设备,可装备以下权限 //答应程序连接到已配对的蓝牙设备 <uses-permission android:name="android.permission.BLUETOOTH"/> //答应程序发现和配对蓝牙设备 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> //如需GPS相关权限,可装备以下权限 //GPS定位权限 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/> //答应一个程序拜访CellID或WiFi热点来获取大略的方位 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> //答应读取电话的状况 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> //答应一个程序拜访精巧方位(如GPS) <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> //其他 //答应程序读取用户联系人数据 <uses-permission android:name="android.permission.READ_CONTACTS"/> //答应拜访振荡设备 <uses-permission android:name="android.permission.VIBRATE"/> //答应一个程序在体系发动完结时自定发动 <uses-permission android:name="android.permission.WAKE_LOCK"/> //答应一个程序接纳到 ACTION_BOOT_COMPLETED播送在体系完结发动 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.READ_LOGS" />

留意事项:

1.SDK 的权限声明与application同级,因而要放到AndroidManifest.xml 清单文件的application节点外。

2.文档仅供给了几种可选权限,开发者如需运用其他权限,能够参阅Android相关文档,依据自己的运用增加所需权限。

1.2.2 SDK中心装备

清单文件装备项

                	
// SDK中心服务装备
<service android:name="com.yuntongxun.ecsdk.ECClientService" 
android:enabled="true" android:process=":push" />

// 进步sdk服务存活率(v5.2.2r今后版别供给)
<service android:name="com.yuntongxun.ecsdk.ECClientService$InnerService"
android:enabled="true" android:process=":push" />

// 以下两项为SDK内部处理项,其间booter.Alarm在v5.1.9r今后版别供给
<receiver android:name="com.yuntongxun.ecsdk.booter.CCPReceivers$AlarmReceiver" 
android:process=":push"/>
<receiver android:name="com.yuntongxun.ecsdk.booter.Alarm" 
android:exported="false" android:process=":push"/>

// SDK网络改动播送
<receiver
    android:name="com.yuntongxun.ecsdk.booter.CCPReceivers$ConnectionReceiver"
    android:process=":push">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>

// SDK播送告诉装备(开机播送)
// 可选播送、假如运用想做开机重启,能够完成该播送告诉即可
<receiver
    android:name="com.yuntongxun.ecsdk.booter.CCPReceivers$BootReceiver"
    android:process=":push">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

// 声明自定义告诉的播送接纳器(需求替换包名,详见留意事项)
<receiver
    android:name=".service.YuntxNotifyReceiver"
    android:exported="false">
    <intent-filter>
        // 接纳push音讯
        // action匹配规矩{packageName + ".action" + "功用"}
        <action android:name="com.yuntongxun.ecdemo.action.VOIP_CALL" />
        <action android:name="com.yuntongxun.ecdemo.action.MESSAGE" />
        <action android:name="com.yuntongxun.ecdemo.action.NOTIFICATION_CLICK" />
        <action android:name="com.yuntongxun.ecdemo.action.PERSON_VERSION" />
    </intent-filter>
</receiver>


                    

留意事项:

1.SDK中心装备是归于application的特点,需求放到AndroidManifest 清单文件的application节点内。

2.声明自定义告诉的播送接纳器,开发自有项目APP时,action 中的 com.yuntongxun.ecdemo 请替换为自有项目APP的包名

SDK音讯告诉阐明

装备SDK音讯告诉播送 ,SDK告诉会分三种提示办法如下表所示

IM.png

a、直接经过设置的回调接口(OnChatReceiveListener)Push给运用,SDK处于登录状况而且运用处于运转状况,则会直接经过回调接口告诉。

b、选用(BroadcastReceiver)播送告诉(v5.1.8版别及今后版别供给),SDK处于登录状况而且运用处于未运转状况,则会直接唤醒运用处理。

c、假如运用未处于运转状况而且不想被唤醒运用运转则选用状况栏告诉处理(SDK直接处理音讯提示,不会告诉运用),比方调用ECDevice#logout(ECDevice.NotifyMode, ECDevice.OnLogoutListener)SDK退出登录而且传入后台设置接纳音讯才会有提示。

留意:

(1)以上在a和b的场景下,SDK都会将音讯直接给运用处理,只要在c的状况SDK才会直接处理音讯提示,所以运用需求处理a和b两种状况。

(2)当手机运用的是华为Rom体系(EMUI),在咱们的SDK推送服务(ECClientService)不存活的状况下,推送服务器会经过华为推送将音讯推送到客户端来完成音讯告诉,因而需求集成华为的sdk来处理华为推送。详细集成办法参阅华为推送渠道官网及其Demo: http://developer.huawei.com/cn/consumer/wiki/index.php?title=%E6%8E%A5%E5%85%A5%E8%AF%B4%E6%98%8E

1.3、混杂打包

对工程打包混杂,需求遵从如下规矩:

                	
// 注:v.x.x.x依据实践版别号修正,例如v5.0.0.1b
-libraryjars libs/Yuntx_IMLib_vx.x.x.jar(假如是Android Studio 此行疏忽)
-keep class com.yuntongxun.ecsdk.** {*; }


                    

2、恳求回谐和告诉回调

SDK中和服务端的交互采纳异步回调办法,有两种异步回调办法,一种是恳求回调办法,一种是告诉回调办法,详细介绍如下:

(1)恳求回调办法:即由用户自动宣布一个操作恳求,恳求的成果在回调中回来。详细说便是在调用sdk的办法时,sdk的办法参数中有回调办法,恳求的成果直接在参数的回调办法中处理。例如发送音讯的办法,包括获悉音讯是否发送成功的回调,此办法便是恳求回调办法。

(2)告诉回调办法:告诉回调是指由云通讯服务端自动给客户端发送的信令或事务音讯,如接纳音讯,便是由服务端告诉运用来收音讯,此办法便是告诉回调办法。

文档更新时刻:2017年1月17日

m88 188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help
188bet www.188bet.com bwin 平博 unibet 明升 188bet uk Ladbrokes 德赢vwin 188bet m88.com w88 平博88 uedbet体育 188bet 188bet 威廉希尔 明升体育app 平博88 M88 Games vwin德赢 uedbet官网 bodog fun88 188bet