文档捉虫大赛:大数据专题> HOT

IM SDK 事件回调

TIMRecvNewMsgCallback

新消息回调。
原型
typedef void (*TIMRecvNewMsgCallback)(const char* json_msg_array, const void* user_data);
参数
参数
类型
含义
json_msg_array
const char*
新消息数组
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
说明
此回调可以获取新接收的消息数组。注意消息内的元素也是一个数组。每个元素的定义由elem_type字段决定。
示例一、消息数组解析示例
Json::Value json_value_msgs; // 解析消息
Json::Reader reader;
if (!reader.parse(json_msg_array, json_value_msgs)) {
printf("reader parse failure!%s", reader.getFormattedErrorMessages().c_str());
return;
}
for (Json::ArrayIndex i = 0; i < json_value_msgs.size(); i++) { // 遍历 Message
Json::Value& json_value_msg = json_value_msgs[i];
Json::Value& elems = json_value_msg[kTIMMsgElemArray];
for (Json::ArrayIndex m = 0; m < elems.size(); m++) { // 遍历 Elem
Json::Value& elem = elems[i];

uint32_t elem_type = elem[kTIMElemType].asUInt();
if (elem_type == TIMElemType::kTIMElem_Text) { // 文本

} else if (elem_type == TIMElemType::kTIMElem_Sound) { // 声音

} else if (elem_type == TIMElemType::kTIMElem_File) { // 文件

} else if (elem_type == TIMElemType::kTIMElem_Image) { // 图片

} else if (elem_type == TIMElemType::kTIMElem_Custom) { // 自定义元素

} else if (elem_type == TIMElemType::kTIMElem_GroupTips) { // 群组系统消息

} else if (elem_type == TIMElemType::kTIMElem_Face) { // 表情

} else if (elem_type == TIMElemType::kTIMElem_Location) { // 位置

} else if (elem_type == TIMElemType::kTIMElem_GroupReport) { // 群组系统通知

} else if (elem_type == TIMElemType::kTIMElem_Video) { // 视频

}
}
}
示例二、返回一个文本消息的 JSON 示例。JSON Key 请参考 MessageTextElem
[
{
"message_client_time" : 1551080111,
"message_conv_id" : "user2",
"message_conv_type" : 1,
"message_elem_array" : [
{
"elem_type" : 0,
"text_elem_content" : "123213213"
}
],
"message_is_from_self" : true,
"message_is_read" : true,
"message_rand" : 2130485001,
"message_sender" : "user1",
"message_seq" : 1,
"message_server_time" : 1551080111,
"message_status" : 2
}
]
示例三、返回一个群通知消息的 JSON 示例。JSON Key 请参考 MessageGroupReportElem
[
{
"message_client_time" : 1551344977,
"message_conv_id" : "",
"message_conv_type" : 3,
"message_elem_array" : [
{
"elem_type" : 9,
"group_report_elem_group_id" : "first group id",
"group_report_elem_group_name" : "first group name",
"group_report_elem_msg" : "",
"group_report_elem_op_group_memberinfo" : {
"group_member_info_custom_info" : {},
"group_member_info_identifier" : "user1",
"group_member_info_join_time" : 0,
"group_member_info_member_role" : 0,
"group_member_info_msg_flag" : 0,
"group_member_info_msg_seq" : 0,
"group_member_info_name_card" : "",
"group_member_info_shutup_time" : 0
},
"group_report_elem_op_user" : "",
"group_report_elem_platform" : "Windows",
"group_report_elem_report_type" : 6,
"group_report_elem_user_data" : ""
}
],
"message_is_from_self" : false,
"message_is_read" : true,
"message_rand" : 2207687390,
"message_sender" : "@TIM#SYSTEM",
"message_seq" : 1,
"message_server_time" : 1551344977,
"message_status" : 2
}
]
示例四、返回一个群提示消息的 JSON 示例。JSON Key 请参考 MessageGroupTipsElem
[
{
"message_client_time" : 1551412814,
"message_conv_id" : "first group id",
"message_conv_type" : 2,
"message_elem_array" : [
{
"elem_type" : 6,
"group_tips_elem_changed_group_memberinfo_array" : [],
"group_tips_elem_group_change_info_array" : [
{
"group_tips_group_change_info_flag" : 10,
"group_tips_group_change_info_value" : "first group name to other name"
}
],
"group_tips_elem_group_id" : "first group id",
"group_tips_elem_group_name" : "first group name to other name",
"group_tips_elem_member_change_info_array" : [],
"group_tips_elem_member_num" : 0,
"group_tips_elem_op_group_memberinfo" : {
"group_member_info_custom_info" : {},
"group_member_info_identifier" : "user1",
"group_member_info_join_time" : 0,
"group_member_info_member_role" : 0,
"group_member_info_msg_flag" : 0,
"group_member_info_msg_seq" : 0,
"group_member_info_name_card" : "",
"group_member_info_shutup_time" : 0
},
"group_tips_elem_op_user" : "user1",
"group_tips_elem_platform" : "Windows",
"group_tips_elem_time" : 0,
"group_tips_elem_tip_type" : 6,
"group_tips_elem_user_array" : []
}
],
"message_is_from_self" : false,
"message_is_read" : true,
"message_rand" : 1,
"message_sender" : "@TIM#SYSTEM",
"message_seq" : 1,
"message_server_time" : 1551412814,
"message_status" : 2
},
]

