日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

融云发送图片消息_发送消息

發布時間:2023/11/27 生活经验 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 融云发送图片消息_发送消息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發送消息

文本消息?

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);

總結

以上是生活随笔為你收集整理的融云发送图片消息_发送消息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。