createCustomMessage
Description
info
Create a custom message, the fields of which are defined by the developer, and the SDK is only responsible for pass-through.
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
- Unity
Function Prototype
Future<Message> createCustomMessage({
required String data,
required String extension,
required String description,
String? operationID,
})
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| data | String | Yes | Text content |
| extension | String | No | Extension content |
| description | String | No | Description content |
Return Result
| Name | Type | Description |
|---|---|---|
| ~ | Message | Success return |
Code Example
Message msg = await OpenIM.iMManager.messageManager.createCustomMessage(
data: jsonEncode({'key1':'value1'}),
extension: '',
description: ''
);
//todo
Function Prototype
+ (OIMMessageInfo *)createCustomMessage:(NSString *)data
extension:(NSString * _Nullable)extension
description:(NSString * _Nullable)description;
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| data | NSString | Yes | Text content |
| extension | NSString | No | Extension content |
| description | NSString | No | Description content |
Return Result
| Name | Type | Description |
|---|---|---|
| message | OIMMessageInfo | Success return |
Code Example
OIMMessageInfo *message = [OIMMessageInfo createCustomMessage:@""
extension:@""
description:@""];
Function Prototype
public Message createCustomMessage(String data, String extension, String description)
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| data | String | Yes | Text content |
| extension | String | No | Extension content |
| description | String | No | Description content |
Return Result
| Name | Type | Description |
|---|---|---|
| ~ | Message | Success return |
Code Example
Message Message= OpenIMClient.getInstance().messageManager.createCustomMessage(data, extension, description);
Function Prototype
IMSDK.createCustomMessage({
data: string;
extension: string;
description: string;
}, operationID?: string): Promise<WsResponse<MessageItem>>
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| data | String | Yes | Text content |
| extension | String | No | Extension content |
| description | String | No | Description content |
Return Result
| Parameter Name | Parameter Type | Description |
|---|---|---|
| Promise.then() | Promise<WsResponse<MessageItem>> | 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();
// use in mini program
// import { getSDK } from '@openim/client-sdk';
// const IMSDK = getSDK();
IMSDK.createCustomMessage({
data: '',
extension: '',
description: '',
})
.then(({ data }) => {
// Call successful
})
.catch(({ errCode, errMsg }) => {
// Call failed
});
Function Prototype
IMSDK.asyncApi('createCustomMessage', operationID: string, {
data: string;
extension: string;
description: string;
}): Promise<MessageItem>
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| operationID | string | Yes | Operation ID, used to pinpoint issues, keep unique, prefer time+random |
| data | String | Yes | Text content |
| extension | String | No | Extension content |
| description | String | No | Description content |
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<MessageItem> | Success callback |
| Promise.catch() | Promise<CatchResponse> | Failure callback |
Code Example
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('createCustomMessage', IMSDK.uuid(), {
data: '',
extension: '',
description: '',
})
.then((data) => {
// Call successful
})
.catch(({ errCode, errMsg }) => {
// Call failed
});
Function Prototype
OpenIMSDK.createCustomMessage({
data: string,
extension: string,
description: string
}, operationID?: string): Promise<MessageItem>
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| data | String | Yes | Text content |
| extension | String | Yes | Extension content |
| description | String | Yes | Description content |
| operationID | string | No | Operation ID, used to pinpoint issues, keep unique, prefer time+random |
Return Result
| Parameter Name | Parameter Type | Description |
|---|---|---|
| Promise.then() | Promise<MessageItem> | Success callback |
| Promise.catch() | Promise<OpenIMApiError> | Failure callback |
Code Example
import OpenIMSDK from "@openim/rn-client-sdk";
OpenIMSDK.createCustomMessage({
data: '',
extension: '',
description: '',
})
.then((data) => {
// Call successful
})
.catch((error) => {
// Call failed
});
Function Prototype
public static Message CreateCustomMessage(string data, string extension, string description)
Input Parameters
| Parameter Name | Parameter Type | Required | Description |
|---|---|---|---|
| data | string | Yes | Text content |
| extension | string | No | Extension content |
| description | string | No | Description content |
Return Result
| Name | Type | Description |
|---|---|---|
| ~ | Message | Success return |
Code Example
var msg = IMSDK.CreateCustomMessage(data,extension,description);