环信EaseUI初步使用
集成环信SDK
请参考环信文档,不做详细介绍了(包括EaseUI module的引用)
!!!按照聊天流程走吧
1.初始化EaseUI
在Application的oncreate()方法中.执行EaseUI.getInstance().init(applicationContext, options);
options根据需要,自行设定
2.登录环信
EaseUI的文档中,并未提及到关于EaseUI的登录,所以只能借用EMClient的登录方法进行登录,同时做好账号状态监听,注意:账号监听需要OnUiThread(),请在Activity中做监听.
3.EaseUI提供EaseChatFragment – 聊天页面,EaseConversationListFragment – 会话列表页面,EaseContactListFragment – 联系人页面,根据需求,选择使用EaseUI提供,或者自行编译.EaseUI源码开放,可以自行修改代码,达到自己想要的界面.
以上,实现基本功能
以下,一些我使用中遇见的细节
1.如何设置联系人信息
环信提供推送服务,但环信账号只存账号,并无用户详情信息.使用环信+本地服务器的方式,实现聊天.通过本地服务器,获取用户信息,可自定义.
EaseUI提供用户信息提供者,使用easeUI.setUserProfileProvider(),new一个provider,实现getUser方法.文档中,返回值getUserInfo(username).注意,这个方法要自己重写,并且返回值是你的User对象.
建议:使用DBhelper,创建SQLIte表格存储用户信息,重写getUserInfo(username)方法是,根据SQLite表格内容,获取所有用户信息,通过userName确定返回的user对象.注意:username并非用户昵称,而是用户在环信平台注册的环信账号.
2.有关消息
EaseUI虽然提供了fragment的聊天界面,消息界面.但消息推送时,并不会自动刷新消息接受界面,请收到刷新.
消息的类型,文档中,不描述.附加字段,使用EaseUI发送消息添加附加字段,实现EaseChatFragmentHelper接口
擦,暂时想不起来要写什么了,有提问,如果我遇到过并解决了,可以追加进来