我们的游戏使用 SDK 版本 v3.8.2

我已经在后台启用了屏蔽字。
比如: "NPC" 是屏蔽字。

  1. 对于A用户发送屏蔽字,其他用户收到的都是星号,这个没有问题。
  2. 对于用户A,重新登录,拉取历史消息,自己曾经发过的屏蔽字,也是星号,这个也没有问题。
  3. 但是对于A用户,在发送屏蔽字后,sendMessage 的结果中,屏蔽字并不是星号:

AVIMTextMessage* message = [AVIMTextMessage messageWithText:@"NPC" attributes:attr];

[conversation sendMessage:message callback:^(BOOL succeeded, NSError *error) {
    // 这里的 message.text 还是 NPC 
    // 如果是拉取历史消息获取这条消息的话, message.text 就是 ** 了
}];

这就导致了在聊天的时候,用户发出了屏蔽字,自己看到的还是屏蔽字。

因为游戏版署审核的时候,对于自己发出的屏蔽字,自己看到还是屏蔽字是不可能放过的。

由于屏蔽字比较大,如果客户端对于自己发送的消息,再做一次屏蔽字二次过滤的话,会影响效率,尽量不希望这么做。

想问下这个有什么比较好的处理方法。谢谢 smile

你好,主要是自己发出的消息自己并不会重复收到,否则会浪费不少流量。
实在要对自己也过滤的话,我建议要不发送消息前先去请求一个接口过滤一下,然后把过滤的结果发出来吧

看来只能这么做了,只是这样一来,相当于自己做屏蔽字的过滤,官方SDK的屏蔽字过滤功能就不需要了。