7 uap mobile api referenceuap_plug_apiuexnim_第1页
7 uap mobile api referenceuap_plug_apiuexnim_第2页
7 uap mobile api referenceuap_plug_apiuexnim_第3页
7 uap mobile api referenceuap_plug_apiuexnim_第4页
7 uap mobile api referenceuap_plug_apiuexnim_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、uexNIM1、简介registerAppcbRegisterApplogincbLoginautoLoginonKickonMultiLoginClientsChangedlogoutcbLogoutsendTextsendImagesendLocationMsg sendAudiosendVideosendFilewillSendMessage onSendMessageWithProgresscbDidSendMessageonRecvMessagesallRecentSession cbAllRecentSessionfetchMessageHistorycbFetchMessageH

2、istoryswitchAudioOutputDevice cbSwitchAudioOutputDeviceisPlayingcbIsPlayingplayAudiocbBeganPlayAudiocbCompletedPlayAudiostopPlayallMyTeams cbAllMyTeamsteamByIdcbTeamByIdfetchTeamInfo cbFetchTeamInfocreateTeamcbCreateTeamaddUsers cbAddUsersacceptInviteWithTeamcbAcceptInviteWithTeamrejectInviteWithTea

3、m cbRejectInviteWithTeamapplyToTeamcbApplyToTeampassApplyToTeam cbPassApplyToTeamrejectApplyToTeamcbRejectApplyToTeamupdateTeamNamecbUpdateTeamNameupdateTeamIntrocbUpdateTeamIntroupdateTeamAnnouncement cbUpdateTeamAnnouncementupdateTeamJoinModecbUpdateTeamJoinModeaddManagersToTeam cbAddManagersToTea

4、mremoveManagersFromTeamcbRemoveManagersFromTeam transferManagerWithTeam cbTransferManagerWithTeamfetchTeamMemberscbFetchTeamMembersquitTeamcbQuitTeamkickUserscbKickUsersdismissTeam cbDismissTeamupdateNotifyStateForTeamcbUpdateNotifyStateForTeamonReceiveSystemNotificationfetchSystemNotificationscbFet

5、chSystemNotificationsallNotificationsUnreadCountcbAllNotificationsUnreadCount deleteAllNotificationsmarkAllNotificationsAsReadcbMarkAllNotificationsAsReadsendCustomNotification cbSendCustomNotificationonReceiveCustomSystemNotificregisterAPNScbRegisterAPNS getApnsSettingcbGetApnsSettingupdateApnsSett

6、ingcbUpdateApnsSetting enterChatRoomcbEnterChatRoomexitChatRoomgetChatRoomHistoryMsg cbGetChatRoomHistoryMsggetChatRoomInfocbGetChatRoomInfogetChatRoomMembers cbGetChatRoomMembersgetChatRoomMembersByIdscbGetChatRoomMembersonChatRoomStatusChanged addUserToBlackListcbAddUserToBlackListmuteUsercbMuteUs

7、ersetAdmincbSetAdminsetNormalcbSetNormal kickMemberFromChatRoomcbKickMemberFromChatRoomonChatRoomKickOutEventuserInfo cbUserInfoonUserInfoChangedfetchUserInfoscbFetchUserInfos updateMyUserInfocbUpdateMyUserInfomyFriendscbMyFriends requestFriendcbRequestFriendonFriendChangeddeleteFriend cbDeleteFrien

8、dmyBlackListcbMyBlackListaddToBlackListcbAddToBlackListremoveFromBlackBlackListcbRemoveFromBlackBlackListonBlackListChanged isUserInBlackListcbIsUserInBlackListmyMuteUserListcbMyMuteUserList updateNotifyStateForUsercbUpdateNotifyStateForUsernotifyForNewMsgForUsercbNotifyForNewMsgForUserNIM(网易云信)插件1.

