本文介绍了在实现点赞、弹幕等自定义消息功能时,如何确保消息内容的安全性。
消息类型
消息类型的定义为int
,客户可以根据业务需要,灵活使用消息类型。
消息类型必须为正整数。在执行消息查询或回放操作时,若未指定具体的消息类型或将其设置为0,则系统将默认检索所有类型的消息。
例如,可以将10001定义为“点赞”,10002定义为“礼物”,10003定义为观众发送的“弹幕”内容。通过这种分类方法,可以实现对各类互动消息的精确分类和高效处理。
消息体
消息体被定义为字符串类型(String),客户可以根据自身业务需求灵活使用消息体。当客户端接收到消息时,这些消息同样以字符串的形式存在,之后SDK会将该消息回调给具体的业务处理逻辑,详情请参见监听消息。例如,可以传递如下格式的JSON内容作为消息体。
{
"flashurl":"xxxxxxxx",
"name":"大航海",
"xxxx":"xxxxxxxxx",
"backimg":"xxxxxxxxx",
...
}
安全审核
服务端通过OpenAPI发送的消息将不会经过安全审核流程。
客户端发送的消息,如果未设置跳过安全审核,并且在应用程序初始化时已选择启用安全审核功能,则这些消息将会被提交至安全审核服务进行审核。
安全审核会产生一定的费用。建议仅对用户输入的内容进行安全审核,对于礼物赠送、点赞等内容,设置为跳过安全审核。
若消息未通过安全审核,系统会将审核结果反馈给发送方,并触发客户端
onFailure
回调,通知消息发送失败且未通过审核。ImSendMessageToGroupReq req = new ImSendMessageToGroupReq(); /** * 设置消息等级,默认是普通消息ImMessageLevel.NORMAL,可接受消息丢失,如弹幕等; * 若是高优消息,可设置为ImMessageLevel.HIGH,提高消息可靠性; */ req.level = ImMessageLevel.NORMAL; req.type = 88888; req.data = "a test"; req.groupId = groupId; // 需确保已经加入群成功(即在AliVCIMGroupInterface.joinGroup回调成功之后),再发送群组消息,否则会返回错误码425 messageInterface.sendGroupMessage(req, new ImSdkValueCallback<ImSendMessageToGroupRsp>() { @Override public void onSuccess(ImSendMessageToGroupRsp data) { Log.v(ImTag.TAG, "发送群消息成功:" + data.messageId); } @Override public void onFailure(Error error) { Log.v(ImTag.TAG, "发送群消息失败" + error.code); } });
避免自定义消息干扰审核内容
JSON字符串包含了很多其他信息,例如超链接等,这些信息可能会被安全审核服务判断为恶意广告等内容。客户端的消息发送接口提供了额外的安全审核内容字段。通过为该字段赋值,实现审核内容与发送内容的分离。
例如:待审核用户发送的消息内容为hello
,发送的JSON内容如下所示。
{
"xxxx":"xxxxxxxxx",
"backimg":"xxxxxxxxx",
"content":"hello",
...
}
该文章对您有帮助吗?
- 本页导读 (1)
- 消息类型
- 消息体
- 安全审核
- 避免自定义消息干扰审核内容