insertSingleMessageToLocalStorage
Description
info
Insert a single chat message into local storage. It is only visible on the current device and will not be synchronized to other devices.
Note
Related Callback:
onConversationChanged
Visible only on the current device.
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron
- React-Native
- Unity
Function Prototype
Future<Message> insertSingleMessageToLocalStorage({
String? receiverID,
String? senderID,
Message? message,
String? operationID,
})
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| message | Message | Yes | Message body |
| receiverID | String | Yes | Receiving message userID |
| senderID | String | Yes | Sending message userID |
Return Result
| Name | Type | Description |
|---|---|---|
| ~ | Message | Success return |
Code Example
await OpenIM.iMManager.messageManager.insertSingleMessageToLocalStorage(
receiverID: '',
senderID: '',
message: Message()
);
// todo
Function Prototype
- (void)insertSingleMessageToLocalStorage:(OIMMessageInfo *)message
recvID:(NSString *)recvID
sendID:(NSString *)sendID
onSuccess:(nullable OIMMessageInfoCallback)onSuccess
onFailure:(nullable OIMFailureCallback)onFailure;
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| message | OIMMessageInfo | Yes | Message body |
| recvID | NSString | Yes | Receiving message userID |
| sendID | NSString | Yes | Sending message userID |
Return Result
| Name | Type | Description |
|---|---|---|
| onSuccess | OIMMessageInfo | Success return |
| onFailure | OIMFailureCallback | Failure return |
Code Example
[OIMManager.manager insertSingleMessageToLocalStorage:
recvID:@""
sendID:@""
onSuccess:^(OIMMessageInfo * _Nullable message) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
Function Prototype
public void insertSingleMessageToLocalStorage(OnBase<String> base, Message message, String receiver, String sender)
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| base | OnBase<String> | Yes | Callback interface |
| message | Message | Yes | Message body |
| receiverID | String | Yes | Receiving message userID |
| senderID | String | Yes | Sending message userID |
Code Example
OpenIMClient.getInstance().messageManager.insertSingleMessageToLocalStorage(new OnBase<AdvancedMessage>() {
public void onError(int code, String error) {
}
public void onSuccess(AdvancedMessage data) {
}
}, message, receiver, sender);
// todo
Function Prototype
IMSDK.insertSingleMessageToLocalStorage({
message: MessageItem;
recvID: string;
sendID: string;
}, operationID?: string): Promise<WsResponse>
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| message | MessageItem | Yes | Message body |
| recvID | string | Yes | Receiving message userID |
| sendID | string | Yes | Sending message userID |
Return Result
| Parameter Name | Parameter Type | Description |
|---|---|---|
| Promise.then() | Promise<WsResponse> | Success callback |
| Promise.catch() | Promise<WsResponse> | Failure callback |
Code Example
import { getSDK } from '@openim/wasm-client-sdk';
const IMSDK = getSDK();
// use in electron with ffi
// import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
// const { instance: IMSDK } = getWithRenderProcess();
IMSDK.insertSingleMessageToLocalStorage({
message: {
// MessageItem
...
};
recvID: "",
sendID: "",
})
.then(({ data }) => {
// Call successful
})
.catch(({ errCode, errMsg }) => {
// Call failed
});
Function Prototype
IMSDK.asyncApi('insertSingleMessageToLocalStorage', operationID: string,{
message: MessageItem;
recvID: string;
sendID: string;
}): Promise<void>
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| operationID | string | Yes | Operation ID, used to pinpoint issues, keep unique, prefer time+random |
| message | MessageItem | Yes | Message body |
| recvID | string | Yes | Receiving message userID |
| sendID | string | Yes | Sending message userID |
Return Result
Use the
openim-uniapp-polyfillpackage to make the function Promise. When calling, you need to usethenandcatchto determine and handle success and failure callbacks.
| Parameter Name | Parameter Type | Description |
|---|---|---|
| Promise.then() | Promise<void> | Success callback |
| Promise.catch() | Promise<CatchResponse> | Failure callback |
Code Example
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi(
'insertSingleMessageToLocalStorage',
IMSDK.uuid(),
{
message: {
// MessageItem
...
};
recvID: "",
sendID: "",
}
)
.then((data) => {
// Call successful
})
.catch(({ errCode, errMsg }) => {
// Call failed
});
Function Prototype
OpenIMSDK.insertSingleMessageToLocalStorage({
message: MessageItem;
recvID: string;
sendID: string;
},operationID?: string): Promise<void>
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| operationID | string | No | Operation ID, used to pinpoint issues, keep unique, prefer time+random |
| message | MessageItem | Yes | Message body |
| recvID | string | Yes | Receiving message userID |
| sendID | string | Yes | Sending message userID |
Return Result
| Parameter Name | Parameter Type | Description |
|---|---|---|
| Promise.then() | Promise<void> | Success callback |
| Promise.catch() | Promise<OpenIMApiError> | Failure callback |
Code Example
import OpenIMSDK from "@openim/rn-client-sdk";
OpenIMSDK.insertSingleMessageToLocalStorage({
message: {
// MessageItem
...
},
recvID: "",
sendID: "",
})
.then((data) => {
// Call successful
})
.catch((error) => {
// Call failed
});
Function Prototype
public static void InsertSingleMessageToLocalStorage(OnBase<Message> cb, Message message, string recvId, string sendId)
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| cb | OnBase<Message> | Yes | Callback interface |
| message | Message | Yes | Message body |
| receiverId | string | Yes | Receiving message userID |
| senderId | string | Yes | Sending message userID |
Code Example
IMSDK.InsertSingleMessageToLocalStorage((msg,errCode,errMsg)=>{
}, message, receiverId, senderId);