实现点赞、弹幕等自定义消息及安全审核

更新时间:2025-01-24 05:48:37

本文介绍了在实现点赞、弹幕等自定义消息功能时,如何确保消息内容的安全性。

消息类型

消息类型的定义为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)
  • 消息类型
  • 消息体
  • 安全审核
  • 避免自定义消息干扰审核内容
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等