9、1、 说明本插件是基于NIM(网易云信)API封装的uap平台的插件模块,用户可以使用本插件实现基本的即时通讯功能,包括 单聊功能:支持发送语音,图片,表情,文字,位置,附件; 群聊功能:提供了普通群 (Normal) 以及高级群 (Advanced) 两种形式的群聊功能.高级群拥有更多的权限操作,两种群聊形式在共有操作上保持了接口一致.推荐 APP 开发时只选择一种群类型进行开发.普通群和高级群在原则上是不能互相转换的,他们的群类型在创建时就已经确定; 音视频通话:提供基于网络的点对点视频通话和语音通话功能,支持通话中音视频设备控制,并支持通话中实时音视频模式切换;使用前说明:本插件为单例插

10、件 在任何网页调用本插件,调用的是同一个插件实例; 所有的API都是异步方法,不会直接返回值;所有的回调都会传到root页面(config.xml中配置的App起始页面)以上内容非常重要root页面收到回调后,可以通过uexWindow的相关方法传递到各个网页去, 以下方法是您可能要用到的传 递 给 某 个 窗 口 :uexWindow.evaluateScript uexWindow.evaluatePopoverScript uexWindow.evaluateMultiPopoverScript传 递 给 某 些 窗 口 :uexWindow.publishChannelNotifica

11、tion uexWindow.subscribeChannelNotification这些方法具体用法在uexWindow文档 内有描述,当然,也可下载Demo 参考Demo内的调用.需要注意,对于Android 版插件,开发者需要在 config.xml中配置 appKey 和 packageName .如下 1.2、UI展示暂无 1.3、开源源码插件测试用例与自定义插件下载:点击此处 (插件测试用例与插件源码已经提供)1.4、 术语表Path Types协议头Android对应路径 (其中/sdcard/等 同于/storage/emulated/0/)iOS对应路径res:/widget

12、/wgtRes/widget/wgtReswgts:/storage/emulated/0/widgetone/apps/ xxx(widgetAppId)/Documents/apps/xxx(widgetAppId)/wgts:/storage/emulated/0/widgetone/widgets/Documents/widgets/file:/sdcard/storage/emulated/0/无2、API概述2.1、初始化registerApp(param) /初始化param为json字符串var paramappKey:,/ 区 别 app 的 标 识 apnsCertName

13、:,/iOS中推送证书名称(仅iOS);cbRegisterApp(param) /初始化回调param为json字符串varparam result:,/true,false;2.2、登录与登出login(param) /手动登录param为json字符串var param = userId:,/用户cbLogin(param) /手动登录回调param为json字符串var param = result:,/true ,fal se error:,/失败错误码 userId:,/成功返回userId,失败返回为空 错误信息error408请求超时.引起这个错误的原因往往是客户端网络状 况不

14、良,请检查网络状况 415连接服务器出错 302认证失败.登录的用户名和不匹配.请检查输入的 用户名是否和服务器设置的有出入 *autoLogin(param) /自动登录 NIM SDK 有两种自动登录的场景:SDK 发起的自动登录:因为网络发生切换,断网等原因需要重连,SDK 都会自动进行重连重登,不需要 APP 进行干预.APP 发起的自动登录:APP 启动时,如果已保存用户名和未登录的状态下直接访问用户本地数据.可以选择调用自动登录接口,并立刻打开主界面.此时 APP 可以在无网络,和手动登录不同,自动登录是通过委托登录状态.APP通过onLogin登录状态(手动登录也会收到同样的委托

15、回调).自动登录过程不需要 APP 加以干预,SDK 会不停重试(在有网络的情况下)直到登录为止.但下面两种异常情况需要 APP 处理:被踢onKick和特殊的登录错误onAutoLoginFailed.param为json字符串var param = userId:,/用户onKick(param) /被踢的(自动登录)APP收到被踢回调后需要进行注销并切换到登录界面.param为json字符串var param = code:,/被踢下线code,见下表 ;code被踢下线的原因1被另外一个客户端踢下线 (互斥客户端一端登录挤掉上一个登录中的客户端)2被服务器踢下线, 仅iOS支持3被另外