TIMMsgReadedReceiptCallback

消息已读回执回调。
原型
typedef void (*TIMMsgReadedReceiptCallback)(const char* json_msg_readed_receipt_array, const void* user_data);
参数
参数
类型
含义
json_msg_readed_receipt_array
const char*
消息已读回执数组
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例
void MsgReadedReceiptCallback(const char* json_msg_readed_receipt_array, const void* user_data) {
Json::Value json_value_receipts;
Json::Reader reader;
if (!reader.parse(json_msg_readed_receipt_array, json_value_receipts)) {
// JSON 解析失败
return;
}

for (Json::ArrayIndex i = 0; i < json_value_receipts.size(); i++) {
Json::Value& json_value_receipt = json_value_receipts[i];

std::string convid = json_value_receipt[kTIMMsgReceiptConvId].asString();
uint32_t conv_type = json_value_receipt[kTIMMsgReceiptConvType].asUInt();
uint64_t timestamp = json_value_receipt[kTIMMsgReceiptTimeStamp].asUInt64();

// 消息已读逻辑
}
}

TIMMsgRevokeCallback

接收的消息被撤回回调。
原型
typedef void (*TIMMsgRevokeCallback)(const char* json_msg_locator_array, const void* user_data);
参数
参数
类型
含义
json_msg_locator_array
const char*
消息定位符数组
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例
void MsgRevokeCallback(const char* json_msg_locator_array, const void* user_data) {
Json::Value json_value_locators;
Json::Reader reader;
if (!reader.parse(json_msg_locator_array, json_value_locators)) {
// JSON 解析失败
return;
}
for (Json::ArrayIndex i = 0; i < json_value_locators.size(); i++) {
Json::Value& json_value_locator = json_value_locators[i];

std::string convid = json_value_locator[kTIMMsgLocatorConvId].asString();
uint32_t conv_type = json_value_locator[kTIMMsgLocatorConvType].asUInt();
bool isrevoke = json_value_locator[kTIMMsgLocatorIsRevoked].asBool();
uint64_t time = json_value_locator[kTIMMsgLocatorTime].asUInt64();
uint64_t seq = json_value_locator[kTIMMsgLocatorSeq].asUInt64();
uint64_t rand = json_value_locator[kTIMMsgLocatorRand].asUInt64();
bool isself = json_value_locator[kTIMMsgLocatorIsSelf].asBool();

// 消息撤回逻辑
}
}

TIMMsgExtensionsChangedCallback

