说明: 官方网址:http://www.rongcloud.cn/
1.融云SDK 将各部分功能以插件化的形式独立提供,开发者可以根据自己的需要,自由组合下载。 2.IM 界面组件 - IMKit ,IM 通讯能力库 - IMLib ,注意使用IMKit的时候必须要引入IMLib,但可以单独使用IMLib,由自己完全开发的界面代替IMKit. 3.PushLib用于融云推送的保活,若想在退出APP时不接受IM的推送(有未读消息时手机振动或者响铃)可不引入。
接入注意事项: 1.配置会话界面的时候,需要在自己的xml中布局中引入融云固定的fragment,需要自己需要的界面对应融云具体的那个fragment。官方文档写的不全面,不确定的地方要以提工单的方式去问支撑人员。下面以接入群聊界面为例说明: a.布局文件activity_conversation的代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 注意fragment的正确性--> <fragment android:id="@+id/conversation" android:name="io.rong.imkit.fragment.ConversationFragment" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout>b.清单文件中的配置:
<!-- 融云群聊 --> <activity android:name=".ui.home.chat.ConversationActivity" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|adjustResize"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data <!-- 注意此处为自己的包名--> android:host="${applicationId}" android:pathPrefix="/conversation/" android:scheme="rong"/> </intent-filter> </activity>c.进入聊天界面:
//groupID:群聊id groupName:群聊名称 RongIM.getInstance().startGroupChat(getActivity(), groupID, groupName);注意:此处并没有直接跳转到自己新建的ConversationActivity,因为此方法默认会调用融云群聊的io.rong.imkit.fragment.ConversationFragment,只不过此fragment依附于ConversationActivity,增加UI样的自定义性。 d.真正实现群聊-实现群组成员()
RongIM.getInstance().setGroupMembersProvider(new RongIM.IGroupMembersProvider() { @Override public void getGroupMembers(String groupId, RongIM.IGroupMemberCallback callback) { // TODO 获取群组成员信息列表,此处模拟数据 List<UserInfo> userInfoList = new ArrayList<UserInfo>(); userInfoList.add(new UserInfo("001", "dyb", null)); userInfoList.add(new UserInfo("002", "lf", null)); userInfoList.add(new UserInfo("003", "张宇", null)); userInfoList.add(new UserInfo("004", "胡丹丹", null)); callback.onGetGroupMembersResult(userInfoList); } });2.获取群聊未读消息方法 官方支撑客服不一定靠谱,建议下载官方demo APP,在demo中全局搜不到方法不要采用。 当前activity implements IUnReadMessageObserver,重写onCountChanged(int count),返回的count即为未读消息数量。