16、一个客户端手动选择踢下线 *onMultiLoginClientsChanged(param) /多端登录 云信内置踢人策略为:移动端(Android,iOS)互踢,桌面端(PC,Web)互踢,移动端和桌面端共存.Web端登录地址(网易云信的Web Demo)如果当前的互踢策略无法满足业务需求的话,可以联系网易云信取消内置互踢,根据多端登录的回调和当前的设备列表,判断本设备是否 需要被踢出.如果需要踢出,直接调用登出接口并在界面上给出相关提示即可.var param = clients:,/参数见下表;参数参数详情typeAndroid:1, iOS:2, PC:4, WEB:16, REST

17、 API:32os操作系统timestamp登录时间logout() /退出登录cbLogout() /退出登录回调var param = error:,失败错误码,成功为空 ;2.3、基础消息功能SDK 中用户与同一个对象的聊天信息集合,称为一个会话,用 NIMSession 来表示.会话有单人会话和群组会话两种类型.如果会话为单 人类型,会话 ID 为聊天用户的 ID;如果会话为群组类型,会话 ID 为群组 ID.sendText(param) /发送文本消息及表情param为json字符串var param = sessionId:,/单聊时聊天人的userid, 群聊时groupid,

18、 聊天室的id sessionType:,/0-单聊,1-群聊, 2- 聊天室 content:,/文本内容 ext:/扩展字段, Object类型 ;sendImage(param) /发送图片param为json字符串var param = sessionId:,/单聊时聊天人的userid, 群聊时groupid, 聊天室的id sessionType:,/0-单聊,1-群聊, 2- 聊天室 filePath:,/图片文件路径displayName:,/显示名称,非必须ext:/扩展字段, Object类型 ;sendLocationMsg(param) /发送地理位置信息param为j

19、son字符串var param = sessionId:,/单聊时聊天人的userid, 群聊时groupid, 聊天室的id sessionType:,/0-单聊,1-群聊, 2- 聊天室 title:,/位置的地址名latitude:, longitude:,ext:/扩展字段, Object类型 ;sendAudio(param) /发送音频消息param为json字符串var param = sessionId:,/单聊时聊天人的userid, 群聊时groupid, 聊天室的id sessionType:,/0-单聊,1-群聊, 2- 聊天室 filePath:,/语音文件路径ext

20、:/扩展字段, Object类型 ;sendVideo(param) /发送视频param为json字符串var param = sessionId:,/单聊时聊天人的userid, 群聊时groupid, 聊天室的id sessionType:,/0-单聊,1-群聊, 2- 聊天室 filePath:,/视频文件路径displayName:,/显示名称,非必须ext:/扩展字段, Object类型 ;sendFile(param) /发送文件param为json字符串var param = sessionId:,/单聊时聊天人的userid, 群聊时groupid, 聊天室的id sessi

21、onType:,/0-单聊,1-群聊, 2- 聊天室 filePath:,/文件路径displayName:,/显示名称,非必须ext:/扩展字段, Object类型 ;willSendMessage(param) /即将发送消息回调param为json字符串var param = messageId:, /消息ID,唯一标识messageType:, /消息类型,详见下表from:, /消息来源 text:, /消息文本timestamp:,/消息发送时间 sessionId:, /会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号ses

22、sionType:, /会话类型,当前仅支持P2P(单聊)和Team(群聊)senderName:, /消息发送者名字,当发送者是自己时,这个值为空,这个值表示的是发送者当前的昵称,而不是发送消息时的昵称 ;消息类型messageType0文本类型消息1图片类型消息2声音类型消息3视频类型消息4位置类型消息5类型消息6文件类型消息10提醒类型消息100自定义类型消息 onSendMessageWithProgress(param) /消息发送进度图片,视频等需要上传附件的消息会有比较详细的进度回调,文本消息则没有这个回调. param为json字符串var param = messageId:

23、, /消息ID,唯一标识messageType:, /消息类型,详见上表from:, /消息来源 timestamp:, /消息发送时间 sessionId:, /会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号sessionType:, /会话类型,当前仅支持P2P(单聊)和Team(群聊)progress:,/发送进度(01);cbDidSendMessage(param) /消息发送完毕回调如果消息发送成功 error为空,反之 error 会被填充具体的失败原因. param为json字符串 var param = message

