接口 | 说明 |
---|---|
CmdMsgProcessor | |
ConnectionListener | |
EMCallStateChangeListener | |
EMCloudOperationCallback |
此类不对外开放
|
EMContactListener |
contact change listener. if your app will use our contact management, you have to use this listener by implementing it to receive any change of contact
|
EncryptProvider |
加解密接口类
SDK 内置了基于AES的加密算法
用户可以实现EncryptProvider,提供自己的加解密算法,对消息和附件进行加密/解密
设置消息加密:
EaseMobChat.getInstance().setEncryptionMode(true);
EaseMobChat.getInstance().setEncryptProvider(new MyEncryptProvider());
发送消息时:如果设置了消息加密系统会在发送消息前,调用用户设置的EncryptProvider来加密
收到消息时:如果是加密消息,SDK 会调用用户设置的 EncryptProvider来解密
|
GroupChangeListener | 已过时
为了统一接口命名,请使用 Class EMGroupChangeListener
|
OnMessageNotifyListener | |
OnNotificationClickListener |
类 | 说明 |
---|---|
CmdMessageBody |
创建一个命令消息
CmdMessageBody body = new CmdMessageBody("delete", null);
|
EMChat |
此类用来初始化环信和配置各种初始化参数,一般情况下都会在Application:onCreate里初始化一次即可
Easemob IM initializer, which is used to initialize the easmob IM SDK and config the sdk options
EMChat.getInstance().init(application_context);
|
EMChatConfig |
EMChatConfig 负责 初始化SDK的时候,读入应用 manifest 文件里面的相关设置。
|
EMChatDB | 已过时
This class will soon be removed, please stop using this class and you can find related functions in
EMChatManager |
EMChatManager |
环信sdk 的主要接口 应用启动的时候初始化 sdk
public final class YouAppClass extends Application {
public void onCreate() {
super.onCreate();
// 初始化 chat sdk
EMChat.getInstance().init(this.getApplicationContext());
}
}
发送一条文本消息:
EMMessage msg = new EMMessage(EMMessage.Type.TXT);
msg.setReceipt("test_user1");
TextMessageBody body = new TextMessageBody("hello from easemob");
msg.addBody(body);
EMChatManager.getInstance().sendMessage(msg);
从接收消息通过注册broadcast receiver实现::
BroadcastReceiver msgReceiver = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent) {
String msgId = intent.getStringExtra("msgid");
EMMessage message = EMChatManager.getInstance().getMessage(msgId);
Log.d("main", "new message id:" + msgId + " from:" + message.getFrom()
+ " type:" + message.getType() + " body:" + message.getBody());
switch (message.getType()) {
case TXT:
TextMessageBody txtBody = (TextMessageBody)message.getBody();
Log.d("text message from:" + message.getFrom() + " text:" + txtBody.getMessage() + " \n\r");
break;
case IMAGE:
ImageMessageBody imgBody = (ImageMessageBody)message.getBody();
Log.d("img message from:" + message.getFrom() + " thumbnail:" + imgBody.getThumbnailUrl()
+ " remoteurl:" + imgBody.getRemoteUrl()+ " \n\r");
break;
case VOICE:
VoiceMessageBody voiceBody = (VoiceMessageBody)message.getBody();
Log.d("voice message from:" + message.getFrom() + " length:" + voiceBody.getLength()
+ " remoteurl:" + voiceBody.getRemoteUrl()+ " \n\r");
break;
case LOCATION:
LocationMessageBody locationBody = (LocationMessageBody)message.getBody();
Log.d("location message from:" + message.getFrom() + " address:" + locationBody.getAddress() +" \n\r");
break;
}
};
IntentFilter intentFilter = new IntentFilter(EMChatManager.getInstance().getNewMessageBroadcastAction());
registerReceiver(msgReceiver, intentFilter);
应用程序可以通过EMChatOptions 来配置聊天的各种选项
|
EMChatOptions |
EMChatOptions 提供环信sdk聊天相关的设置。
|
EMChatRoom | |
EMChatService | |
EMCmdManager | 已过时 |
EMCmdMessageBody | |
EMContact |
EMContact 代表联系人 对象,这是个基类 。
|
EMContactManager |
EMContactManager 用来记录,查询,修改 用户的联系人/好友列表 它主要负责: 登陆后从环信服务器获取联系人列表
添加联系人 删除联系人 刷新联系人列表
如果应用自己管理联系人/好友列表,则不需要使用此 EMContactManager EMChatOptions.setUseRoster(false);
EMContactManager is used to manage eaemob friends. if your app has your own friends management, you don't need to use easemob contact manager.
|
EMConversation |
EMConversation 代表和一个用户的对话,包含发送和接收的消息
下面的示例会取得对话中未读的消息数:
EMConversation conversation = EMChatManager.getInstance().getConversation("user1");
int unread = conversation.getUnreadMsgCount();
|
EMCursorResult<T> |
分批获取时返回此对象,包含用于下次获取数据的cursor(如果后面还有更多数据)
以及传入的泛型对象的相应list
|
EMCustomerServiceConfiguration | |
EMEncryptUtils | |
EMGCMBroadcastReceiver | |
EMGCMListenerService | |
EMGroup | |
EMGroupInfo | |
EMGroupManager |
群组管理
group manager is used to manage all the groups related operations, create, delete, group and invite members, block memebers, etc..
|
EMHuaweiPushReceiver | |
EMInstrumentation | |
EMJobService |
Created by wei on 2016/9/2.
|
EMKeywordSearchInfo |
This class is used to store the brief conversation information for keyword search
|
EMMessage |
代表一条发送或接收到的消息
represent a sent/recv message
构造一条文本发送消息
construct a new send text message
EMMessage msg = EMMessage.createSendMessage(EMMessage.Type.TXT);
msg.setReceipt("user1");
TextMessageBody body = new TextMessageBody("hello from easemob sdk");
msg.addBody(body);
构造一条图片消息
construct a new recv text message
EMMessage msg = EMMessage.createSendMessage(EMMessage.Type.IMAGE);
msg.setReceipt("user1");
ImageMessageBody body = new ImageMessageBody(imageFileUrl);
msg.addBody(body);
|
EMMessageDispatcher |
just a simple message dispatcher which is responsible for dispatching the sending and receiving msg runnable
|
EMMipushReceiver | |
EMMonitor | |
EMMonitorReceiver | |
EMNotifier | 已过时
2.1.8把新消息提示相关的api移除出sdk,方便开发者自由修改 \n
2.2.3后把相关代码放到了easeui库里,详情可参考easeui库里的EaseNotifier类及相关代码
|
EMPageResult<T> |
分页获取时返回此对象,包含当前请求的参数:pagenum 和 pagesize(如果后面还有更多数据)
以及传入的泛型对象的相应list
|
EMVideoCallHelper | |
FileMessageBody |
文件类消息的基类
|
GroupReomveListener |
群组被解散或者被T的监听的适配器,对这两个回调外的方法做了默认实现
|
ImageMessageBody |
图片消息体
ImageMessageBody body = new ImageMessageBody(imageFile);
|
LocationMessageBody |
位置信息消息
LocationMessageBody body = new LocationMessageBody(“地址”, 30.010378, 104.358878);
|
MessageBody |
消息内容的基类
|
MessageEncoder |
this class is used to encode the domain EMMessage object into json string
payload which will be transfered in xmpp.chat.body attribute it also
responsible decode the received xmpp payload in json back to EMMessage object
|
NormalFileMessageBody |
消息里的普通文件消息附加信息
|
StartServiceReceiver | 已过时
instead of use
EMReceiver |
TextMessageBody |
创建一个文本消息
TextMessageBody body = new TextMessageBody("hello easemob chat sdk!")
|
VideoMessageBody |
消息里的视频文件附加信息
VideoMessageBody body = new VideoMessageBody(videoFile, length);
|
VoiceMessageBody |
消息里的语音文件附加信息
VoiceMessageBody body = new VoiceMessageBody(voiceFile, length);
|
枚举 | 说明 |
---|---|
EMCallStateChangeListener.CallError |
define call error
in most of cases, the error was set in disconnected state
|
EMCallStateChangeListener.CallState |
define the call state
|
EMChatConfig.EMEnvMode |
运行环境模式
|
EMChatConfig.EMSDKMode |
SDK 模式
主要用来处理长连接和短连接,一般客服模式短连接即可,否者会极大浪费后台资源
|
EMConversation.EMConversationType |
define the conversation type
|
EMMessage.ChatType |
聊天类型:单聊,群聊,聊天室
chat type : private chat, group chat, chat room
|
EMMessage.Direct |
消息的方向类型:区分是发送消息还是接收到的消息
message direction
|
EMMessage.Status |
消息的发送/接收状态:成功,失败,发送/接收过程中,创建成功待发送
message status
|
EMMessage.Type |
消息类型:文本,图片,视频,位置,语音,文件
message type:
|
EMVideoCallHelper.EMVideoOrientation |
Copyright © 2014 EaseMob.com. All Rights Reserved.