消息扩展信息更新回调。
原型
typedef void (*TIMMsgExtensionsChangedCallback)(const char* message_id, const char* json_message_extension_array, const void* user_data);
参数
参数
类型
含义
message_id
const char*
消息 ID
json_message_extension_array
const char*
扩展信息列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例: json_message_extension_array 示例
[
{
"message_extension_key":"extension_key_1",
"message_extension_value":"extension_value_1"
},
{
"message_extension_key":"extension_key_2",
"message_extension_value":"extension_value_2"
}
]

TIMMsgExtensionsDeletedCallback

消息扩展信息删除回调
原型
typedef void (*TIMMsgExtensionsDeletedCallback)(const char* message_id, const char* json_message_extension_key_array, const void* user_data);
参数
参数
类型
含义
message_id
const char*
消息 ID
json_message_extension_key_array
const char*
扩展信息的关键字列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例: json_message_extension_key_array 示例
[
{
"message_extension_key":"extension_key_1",
}
]

TIMMsgReactionsChangedCallback

消息回应信息更新回调
原型
typedef void (*TIMMsgReactionsChangedCallback)(const char* message_reaction_change_info_array, const void* user_data);
参数
参数
类型
含义
message_reaction_change_info_array
const char*
消息回应信息变更列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例: message_reaction_change_info_array 示例
[
    {
        "message_reaction_change_info_msg_id":"12345678910-1689942227-1328217716",
        "message_reaction_change_info_reaction_list":[
            {
                "message_reaction_id":"emoji1",
                "message_reaction_total_user_count":1,
                "message_reaction_user_info_array":[
                    {
                        "user_profile_face_url":"www.google.com",
                        "user_profile_identifier":"kkkm",
                        "user_profile_nick_name":"mizore",
                    }
                ]
            }
        ]
    }
]

TIMMsgElemUploadProgressCallback

消息内元素相关文件上传进度回调。
原型
typedef void (*TIMMsgElemUploadProgressCallback)(const char* json_msg, uint32_t index, uint32_t cur_size, uint32_t total_size, const void* user_data);
参数
参数
类型
含义
json_msg
const char*
新消息
index
uint32_t
上传Elem元素在json_msg消息的下标
cur_size
uint32_t
上传当前大小
total_size
uint32_t
上传总大小
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例
void MsgElemUploadProgressCallback(const char* json_msg, uint32_t index, uint32_t cur_size, uint32_t total_size, const void* user_data) {
Json::Value json_value_msg;
Json::Reader reader;
if (!reader.parse(json_msg, json_value_msg)) {
// JSON 解析失败
return;
}
Json::Value& elems = json_value_msg[kTIMMsgElemArray];
if (index >= elems.size()) {
// index 超过消息元素个数范围
return;
}
uint32_t elem_type = elems[index][kTIMElemType].asUInt();
if (kTIMElem_File == elem_type) {

}
else if (kTIMElem_Sound == elem_type) {

}
else if (kTIMElem_Video == elem_type) {

}
else if (kTIMElem_Image == elem_type) {

}
else {
// 其他类型元素不符合上传要求
}
}

TIMGroupAttributeChangedCallback

群属性变更回调。
原型
typedef void (*TIMGroupAttributeChangedCallback)(const char *group_id, const char* json_group_attribute_array, const void* user_data);
参数
参数
类型
含义
group_id
const char*
群 ID
json_group_attribute_array
const char*
群提示列表
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
示例: json_group_attribute_array 示例
[
{
"group_attribute_key":"attribute_key1",
"group_attribute_value":"attribute_value1"
}
]

TIMGroupCounterChangedCallback

群计数器变更的回调。
原型
typedef void (*TIMGroupCounterChangedCallback)(const char *group_id, const char *group_counter_key, int64_t group_counter_new_value, const void *user_data);
参数
参数
类型
含义
group_id
const char*
群组 ID
group_counter_key
const char*
变更的群计数器的 key
group_counter_new_value
int64_t
变更后的群计数器的 value
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理

TIMGroupTipsEventCallback

