脱逃者2空军罪犯roblox越狱的罪犯基地技巧 脱逃者2空军罪犯怎么玩

发送文字、语音、图片、位置消息。收发消息及聊天记录相关等。
这部分与单聊是一样的,详情见。
创建私有群
私有群,不能被搜索到,只能通过群主加人进群,或者设置了 allowInvite 为 true,即允许群成员邀请,那么群成员也可以邀请群外面的人进入群聊,此种群群成员可以邀请,不能踢人,类似微信群。
//groupName:要创建的群聊的名称
//desc:群聊简介
//members:群聊成员,为空时这个创建的群组只包含自己
//allowInvite:是否允许群成员邀请人进群
EMGroupManager.getInstance().createPrivateGroup(groupName, desc, members,allowInvite);//需异步处理
//前一种方法创建的群聊默认最大群聊用户数为200,传入maxUsers后设置自定义的最大用户数,最大为2000
EMGroupManager.getInstance().createPrivateGroup(groupName, desc, members,allowInvite,maxUsers);//需异步处理
创建公开群
公开群可以被用户搜索到,并且可以直接加入或者申请加入。
//前面三个参数和创建私有群一致
//needApprovalRequired: 如果创建的公开群用需要户自由加入,就传false。否则需要申请,等群主批准后才能加入,传true
EMGroupManager.getInstance().createPublicGroup(groupName, desc, members, needApprovalRequired);//需异步处理
//前一种方法创建的群聊默认最大群聊用户数为200,传入maxUsers后设置自定义的最大用户数,最大可以设为2000
EMGroupManager.getInstance().createPublicGroup(groupName, desc, members, needApprovalRequired,maxUsers);//需异步处理
//群主加人调用此方法
EMGroupManager.getInstance().addUsersToGroup(groupId, newmembers);//需异步处理
//私有群里,如果开放了群成员邀请,群成员邀请调用下面方法
EMGroupManager.getInstance().inviteUser(groupId, newmembers, null);//需异步处理
//把username从群聊里删除
EMGroupManager.getInstance().removeUserFromGroup(groupId, username);//需异步处理
加入某个群聊
只能用于加入公开群。
//如果群开群是自由加入的,即group.isMembersOnly()为false,直接join
EMGroupManager.getInstance().joinGroup(groupid);//需异步处理
//需要申请和验证才能加入的,即group.isMembersOnly()为true,调用下面方法
EMGroupManager.getInstance().applyJoinToGroup(groupid, &求加入&);//需异步处理
EMGroupManager.getInstance().exitFromGroup(groupId);//需异步处理
EMGroupManager.getInstance().exitAndDeleteGroup(groupId);//需异步处理
获取群聊列表
//从服务器获取自己加入的和创建的群聊列表(两种方式),此API获取的群组SDK会自动保存到内存和db。
//注意,获取到的列表里的群聊只有groupname和groupid等简单配置信息
1.List&EMGroup& grouplist = EMGroupManager.getInstance().getGroupsFromServer();//需异步处理
2.EMGroupManager.getInstance().asyncGetGroupsFromServer(newEMValueCallBack&List&EMGroup&&() {
public void onSuccess(List&EMGroup& value) {
// TODO Auto-generated method stub
public void onError(int error, String errorMsg) {
// TODO Auto-generated method stub
//从本地加载群聊列表
List&EMGroup& grouplist = EMGroupManager.getInstance().getAllGroups();
//获取所有公开群列表(两种方式)
1.List&EMGroupInfo& groupsList = EMGroupManager.getInstance().getAllPublicGroupsFromServer();//需异步处理
2.EMGroupManager.getInstance().asyncGetAllPublicGroupsFromServer(new EMValueCallBack&List&EMGroupInfo&&() {
public void onSuccess(List&EMGroupInfo& value) {
// TODO Auto-generated method stub
public void onError(int error, String errorMsg) {
// TODO Auto-generated method stub
修改群组名称
//groupId 需要改变名称的群组的id
//changedGroupName 改变后的群组名称
EMGroupManager.getInstance().changeGroupName(groupId,changedGroupName);//需异步处理
获取单个群聊信息
//根据群聊ID从本地获取群聊基本信息
EMGroup group = EMGroupManager.getInstance().getGroup(groupId);
//根据群聊ID从服务器获取群聊基本信息
EMGroup group =EMGroupManager.getInstance().getGroupFromServer(groupId);
//保存获取下来的群聊基本信息
EMGroupManager.getInstance().createOrUpdateLocalGroup(returnGroup);
group.getMembers();//获取群成员
group.getOwner();//获取群主
其它方法详见。
屏蔽群消息
* 屏蔽群消息后,就不能接收到此群的消息 (群创建者不能屏蔽群消息)(还是群里面的成员,但不再接收消息)
* @param groupId, 群id
* @throws EasemobException
EMGroupManager.getInstance().blockGroupMessage(groupId);//需异步处理
解除屏蔽群
* 取消屏蔽群消息,就可以正常收到群的所有消息
* @param groupId
* @throws EaseMobException
EMGroupManager.getInstance().unblockGroupMessage(groupId);//需异步处理
群聊不提醒只显示数目
//如果群聊只是想提示数目,不响铃。可以通过此属性设置,此属性是本地属性
EMChatManager.getInstance().getChatOptions().setReceiveNotNoifyGroup(List&String&)
群组的黑名单
将群成员拉入群组的黑名单
* 将用户加到群组的黑名单,被加入黑名单的用户无法加入群,无法收发此群的消息
* (只有群主才能设置群的黑名单)
* @param groupId, 群组的id
* @param username, 待屏蔽的用户名
* @exception EaseMobException 出错会抛出
EMGroupManager.getInstance().blockUser(groupId, username);//需异步处理
将拉入黑名单的群成员移除
* 将用户从群组的黑名单移除(只有群主才能调用此函数)
* @param groupId, 群组的id
* @param username, 待解除屏蔽的用户名
EMGroupManager.getInstance().unblockUser(groupId, username);//需异步处理
获取群组的黑名单用户列表
* 获取群组的黑名单用户列表
* (只有群主才能调用此函数)
* @return List&String&
* @throws EaseMobException 获取失败
EMGroupManager.getInstance().getBlockedUsers(groupId);//需异步处理
群聊事件监听
EMGroupManager.getInstance().addGroupChangeListener(new GroupChangeListener() {
public void onUserRemoved(String groupId, String groupName) {
//当前用户被管理员移除出群聊
public void onInvitationReceived(String groupId, String groupName, String inviter, String reason) {
//收到加入群聊的邀请
public void onInvitationDeclined(String groupId, String invitee, String reason) {
//群聊邀请被拒绝
public void onInvitationAccpted(String groupId, String inviter, String reason) {
//群聊邀请被接受
public void onGroupDestroy(String groupId, String groupName) {
//群聊被创建者解散
public void onApplicationReceived(String groupId, String groupName, String applyer, String reason) {
//收到加群申请
public void onApplicationAccept(String groupId, String groupName, String accepter) {
//加群申请被同意
public void onApplicationDeclined(String groupId, String groupName, String decliner, String reason) {
// 加群申请被拒绝
Demo 及 SDK 下载
详细文档请参考你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
通过sdk已经做大收发群组消息了,但是接收到的消息,调用插入消息到数据库的api后,下次打开是没有这些从服务器收到的消息的,只有自己发的的消息能看到。
至于初始化加载的消息记录,我调用了
//创建名为IOS_TEST的会话,会话类型为群组
self.conversation = [[EaseMob sharedInstance].chatManager conversationForChatter:@&IOS_TEST& conversationType:eConversationTypeGroupChat];
long long timestamp = [[NSDate date] timeIntervalSince1970] * 1000 + 1;
NSArray * messages = [self.conversation loadNumbersOfMessages:20 before:timestamp]; // 根据时间戳读取指定条数的消息
收到服务器的消息回调后,我使用的是:
BOOL FLAG=
[[EaseMob sharedInstance].chatManager insertMessagesToDB:@[message] forChatter:message.conversationChatter append2Chat:YES];
想知道这是什么原因?
消息是你从自己服务器获取的么?如果是环信发来的消息,SDK会自动存入数据库。你自己构造的消息的话,插入如果成功,load的时候是可以取到的。你可以看下library/EaseMobDB里的数据库文件,有没有你存入的消息。
沙箱library/EaseMobLog,导出log看一下吧。消息是SDK内部存的,你没有必要在手动存
已经解决,问题出现在,我用群聊,但是发送消息的时候接收者使用了群名,实际上sdk是使用群id的,真的不够仔细。。
要回复问题请先或
浏览: 1028
关注: 2 人
知识价值的认可,源自您的赞赏
扫描二维码,你的支付将由imGeek代收后转给对方
感谢您的赞赏
一个开放、互助、协作、创意的社区
一个开放、互助、协作、创意的社区
京ICP备号-3

我要回帖

更多关于 脱逃者2攻略 的文章

 

随机推荐