Class: SystemMessage

SystemMessage


new SystemMessage(env)

系统通知

系统通知分为两种

  • 内建系统通知
    • 目前所有的内建系统通知都是与高级群相关的通知, 某些群操作后相关的群成员会收到相应的系统通知。
    • 内建系统通知与群通知消息的区别是系统通知是发给单人的通知, 群通知消息是发给所有群成员的消息。
  • 自定义系统通知
    • 开发者可以向其他用户或群发送自定义系统通知
    • 自定义系统通知和自定义消息的区别如下
      • 自定义消息属于消息, 会存储在云信的消息数据库中, 需要跟其他消息一同展现给用户。
      • 自定义系统通知属于系统通知, 用于第三方通知自己, 不会存储在云信的数据库中, SDK不会解析这些通知, SDK仅仅负责传递这些通知。
  • 请参考初始化SDK时传入的onofflinesysmsgsonofflinecustomsysmsgsonsysmsgoncustomsysmsg等回调。
Parameters:
Name Type Description
env String

环境变量,用于指向不同的抄送、第三方回调等配置

Properties:
Name Type Argument Description
time Number

时间戳

type String <optional>

系统通知类型

from String

系统通知的来源, 账号或者群ID

to String

系统通知的目标, 账号或者群ID

idServer String <optional>

内建系统通知的 idServer

read Boolean <optional>

内建系统通知是否已读

category String <optional>

内建系统通知的种类

state String <optional>

内建系统通知的state

error NIMError <optional>

内建系统通知的state'error' 时, 此字段包含错误的信息

localCustom String <optional>

内建系统通知的本地自定义扩展字段

  • 支持数据库时可以调用更新本地系统通知来更新此字段, 此字段只会被更新到本地数据库, 不会被更新到服务器上
ps String <optional>

内建系统通知的附言

attach Object <optional>

内建系统通知的附加信息, 参考系统通知类型来查看不同类型的系统通知对应的附加信息

Properties
Name Type Argument Description
custom String <optional>

附加消息的扩展字段, 可能没有

scene String <optional>

自定义系系统通知的场景, 参考消息场景

content String <optional>

自定义系统通知的内容

isPushable Boolean

是否需要推送

apnsText String <optional>

自定义系统通知的推送文案, 仅对接收方为iOS设备有效

pushPayload String <optional>

自定义系统通知的推送属性

  • 推荐使用JSON格式构建, 非JSON格式的话, Web端会正常接收, 但是会被其它端丢弃
needPushNick Boolean

是否需要推送昵称

sendToOnlineUsersOnly Boolean <optional>

自定义系统通知是否只发送给在线用户。

  • true时只发送给在线用户, 适合发送即时通知, 比如正在输入。
  • false时假如目标用户或群不在线, 会在其上线后推送过去。
  • 该参数只对点对点自定义系统通知有效, 对群自定义系统通知无效, 群自定义系统通知只会发给在线的群成员, 不会存离线。
cc Boolean

自定义系统通知是否抄送

Members


<static, readonly> category :String

内建系统通知的种类

  • 'team'
  • 'friend'
Type:
  • String

<static, readonly> state :String

内建系统通知的状态

  • 'init': 未处理状态
  • 'passed': 已通过
  • 'rejected': 已拒绝
  • 'error': 错误
Type:
  • String

<static, readonly> type :String