24、Id:, /消息ID,唯一标识messageType:, /消息类型,详见上表from:, /消息来源 text:, /消息文本timestamp:,/消息发送时间 sessionId:, /会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号sessionType:, /会话类型,当前仅支持P2P(单聊)和Team(群聊)senderName:, /消息发送者名字,当发送者是自己时,这个值为空,这个值表示的是发送者当前的昵称,而不是发送消息时的昵称isReceivedMsg:, /是否是收到的消息.由于有漫游消息的概念,所以自己发出的消息漫

25、游下来后仍旧是收到的消息,这个字段用于消息出 错是时判断需要重发还是重收 isOutgoingMsg:, /是否是往外发的消息. 由于能对自己发消息,所以并不是所有来源是自己的消息都是往外发的消息,这个字段用于判断头像排版位置(是左还是右)isDeleted:, /消息是否标记为已删除.已删除的消息在获取本地消息列表时会被过滤掉,只有根据messageId获取消息的接口可能会返回已删除消息.error:,/失败原因,如果发送成功则error为空 ;onRecvMessages(param) /收到新消息var param = error:,/失败原因,如果发送成功则error为空message

26、Id:, /消息ID,唯一标识messageType:, /消息类型,详见上表from:, /消息来源 text:, /消息文本timestamp:,/消息发送时间 sessionId:, /会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号sessionType:, /会话类型,当前仅支持P2P(单聊)和Team(群聊)senderName:, /消息发送者名字,当发送者是自己时,这个值为空,这个值表示的是发送者当前的昵称,而不是发送消息时的昵称path:,/本地路径 url:,/远程路径 fileLength:,/文件大小(音频文件没有

27、这个参数) thumbPath:/缩略图本地路径(图片) thumbUrl:,/缩略图远程路径(图片)duration:,/时长,毫秒为单位(音频,视频) coverUrl:,/视频封面的远程路径(视频) coverPath:,/视频封面的本地路径(视频) latitude:,/纬度(位置消息)longitude:,/经度(位置消息) title:,/标题(位置消息);allRecentSession /获取最近会话获取最近会话,一般用于首页显示会话列表 .开发者无法自己添加最近消息,最近消息会在发送或者收到消息的时候自动添加,并触发增 加最近会话的回调.cbAllRecentSession

28、获取最近会话会话的回调回最近会话信息组成的一列数组sessions,var param = sessions: lastMessage:,/最后一条消息 unreadCount:,/未读消息数 sessionId:,/当前会话id,仅iOS支持 sessionType:,/当前会话type , ;2.4、历史记录fetchMessageHistory(param) /云端记录支持从云信服务器上远程获取之前的聊天历史记录.var param = sessionId:, /会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号 sessionTyp

29、e:, /会话类 型,当前仅支持P2P(单聊)和Team(群聊) messageId:,/起始查询消息的消息Id limit:,/检索条数, 最大限制100条 startTime:,/起始时间, 默认为0 endTime:,/结束时间,默认为0, order:,/检索顺序,0:从新消息往旧消息查询,1:从旧消息往新消息查询 sync:,/同步数据: 是否在远程获取消息成功之后同步到本地数据库,如果选择同步,则同步之后不会触发消息添加的回调.默认同步(true),false为不同步. ;cbFetchMessageHistory(param) /云端记录回调var param = message

30、s:,/message组成的数组 error:,/错误码,如果成功则error为空 2.5、语音录制及回放多媒体管理 NIMMediaManager 提供了音频播放、高清语音录制的功能.需要注意的是 NIM SDK 中的语音播放和录制仅支持 aac ,如 果需要更多格式的支持,APP 需要自己实现,但并不推荐.switchAudioOutputDevice /切换音频的输出设备var param = outputDevice:,/0:听筒,1:扬声器 ;cbSwitchAudioOutputDevice /切换音频的输出设备回调var param = result:,/true,fals ei

31、sPlaying /判断是否正在播放音频说明 判断是否正在播放音频cbIsPlaying(param) /判断是否正在播放音频回调var param = result:,/true or falseplayAudio(param) /播放音频var param = filePath:,/音频文件的路径 ;cbBeganPlayAudio(param) /开始播放音频回调var param = filePath:,/音频文件的路径 error:,错误码,如果成功则error为空 ;cbCompletedPlayAudio(param) /播放音频结束回调var param = filePath:

