发送消息

文本消息¶

import { sendMessage, ConversationType, ObjectName } from "rongcloud-react-native-imlib";

const conversationType = ConversationType.PRIVATE;

const targetId = "userId"; // 根据会话类型的不同,可以是用户 ID、讨论组 ID、组群 ID 等

const content = { objectName: ObjectName.Text, content: "这是一个文本消息" };

const callback = {

success(messageId) {

console.log("发送成功:" + messageId);

},

error(errorCode) {

console.log("发送失败:" + errorCode);

}

};

sendMessage({ conversationType, targetId, content }, callback);

图片消息¶

import { sendMediaMessage, cancelSendMediaMessage, ObjectName } from "rongcloud-react-native-imlib";

const content = { objectName: ObjectName.Image, local: "file:///image_path" };

const callback = {

success(messageId) {

console.log("发送成功:" + messageId);

},

progress(progress, messageId) {

console.log(`发送进度: ${progress} %`);

// 消息发送过程中可随时取消发送

cancelSendMediaMessage(messageId);

},

cancel() {

console.log("发送取消");

},

error(errorCode) {

console.log("发送失败:" + errorCode);

}

};

sendMediaMessage({ conversationType, targetId, content }, callback);

文件消息¶

import { sendMediaMessage, ObjectName } from "rongcloud-react-native-imlib";

const content = { objectName: ObjectName.File, local: "file:///image_path" };

sendMediaMessage({ conversationType, targetId, content }, callback);

位置消息¶

import { sendMessage, ObjectName } from "rongcloud-react-native-imlib";

const content = {

objectName: ObjectName.Location,

latitude: 34,

longitude: 108,

name: "海龙大厦",

thumbnail: "http://example.com/thum.jpg"

};

sendMessage({ conversationType, targetId, content }, callback);

语音消息¶

融云 React Native SDK 不提供语音录制、转码功能,开发者需要自已实现语音消息录制、转码,通过融云内置的语音消息进行发送。

import { sendMessage, ObjectName } from "rongcloud-react-native-imlib";

const content = {

objectName: ObjectName.Voice,

data: "audio raw data", // iOS 使用二进制数据的方式发送

local: "audio path", // Android 使用文件方式发送

duration: 9 // 语音持续时间,单位:秒

};

sendMessage({ conversationType, targetId, content }, callback);

输入状态消息¶

您可以在用户正在输入的时候,向对方发送正在输入的状态。目前该功能只支持单聊。

其中,您可以在 typingContentType 中传入消息的类型名,会话中的其他用户输入状态监听中会收到此消息类型。

您可以通过此消息类型,自定义不同的输入状态提示(如:正在输入、正在讲话、正在拍摄等)。

在 6 秒之内,如果同一个用户在同一个会话中多次调用此接口发送正在输入的状态,为保证产品体验和网络优化,将只有最开始的一次生效。

import { sendTypingStatus } from "rongcloud-react-native-imlib";

sendTypingStatus(conversationType, targetId, typingContentType);

在接收端,您可以设置输入状态的监听器。

当前会话正在输入的用户有变化时,会触发监听中的 onTypingStatusChanged(),回调里携带有当前正在输入的用户和消息类型。

对于单聊而言,当对方正在输入时,监听会触发一次;当对方不处于输入状态时,该监听还会触发一次,但是回调里并不携带用户和消息类型,开发者需要在此时取消正在输入的显示。

import { addTypingStatusListener } from "rongcloud-react-native-imlib";

addTypingStatusListener(({ conversationType, targetId, userId, typingContentType }) => {

if (userId) {

console.log("用户输入状态:" + typingContentType);

} else {

console.log("用户不再输入");

}

});

群组定向消息¶

此方法用于在群组中给部分用户发送消息,其它用户不会收到这条消息,建议向群中部分用户发送状态类消息时使用此功能。

注:群定向消息不存储到云端,通过“单群聊消息云存储”服务无法获取到定向消息。

import { sendDirectionalMessage, ObjectName } from "rongcloud-react-native-imlib";

const conversationType = ConversationType.PRIVATE;

const targetId = "groupId"; // 只能是组群 ID

const content = { objectName: ObjectName.Text, content: "Hello" };

const callback = {

success(messageId) {

console.log("发送成功:" + messageId);

},

error(errorCode) {

console.log("发送失败:" + errorCode);

}

};

const userIds = ["user1", "user2"];

sendDirectionalMessage({ conversationType, targetId, content }, userIds, callback);

发送群 @消息¶

群组中支持 @ 消息功能,满足您 @ 指定用户或 @ 所有人的需求,只需要在 MessageContent 中添加 mentionedInfo 字段。

import { sendMessage, MentionedType, ObjectName } from "rongcloud-react-native-imlib";

const content = {

objectName: ObjectName,

content: "Hello",

mentionedInfo: {

type: MentionedType.PART, // @ 指定的用户

userIdList: ["userId"]

}

};

sendMessage({ conversationType, targetId, content }, callback);

收到 @ 消息时,在 Conversation 里的 hasUnreadMentioned 会被设为 true。

const conversation = await getConversation(conversationType, targetId);