群事件回调。
原型
typedef void (*TIMGroupTipsEventCallback)(const char* json_group_tip_array, const void* user_data);
参数
参数
类型
含义
json_group_tip_array
const char*
群提示列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理

TIMConvEventCallback

会话事件回调。
原型
typedef void (*TIMConvEventCallback)(enum TIMConvEvent conv_event, const char* json_conv_array, const void* user_data);
参数
参数
类型
含义
conv_event
enum TIMConvEvent
会话事件类型,请参考 TIMConvEvent
json_conv_array
const char*
会话信息列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例:会话事件回调数据解析
void ConvEventCallback(TIMConvEvent conv_event, const char* json_conv_array, const void* user_data) {
Json::Reader reader;
Json::Value json_value;
if (!reader.parse(json_conv_array, json_value)) {
// JSON 解析失败
return;
}
for (Json::ArrayIndex i = 0; i < json_value.size(); i++) { // 遍历会话类别
Json::Value& convinfo = json_value[i];
// 区分会话事件类型
if (conv_event == kTIMConvEvent_Add) {

}
else if (conv_event == kTIMConvEvent_Del) {

}
else if (conv_event == kTIMConvEvent_Update) {

}
}
}

TIMConvTotalUnreadMessageCountChangedCallback

会话未读消息总数变化。
原型
typedef void (*TIMConvTotalUnreadMessageCountChangedCallback)(int total_unread_count, const void* user_data);
参数
参数
类型
含义
total_unread_count
int
未读的消息总数
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMConvTotalUnreadMessageCountChangedByFilterCallback

会话未读消息总数变化。
原型
typedef void (*TIMConvTotalUnreadMessageCountChangedByFilterCallback)(const char* filter, int total_unread_count, const void* user_data);
参数
参数
类型
含义
filter
int
获取未读总数的 filter, 详情请参考 TIMConversationListFilter
total_unread_count
int
未读的消息总数
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMNetworkStatusListenerCallback

网络状态回调。
原型
typedef void (*TIMNetworkStatusListenerCallback)(enum TIMNetworkStatus status, int32_t code, const char* desc, const void* user_data);
参数
参数
类型
含义
status
enum TIMNetworkStatus
网络状态,请参考 TIMNetworkStatus
code
int32_t
值为 ERR_SUCC 表示成功,其他值表示失败。详情请参考 错误码
desc
const char*
错误描述字符串
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例:感知网络状态的回调处理
void NetworkStatusListenerCallback(TIMNetworkStatus status, int32_t code, const char* desc, const void* user_data) {
switch(status) {
case kTIMConnected: {
printf("OnConnected ! user_data:0x%08x", user_data);
break;
}
case kTIMDisconnected:{
printf("OnDisconnected ! user_data:0x%08x", user_data);
break;
}
case kTIMConnecting:{
printf("OnConnecting ! user_data:0x%08x", user_data);
break;
}
case kTIMConnectFailed:{
printf("ConnectFailed code:%u desc:%s ! user_data:0x%08x", code, desc, user_data);
break;
}
}
}

TIMKickedOfflineCallback

被踢下线回调。
原型
typedef void (*TIMKickedOfflineCallback)(const void* user_data);
参数
参数
类型
含义
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理

TIMUserSigExpiredCallback

用户票据过期回调。
原型
typedef void (*TIMUserSigExpiredCallback)(const void* user_data);
参数
参数
类型
含义
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理

TIMOnAddFriendCallback

添加好友的回调。
原型
typedef void(*TIMOnAddFriendCallback)(const char* json_identifier_array, const void* user_data);
参数
参数
类型
含义
json_identifier_array
const char*
添加好友列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例:json_identifier_array 示例
[ "user15" ]

TIMOnDeleteFriendCallback

删除好友的回调。
原型
typedef void(*TIMOnDeleteFriendCallback)(const char* json_identifier_array, const void* user_data);
参数
参数
类型
含义
json_identifier_array
const char*
删除好友列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例:json_identifier_array 示例
[ "user15" ]