32、,/音频文件的路径 error:,错误码,如果成功则error为空 ;stopPlay /该操作会触发回调cbCompletedPlayAudio2.6、群组功能群组功能提供了普通群 (Normal) 以及高级群 (Advanced) 两种形式的群聊功能.高级群拥有更多的权限操作,两种群聊形式在共有操作上保持了接口一致.推荐 APP 开发时只选择一种群类型进行开发.普通群和高级群在原则上是不能互相转换的,他们的群类型在创建时 就已经确定.普通群: 普通群没有权限操作,适用于快速创建多人会话的场景,类似于讨论组.每个普通群只有一个管理员.管理员可以对群进行增减员 操作,普通成员只能对群进行增员操

33、作.在添加新成员的时候,并不需要经过对方同意.高级群: 高级群在权限上有更多的限制,权限分为群主、管理员、以及群成员.allMyTeams /获取群组NIM SDK 在程序启动时会对本地群信息进行同步,所以只需要调用本地缓存接口获取群就可以了. SDK 提供了批量获取自己的群接口、以及根据单个群 ID 查询的接口.同样 SDK 也提供了远程获取群信息的接口.cbAllMyTeams(param) /获取群组回调var param = teams:, /team array,team内详细参数见cbTeamById下表;teamById(param) /本地获取群组信息var param = t

34、eamId:,/群组IdcbTeamById(param) /获取群组信息回调var param = team:,/team内详细参数见下表;参数信息team参数teamId群IDteamName群名称type群类型owner群拥有者ID,普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让intro群介绍announcement群公告memberNumber群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新 参群等数级信,息目前群人数主要是限制群人数上限 tl evaeml 参数createTime群创建时间joinMo

35、de群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2serverCustomInf o群服务端自定义信息,应用方可以自行拓展这个字段做个性化配置,客户端不可以修改这个字段 clientCustomInfo群客户端自定义信息,应用方可以自行拓展这个字段做个性化配置,客户端可以修改这个字段 notifyForNewMsg群消息是否需要,这个设置影响群消息的APNS推送fetchTeamInfo(param) /远程获取群组信息var param = teamId:,/群组IdcbFetchTeamInfo(param) /远程获取群组信息回调var param = team:,/

36、team内详细参数见cbTeamById表; error:,/获取成功,error为空.;createTeam(param) /创建群组var param = name:,/群名称;type:,/创建群类别,普通群:0,高级群:1,默认为普通群;joinMode:,/群验证方式,只有高级群才有群验证模式,普通群一律不需要验证.默认为不需要,允许所有人加入:0,需要验证:1,不允许任何人加入:2;postscript:,/邀请附言,当创建的群为高级群需要带上,普通群没有认证过程,所以不需要; intro:,/群介绍,可选参数;announcement:,/群公告,可选参数;users:,/arr

37、ay类型,邀请群成员.不能为空,不邀请人时传自己的userId; 当创建普通群时,必须要添加一个其它成员.;在创建群组成功后,邀请的群成员会收到系统,可以从 onReceiveSystemNotification 回调中获取相关的信息.cbCreateTeam(param) /创建群组回调var param = teamId:,/群Iderror:,/错误信息,如果成功则error为空 addUsers(param) /邀请用户入群请求完成后,如果是普通群,被邀请者将直接入群;如果是高级群,云信服务器会下发一条系统消息到目标用户,目标用户可以选择同意或 者拒绝入群.var param = te

