IM SDK 回调

最后更新时间:2020-12-29 10:38:23

    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();
    
            // 消息撤回逻辑
        }
    }

    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 {
            // 其他类型元素不符合上传要求
        }
    }

    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) {
    
            }
        }
    }

    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" : ""
       }
    ]

    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 负责透传的用户自定义数据,未做任何处理

    说明:

    请参考 TIMRecvNewMsgCallback

    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 均为空字符串""

    示例一、接口 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" : 1340036983,
       "message_sender" : "test_win_01",
       "message_seq" : 20447,
       "message_server_time" : 1558598733,
       "message_status" : 2
    }

    示例五、接口 TIMMsgFindByMsgLocatorList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 Message

    [
       {
          "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
       },
       ...
    ]

    示例六、接口 TIMMsgGetMsgList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 Message

    [
       {
          "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
       },
       ...
    ]

    示例七、接口 TIMMsgDownloadElemToPath 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 MsgDownloadElemResult

    {
      "msg_download_elem_result_current_size" : 10,
      "msg_download_elem_result_total_size" : 100
    }

    示例八、接口 TIMMsgBatchSend 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 MsgBatchSendResult

    [
       {
          "msg_batch_send_result_code" : 0,
          "msg_batch_send_result_desc" : "",
          "msg_batch_send_result_identifier" : "test_win_05",
          "msg_batch_send_result_msg" : {
             "message_client_time" : 1558598923,
             "message_conv_id" : "test_win_05",
             "message_conv_type" : 1,
             "message_custom_int" : 0,
             "message_custom_str" : "",
             "message_elem_array" : [
                {
                   "elem_type" : 0,
                   "text_elem_content" : "this is batch send msgs"
                }
             ],
             "message_is_from_self" : true,
             "message_is_online_msg" : false,
             "message_is_peer_read" : false,
             "message_is_read" : true,
             "message_priority" : 1,
             "message_rand" : 673379256,
             "message_sender" : "test_win_01",
             "message_seq" : 10274,
             "message_server_time" : 1558598924,
             "message_status" : 2
          }
       },
       {
          "msg_batch_send_result_code" : 0,
          "msg_batch_send_result_desc" : "",
          "msg_batch_send_result_identifier" : "test_win_02",
          "msg_batch_send_result_msg" : {
             "message_client_time" : 1558598923,
             "message_conv_id" : "test_win_02",
             "message_conv_type" : 1,
             "message_custom_int" : 0,
             "message_custom_str" : "",
             "message_elem_array" : [
                {
                   "elem_type" : 0,
                   "text_elem_content" : "this is batch send msgs"
                }
             ],
             "message_is_from_self" : true,
             "message_is_online_msg" : false,
             "message_is_peer_read" : false,
             "message_is_read" : true,
             "message_priority" : 1,
             "message_rand" : 673460408,
             "message_sender" : "test_win_01",
             "message_seq" : 10276,
             "message_server_time" : 1558598924,
             "message_status" : 2
          }
       }
    ]

    示例九、接口 TIMGroupCreate 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 CreateGroupResult

    {
       "create_group_result_groupid" : "first group id"
    }

    示例十、接口 TIMGroupInviteMember 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 GroupInviteMemberResult

    [
       {
          "group_invite_member_result_identifier" : "user2",
          "group_invite_member_result_result" : 1
       },
       {
          "group_invite_member_result_identifier" : "user3",
          "group_invite_member_result_result" : 1
       }
    ]

    示例十一、接口 TIMGroupDeleteMember 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 GroupDeleteMemberResult

    [
       {
          "group_delete_member_result_identifier" : "user2",
          "group_delete_member_result_result" : 1
       },
       {
          "group_delete_member_result_identifier" : "user3",
          "group_delete_member_result_result" : 1
       }
    ]

    示例十二、接口 TIMGroupGetJoinedGroupList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 GroupBaseInfo

    [
       {
          "group_base_info_face_url" : "group face url",
          "group_base_info_group_id" : "first group id",
          "group_base_info_group_name" : "first group name",
          "group_base_info_group_type" : "Public",
          "group_base_info_info_seq" : 7,
          "group_base_info_is_shutup_all" : false,
          "group_base_info_lastest_seq" : 0,
          "group_base_info_msg_flag" : 0,
          "group_base_info_readed_seq" : 0,
          "group_base_info_self_info" : {
             "group_self_info_join_time" : 1551344977,
             "group_self_info_msg_flag" : 0,
             "group_self_info_role" : 400,
             "group_self_info_unread_num" : 0
          }
       }
    ]

    示例十三、接口 TIMGroupGetGroupInfoList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 GetGroupInfoResult

    [
       {
          "get_groups_info_result_code" : 0,
          "get_groups_info_result_desc" : "",
          "get_groups_info_result_info" : {
             "group_detial_info_add_option" : 2,
             "group_detial_info_create_time" : 1551344977,
             "group_detial_info_custom_info" : {},
             "group_detial_info_face_url" : "group face url",
             "group_detial_info_group_id" : "first group id",
             "group_detial_info_group_name" : "first group name",
             "group_detial_info_group_type" : "Public",
             "group_detial_info_info_seq" : 7,
             "group_detial_info_introduction" : "group introduction",
             "group_detial_info_is_shutup_all" : false,
             "group_detial_info_last_info_time" : 1551344977,
             "group_detial_info_last_msg_time" : 0,
             "group_detial_info_max_member_num" : 2000,
             "group_detial_info_member_num" : 1,
             "group_detial_info_next_msg_seq" : 0,
             "group_detial_info_notification" : "group notification",
             "group_detial_info_online_member_num" : 0,
             "group_detial_info_owener_identifier" : "user1",
             "group_detial_info_searchable" : 2,
             "group_detial_info_visible" : 2
          }
       }
    ]

    示例十四、接口 TIMGroupGetMemberInfoList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 GroupGetMemberInfoListResult

    {
       "group_get_memeber_info_list_result_info_array" : [
          {
             "group_member_info_custom_info" : {},
             "group_member_info_identifier" : "user1",
             "group_member_info_join_time" : 1551344977,
             "group_member_info_member_role" : 400,
             "group_member_info_msg_flag" : 0,
             "group_member_info_msg_seq" : 0,
             "group_member_info_name_card" : "",
             "group_member_info_shutup_time" : 0
          }
       ],
       "group_get_memeber_info_list_result_next_seq" : 0
    }

    示例十五、接口 TIMGroupGetPendencyList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 GroupPendencyResult

    {
       "group_pendency_result_next_start_time" : 0,
       "group_pendency_result_pendency_array" : [
          {
             "group_pendency_add_time" : 1551414487947,
             "group_pendency_apply_invite_msg" : "Want Join Group, Thank you",
             "group_pendency_approval_msg" : "",
             "group_pendency_form_identifier" : "user2",
             "group_pendency_form_user_defined_data" : "",
             "group_pendency_group_id" : "four group id",
             "group_pendency_handle_result" : 0,
             "group_pendency_handled" : 0,
             "group_pendency_pendency_type" : 0,
             "group_pendency_to_identifier" : "user1",
             "group_pendency_to_user_defined_data" : ""
          }
       ],
       "group_pendency_result_read_time_seq" : 0,
       "group_pendency_result_unread_num" : 1
    }

    示例十六、接口 TIMProfileGetUserProfileList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 UserProfile

    [
       {
          "user_profile_add_permission" : 1,
          "user_profile_birthday" : 0,
          "user_profile_face_url" : "",
          "user_profile_gender" : 0,
          "user_profile_identifier" : "user1",
          "user_profile_language" : 0,
          "user_profile_level" : 0,
          "user_profile_location" : "",
          "user_profile_nick_name" : "User1NickName",
          "user_profile_role" : 0,
          "user_profile_self_signature" : ""
       },
       {
          "user_profile_add_permission" : 0,
          "user_profile_birthday" : 0,
          "user_profile_face_url" : "",
          "user_profile_gender" : 0,
          "user_profile_identifier" : "user2",
          "user_profile_language" : 0,
          "user_profile_level" : 0,
          "user_profile_location" : "",
          "user_profile_nick_name" : "",
          "user_profile_role" : 0,
          "user_profile_self_signature" : ""
       }
    ]

    示例十七、接口 TIMFriendshipGetFriendProfileList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendProfile

    [
       {
          "friend_profile_add_source" : "AddSource_Type_android",
          "friend_profile_add_time" : 1562229520,
          "friend_profile_add_wording" : "",
          "friend_profile_group_name_array" : [],
          "friend_profile_identifier" : "asd12341",
          "friend_profile_item_custom_string_array" : [
             {
                "friend_profile_custom_string_info_key" : "Tag_Profile_Custom_Str",
                "friend_profile_custom_string_info_value" : "qcloud"
             }
          ],
          "friend_profile_remark" : "",
          "friend_profile_user_profile" : {
             "user_profile_add_permission" : 0,
             "user_profile_birthday" : 20190419,
             "user_profile_face_url" : "faceUrl",
             "user_profile_gender" : 0,
             "user_profile_identifier" : "asd12341",
             "user_profile_item_custom_string_array" : [
                {
                   "user_profile_custom_string_info_key" : "Tag_Profile_Custom_Str",
                   "user_profile_custom_string_info_value" : "qcloud"
                }
             ],
             "user_profile_language" : 1,
             "user_profile_level" : 3,
             "user_profile_location" : "sz\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
             "user_profile_nick_name" : "nick_test23",
             "user_profile_role" : 4,
             "user_profile_self_signature" : "sig_test"
          }
       },
       {
          "friend_profile_add_source" : "AddSource_Type_Android",
          "friend_profile_add_time" : 1555659941,
          "friend_profile_add_wording" : "",
          "friend_profile_group_name_array" : [],
          "friend_profile_identifier" : "lttest1",
          "friend_profile_remark" : "",
          "friend_profile_user_profile" : {
             "user_profile_add_permission" : 0,
             "user_profile_birthday" : 0,
             "user_profile_face_url" : "",
             "user_profile_gender" : 0,
             "user_profile_identifier" : "lttest1",
             "user_profile_language" : 0,
             "user_profile_level" : 0,
             "user_profile_location" : "",
             "user_profile_nick_name" : "",
             "user_profile_role" : 0,
             "user_profile_self_signature" : ""
          }
       }
    ]

    示例十八、接口 TIMFriendshipAddFriend 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    {
       "friend_result_code" : 0,
       "friend_result_desc" : "",
       "friend_result_identifier" : "user4"
    }

    示例十九、接口 TIMFriendshipDeleteFriend 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    [
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "OK",
          "friend_result_identifier" : "user4"
       }
    ]

    示例二十、接口 TIMFriendshipHandleFriendAddRequest 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    {
       "friend_result_code" : 0,
       "friend_result_desc" : "",
       "friend_result_identifier" : "user1"
    }

    示例二十一、接口 TIMFriendshipGetPendencyList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 PendencyPage

    {
       "pendency_page_current_seq" : 2,
       "pendency_page_pendency_info_array" : [
          {
             "friend_add_pendency_info_add_source" : "AddSource_Type_Windows",
             "friend_add_pendency_info_add_time" : 1563026447,
             "friend_add_pendency_info_add_wording" : "I am Iron Man",
             "friend_add_pendency_info_idenitifer" : "user4",
             "friend_add_pendency_info_nick_name" : "change my nick name",
             "friend_add_pendency_info_type" : 1
          }
       ],
       "pendency_page_start_time" : 0,
       "pendency_page_unread_num" : 0
    }

    示例二十二、接口 TIMFriendshipDeletePendency 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    [
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "OK",
          "friend_result_identifier" : "user4"
       }
    ]

    示例二十三、接口 TIMFriendshipCheckFriendType 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendshipCheckFriendTypeResult

    [
       {
          "friendship_check_friendtype_result_code" : 0,
          "friendship_check_friendtype_result_desc" : "",
          "friendship_check_friendtype_result_identifier" : "user4",
          "friendship_check_friendtype_result_relation" : 3
       }
    ]

    示例二十四、接口 TIMFriendshipCreateFriendGroup 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    [
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "",
          "friend_result_identifier" : "user4"
       },
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "",
          "friend_result_identifier" : "user10"
       }
    ]

    示例二十五、接口 TIMFriendshipGetFriendGroupList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendGroupInfo

    [
       {
          "friend_group_info_count" : 2,
          "friend_group_info_identifier_array" : [ "user4", "user10" ],
          "friend_group_info_name" : "Group123"
       }
    ]

    示例二十六、接口 TIMFriendshipModifyFriendGroup 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    [
       {
          "friend_result_code" : 30001,
          "friend_result_desc" : "Err_SNS_GroupUpdate_Friend_Not_Exist",
          "friend_result_identifier" : "user5"
       },
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "",
          "friend_result_identifier" : "user4"
       },
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "",
          "friend_result_identifier" : "user9"
       }
    ]

    示例二十七、接口 TIMFriendshipAddToBlackList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    [
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "OK",
          "friend_result_identifier" : "user5"
       },
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "OK",
          "friend_result_identifier" : "user10"
       }
    ]

    示例二十八、接口 TIMFriendshipGetBlackList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendProfile

    [
       {
          "friend_profile_add_source" : "AddSource_Type_Android",
          "friend_profile_add_time" : 1555656865,
          "friend_profile_add_wording" : "",
          "friend_profile_group_name_array" : [ "Group123" ],
          "friend_profile_identifier" : "user10",
          "friend_profile_remark" : "",
          "friend_profile_user_profile" : {
             "user_profile_add_permission" : 0,
             "user_profile_birthday" : 0,
             "user_profile_face_url" : "",
             "user_profile_gender" : 0,
             "user_profile_identifier" : "user10",
             "user_profile_language" : 0,
             "user_profile_level" : 0,
             "user_profile_location" : "",
             "user_profile_nick_name" : "",
             "user_profile_role" : 0,
             "user_profile_self_signature" : ""
          }
       },
       {
          "friend_profile_add_source" : "",
          "friend_profile_add_time" : 0,
          "friend_profile_add_wording" : "",
          "friend_profile_group_name_array" : [],
          "friend_profile_identifier" : "user5",
          "friend_profile_remark" : "",
          "friend_profile_user_profile" : {
             "user_profile_add_permission" : 0,
             "user_profile_birthday" : 0,
             "user_profile_face_url" : "",
             "user_profile_gender" : 0,
             "user_profile_identifier" : "user5",
             "user_profile_language" : 0,
             "user_profile_level" : 0,
             "user_profile_location" : "",
             "user_profile_nick_name" : "",
             "user_profile_role" : 0,
             "user_profile_self_signature" : ""
          }
       }
    ]

    示例二十九、接口 TIMFriendshipDeleteFromBlackList 的回调 TIMCommCallback 参数 json_params 的 JSON。JSON Key 请参考 FriendResult

    [
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "OK",
          "friend_result_identifier" : "user5"
       },
       {
          "friend_result_code" : 0,
          "friend_result_desc" : "OK",
          "friend_result_identifier" : "user10"
       }
    ]

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助