怎么从融云服务器端发送消息,融云开发者文档

# 什么是 targetId ?

说明: targetId 为目标 id,senderUserId 为发送方 id

举例: user1 为发送方,user2 为接收方,对应 targetId 值如下:

user1(发送方): 会话类型 targetId senderUserId 单聊 user2 user1

群聊 群组 id user1

聊天室 聊天室 id user1

user2(接收方): 会话类型 targetId senderUserId 单聊 user1 user1

群聊 群组 id user1

聊天室 聊天室 id user1

# 融云内置消息有哪些 ?

内置消息以及对应消息结构汇总: 内置消息

# 什么时候使用自定义消息 ?

当融云的内置消息无法满足开发者产品需求时,开发者可使用自定义消息

比如: 客户需实现分享名片功能,则可定义 CardMessage,代表名片消息。以 Web 2.x 注册消息为例,代码如下

# 如何限制只有好友之间才能互发消息 ?

好友关系由开发者应用服务器自行维护。融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验

开发者得到 userId 后即可发送消息,例如: A 发送消息给 B,只需要把 B 的 userId 传给融云服务即可

这样易用的设计可以使开发者高度自由集成自己业务,无需关心和融云的数据同步、安全问题,但如果 userId 如果泄漏,岂不是可以越过开发者的好友关系向任意用户发送消息 ? 针对此情况可采用: 单聊用户白名单服务

单聊用户白名单关系是双向的,只有将对方加入自己的白名单,对方才能送消息给自己,反之一样

例如:

开通单聊用户白名单后 A、B 之间互发消息

1、A 需要添加 B 到 A 的用户白名单中

2、B 需要添加 A 到 B 的用户白名单中

经过以上两步后方可互发消息,解决 userId 泄漏导致非好友之间可任意发送消息

注意: 用户白名单开通后,用户黑名单将实效,需要将黑名单用户数据转换至用户白名单中

功能使用:

1、申请开通功能,提交工单提申请,操作路径:融云开发者后台 -> 技术支持 -> 创建工单 ,开发者后台地址: https://developer.rongcloud.cn

2、设置用户白名单需要开发者的服务器来调用,详细可参考 Server API

# 如何拒绝接收某用户的消息 ?

单聊场景下,如果不想收到某用户的消息,可把此用户加入黑名单中,黑名单中用户无法给当前用户发送消息

例如:

1、用户 B 在用户 A 的黑名单中,用户 A 没有在用户 B 的黑名单中,则用户 B 无法给用户 A 发送单聊消息,用户 A 可以给用户 B 发送单聊消息

2、用户 A 和用户 B 都在对方的黑名单中,则用户 A 和用户 B 无法相互发送消息

3、用户 A 和用户 B 都不在对方黑名单中,则可相互发送消息

注: 黑名单功能不需开通即可使用

# Android 退到后台,却没有弹出通知怎么办 ?

请按以下步骤排查:

1、有没有正确设置用户信息? 如果该消息的发送者,在会话列表页面能正确的显示昵称和头像,则说明用户信息设置没有问题。否则,请先完善用户信息提供者

2、有没有多端登录?如果有,其他端先退出再进行测试

3、有没有设置消息免打扰?新消息提醒有没有关闭?如果有,则需要先关闭上述功能再进行测试

4、参考 远端推送提醒,确认有没有自定义一个继承自融云 PushMessageReceiver 的广播接收器

5、如果都不是上面的原因,需提工单(opens new window)。并提供应用 从启动开始到接受后台消息 这个过程的日志输出

# 自定义消息样式是否可以修改 ?

可以,例如自定义了一类活动报名消息,用户收到消息后点击报名按钮,消息 Cell 上的“去报名”按钮会变为“已报名”,类似需求请参考 知识库(opens new window) 实现即可

可以调用 RongIM.getInstance().setMessageExtra 来设置点击之后的状态,然后调用 RongContext.getInstance().getEventBus().post(message),来刷新界面,同时,发送自定义消息来通知发送者,是发送者也更新状态,来修改红包状态;

# 接受不到消息怎么办 ?

1、确认 SDK 已经初始化,并且已经连接成功(走了 connect 成功回调)

2、排查发送端的发送消息填入的 targetId 是否是您的接收消息用户的 userId

3、可提供 AppKey、发送用户 id、接收用户 id、发送时间、消息 messageUId,提工单(opens new window)排查

# 消息如何显示已读或未读 ?

需要开启已读回执功能 针对单聊会话,如果对方阅读了文本消息,发送方会在消息左边看到一个对勾图标,如需将图标更改为文字“已读”、“未读”,请参考 知识库(opens new window) 实现即可

开启 rc_config.xml 消息回执开关

另外,请在 init 之后调用下面方法来设置支持消息回执的会话类型。目前只支持 PRIVATE,GROUP 和 DISCUSSION 三种类型。

自定义消息模板 ProviderTag 上需要标识

# 消息的气泡是否可以更换 ?

可以,直接替换 RongCloud.bundle 中对应的资源图片即可

替换资源图片中的 rc_ic_bubble_left_file.9.png 、rc_ic_bubble_right_file.9.png 。

# 长按消息是否可以多选?

可以,从 SDK 2.9.0 版本后开始支持消息长按多选功能,默认实现多选消息删除功能,也可以增加自定义功能,请参考 知识库(opens new window) 实现即可

请参考 文档 实现即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值