TIMUpdateFriendProfileCallback

更新好友资料的回调。
原型
typedef void(*TIMUpdateFriendProfileCallback)(const char* json_friend_profile_update_array, const void* user_data);
参数
参数
类型
含义
json_friend_profile_update_array
const char*
好友资料更新列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例:json_friend_profile_update_array 示例
[
{
"friend_profile_update_identifier" : "user4",
"friend_profile_update_item" : {
"friend_profile_item_group_name_array" : [ "group1", "group2" ],
"friend_profile_item_remark" : "New Remark"
}
}
]

TIMFriendAddRequestCallback

好友添加请求的回调。
原型
typedef void(*TIMFriendAddRequestCallback)(const char* json_friend_add_request_pendency_array, const void* user_data);
参数
参数
类型
含义
json_friend_add_request_pendency_array
const char*
好友添加请求未决信息列表
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
示例:json_friend_add_request_pendency_array 示例
[
{
"friend_add_pendency_add_source" : "AddSource_Type_android",
"friend_add_pendency_add_wording" : "aaaa",
"friend_add_pendency_identifier" : "v222",
"friend_add_pendency_nick_name" : ""
}
]

TIMFriendApplicationListDeletedCallback

好友申请删除通知。
原型
typedef void(*TIMFriendApplicationListDeletedCallback)(const char* json_identifier_array, const void* user_data);
参数
参数
类型
含义
json_identifier_array
const char*
删除好友请求的 userid 列表
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
示例: json_identifier_array 示例
[ "user15" ]

TIMFriendApplicationListReadCallback

好友申请已读通知,如果调用 setFriendApplicationRead 设置好友申请列表已读,会收到这个回调(主要用于多端同步)。
原型
typedef void(*TIMFriendApplicationListReadCallback)(const void* user_data);
参数
参数
类型
含义
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMFriendBlackListAddedCallback

黑名单新增通知。
原型
typedef void(*TIMFriendBlackListAddedCallback)(const char* json_friend_black_added_array, const void* user_data);
参数
参数
类型
含义
json_friend_black_added_array
const char*
新增黑名单列表
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
示例: json_friend_black_added_array 示例
[{
"friend_profile_add_source": "",
"friend_profile_add_time": 0,
"friend_profile_add_wording": "",
"friend_profile_custom_string_array": [{
"friend_profile_custom_string_info_key": "Tag_Profile_Custom_Str",
"friend_profile_custom_string_info_value": "test3-lamar-value"
}],
"friend_profile_group_name_array": [],
"friend_profile_identifier": "98826",
"friend_profile_remark": "",
"friend_profile_user_profile": {
"user_profile_add_permission": 1,
"user_profile_birthday": 2000,
"user_profile_custom_string_array": [{
"user_profile_custom_string_info_key": "Tag_Profile_Custom_Str",
"user_profile_custom_string_info_value": "test3-lamar-value"
}],
"user_profile_face_url": "test1-www.google.com",
"user_profile_gender": 2,
"user_profile_identifier": "98826",
"user_profile_language": 1000,
"user_profile_level": 3000,
"user_profile_location": "shenzhen",
"user_profile_nick_name": "test change8888",
"user_profile_role": 4000,
"user_profile_self_signature": "1111111"
}
}]

TIMFriendBlackListDeletedCallback

黑名单删除通知。
原型
typedef void(*TIMFriendBlackListDeletedCallback)(const char* json_identifier_array, const void* user_data);
参数
参数
类型
含义
json_identifier_array
const char*
黑名单列表
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
示例: json_identifier_array 示例
[ "user15" ]

TIMLogCallback

日志回调。
原型
typedef void (*TIMLogCallback)(enum TIMLogLevel level, const char* log, const void* user_data);
参数
参数
类型
含义
level
enum TIMLogLevel
日志级别,请参考 TIMLogLevel
log
const char*
日志字符串
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理

TIMMsgUpdateCallback

