public class ECDevice
extends java.lang.Object
1、SDK初始化、注销
2、SDK注册云通讯服务器、退出登陆[与服务器断开连接]
3、查询SDK在线状态
4、设置企业认证ID和企业认证密码
5、获取SDK能力集功能接口[IM通讯、VoIP呼叫、VoIP设置、会议管理、群组管理、多渠道]
标准的初始化代码如下:
ECDevice.initial(Context , new ECDevice.InitListener() {
public void onInitialized() {
// SDK完成基本功能的初始化,生成IM聊天、群组功能管理、VoIP以及会议等接口
}
public void onError(Exception exception) {
// SDK 初始化失败,可能有如下原因造成
// 1、可能SDK已经处于初始化状态
// 2、SDK所声明必要的权限未在清单文件(AndroidManifest.xml)里配置、
// 或者未配置服务属性android:exported="false";
// 3、当前手机设备系统版本低于ECSDK所支持的最低版本(当前ECSDK支持
// Android Build.VERSION_CODES.FROYO
以及以上版本)
}
});
标准的登陆代码如下:
public void onInitialized() { // 设置消息提醒 ECNotifyOptions mOptions = new ECNotifyOptions(); // 设置新消息是否提醒 mOptions.setNewMsgNotify(true); // 设置状态栏通知图标 mOptions.setIcon(R.drawable.ic_launcher); // 设置是否启用勿扰模式(不会声音/震动提醒) mOptions.setSilenceEnable(false); // 设置勿扰模式时间段(开始小时/开始分钟-结束小时/结束分钟) // 小时采用24小时制 // 如果设置勿扰模式不启用,则设置勿扰时间段无效 // 当前设置晚上11点到第二天早上8点之间不提醒 mOptions.setSilenceTime(23, 0, 8, 0); // 设置是否震动提醒(如果处于免打扰模式则设置无效,没有震动) mOptions.enableShake(true); // 设置是否声音提醒(如果处于免打扰模式则设置无效,没有声音) mOptions.enableSound(true); ECDevice.setNotifyOptions(mOptions); // 设置SDK注册结果回调通知,当第一次初始化注册成功或者失败会通过该引用回调 // 通知应用SDK注册状态 // 当网络断开导致SDK断开连接或者重连成功也会通过该设置回调 ECDevice.setOnChatReceiveListener(new OnChatReceiveListener()); ECDevice.setOnDeviceConnectListener(new ECDevice.OnECDeviceConnectListener()); // SDK完成基本功能的初始化,生成IM聊天、群组功能管理、VoIP以及会议等接口 ECInitParams initParams = ECInitParams.createParams(); initParams.reset(); initParams.setUserid("$UserId"); initParams.setAppKey("$AppKey"); initParams.setMode("$LoginMode"); // 设置登陆验证模式(是否验证密码/如VoIP方式登陆) initParams.setAuthType("$AuthType"); initParams.setToken("$AppToken"); // 如果有密码(VoIP密码,对应的登陆验证模式是) // ECInitParams.LoginAuthType.PASSWORD_AUTH initParams.setPwd("$Password"); if(!initParams.validate()) { return ; } ECDevice.login(initParams); }
限定符和类型 | 类和说明 |
---|---|
static class |
ECDevice.AndroidDeviceType |
static class |
ECDevice.DisturbType |
static class |
ECDevice.ECConnectState
SDK注册状态
|
static class |
ECDevice.ECDeviceState
SDK在线状态
|
static interface |
ECDevice.InitListener
SDK初始化方法回调接口,通知应用SDK初始化状态
|
static class |
ECDevice.NotifyMode
SDK 退出登录选择的消息提醒类型
|
static interface |
ECDevice.OnECDeviceConnectListener
SDK注册状态(连接状态)回调监听
|
static interface |
ECDevice.OnGetOnlineMultiDeviceListener
查询当前账号是否在其他设备上登录回调接口
|
static interface |
ECDevice.OnGetPersonInfoListener
获取个人信息接口监听
|
static interface |
ECDevice.OnGetUsersStateListener
查询用户状态信息回调接口
|
static interface |
ECDevice.OnGetUserStateListener
已过时。
|
static interface |
ECDevice.OnLogInfoListener |
static interface |
ECDevice.OnLogoutListener
SDK注销接口回调
|
static interface |
ECDevice.OnLogoutResultListener
SDK注销并返回注销结果接口回调
|
static interface |
ECDevice.OnSetDisturbListener |
static interface |
ECDevice.OnSetPersonInfoListener
设置个人信息接口监听
|
static interface |
ECDevice.OnSetPresenceListener
设置个人在线状态回调接口
|
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
CALLER
音视频呼叫发起者参数Key
|
static java.lang.String |
CALLID
音视频呼叫唯一标识参数Key
|
static java.lang.String |
CALLTYPE
音视频呼叫类型参数Key
|
static boolean |
isOpenOfflineSwitch |
static java.lang.String |
MEETING_NO
会议唯一标识参数Key
|
static java.lang.String |
REMOTE
音视频呼叫透传信息参数Key
|
static int |
SYNC_OFFLINE_MSG_ALL
获取全部的历史离线消息
|
限定符和类型 | 方法和说明 |
---|---|
static int |
enableSecureTansport(boolean fileServer,
boolean lvsServer,
boolean connectServer) |
static com.yuntongxun.ecsdk.ECCooperateManager |
getCooperateManager()
私有接口(ECDevice.java)
容信协同会议接口
|
protected java.lang.String |
getDataMap() |
static ECChatManager |
getECChatManager()
IM聊天API接口
|
static ECDeskManager |
getECDeskManager()
客服管理接口
|
static ECDevice.ECDeviceState |
getECDeviceOnlineState()
当前SDK的注册状态[在线或者离线]
|
static ECGroupManager |
getECGroupManager()
群组管理API,通过该接口可以进行群组的创建、邀请加入群组、退出和群组等
|
static ECLiveChatRoomManager |
getECLiveChatRoomManager() |
static ECMeetingManager |
getECMeetingManager()
会议接口
|
static ECVoIPCallManager |
getECVoIPCallManager()
VoIP呼叫接口
|
static ECVoIPSetupManager |
getECVoIPSetupManager()
VoIP设置接口
|
static com.yuntongxun.ecsdk.ECLiveStreamManager |
getLiveStreamManager() |
static void |
getOnlineMultiDevice(ECDevice.OnGetOnlineMultiDeviceListener listener)
私有接口(ECDevice.java)
查询当前账号是否在其他设备上登录
|
static void |
getPersonInfo(java.lang.String username,
ECDevice.OnGetPersonInfoListener listener)
获取个人信息接口
|
static void |
getUsersState(java.lang.String[] userId,
ECDevice.OnGetUsersStateListener listener)
批量查询用户状态信息
|
static void |
getUserState(java.lang.String userId,
ECDevice.OnGetUserStateListener listener)
已过时。
|
static void |
initial(android.content.Context inContext,
ECDevice.InitListener inListener)
ECSDK 初始化接口
|
static boolean |
initServer(android.content.Context ctx,
java.lang.String xml)
将服务器地址对应的XML文件初始化到SDK访问目录
login(ECInitParams) 接口之前调用 |
static boolean |
initServerFromLocal(android.content.Context ctx,
java.lang.String serverPathName)
第二种方式:把本地存在的服务器配置文件初始化到应用目录
new File("/sdcard/ECDemo_Msg", "sdk_server_config.xml")
将制定目录下的服务器配置文件初始化到SDK访问路径
login(ECInitParams) 接口之前调用 |
static boolean |
isInitialized()
判断SDK是否已经初始化
|
static boolean |
isOpenOfflineSwitch()
人民日报同步离线消息开关设置
|
static boolean |
isSupportMedia()
是否支持多媒体
此接口需要在SDK初始化之后使用,如果仅支持IM版本,则返回false
|
static void |
login(ECInitParams inInitParams)
SDK注册接口
|
static void |
logout(ECDevice.NotifyMode notifyMode,
ECDevice.OnLogoutListener listener)
已过时。
|
static void |
logout(ECDevice.OnLogoutListener listener)
注销SDk,调用此接口后SDK处于离线状态,此时可以再次调用注册接口
login(ECInitParams)
进行登录,也可以调用unInitial() 接口释放SDK |
static void |
logoutForResult(ECDevice.NotifyMode notifyMode,
ECDevice.OnLogoutResultListener listener) |
static void |
publishPresence(ECPresenceType type,
ECDevice.OnSetPresenceListener listener)
私有接口(ECDevice.java)
发布个人在线状态
|
static void |
reportHuaWeiToken(java.lang.String token) |
static void |
reportXiaoMiToken(java.lang.String token) |
static void |
resetServer(android.content.Context ctx)
重置服务器地址
|
static void |
setAndroidFrontToBack(boolean enable)
设置app前台切换后台
|
static void |
setAudioMode(int mode) |
static void |
setCLog(boolean isOpen,
int level) |
static void |
setCurrentDeviceType(ECDevice.AndroidDeviceType type) |
static void |
setCycleKeepAlive(boolean enable) |
static int |
setHttpsPort(int filServerPort,
int lvsPort,
int connectorPort) |
static void |
setInitBqmm(boolean isInitBqmm) |
static void |
setInitRedPacket(boolean isInitRedPacket) |
static void |
setIsOpenOfflineSwitch(boolean isOpenOfflineSwitch)
人民日报设置同步离线消息开关
|
static void |
setJLog(int level) |
static void |
setLogListener(ECDevice.OnLogInfoListener logListener) |
static void |
setMuteNotification(java.lang.String userId,
boolean type,
ECDevice.OnSetDisturbListener l) |
static void |
setNotifyOptions(ECNotifyOptions builder)
设置SDK 推送提醒定义属性
1、自定义当有新的消息时是否自动提醒
2、自定义推送消息状态栏通知图标
3、自定义推送消息状态栏通知是否振动/声音提醒
4、自定义是否启用勿扰模式(收到新消息不会振动/声音提醒),并且可以设置勿扰模式时间段
|
static void |
setOnChatReceiveListener(OnChatReceiveListener onChatReceiveListener)
设置SDK接收消息监听
|
static void |
setOnDeviceConnectListener(ECDevice.OnECDeviceConnectListener onDeviceConnectListener)
设置注册结果回调接口
|
static void |
setPendingIntent(android.app.PendingIntent pendingIntent)
设置接收来电响应intent
|
static void |
setPersonInfo(PersonInfo info,
ECDevice.OnSetPersonInfoListener listener)
//ECDevice.java
设置个人信息接口
|
static void |
setPrivateCloud(java.lang.String companyID,
java.lang.String companyPwd)
私有云校验接口
|
static void |
setReceiveAllOfflineMsgEnabled(boolean enabled)
私有接口(ECDevice.java)
设置接收消息规则
此接口需要在SDK初始化之后,并且在调用SDK登陆接口之前调用。
|
static void |
switchServerEvn(boolean isSandbox)
是否切换沙盒模式
此接口需要在SDK初始化之后,并且在调用SDK登陆接口之前调用。
|
static void |
unInitial()
释放SDK,方法执行后,SDK将处于资源被释放状态
需要调用
initial(Context, InitListener) 重新初始化SDK |
public static final java.lang.String CALLTYPE
public static final java.lang.String CALLID
public static final java.lang.String CALLER
public static final java.lang.String REMOTE
public static final java.lang.String MEETING_NO
public static final int SYNC_OFFLINE_MSG_ALL
public static boolean isOpenOfflineSwitch
public static void initial(android.content.Context inContext, ECDevice.InitListener inListener)
inContext
- Android应用上下文对象inListener
- SDK初始化结果回调接口public static void reportHuaWeiToken(java.lang.String token)
public static void setMuteNotification(java.lang.String userId, boolean type, ECDevice.OnSetDisturbListener l)
public static void reportXiaoMiToken(java.lang.String token)
public static void login(ECInitParams inInitParams)
inInitParams
- 初始化参数public static void logout(ECDevice.OnLogoutListener listener)
login(ECInitParams)
进行登录,也可以调用unInitial()
接口释放SDKlistener
- SDK注销回调login(ECInitParams)
,
ECDevice.OnLogoutListener
@Deprecated public static void logout(ECDevice.NotifyMode notifyMode, ECDevice.OnLogoutListener listener)
ECDevice.NotifyMode
类型注销SDK,SDK会根据应用设置的是否接受消息提醒属性来提醒接收到的Push消息。
1、如果应用设置了ECDevice.NotifyMode.NOT_NOTIFY
即表示应用注销SDK,不再接收新的消息提醒,
调用此接口后SDK处于离线状态,此时可以再次调用注册接口login(ECInitParams)
进行登录,也可以调用unInitial()
接口释放SDK。>
2、如果应用设置了ECDevice.NotifyMode.IN_NOTIFY
即表示应用注销SDK,但是继续接收新的消息提醒,
此时SDK处于在线状态,并且SDK的所有新消息不会再直接PUSH给应用,而是SDK直接采用状态栏通知的方式进行提醒,
此时可以再次调用注册接口login(ECInitParams)
进行登录,也可以调用unInitial()
接口释放SDK,
并不会对SDK正常接收消息有任何影响>
注意:如果应用调用了unInitial()
接口释放SDK,需要调用initial(Context, InitListener)
接口
重新初始化SDK,才能调用注册接口注册SDK,否则会提示SDK未初始化异常SdkErrorCode.SDK_NOT_INIT
>
推荐使用logoutForResult(NotifyMode, OnLogoutResultListener)
方法注销登陆>
notifyMode
- 消息提醒类型(是否接受消息Push)listener
- SDK注销回调login(ECInitParams)
,
ECDevice.OnLogoutListener
public static void logoutForResult(ECDevice.NotifyMode notifyMode, ECDevice.OnLogoutResultListener listener)
public static void unInitial()
initial(Context, InitListener)
重新初始化SDKpublic static boolean isInitialized()
public static void setPrivateCloud(java.lang.String companyID, java.lang.String companyPwd)
companyID
- 企业认证ID.companyPwd
- 企业认证密码.public static boolean initServer(android.content.Context ctx, java.lang.String xml)
login(ECInitParams)
接口之前调用ctx
- Android应用上下文xml
- 服务器地址对应的XML文件public static void setJLog(int level)
public static void setCLog(boolean isOpen, int level)
public static boolean initServerFromLocal(android.content.Context ctx, java.lang.String serverPathName)
login(ECInitParams)
接口之前调用ctx
- Android应用上下文serverPathName
- 本地配置文件目录public static void resetServer(android.content.Context ctx)
ctx
- Android应用上下文public static boolean isSupportMedia()
此接口需要在SDK初始化之后使用,如果仅支持IM版本,则返回false
public static void switchServerEvn(boolean isSandbox)
此接口需要在SDK初始化之后,并且在调用SDK登陆接口之前调用。
isSandbox
- 是否切换沙盒模式public static void setReceiveAllOfflineMsgEnabled(boolean enabled)
此接口需要在SDK初始化之后,并且在调用SDK登陆接口之前调用。
enabled
- true标识同步所有的离线消息(包括多终端登录也同步)public static void setCurrentDeviceType(ECDevice.AndroidDeviceType type)
public static void setAudioMode(int mode)
public static ECChatManager getECChatManager()
public static ECGroupManager getECGroupManager()
ECGroupManager
public static ECLiveChatRoomManager getECLiveChatRoomManager()
public static ECDeskManager getECDeskManager()
public static ECVoIPCallManager getECVoIPCallManager()
public static ECVoIPSetupManager getECVoIPSetupManager()
public static ECMeetingManager getECMeetingManager()
public static com.yuntongxun.ecsdk.ECCooperateManager getCooperateManager()
public static com.yuntongxun.ecsdk.ECLiveStreamManager getLiveStreamManager()
public static ECDevice.ECDeviceState getECDeviceOnlineState()
@Deprecated public static void getUserState(java.lang.String userId, ECDevice.OnGetUserStateListener listener)
public static void getUsersState(java.lang.String[] userId, ECDevice.OnGetUsersStateListener listener)
userId
- 用户账号数字public static void setPersonInfo(PersonInfo info, ECDevice.OnSetPersonInfoListener listener)
info
- 个人信息接口public static int setHttpsPort(int filServerPort, int lvsPort, int connectorPort)
public static int enableSecureTansport(boolean fileServer, boolean lvsServer, boolean connectServer)
public static void getPersonInfo(java.lang.String username, ECDevice.OnGetPersonInfoListener listener)
username
- 需要查询人的账号listener
- 方法执行结果回调public static void setNotifyOptions(ECNotifyOptions builder)
1、自定义当有新的消息时是否自动提醒
2、自定义推送消息状态栏通知图标
3、自定义推送消息状态栏通知是否振动/声音提醒
4、自定义是否启用勿扰模式(收到新消息不会振动/声音提醒),并且可以设置勿扰模式时间段
builder
- 推送提醒定义属性public static void publishPresence(ECPresenceType type, ECDevice.OnSetPresenceListener listener)
type
- 个人在线状态类型listener
- 方法执行结果回调ECPresenceType
protected java.lang.String getDataMap()
public static void getOnlineMultiDevice(ECDevice.OnGetOnlineMultiDeviceListener listener)
listener
- 方法执行结果回调ECMultiDeviceState
public static void setOnDeviceConnectListener(ECDevice.OnECDeviceConnectListener onDeviceConnectListener)
onDeviceConnectListener
- 注册结果回调接口public static void setLogListener(ECDevice.OnLogInfoListener logListener)
public static void setOnChatReceiveListener(OnChatReceiveListener onChatReceiveListener)
onChatReceiveListener
- 新消息处理接口public static void setPendingIntent(android.app.PendingIntent pendingIntent)
pendingIntent
- 来电处理intentpublic static boolean isOpenOfflineSwitch()
public static void setIsOpenOfflineSwitch(boolean isOpenOfflineSwitch)
isOpenOfflineSwitch
- public static void setInitBqmm(boolean isInitBqmm)
public static void setInitRedPacket(boolean isInitRedPacket)
public static void setAndroidFrontToBack(boolean enable)
enable
- 是否是前台到后台public static void setCycleKeepAlive(boolean enable)
Copyright © 2017 All rights reserved.