| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- // Copyright (c) 2023 Tencent. All rights reserved.
- #ifndef SRC_PLATFORM_CROSS_PLATFORM_INCLUDE_TIM_EXPERIMENTAL_API_H_
- #define SRC_PLATFORM_CROSS_PLATFORM_INCLUDE_TIM_EXPERIMENTAL_API_H_
- #include "TIMCloudDef.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- // 模块简介
- // - 实验性 API, 用于提供一些实验性功能
- //
- // 模块参数说明
- // - API 的参数采用 json 字符串格式,请使用文件中预先定义的 JsonKey 进行参数传递和解析
- // - 如果参数中包含非英文字符,请使用 UTF-8 编码
- //
- // 模块回调说明
- // 1. 回调的类型:
- // - 调用 API 时传入的 TIMCommCallback 回调,用于异步返回 API 的调用结果
- // - 调用 TIMSetXXXCallback 设置的全局回调,用于接收后台推送的通知
- // 2. 回调触发的线程:
- // - 对于 Windows 平台,当在主线程中调用 @ref TIMInit 接口时,SDK 会将所有回调抛到主线程,请确保主线程已创建消息循环;否则,回调将在 SDK 内部的逻辑线程触发
- // - 对于 Android 平台,当调用 @ref TIMInit 接口的线程支持消息循环时,SDK 会将所有回调抛到该线程;否则,回调将在 SDK 内部的逻辑线程触发
- // - 对于 iOS 和 MAC 平台,SDK 默认将所有回调抛到主线程
- // - 对于 Linux 平台,暂不支持将回调抛到主线程,回调将在 SDK 内部的逻辑线程触发
- /////////////////////////////////////////////////////////////////////////////////
- //
- // 一. ImSDK 实验性通知回调
- //
- /////////////////////////////////////////////////////////////////////////////////
- /**
- * 1.1 实验性通知的回调(7.4 及其以上版本支持)
- *
- * @param key 通知 key
- * @param data 通知数据
- */
- typedef void (*TIMExperimentalNotifyCallback)(const char* key, const char* data, const void* user_data);
- /////////////////////////////////////////////////////////////////////////////////
- //
- // 二. 注册实验性通知回调
- //
- /////////////////////////////////////////////////////////////////////////////////
- /**
- * 2.1 实验性通知的回调
- * @param cb 实验性通知的回调,请参考 @ref TIMExperimentalNotifyCallback
- * @param user_data 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
- */
- TIM_API void TIMSetExperimentalNotifyCallback(TIMExperimentalNotifyCallback cb, const void *user_data);
- /////////////////////////////////////////////////////////////////////////////////
- //
- // 三. 实验性 API
- //
- /////////////////////////////////////////////////////////////////////////////////
- /**
- * 3.1 实验性 API
- *
- * @note 该接口提供一些实验性功能
- */
- TIM_API int callExperimentalAPI(const char* json_param, TIMCommCallback cb, const void* user_data);
- /////////////////////////////////////////////////////////////////////////////////
- //
- // 四. 实验性 API 参数相关的 Json Key 定义
- //
- /////////////////////////////////////////////////////////////////////////////////
- //------------------------------------------------------------------------------
- // 4.1 TIMInternalOperation(实验性接口的操作类型)
- static const char* kTIMInternalOperationSSOData = "internal_operation_sso_data";
- static const char* kTIMInternalOperationUserId2TinyId = "internal_operation_userid_tinyid";
- static const char* kTIMInternalOperationTinyId2UserId = "internal_operation_tinyid_userid";
- static const char* kTIMInternalOperationSetEnv = "internal_operation_set_env";
- static const char* kTIMInternalOperationSetIPv6Prior = "internal_operation_set_ipv6_prior";
- static const char* kTIMInternalOperationSetMaxRetryCount = "internal_operation_set_max_retry_count";
- static const char* kTIMInternalOperationSetPacketRequestTimeout = "internal_operation_set_packet_request_timeout";
- static const char* kTIMInternalOperationSetCustomServerInfo = "internal_operation_set_custom_server_info";
- static const char* kTIMInternalOperationEnableQuicChannel = "internal_operation_enable_quic_channel";
- static const char* kTIMInternalOperationSetSM4GCMCallback = "internal_operation_set_sm4_gcm_callback";
- static const char* kTIMInternalOperationInitLocalStorage = "internal_operation_init_local_storage";
- static const char* kTIMInternalOperationSetCosSaveRegionForConversation = "internal_operation_set_cos_save_region_for_conversation";
- static const char* kTIMInternalOperationSetUIPlatform = "internal_operation_set_ui_platform";
- static const char* kTIMInternalOperationSetDatabaseEncryptInfo = "internal_operation_set_database_encrypt_info";
- static const char* kTIMInternalOperationIsCommercialAbilityEnabled = "internal_operation_is_commercial_ability_enabled";
- static const char* kTIMInternalOperationSetOfflinePushState = "internal_operation_set_offline_push_state";
- static const char* kTIMInternalOperationGetOfflinePushState = "internal_operation_get_offline_push_state";
- static const char* kTIMInternalOperationGetMessageRevoker = "internal_operation_get_message_revoker";
- static const char* kTIMInternalOperationSetLogSetting = "internal_operation_set_log_setting";
- static const char* kTIMInternalOperationWriteLog = "internal_operation_write_log";
- static const char* kTIMInternalOperationClearLocalHistoryMessage = "internal_operation_clear_local_history_message";
- static const char* kTIMInternalOperationUpdateProxyInfo = "internal_operation_update_proxy_info";
- static const char* kTIMInternalOperationReportTUIComponentUsage = "internal_operation_report_tuicomponent_usage";
- static const char* kTIMInternalOperationSendTRTCCustomData = "internal_operation_send_trtc_custom_data";
- static const char* kTIMInternalOperationSendRoomCustomData = "internal_operation_send_room_custom_data";
- static const char* kTIMInternalOperationSetApplicationID = "internal_operation_set_application_id";
- static const char* kTIMInternalOperationGetServerConfig = "internal_operation_get_server_config";
- static const char* kTIMInternalOperationSetIgnoreRepeatLogin = "internal_operation_set_ignore_repeat_login";
- static const char* kTIMInternalOperationStartMessageLongPolling = "internal_operation_start_message_long_polling";
- static const char* kTIMInternalOperationStopMessageLongPolling = "internal_operation_stop_message_long_polling";
- static const char* kTIMInternalOperationFindMergerMessages = "internal_operation_find_merger_messages";
- static const char* kTIMInternalOperationGetBriefGroupMemberList = "internal_operation_get_brief_group_member_list";
- static const char* kTIMInternalOperationSetCustomLoginInfo = "internal_operation_set_custom_login_info";
- static const char* kTIMInternalOperationDisableHttpRequest = "internal_operation_disable_http_request";
- //------------------------------------------------------------------------------
- // 4.2 SSODataParam(发送 sso data 的参数)
- // string, 只写(必填), sso请求的命令字
- static const char* kTIMSSODataParamCmd = "sso_data_param_cmd";
- // string, 只写(必填), sso请求的内容,内容是二进制,需要外部传入base64编码后的字符串,sdk内部回解码成原二进制
- static const char* kTIMSSODataParamBody = "sso_data_param_body";
- // uint64, 只写(选填), sso请求的超时时间,默认是15秒
- static const char* kTIMSSODataParamTimeout = "sso_data_param_timeout";
- //------------------------------------------------------------------------------
- // 4.3 SSODataRes(发送 sso data 的返回信息)
- // string, 只读(必填), sso返回数据对应请求的命令字
- static const char* kTIMSSODataResCmd = "sso_data_res_cmd";
- // string, 只读(必填), sso返回的内容,内容是二进制,sdk内部使用base64编码了,外部使用前需要base64解码
- static const char* kTIMSSODataResBody = "sso_data_res_body";
- //------------------------------------------------------------------------------
- // 4.4 UserInfo(用户账号信息)
- static const char* kTIMUserInfoUserId = "user_info_userid";
- static const char* kTIMUserInfoTinyId = "user_info_tinyid";
- //------------------------------------------------------------------------------
- // 4.5 ServerAddress(服务器地址)
- // string, 只写(必填), 服务器 IP
- static const char* kTIMServerAddressIp = "server_address_ip";
- // int, 只写(必填), 服务器端口
- static const char* kTIMServerAddressPort = "server_address_port";
- // bool, 只写(选填), 是否 IPv6 地址,默认为 false
- static const char* kTIMServerAddressIsIPv6 = "server_address_is_ipv6";
- // bool, 只写(选填), 是否 Quic 地址,默认为 false
- static const char* kTIMServerAddressIsQuic = "server_address_is_quic";
- //------------------------------------------------------------------------------
- // 4.6 CustomServerInfo(自定义服务器信息)
- // array @ref ServerAddress, 只写(必填), 长连接服务器地址列表
- static const char* kTIMCustomServerInfoLongConnectionAddressArray = "longconnection_address_array";
- // array @ref ServerAddress, 只写(选填), 短连接服务器地址列表
- static const char* kTIMCustomServerInfoShortConnectionAddressArray = "shortconnection_address_array";
- // string, 只写(必填), 服务器公钥
- static const char* kTIMCustomServerInfoServerPublicKey = "server_public_key";
- //------------------------------------------------------------------------------
- // 4.7 QuicChannelInfo(Quic 通道信息)
- // bool, 只写(必填), 是否启用 Quic 通道,true:打开,false:不打开
- static const char* kTIMQuicChannelInfoEnableQuic = "quic_channel_info_enable_quic";
- //------------------------------------------------------------------------------
- // 4.8 SM4GCMCallbackParam(国密 SM4 GCM 回调函数地址的参数)
- // uint64 只写(必填), SM4 GCM 加密回调函数地址
- static const char* kTIMSM4GCMCallbackParamEncrypt = "sm4_gcm_callback_param_encrypt";
- // uint64, 只写(必填), SM4 GCM 解密回调函数地址
- static const char* kTIMSM4GCMCallbackParamDecrypt = "sm4_gcm_callback_param_decrypt";
- //------------------------------------------------------------------------------
- // 4.9 CosSaveRegionForConversationParam(设置 cos 存储区域)
- // string, 只写(必填), 会话 ID
- static const char* kTIMCosSaveRegionForConversationParamConversationID = "cos_save_region_for_conversation_param_conversation_id";
- // string, 只写(必填), 存储区域
- static const char* kTIMCosSaveRegionForConversationParamCosSaveRegion = "cos_save_region_for_conversation_param_cos_save_region";
- //------------------------------------------------------------------------------
- // 4.10 DatabaseEncryptInfo(数据库加密信息)
- // int, 只写(必填), 数据库加密类型,0 不加密(默认),1:按位异或,2:TEA,3:国密,4:AES
- static const char* kTIMDatabaseEncryptInfoEncryptType = "database_encrypt_info_encrypt_type";
- // string, 只写(选填), 数据库加密类型 key ,除了 按位异或 算法,其他算法的加密 key,必须是长度是 32 base16 字符串,不填写就使用 IMSDK 内部生成的 key,由于数据库加密数据持久化到文件中,因此,一旦 key 被使用过,不能够再更换
- static const char* kTIMDatabaseEncryptInfoEncryptKey = "database_encrypt_info_encrypt_key";
- //------------------------------------------------------------------------------
- // 4.11 CommercialAbilityResult(商业化能力项的查询结果)
- // bool, 只读(必填), 查询是否支持指定的商业化能力项的结果,true:支持,false:不支持
- static const char* kTIMCommercialAbilityResultEnabled = "commercial_ability_result_enabled";
- //------------------------------------------------------------------------------
- // 4.12 LogSetting(日志配置)
- // bool, 只写(必填), 是否关闭自动清理,true:是,false:否
- static const char* kTIMLogSettingDisableAutoClean = "log_setting_disable_auto_clean";
- // uint64, 只写(选填), 日志文件的最大大小,单位 Bytes,默认 100MB,不能小于 150KB
- static const char* kTIMLogSettingMaxFileSize = "log_setting_max_file_size";
- //------------------------------------------------------------------------------
- // 4.13 RequestParam(callExperimentalAPI 接口请求的参数)
- // string @ref TIMInternalOperation, 只写(必填), 内部接口的操作类型
- static const char* kTIMRequestInternalOperation = "request_internal_operation";
- // object @ref SSODataParam, 只写(选填), sso发包请求, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSSOData 时需要设置
- static const char* kTIMRequestSSODataParam = "request_sso_data_param";
- // array string, 只写(选填), 请求需要转换成tinyid的userid列表, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationUserId2TinyId 时需要设置
- static const char* kTIMRequestUserId2TinyIdParam = "request_userid_tinyid_param";
- // array uint64, 只写(选填), 请求需要转换成userid的tinyid列表, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationTinyId2UserId 时需要设置
- static const char* kTIMRequestTinyId2UserIdParam = "request_tinyid_userid_param";
- // bool, 只写(选填), true 表示设置当前环境为测试环境,false表示设置当前环境是正式环境,默认是正式环境, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetEnv 时需要设置
- static const char* kTIMRequestSetEnvParam = "request_set_env_param";
- // bool, 只写(选填), 在 IPv6 双栈网络下,是否优先使用 IPv6 协议,当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetIPv6Prior 时需要设置
- static const char* kTIMRequestSetIPv6PriorParam = "request_set_ipv6_prior_param";
- // uint32, 只写(选填), 设置登录、发消息请求的重试次数, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetMaxRetryCount 时需要设置
- static const char* kTIMRequestSetMaxRetryCountParam = "request_set_max_retry_count_param";
- // int64, 只写(选填), 设置登录、发消息请求的超时时间, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetPacketRequestTimeout 时需要设置
- static const char* kTIMRequestSetPacketRequestTimeoutParam = "request_set_packet_request_timeout_param";
- // object @ref CustomServerInfo, 只写(选填), 自定义服务器信息, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetCustomServerInfo 时需要设置
- static const char* kTIMRequestSetCustomServerInfoParam = "request_set_custom_server_info_param";
- // bool, 只写(选填), true 表示设置 Quic 通道信息, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationEnableQuicChannel 时需要设置
- static const char* kTIMRequestEnableQuicChannelParam = "request_enable_quic_channel_param";
- // object @ref SM4GCMCallbackParam, 只写(选填), 国密 SM4 GCM 回调函数地址的参数, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetSM4GCMCallback 时需要设置
- static const char* kTIMRequestSetSM4GCMCallbackParam = "request_set_sm4_gcm_callback_param";
- // string, 只写(选填), 初始化 Database 的用户 ID, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationInitLocalStorage 时需要设置
- static const char* kTIMRequestInitLocalStorageParam = "request_init_local_storage_user_id_param";
- // object @ref CosSaveRegionForConversationParam, 只写(选填), 设置 cos 存储区域的参数, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetCosSaveRegionForConversation 时需要设置
- static const char* kTIMRequestSetCosSaveRegionForConversationParam = "request_set_cos_save_region_for_conversation_param";
- // uint32, 只写(选填), 设置 UI 平台,当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetUIPlatform 时需要设置
- static const char* kTIMRequestSetUIPlatformParam = "request_set_ui_platform_param";
- // object @ref DatabaseEncryptInfo, 只写(选填), 设置数据库加密信息, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetDatabaseEncryptInfo 时需要设置
- static const char* kTIMRequestSetDatabaseEncryptInfoParam = "request_set_database_encrypt_info_param";
- // uint64, 只写(选填), 商业化能力项枚举的组合值, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationIsCommercialAbilityEnabled 时需要设置
- static const char* kTIMRequestIsCommercialAbilityEnabledParam = "request_is_commercial_ability_enabled_param";
- // uint32, 只写(选填), 设置推送状态:0 - 不设置 1 - 开启推送 2 - 关闭推送, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetOfflinePushState 时需要设置
- static const char* kTIMRequestSetOfflinePushStateParam = "request_set_offline_push_state_param";
- // array string, 只写(选填), 撤回消息的 id, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationGetMessageRevoker 时需要设置
- static const char* kTIMRequestMessageRevokerMessageIdArray = "request_message_revoker_message_id_array";
- // object @ref LogSetting, 只写(选填), 设置日志参数, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetLogSetting 时需要设置
- static const char* kTIMRequestSetLogSettingParam = "request_set_log_setting_param";
- // int, 只写(选填), 打印日志的级别, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationWriteLog 时需要设置
- static const char* kTIMRequestWriteLogLogLevelParam = "request_write_log_log_level_param";
- // string, 只写(选填), 打印日志的内容, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationWriteLog 时需要设置
- static const char* kTIMRequestWriteLogLogContentParam = "request_write_log_log_content_param";
- // string, 只写(选填), 打印日志的文件名, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationWriteLog 时需要设置
- static const char* kTIMRequestWriteLogFileNameParam = "request_write_log_file_name_param";
- // string, 只写(选填), 打印日志的函数名, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationWriteLog 时需要设置
- static const char* kTIMRequestWriteLogFuncNameParam = "request_write_log_func_name_param";
- // int, 只写(选填), 打印日志的所在行数, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationWriteLog 时需要设置
- static const char* kTIMRequestWriteLogLineNumberParam = "request_write_log_line_number_param";
- // string, 只写(选填), 设置要删除消息的会话 ID, 其中单聊格式为 "c2c_userID", 群聊会话格式为 "group_groupID", 当输入为 "c2c" 或者 "group" 时会同时操作所有 单聊 或者 群聊 会话,当输入为 "" 时会同时操纵所有会话,当 kTIMRequestInternalOperation 为 kTIMInternalOperationClearLocalHistoryMessage 时需要设置
- static const char* kTIMRequestClearLocalHistoryMessageConversationIDParam = "request_clear_local_history_message_conversation_id_param";
- // uint64, 只写(选填), 设置要删除消息时间范围的开始时间, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationClearLocalHistoryMessage 时需要设置
- static const char* kTIMRequestClearLocalHistoryMessageBeginTimestampParam = "request_clear_local_history_message_begin_timestamp_param";
- // uint64, 只写(选填), 设置要删除消息时间范围的结束时间,删除消息时间范围为 [begin_time, end_time],若结束时间设置为 0,则删除开始时间之后的所有消息,若开始和结束时间都被设置为 0,则清空指定会话的所有消息,当 kTIMRequestInternalOperation 为 kTIMInternalOperationClearLocalHistoryMessage 时需要设置
- static const char* kTIMRequestClearLocalHistoryMessageEndTimestampParam = "request_clear_local_history_message_end_timestamp_param";
- static const char* kTIMRequestReportTUIComponentUsageUIComponentTypeParam = "report_tuicomponent_usage_uicomponent_type_param";
- static const char* kTIMRequestReportTUIComponentUsageUIStyleTypeParam = "report_tuicomponent_usage_uistyle_type_param";
- // string, 只写(必填),长连接透传发送的数据,当 kTIMRequestInternalOperation 为 kTIMInternalOperationSendTRTCCustomData 时需要设置
- static const char* kTIMRequestSendTRTCCustomDataParam = "request_send_trtc_custom_data_param";
- // string, 只写(必填),长连接透传发送的数据,当 kTIMRequestInternalOperation 为 kTIMInternalOperationSendRoomCustomData 时需要设置
- static const char* kTIMRequestSendRoomCustomDataServiceCommandParam = "request_send_room_custom_data_service_command_param";
- // string, 只写(必填),长连接透传发送的数据,当 kTIMRequestInternalOperation 为 kTIMInternalOperationSendRoomCustomData 时需要设置
- static const char* kTIMRequestSendRoomCustomDataRequestContentParam = "request_send_room_custom_data_request_content_param";
- // uint8, 只写(选填), 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetApplicationID 时需要设置
- static const char* kTIMRequestSetApplicationIDParam = "request_set_application_id_param";
- // string, 只写(必填), 当 kTIMRequestInternalOperation 为 kTIMInternalOperationGetServerConfig 时需要设置
- static const char* kTIMRequestGetServerConfigKeyParam = "request_get_server_config_key_param";
- // string, 只写(必填), 当 kTIMRequestInternalOperation 为 kTIMInternalOperationGetServerConfig 时需要设置
- // 0或不填: 无效, 1:数值类型 2:字符串类型
- static const char* kTIMRequestGetServerConfigValueTypeParam = "request_get_server_config_value_type_param";
- // bool, 只写(选填), 设置「SDK 是否忽略重复登录请求」, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetIgnoreRepeatLogin 时有效
- static const char* kTIMRequestSetIgnoreRepeatLoginParam = "request_set_ignore_repeat_login_param";
- // string, 只写(必填),直播群 ID, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationStartMessageLongPolling 时需要设置
- static const char* kTIMRequestStartMessageLongPollingIDParam = "request_start_message_long_polling_id_param";
- // string, 只写(必填),直播群长轮询的 key, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationStartMessageLongPolling 时需要设置
- static const char* kTIMRequestStartMessageLongPollingKeyParam = "request_start_message_long_polling_key_param";
- // string, 只写(必填),长轮询起始的 sequence, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationStartMessageLongPolling 时需要设置
- static const char* kTIMRequestStartMessageLongPollingSequenceParam = "request_start_message_long_polling_sequence_param";
- // string, 只写(必填),直播群 ID, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationStopMessageLongPolling 时需要设置
- static const char* kTIMRequestStopMessageLongPollingIDParam = "request_stop_message_long_polling_id_param";
- // string, 只写(必填),消息 ID,当 kTIMRequestInternalOperation 为 kTIMInternalOperationFindMergerMessages 时需要设置
- static const char* kTIMRequestFindMergerMessagesMessageIDParam = "request_find_merger_messages_message_id_param";
- // array, 只写(必填),合并消息 ID 列表,当 kTIMRequestInternalOperation 为 kTIMInternalOperationFindMergerMessages 时需要设置
- static const char* kTIMRequestFindMergerMessagesMergerMessageIDListParam = "request_find_merger_messages_merger_message_id_list_param";
- // string, 只写(选填),群 ID, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationGetBriefGroupMemberList 时需要设置
- static const char* kTIMRequestGetBriefGroupMemberListGroupIDParam = "request_get_brief_group_member_list_group_id_param";
- // string, 只写(选填), 自定义登录信息, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationSetCustomLoginInfo 时需要设置
- static const char* kTIMRequestSetCustomLoginInfoUserIDParam = "request_set_custom_login_info_user_id_param";
- static const char* kTIMRequestSetCustomLoginInfoCustomInfoParam = "request_set_custom_login_info_custom_info_param";
- // bool, 只写(选填), 设置是否禁用 http 请求, 当 kTIMRequestInternalOperation 为 kTIMInternalOperationDisableHttpRequest 时需要设置
- static const char* kTIMRequestDisableHttpRequestParam = "request_disable_http_request_param";
- //------------------------------------------------------------------------------
- // 4.14 ResponseInfo(callExperimentalAPI 接口回调返回的数据)
- // string @ref TIMInternalOperation, 只读(必填), 响应的内部操作
- static const char* kTIMResponseInternalOperation = "response_internal_operation";
- // object @ref SSODataRes, 只读(选填), sso发包请求的响应, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationSSOData 时有值
- static const char* kTIMResponseSSODataRes = "response_sso_data_res";
- // array @ref UserInfo, 只读(选填), 响应的tinyid列表, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationUserId2TinyId 时有值
- static const char* kTIMResponseUserId2TinyIdRes = "response_userid_tinyid_res";
- // array @ref UserInfo, 只读(选填), 响应的tinyid列表, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationTinyId2UserId 时有值
- static const char* kTIMResponseTinyId2UserIdRes = "response_tinyid_userid_res";
- // bool, 只读(选填), true 表示当前环境为测试环境,false表示当前环境是正式环境, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationSetEnv 时有值
- static const char* kTIMResponseSetEvnRes = "response_set_env_res";
- // uint32, 只读(选填), 推送状态:0 - 不设置 1 - 开启推送 2 - 关闭推送, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationGetOfflinePushState 时有值
- static const char* kTIMResponseGetOfflinePushStateRes = "response_get_offline_push_state_res";
- // string, 只读(选填), 撤回消息的 id, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationGetMessageRevoker 时有值
- static const char* kTIMResponseMessageId = "response_message_id";
- // string, 只读(选填), 撤回消息的操作者, 当 kTIMResponseInternalOperation 为 kTIMInternalOperationGetMessageRevoker 时有值
- static const char* kTIMResponseMessageRevoker = "response_message_revoker";
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // SRC_PLATFORM_CROSS_PLATFORM_INCLUDE_TIM_EXPERIMENTAL_API_H_
|