console.log(conversation.hasUnreadMentioned);

您可以用 getUnreadMentionedMessages 获取会话里所有未读 @ 消息

import { getUnreadMentionedMessages } from "rongcloud-react-native-imlib";

const messages = await getUnreadMentionedMessages(conversationType, targetId);

融云发送图片消息_发送消息相关推荐

  1. 中怎么撤回消息_微信消息撤回也能看到,这个开源神器牛x!语音、图片、文字都支持!...

    1.前言 微信在2014年的时候,发布的v5.3.1 版本中推出了消息撤回功能,用户可以选择撤回 2 分钟内发送的最后一条信息. 现在很多即时通讯的软件都有撤回这个功能. 腾讯为了照顾手残党,在微信和 ...

  2. android 融云 + 科大讯飞 实现仿微信语音消息转换为文字(附DEMO源码)

    融云SDK 使用很方便,简单配置就可以搭建即时通讯功能,配合科大讯飞的语音识别, 即可实现微信中语音消息转换为文字的功能 融云sdk的基本使用就不细说了, 网上很多资料 使用融云sdk自带的聊天会话界 ...

  3. Android 融云单聊与群聊消息免打扰功能设置与消息删除功能实现

    一.设置群聊与单聊消息免打扰功能: 1.下面直接进入逻辑代码: 实现监听事件: /*** 设置会话列表界面操作的监听器.*/RongIM.setConversationListBehaviorList ...

  4. 融云利用自定义消息的方式发送自定义表情

    1,自定义消息应在 init 后注册: RongIM.registerMessageType(CustomizeMessage.class); RongIM.getInstance().registe ...

  5. rocketmq支持最大消息_分布式消息引擎Apache RocketMQ最佳实践

    1 Producer一个应用尽可能用一个Topic,消息子类型用tags来标识,tags可以由应用自由设置 只有发送消息设置了tags,消费方在订阅消息时,才可以利用tags在broker做消息过滤 ...

  6. rabbitmq接收不到消息_分布式消息队列:如何保证消息的可靠性传输

    rabbitmq (1)生产者弄丢了数据 生产者将数据发送到rabbitmq的时候,可能数据就在半路给搞丢了,因为网络啥的问题,都有可能. 此时可以选择用rabbitmq提供的事务功能,就是生产者发送 ...

  7. 发送图片微博_微博引流之(实时号养成内幕解析)!

    关于微博实时号! 整理了最近新加小伙伴问了最多的问题! 由于过于基础,就在这统一回复吧! 实时号怎么养? 先给大家科普一下什么是实时号,微博实时号指的是,你发的内容别人在搜索关键词或者某句话的时候,能 ...

  8. java发送图片邮件_使用javamail发送包含图片的html格式邮件详解

    使用JavaMail可以很方便的发送html格式的邮件,只需要将content-type设置为"text/html"即可.要在邮件中包含图片简单办法是使用image标签,src指向 ...

  9. 融云客服获取未读消息

    比较极客的我们 能动手的尽量少BB 这里主要介绍两个API getUnreadCount setOnReceiveMessageListener 思路:为 setOnReceiveMessageLis ...

最新文章

  1. node.js php模板,node.js中EJS 模板的使用教程
  2. 常用排序算法 - 稳定性和复杂度分析
  3. 面试旧敌之红黑树(直白介绍深入理解)
  4. Android工程模块化平台的设计
  5. python中错误和异常处理
  6. 业务随行:用户的网络访问策略还能这么玩
  7. Git学习总结(8)——Git和SVN之间的基本区别
  8. 3.2_栈_链式存储结构(链表形式)
  9. Ubuntu、CentOS、redHat的区别与联系
  10. 2022-07-08 Unity Json2——LitJson
  11. unity三维地球实现方法
  12. Origin如何绘出带有时间轴的趋势图
  13. lg-1 x 怎么算_【言情】魔鬼的体温 by 藤萝为枝 敏感自卑男主x治愈天使女主 我凭美食成为国家宝藏by 十尾兔...
  14. MSDN,我告诉你——一个很棒的工具站
  15. oop-klass_在PHP和MySQL中处理时间和日期-OOP版本
  16. win10python安装配置selenium
  17. 分享添加字幕最简单的方法 视频制作超简单
  18. DRM系列(7)之drmModeAtomicCommit底层流程
  19. 登录服务器虚拟控制台,服务器控制台登录类
  20. 【2023最新】超详细图文保姆级教程:App开发新手入门(1)

热门文章

  1. Minkowski修剪
  2. 激光雷达Lidar Architecture and Lidar Design(上)
  3. TensorRT IRNNv2Layer
  4. 多尺度注意力机制的语义分割
  5. 标题 相机标定(Camera calibration)原理和步骤
  6. [JS] 事件冒泡,阻止事件冒泡,事件的三个阶段(捕获,目标,冒泡)
  7. Android运行时候报错:android.view.InflateException: Binary XML file line #19: Binary XML file lin
  8. CodeForces 375D Tree and Queries
  9. 把自己分支的内容合并到主分支上
  10. 2022-2028年中国车载天线行业市场前瞻与投资战略规划分析报告