消息更新回调。
原型
typedef void (*TIMMsgUpdateCallback)(const char* json_msg_array, const void* user_data);
参数
参数
类型
含义
json_msg_array
const char*
更新的消息数组
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
说明

IM SDK 接口回调

TIMCommCallback

接口通用回调的定义。
原型
typedef void (*TIMCommCallback)(int32_t code, const char* desc, const char* json_params, const void* user_data);
参数
参数
类型
含义
code
int32_t
值为 ERR_SUCC 表示成功,其他值表示失败。详情请参考 错误码
desc
const char*
错误描述字符串
json_params
const char*
JSON 字符串,不同的接口,JSON 字符串不一样
user_data
const void*
IM SDK 负责透传的用户自定义数据,未做任何处理
说明
所有回调均需判断 code 是否等于 ERR_SUC,若不等于说明接口调用失败了,具体原因可以看 code 的值以及 desc 描述。详情请参考 错误码。以下接口的回调 TIMCommCallback 参数 json_params 均为空字符串"":
TIMLogin
TIMLogout
示例一、接口 TIMSetConfig 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 SetConfig
{
"set_config_callback_log_level" : 2,
"set_config_is_log_output_console" : true,
"set_config_log_level" : 2,
"set_config_proxy_info" : {
"proxy_info_ip" : "",
"proxy_info_port" : 0
},
"set_config_user_config" : {
"user_config_group_getinfo_option" : {
"get_info_option_custom_array" : [],
"get_info_option_info_flag" : 0xffffffff,
"get_info_option_role_flag" : 0
},
"user_config_group_member_getinfo_option" : {
"get_info_option_custom_array" : [],
"get_info_option_info_flag" : 0xffffffff,
"get_info_option_role_flag" : 0
},
"user_config_is_ingore_grouptips_unread" : false,
"user_config_is_read_receipt" : false,
"user_config_is_sync_report" : false
}
}
示例二、接口 TIMConvCreate 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 ConvInfo
{
"conv_active_time" : 1551269275,
"conv_id" : "user2",
"conv_is_has_draft" : false,
"conv_is_has_lastmsg" : true,
"conv_last_msg" : {
"message_client_time" : 1551101578,
"message_conv_id" : "user2",
"message_conv_type" : 1,
"message_elem_array" : [
{
"elem_type" : 0,
"text_elem_content" : "12"
}
],
"message_is_from_self" : false,
"message_is_read" : true,
"message_rand" : 3726251374,
"message_sender" : "user2",
"message_seq" : 56858,
"message_server_time" : 1551101578,
"message_status" : 2
},
"conv_owner" : "",
"conv_type" : 1,
"conv_unread_num" : 1
}
示例三、接口 TIMConvGetConvList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 ConvInfo
[
{
"conv_active_time" : 1551269275,
"conv_id" : "user2",
"conv_is_has_draft" : false,
"conv_is_has_lastmsg" : true,
"conv_last_msg" : {
"message_client_time" : 1551235066,
"message_conv_id" : "user2",
"message_conv_type" : 1,
"message_elem_array" : [
{
"elem_type" : 0,
"text_elem_content" : "ccccccccccccccccc"
}
],
"message_is_from_self" : true,
"message_is_read" : true,
"message_rand" : 1073033786,
"message_sender" : "user1",
"message_seq" : 16373,
"message_server_time" : 1551235067,
"message_status" : 2
},
"conv_owner" : "",
"conv_type" : 1,
"conv_unread_num" : 0
}
]
示例四、接口 TIMMsgSendNewMsg 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 Message
{
"message_client_time" : 1558598732,
"message_conv_id" : "asd12341",
"message_conv_type" : 1,
"message_custom_int" : 0,
"message_custom_str" : "",
"message_elem_array" : [
{
"elem_type" : 0,
"text_elem_content" : "test"
}
],
"message_is_from_self" : true,
"message_is_online_msg" : false,
"message_is_peer_read" : false,
"message_is_read" : true,
"message_priority" : 1,
"message_rand"