最近一个多月终于忙完了,一直在做app集成和完善实时聊天功能,特此记录一下。。。
以前用过环信的实时聊天,不得不说环信确实做得好,一个easyUi就能让你舒舒服服的专心写其他的,不过因为收费,所以这次听我们产品的用免费的极光im ~。~
1。首先没得说 去注册极光im的账号 appk之类的去吧 然后把需要的权限那些配置文件粘贴到自己的Manifest中 该修改的要记得修改称自己的。
2。导入极光im的在线库 我用的是这个二个
compile 'cn.jiguang.sdk:jmessage:2.9.0' ;compile 'cn.jiguang.sdk:jcore:2.0.0';
3。初始化极光
JMessageClient.setDebugMode(true); JMessageClient.init(this);
4。多说一句,因为即时聊天是依靠长链接的,也就是俗称的呼吸链接,所以,所有依靠极光功能的都必须在登录的前提下!!!谨记(因长时间不使用的话极光im会掉线)。
5,。注册极光账号 可以前台做,也可以后台做,一般都是后台做,因为要进行用户归集~ 前台注册的话极光有提供注册的api
6,登录 同上
7,发消息,极光发消息都需要到message这个对象,然后通过修改这个对象实现发文本、图片、自定义消息之类的功能。
8,收消息, 只要你写了
//注册接收消息事件 JMessageClient.registerEventReceiver(this);
这个函数 就可以在onevent回调中获取到各种离线,在线的消息~
9,聊天历史记录 在下面这个对象中取!卸载APP的话,历史记录也会随之消失~
mConv = JMessageClient.getSingleConversation(username);
if (mConv != null) {
Log.e("mConv", "mConv存在");
} else {
mConv = Conversation.createSingleConversation(username);
}
10,即时消息通知点击需要用到这个receiver
public class NotificationClickEventReceiver {
private Context mContext;
public NotificationClickEventReceiver(Context context) {
mContext = context;
//注册接收消息事件
JMessageClient.registerEventReceiver(this);
}
public void onEvent(MessageEvent event) {
Intent intent = new Intent();
intent.setAction("refalsh");
mContext.sendBroadcast(intent);
}
public void onEvent(NotificationClickEvent notificationClickEvent) {
if (null == notificationClickEvent) {
return;
}
Message msg = notificationClickEvent.getMessage();
if (msg != null) {
final UserInfo info = msg.getFromUser();
JMessageClient.getUserInfo(info.getUserName(), new GetUserInfoCallback() {
@Override
public void gotResult(int i, String s, final UserInfo userInfo) {
//消息通知栏点击doing
}
});
}
}
}
再小的细节就不说了 over

2257

被折叠的 条评论
为什么被折叠?



