消息配置选项

更新时间: 2024/07/09 13:28:30

发送 文本消息多媒体消息地理位置消息提示消息自定义消息,都支持配置额外的可选参数,满足您对于消息配置的需求。

配置选项

NIMSendTextOptions 配置选项具体如下:

参数
类型
说明
custom String 消息的扩展字段推荐使用 JSON 格式构建,非 JSON 格式的话,Web 端会正常接收,但是会被其它端丢弃
pushContent String 自定义推送文案,限制 500 字符
pushPayload String 自定义推送属性,更多说明及相关示例请参见 推送 payload 配置推荐使用 JSON 格式构建,非 JSON 格式的话,Web 端会正常接收,但是会被其它端丢弃。
needPushNick Boolean 是否需要推送消息发送者的昵称,默认为 true
isHistoryable Boolean 是否存储云端历史,默认为 true
isRoamingable Boolean 是否支持漫游,默认为 true
isSyncable Boolean 是否支持发送者多端同步,默认为 true
cc Boolean 是否支持抄送,默认为 false
env String 环境变量,用于指向不同的抄送、第三方回调等配置
isPushable Boolean 是否需要推送,默认为 true
isOfflinable Boolean 是否要存离线,默认为 true
isUnreadable Boolean 是否计入消息未读数,默认为 true
needMsgReceipt Boolean 是否需要业务已读(包含该字段即表示需要),默认为 false。只有设置了业务已读,才可以调用 getTeamMsgReadsgetTeamMsgReadAccounts 等相关方法
subType Integer 消息子类型,格式为大于 0 的整数,可自定义
isLocal Boolean 是否是本地消息,默认 false。如配置为 true,表示是本地消息,那么 SDK 并不会发送此条消息,而是直接调用回调表示发送成功,并更新对应的会话
localFrom String 本地消息的发送方,默认是当前用户。只有发送本地消息时,才可自定义发送方
replyMsg Object 要回复的消息对象,表示当前消息是对某条消息的回复
clientAntiSpam Boolean 是否需要通过 客户端反垃圾 对该消息进行内容审核,默认 false
needUpdateSession Boolean 是否需要刷新远端的服务器会话列表,默认是(请注意区分两种会话),默认为 true
yidunAntiCheating String 易盾反作弊字段,长度限制 1024,JSON 字符串格式。如:"{"email":"test@163.com","phone":"12345678901","token":"1234","extension":"hello"}"
yidunAntiSpamExt String 易盾反作弊扩展字段字段。限制 JSON 格式字符串,长度上限 1024
yidunEnable Boolean 是否需要使用自定义反垃圾字段,即 antiSpamContent,默认 false
antiSpamUsingYidun Boolean 单条消息是否使用易盾反垃圾,false 表示开通易盾的情况下,不过易盾反垃圾。默认为 false
antiSpamContent String 在开启 yidunEnable 后,开发者自定义的反垃圾字段(JSON 格式),格式如下:{"type": 1,"data": "custom content"} 字段说明:
type:1 文本,2 图片,3 视频,data 内容:文本内容 or 图片地址 or 视频地址
antiSpamBusinessId String 用户配置的对某条单条消息另外反垃圾的业务 ID
apns Object 特殊推送选项,只在群会话中使用。具体说明请参见下表

apns 对象的结构具体如下:

apns 属性 类型 说明
accounts String[] 需要特殊推送的账号列表,不填表示推送给当前群聊会话内的所有用户
content String 需要特殊推送的文案,不填的话默认为 pushContent
forcePush boolean 是否强制推送,true 表示即使推送列表中的用户屏蔽了当前会话(如静音),这条消息仍能够被推送到相应的用户。不填默认为 true

示例

以下为发送文本消息时进行额外选项配置的示例代码。发送其他消息时配置额外选项的逻辑与发送文本消息类似。

TypeScriptnim.sendText({
  scene: "p2p",
  to: "test",
  text: "Hello",
  pushContent: "这是一条自定义推送文案",
  pushPayload: "{\"pushTitle\":\"推送标题\"}",
  done: function(err,obj) {console.log('call sendText finish: ',err,obj)}
})

相关参考

NIMMessage 对象中的部分参数说明。

参数
类型
说明
idClient String 如果是重发,那么需要带上之前生成的 idClient 来标记这条消息。
userUpdateTime Number 发送方信息更新时间。该字段可用于更新用户的最新信息。
服务器下发更新的 UpdateTime 时间戳,SDK 会自行比对该时间戳是不是有更新,若有更新,SDK 将发协议向服务器要一份最新的用户信息并返回给上层。
例如,A 修改头像后发消息给 B,那么 B 接受到的消息体中返回的 userUpdateTime 就会出现更新,SDK 检测到之后会自动更新该用户的 user 信息最后通过回调返回给上层。
此文档是否对你有帮助?
有帮助
去反馈
  • 配置选项
  • 示例
  • 相关参考