38、amId:,/群Idusers:,/userId组成的数组 postscript:,/附言(仅ios有效,android不支持)cbAddUsers(param) /邀请用户入群回调var param = error:,/发送成功,error为空.;对于android,如果返回的error为810,表示发出邀请成功了,但是还需要对方同意 acceptInviteWithTeam(param) /同意群邀请(仅限高级群)被邀请通过 onReceiveSystemNotification 收到系统接口 var param = teamId:,/群IdinvitorId:,/邀请者Id(不是被邀请者

39、)cbAcceptInviteWithTeam(param) /同意群邀请回调(仅限高级群)var param = error:,/发送成功,error为空.;rejectInviteWithTeam(param) /拒绝群邀请(仅限高级群)var param = teamId:,/群IdinvitorId:,/邀请者Id(不是被邀请者) rejectReason:,/拒绝原因 cbRejectInviteWithTeam(param) /拒绝群邀请回调(仅限高级群)var param = error:,/发送成功,error为空.;applyToTeam(param) /主动申请入群请求完成

40、后,如果是普通群,将直接入群;如果是高级群,云信服务器会下发一条系统消息给群管理员,管理员可以选择通过或者拒绝申请.var param = teamId:,/群Idmessage:,/加群信息 cbApplyToTeam(param) /主动申请入群回调请求完成后,如果是普通群,将直接入群;如果是高级群,云信服务器会下发一条系统消息给群管理员,管理员可以选择通过或者拒绝申请.var param = error:,/发送成功,error为空.applyStatus:,/0:无效状态,1:已经在群里,2:申请等待通过.;passApplyToTeam(param) /通过申请(仅限高级群)var

41、param = teamId:,/群Id userId:,/用户Id;cbPassApplyToTeam(param) /发送通过申请回调(仅限高级群)var param = error:,/ 发 送 成 功 ,error 为 空 . applyStatus:,/0:无效状态,1:已经在群里 ;rejectApplyToTeam(param) /拒绝申请(仅限高级群)var param = teamId:,/ 群 Id userId:,/ 用 户 Id rejectReason:,/拒绝原因 ;cbRejectApplyToTeam(param) /发送拒绝申请回调(仅限高级群)var par

42、am = error:,/发送成功,error为空.;updateTeamName(param) /修改群名称var param = teamId:,/群IdteamName:,/群组名称 cbUpdateTeamName(param) /修改群名称回调var param = error:,/错误码,修改成功error为空.;updateTeamIntro(param) /修改群介绍(仅限高级群)var param = teamId:,/ 群Id intro:,/群介绍 cbUpdateTeamIntro(param) /修改群介绍回调(仅限高级群)var param = error:,/修改

43、成功,error为空.;updateTeamAnnouncement(param) /修改群公告(仅限高级群)var param = teamId:,/群Idannouncement:,/群公告 cbUpdateTeamAnnouncement(param) /修改群公告回调(仅限高级群)var param = error:,/修改成功,error为空.;updateTeamJoinMode(param) /修改群验证方式(仅限高级群)var param = teamId:,/群IdjoinMode:,/群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2cbUpdateTeam

44、JoinMode(param) /修改群验证方式回调(仅限高级群)var param = error:,/成功error为空.;addManagersToTeam(param) /提升管理员(仅限高级群),参数中的用户必须是已经加入了该群var param = teamId:,/群Idusers:,/userId组成的数组 cbAddManagersToTeam(param) /提升管理员回调(仅限高级群)var param = error:,/错误码,成功error为空.;removeManagersFromTeam(param) /移除管理员(仅限高级群)var param = teamI

45、d:,/群Idusers:,/userId组成的数组 cbRemoveManagersFromTeam(param) /移除管理员回调(仅限高级群)var param = error:,/错误码,成功error为空.;transferManagerWithTeam(param) /转让群(仅限高级群)var param = teamId:,/群IdnewOwnerId:,/新群主IDisLeave:,/是否同时离开群组,true离开 cbTransferManagerWithTeam(param) /转让群回调(仅限高级群)var param = error:,/错误码,成功error为空.;

46、fetchTeamMembers(param) /获取群成员获取到的群成员只有云信服务器托管的群相关数据,需要开发者结合自己管理的用户数据进行界面显示 var param = teamId:,/群IdcbFetchTeamMembers(param) /获取群成员回调获取到的群成员只有云信服务器托管的群相关数据,需要开发者结合自己管理的用户数据进行界面显示 var param = members:,/member组成的数组,member详细参数见下表error:,/错误码,成功error为空 ;member参数信息teamId群IDuserId群成员IDinvitor邀请者,仅ios支持, a

