自定义推送文案
附加信息,推荐使用 JSON 格式化字符串
指定当前消息需要抄送到或者回调到的环境的名称。开通消息抄送或第三方回调后,该环境名称可在云信控制台中配置(如下图),最大 32 个字符。
待撤回的消息
附言
第三方自定义的推送属性,限制使用 JSON 格式化的字符串。更多说明及相关示例请参见推送payload配置
done 回调。该回调需开发者自定义。
单向删除一条消息。删除后,消息对于其它用户仍可见。多端登录时,该函数会触发其它端 onDeleteMsgSelf 的回调
扩展字段
待删除的消息
done 回调。该回调需开发者自定义
批量单向删除一条消息。删除后,消息对于其它用户仍可见。多端登录时,该函数会触发其它端 onDeleteMsgSelf 的回调
扩展字段
待删除的消息列表
done 回调。该回调需开发者自定义
将消息转发至其它会话中
注: 该接口直接返回的是 sending 状态的未完成 message,发送完毕的消息体需要传递 options.done 获得。
调用该 API 发送触发:
待转发的消息。
消息场景
新的接收方,对方的 IM 账号(accid)或者对方所在的群的 ID
查询群组已读、未读账号列表
待查询的群消息
查询群组消息的已读、未读数量。
待查询的群消息
注意这个回调的真实返回数据在第三个参数
撤回消息。
消息发送后的可撤回时长(默认 2 分钟,可在云信控制台配置)内,发送方撤回已发送的单聊消息或者群消息。
单聊和群聊消息的撤回功能存在些许区别:
自定义推送文案
附加信息,推荐使用 JSON 格式化字符串
指定当前消息需要抄送到或者回调到的环境的名称。开通消息抄送或第三方回调后,该环境名称可在云信控制台中配置(如下图),最大 32 个字符。
待撤回的消息
附言
第三方自定义的推送属性,限制使用 JSON 格式化的字符串。更多说明及相关示例请参见推送payload配置
done 回调。该回调需开发者自定义。
当 SDK 提供的能力无法满足您的业务需求时,调用该 API 进行个性化定制并在单聊和群聊场景(包括群组和超大群)中发送,例如石头剪刀布和投骰子功能。
该接口直接返回的是 sending 状态的未完成消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
nim.sendCustomMsg({
scene: 'p2p',
to: 'account',
//接收方通过onMsg接收消息
//然后如果msg.type === 'custom',接收方通过读取msg.content,然后调用业务代码
content: JSON.stringify({type: 1}),
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
调用该 API 可触发:
nim.sendFile({
scene: 'p2p',
to: 'account',
type: 'image',
fileInput: 'domId',
done: function(err, obj) {
if (err) {
console.log('发送失败', err)
// 重发. 当上传文件失败时 obj 参数的 msg 附带消息体,其他情况的 obj 就是消息体。
setTimeout(function () {
resendMessage(obj.msg ? obj.msg : obj)
}, 3000)
} else {
console.log('发送消息成功,消息为: ', obj)
}
}
})
// 上传前已经能得到 idClient 做渲染
console.log(message.idClient)
// 重发
function resendMessage(oldMessage) {
nim.sendFile(Object.assign(oldMessage, {
scene: 'p2p',
to: 'account',
type: 'image',
fileInput: 'domId',
resend: true, // 注意这个 resend 标记为 true,才能固定使用 oldMessage 里的 idClient
done: function(err, obj) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', obj)
}
}
}))
}
nim.previewFile({
type: 'image',
fileInput: fileInput,
uploadprogress: function(obj) {
console.log('文件总大小: ' + obj.total + 'bytes');
console.log('已经上传的大小: ' + obj.loaded + 'bytes');
console.log('上传进度: ' + obj.percentage);
console.log('上传进度文本: ' + obj.percentageText);
},
done: function(error, file) {
console.log('上传image' + (!error?'成功':'失败'));
// show file to the user
if (!error) {
var msg = nim.sendFile({
scene: 'p2p',
to: 'account',
file: file,
done: sendMsgDone
});
console.log('正在发送p2p image消息, id=' + msg.idClient);
pushMsg(msg);
}
}
})
向目标用户、目标群组或目标超大群发送地理位置消息。
该接口直接返回的是 sending 状态的未完成消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
nim.sendGeo({
scene: 'p2p',
to: 'account',
//接收方通过onMsg接收消息
//然后如果msg.type === 'geo',接收方通过读取msg.geo,然后调用业务代码
geo: {
lng: 116.3833,
lat: 39.9167,
title: 'Beijing'
},
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
发送单聊消息的已读回执。
单聊场景下,用户B 收到 用户A 发送的消息后,将消息标注为已读。
已读回执分有两种接收方式:
调用该 API 后,可触发已读回执接收方的 NIMGetInstanceOptions.onupdatesessions 回调。
待发回执的消息。
群消息接收发送消息已读回执。发送方如果在线且已在初始化时注册 onTeamMsgReceipt ,会收到群消息已读的通知
注意,发送者必须设置needMsgReceipt = true,接收者才能够发送群消息已读回执
群消息已读回执分有两种接收方式:
调用该 API 发送成功时可触发: 回执接收方的 onTeamMsgReceipt 回调。
//消息发送方
nim.sendText({
scene: 'team',
to: 'teamId',
text: "Hello",
//注意,该字段必须设置为true
needMsgReceipt: true
})
//消息接收方
nim.sendTeamMsgReceipt({
teamMsgReceipts: [{
teamId: 'teamId',
idClient: 'xxxx',
idServer: 'yyyy'
}]
})
待发回执的群消息列表。
done 回调。该回调需开发者自定义。
向目标用户、目标群组或目标超大群发送文本消息。
该接口直接返回的是 sending 状态的未完成的消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
nim.sendText({
scene: 'p2p',
to: 'account',
text: 'hello',
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
向目标用户、目标群组或目标超大群发送提示消息。提示消息主要用于会话内的通知提醒,典型业务场景包括进入群组时出现的欢迎消息和会话过程中命中敏感词后的提示等。
该接口直接返回的是 sending 状态的未完成消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
nim.sendTipMsg({
scene: 'p2p',
to: 'account',
//接收方通过onMsg接收消息
//然后如果msg.type === 'tip',接收方通过读取msg.tip,然后调用业务代码
tip: 'tip content',
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
收发消息相关接口定义