系统通知类型

  • 'addFriend'
    • 直接加某个用户为好友后, 对方不需要确认, 直接成为当前登录用户的好友。
    • 对方会收到一条类型为'addFriend'系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为接收方的账号。
  • 'applyFriend'
    • 申请加某个用户为好友后, 对方会收到一条类型为'applyFriend'系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为接收方的账号, 用户在收到好友申请后, 可以选择通过或者拒绝好友申请。
      • 如果通过好友申请, 那么申请方会收到一条类型为'passFriendApply'系统通知, 此类群通知消息的from字段的值为通过方的帐号, to字段的值为申请方的账号。
      • 如果拒绝好友申请, 那么申请方会收到一条类型为'rejectFriendApply'系统通知, 此类系统通知的from字段的值为拒绝方的帐号, to字段的值为申请方的账号。
  • 'passFriendApply'
    • 'applyFriend'
  • 'rejectFriendApply'
    • 'applyFriend'
  • 'deleteFriend'
    • 删除好友后, 被删除的人会收到一条类型为'deleteFriend'系统通知, 此类系统通知的from字段的值为删除方的帐号, to字段的值为被删除方的账号。
  • 'teamInvite'
    • 高级群的群主和管理员在邀请成员加入群(通过操作创建群拉人入群)之后, 被邀请的人会收到一条类型为'teamInvite'系统通知, 此类系统通知的from字段的值为邀请方的帐号, to字段的值为对应的群ID, 此类系统通知的attach有一个字段team的值为被邀请进入的, 被邀请的人可以选择接受邀请或者拒绝邀请。
      • 如果接受入群邀请, 那么该群的所有群成员会收到一条类型为'acceptTeamInvite'群通知消息, 此类群通知消息的from字段的值为接受入群邀请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段members的值为接收入群邀请的群成员列表。
      • 如果拒绝入群邀请, 那么邀请你的人会收到一条类型为'rejectTeamInvite'系统通知, 此类系统通知的from字段的值为拒绝入群邀请的人的帐号, to字段的值为对应的群ID。
  • 'rejectTeamInvite'
    • 'teamInvite'
  • 'applyTeam'
    • 用户可以主动申请加入高级群, 目标群的群主和管理员会收到一条类型为'applyTeam'系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为对应的群ID, 高级群的群主和管理员在收到入群申请后, 可以选择通过或者拒绝入群申请。
      • 如果通过入群申请, 那么该群的所有群成员会收到一条类型为'passTeamApply'群通知消息, 此类群通知消息的from字段的值为通过入群申请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段account包含了申请方的帐号, attach有一个字段members的值为被通过申请的群成员列表。
      • 如果拒绝入群申请, 那么申请人会收到一条类型为'rejectTeamApply'系统通知, 此类系统通知的from字段的值为拒绝方的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的
  • 'rejectTeamApply'
    • 'applyTeam'
  • 'applySuperTeam'
    • 用户可以主动申请加入高级群, 目标群的群主和管理员会收到一条类型为'applySuperTeam'系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为对应的群ID, 高级群的群主和管理员在收到入群申请后, 可以选择通过或者拒绝入群申请。
      • 如果通过入群申请, 那么该群的所有群成员会收到一条类型为'passSuperTeamApply'群通知消息, 此类群通知消息的from字段的值为通过入群申请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的超大群对象, attach有一个字段account包含了申请方的帐号, attach有一个字段members的值为被通过申请的群成员列表。
      • 如果拒绝入群申请, 那么申请人会收到一条类型为'rejectSuperTeamApply'系统通知, 此类系统通知的from字段的值为拒绝方的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的超大群
  • 'rejectSuperTeamApply'
    • 'applySuperTeam'
  • 'superTeamInvite'
    • 超大群的群主和管理员在邀请成员加入群(通过操作创建群拉人入群)之后, 被邀请的人会收到一条类型为'superTeamInvite'系统通知, 此类系统通知的from字段的值为邀请方的帐号, to字段的值为对应的群ID, 此类系统通知的attach有一个字段team的值为被邀请进入的超大群, 被邀请的人可以选择接受邀请或者拒绝邀请。
      • 如果接受入群邀请, 那么该群的所有群成员会收到一条类型为'acceptSuperTeamInvite'群通知消息, 此类群通知消息的from字段的值为接受入群邀请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的超大群对象, attach有一个字段members的值为接收入群邀请的群成员列表。
      • 如果拒绝入群邀请, 那么邀请你的人会收到一条类型为'rejectSuperTeamInvite'系统通知, 此类系统通知的from字段的值为拒绝入群邀请的人的帐号, to字段的值为对应的群ID。
  • 'rejectSuperTeamInvite'
    • 'superTeamInvite'
  • 'deleteMsg'
    • 撤回消息后, 消息接收方会收到一条类型为'deleteMsg'系统通知, 此类系统通知的 msg 为被删除的消息的部分字段。如果是群消息, 那么群里的所有人都会收到这条系统通知. 如果同时在多个端登录了同一个账号, 那么其它端也会收到这条系统通知.
  • 'custom'
    • 自定义系统通知
Type:
  • String