47、ndroid不支持 type群成员类型,0:普通群员,1:群拥有者,2:群管理员,3:申请加入用户 nickname群昵称quitTeam(param) /用户退群用户退群成功后,相关会话信息仍然会保留,但不再能接收关于此群的消息.var param = teamId:,/群IdcbQuitTeam(param) /用户退群回调var param = error:,/错误码,成功error为空.;kickUsers(param) /踢出用户被踢出的用户相关会话信息仍然会保留,但不再能接收关于此群的消息. 当前android只支持每次踢一个用户,故参数users对应的只能是一个用户id.var

48、param = teamId:,/群Idusers:,userId组成的数组 cbKickUsers(param) /踢出用户回调var param = error:,/错误码,成功error为空.;dismissTeam(param) /解散群群解散后,所有群用户关于此群会话会被保留,但是不能能够在此群会话里收发消息 var param = teamId:,/群IdcbDismissTeam(param) /解散群回调var param = error:,/错误码,成功error为空.;updateNotifyStateForTeam(param) /修改群消息状态群组是一种消息类型 ,用户

49、在创建群或者进入群成功之后,任何关于群的变动,云信服务器都会下发一条群其他消息一样,可从提供的消息查询接口中获取.消息.群消息和 SDK在收到群之后,会对本地缓存的群信息做出对应的修改,然后触发与修改相对应的委托回调.群是接收型的消息,开发者不应该自己手动去创建和发送群消息.群消息设置 SDK 提供了修改群消息的接口,上层可以通过设置这个选项以影响群消息行为.当设置 notify 为 false 时,群 内消息将不会有 APNS.当然上层也可以使用这一属性来决定收到在线消息时的 APP 表现 (是否响铃等).var param = teamId:,/群Idnotify:,/notify为 fa

50、lse 时,群内消息将不会有 APNS cbUpdateNotifyStateForTeam(param) /修改群消息状态回调var param = error:,/成功error为空.;2.7、系统除消息通道外,NIM SDK 还提供系统分发.目前有两种类型:内置系统和自定义系统.这种通道用于消息之外内置:这是由 NIM SDK 预定义类型,目前仅支持几种群操作,如被邀请入群,SDK 负责这些的持久化.所有的内置系统都是通过onReceiveSystemNotification下发给 APP.为了保证整个程序逻辑的一致性,APP 需要针对不同类型的系统进行相应 的操作. 自定义系统:开发中

51、.onReceiveSystemNotification /内置系统uexNIM.onReceiveSystemNotification(param);var param = notification:,/内置系统;详细参数见下表 参数参数描述type申请入群:0,拒绝入群:1,邀请入群:2,拒绝入群邀请:3,添加好友:5timestamp时间戳sourceID操作者targetID目标ID,群ID或者是用户IDpostscript附言 , 仅iOS支持read是否已读fetchSystemNotifications(param) /获取本地存储的内置系统var param = limit:,

52、/最大获取数;cbFetchSystemNotifications(param) /获取本地存储的内置系统回调var param = notifications:,/ 内置系统;arrayallNotificationsUnreadCount /获取本地存储的内置系统未读数说明获取本地存储的内置系统未读数 cbAllNotificationsUnreadCount(param) /获取本地存储的内置系统未读数回调var param = count:,/;deleteAllNotifications /删除本地存储的全部内置系统说明删除本地存储的全部内置系统 markAllNotificationsAsRead /标记本地存储的全部内置系统为已读说明标记本地存储的全部内置系统为已读 cbMarkAllNotificationsAsRead /标记本地存储的全部内置系统为已读回调说明标记本地存储的全部内置系统为已读回调 var param = result:,/;sendCustomNotification(param) /发送自定义(客户端)除了内置系统外,NIM SDK 也额外提供了自定义系统给开发者,方便开发者进行业务逻辑以由开发者服务器发起.这个既可以由客户端发起也可注意:自定义和自定义消息的不同之处在于,自定义消息归属于网易云信的消息体系内,适用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论