@tencent-rtc/mcp 1.3.8 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
- package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
- package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
- package/resource/doc/callkit/preset/android/api.md +296 -0
- package/resource/doc/callkit/preset/android/integration.md +430 -0
- package/resource/doc/callkit/preset/flutter/api.md +410 -0
- package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
- package/resource/doc/callkit/preset/ios/api.md +80 -0
- package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
- package/resource/doc/callkit/preset/react/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
- package/resource/doc/callkit/preset/vue/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
- package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
- package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
- package/resource/doc/chatkit/android/integration.md +490 -0
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
- package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
- package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
- package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
- package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +19 -88
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
- package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
- package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
- package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
- package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
- package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
- package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
- package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
- package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
- package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
- package/resource/doc/chatkit/react/components/search.md +243 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
- package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
- package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
- package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
- package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
- package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
- package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
- package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
- package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
- package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
- package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
- package/resource/doc/livekit/core-sdk/voice/android/voice-audience-list.md +263 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-audio-effect.md +222 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-barrage.md +452 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +536 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-gift.md +442 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-host-interaction.md +489 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-integration.md +574 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +435 -0
- package/resource/doc/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +516 -0
- package/resource/doc/livekit/core-sdk/voice/flutter/voice-integration.md +576 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-audience-list.md +263 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-audio-effect.md +212 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-barrage.md +404 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +499 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-gift.md +403 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-host-interaction.md +552 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +514 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +348 -0
- package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
- package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
- package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
- package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
- package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
- package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
- package/resource/doc/roomkit/vue/faq.md +1 -0
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
- package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
- package/resource/doc/roomkit/vue/features/device-state.md +24 -44
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
- package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
- package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
- package/resource/doc/roomkit/vue/features/room-state.md +25 -34
- package/resource/doc/roomkit/vue/features/room-view.md +30 -125
- package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
- package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
- package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
- package/resource/doc/roomkit/vue/integration.md +173 -337
- package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
- package/resource/doc/rtcengine/faq/web/web.md +14 -24
- package/resource/doc/rtcengine/web/api.md +1 -3
- package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
- package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
- package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
- package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
- package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
- package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
- package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
- package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
- package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
- package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
- package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
- package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
- package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
- package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
- package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
- package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
- package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
- package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
- package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
- package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
- package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
- package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
- package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
- package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
- package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
- package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
- package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
- package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
- package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
- package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
- package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
- package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
- package/server.js +1 -5
- package/server.js.map +1 -1
- package/tools/call/get_callkit_api.js +32 -0
- package/tools/call/get_callkit_api.js.map +1 -0
- package/tools/call/get_native_call_uikit_integration.js +34 -0
- package/tools/call/get_native_call_uikit_integration.js.map +1 -0
- package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
- package/tools/call/get_web_call_uikit_integration.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_integration.js +45 -0
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_integration.js +45 -0
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
- package/tools/common/get_faq.js +265 -0
- package/tools/common/get_faq.js.map +1 -0
- package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
- package/tools/common/get_usersig.js.map +1 -0
- package/tools/common/present_framework_choice.js +63 -0
- package/tools/common/present_framework_choice.js.map +1 -0
- package/tools/definitions/get_callkit_api_def.js +29 -0
- package/tools/definitions/get_callkit_api_def.js.map +1 -0
- package/tools/definitions/get_faq_def.js +17 -18
- package/tools/definitions/get_faq_def.js.map +1 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js +15 -18
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
- package/tools/definitions/get_usersig_def.js +17 -22
- package/tools/definitions/get_usersig_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_livekit_api_def.js +30 -0
- package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +15 -30
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +24 -12
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/index.js +47 -59
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_features.js +65 -0
- package/tools/live/get_native_livekit_core_features.js.map +1 -0
- package/tools/live/get_native_livekit_core_integration.js +59 -0
- package/tools/live/get_native_livekit_core_integration.js.map +1 -0
- package/tools/live/get_web_live_uikit_integration.js +48 -0
- package/tools/live/get_web_live_uikit_integration.js.map +1 -0
- package/tools/live/get_web_livekit_api.js +32 -0
- package/tools/live/get_web_livekit_api.js.map +1 -0
- package/tools/live/get_web_livekit_component_detail.js +34 -0
- package/tools/live/get_web_livekit_component_detail.js.map +1 -0
- package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
- package/tools/room/get_web_room_uikit_integration.js.map +1 -0
- package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
- package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
- package/utils/generate-structured-result.js +61 -17
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/report-cls-client.js +12 -1
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +2 -2
- package/resource/doc/chatuikit/android/integration.md +0 -287
- package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
- package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
- package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
- package/resource/doc/chatuikit/flutter/workflow.md +0 -941
- package/resource/doc/chatuikit/iOS/workflow.md +0 -0
- package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
- package/resource/doc/chatuikit/react/components/search.md +0 -745
- package/resource/doc/chatuikit/react/create-group.md +0 -23
- package/resource/doc/chatuikit/react/init.md +0 -26
- package/resource/doc/chatuikit/react/workflow.md +0 -258
- package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
- package/resource/doc/chatuikit/vue/create-group.md +0 -25
- package/resource/doc/chatuikit/vue/init.md +0 -40
- package/resource/doc/chatuikit/vue/workflow.md +0 -395
- package/resource/doc/livekit/live/android/workflow.md +0 -320
- package/resource/doc/livekit/live/flutter/workflow.md +0 -353
- package/resource/doc/livekit/live/ios/workflow.md +0 -454
- package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
- package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
- package/resource/doc/livekit/live/vue/faq.md +0 -0
- package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
- package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
- package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
- package/resource/doc/livekit/live/vue/workflow.md +0 -218
- package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
- package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
- package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
- package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
- package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
- package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
- package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
- package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
- package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
- package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
- package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
- package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
- package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
- package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
- package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
- package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
- package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
- package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
- package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
- package/resource/doc/roomkit/vue/features/workflow.md +0 -553
- package/resource/doc/roomkit/vue/workflow.md +0 -487
- package/resource/doc/tuicallkit/android/integration.md +0 -286
- package/resource/doc/tuicallkit/android/workflow.md +0 -0
- package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
- package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
- package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
- package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
- package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
- package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
- package/resource/doc/tuicallkit/react/api.md +0 -1404
- package/resource/doc/tuicallkit/vue/api.md +0 -1406
- package/resource/doc/tuicallkit/vue/faq.md +0 -36
- package/tools/call/get-native-call-integration.js +0 -43
- package/tools/call/get-native-call-integration.js.map +0 -1
- package/tools/call/get-web-call-api.js +0 -27
- package/tools/call/get-web-call-api.js.map +0 -1
- package/tools/call/get-web-call-integration.js.map +0 -1
- package/tools/chat/get-native-chat-feature-detail.js +0 -30
- package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
- package/tools/chat/get-native-chat-integration.js +0 -45
- package/tools/chat/get-native-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-component-detail.js +0 -31
- package/tools/chat/get-web-chat-component-detail.js.map +0 -1
- package/tools/chat/get-web-chat-integration.js +0 -45
- package/tools/chat/get-web-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-uikit-init.js +0 -28
- package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
- package/tools/chat/get-web-create-group-doc.js +0 -28
- package/tools/chat/get-web-create-group-doc.js.map +0 -1
- package/tools/common/get-faq.js +0 -91
- package/tools/common/get-faq.js.map +0 -1
- package/tools/common/get-usersig.js.map +0 -1
- package/tools/common/present-framework-choice.js +0 -16
- package/tools/common/present-framework-choice.js.map +0 -1
- package/tools/common/record-prompt.js +0 -55
- package/tools/common/record-prompt.js.map +0 -1
- package/tools/common/record-result.js +0 -60
- package/tools/common/record-result.js.map +0 -1
- package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
- package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_live_api_def.js +0 -23
- package/tools/definitions/get_native_live_api_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
- package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +0 -49
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -74
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
- package/tools/definitions/get_trtc_native_api_def.js +0 -16
- package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
- package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
- package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
- package/tools/definitions/get_web_create_group_doc_def.js +0 -18
- package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
- package/tools/definitions/get_web_live_state_detail_def.js +0 -19
- package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
- package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +0 -95
- package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_state_detail_def.js +0 -19
- package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
- package/tools/definitions/record_prompt_def.js +0 -53
- package/tools/definitions/record_prompt_def.js.map +0 -1
- package/tools/definitions/record_result_def.js +0 -30
- package/tools/definitions/record_result_def.js.map +0 -1
- package/tools/live/get-native-live-uikit-integration.js +0 -101
- package/tools/live/get-native-live-uikit-integration.js.map +0 -1
- package/tools/live/get-web-live-component-detail.js +0 -31
- package/tools/live/get-web-live-component-detail.js.map +0 -1
- package/tools/live/get-web-live-state-detail.js +0 -31
- package/tools/live/get-web-live-state-detail.js.map +0 -1
- package/tools/live/get-web-live-uikit-integration.js +0 -52
- package/tools/live/get-web-live-uikit-integration.js.map +0 -1
- package/tools/live/get_native_live_uikit_extra_features.js +0 -105
- package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
- package/tools/live/get_native_live_uikit_interaction.js +0 -101
- package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
- package/tools/native_live/get-native-live-api.js +0 -31
- package/tools/native_live/get-native-live-api.js.map +0 -1
- package/tools/room/get-web-room-feature-detail.js.map +0 -1
- package/tools/room/get-web-room-integration.js.map +0 -1
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
- package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
- package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
- package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
- package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
- package/tools/trtc/get-trtc-native-api.js +0 -31
- package/tools/trtc/get-trtc-native-api.js.map +0 -1
- package/utils/handle-component-name.js +0 -33
- package/utils/handle-component-name.js.map +0 -1
- /package/resource/doc/{chatuikit/android/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
- /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
- /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
- /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
`LiveListStore` is the `AtomicXCore` core module for management of live room list, creation, joining and room status maintenance. With `LiveListStore`, you can build complete lifecycle management for your application.
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
|
|
6
3
|
## Core Features
|
|
7
4
|
- **Get live room list**: Obtain the current list of all public live rooms, supporting load by page.
|
|
8
5
|
|
|
@@ -14,60 +11,22 @@
|
|
|
14
11
|
|
|
15
12
|
- **Custom business data**: Powerful custom metadata (`MetaData`) capacity allows you to store and synchronize any business-relevant information in the room, such as live status, music info, and custom role.
|
|
16
13
|
|
|
17
|
-
|
|
18
14
|
## Core Concepts
|
|
19
15
|
|
|
20
16
|
Before starting integration, let's learn about several core concepts related to `LiveListStore` in the following table:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<td rowspan="1" colSpan="1" >**Core Responsibilities and Description**</td>
|
|
28
|
-
</tr>
|
|
29
|
-
|
|
30
|
-
<tr>
|
|
31
|
-
<td rowspan="1" colSpan="1" >[LiveInfo](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveInfo-class.html)</td>
|
|
32
|
-
|
|
33
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
34
|
-
|
|
35
|
-
<td rowspan="1" colSpan="1" >Represents the information model of a live room. It contains live ID (`liveID`), name (`liveName`), room owner information (`liveOwner`) and custom metadata (`metaData`).</td>
|
|
36
|
-
</tr>
|
|
37
|
-
|
|
38
|
-
<tr>
|
|
39
|
-
<td rowspan="1" colSpan="1" >[LiveListState](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListState-class.html)</td>
|
|
40
|
-
|
|
41
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
42
|
-
|
|
43
|
-
<td rowspan="1" colSpan="1" >Represents the current status of the live list module. Its core attribute `liveList` is a `ValueListenable<List<LiveInfo>>` data type, storing the fetched live stream list. `currentLive` represents the live room information where the user currently resides.</td>
|
|
44
|
-
</tr>
|
|
45
|
-
|
|
46
|
-
<tr>
|
|
47
|
-
<td rowspan="1" colSpan="1" >[LiveListListener](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListListener-class.html)</td>
|
|
48
|
-
|
|
49
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
50
|
-
|
|
51
|
-
<td rowspan="1" colSpan="1" >Represents the global event listener for a live streaming room. It includes two callbacks, `onLiveEnded` (live streaming end) and `onKickedOutOfLive` (kicked out of live), used to process key room status updates.</td>
|
|
52
|
-
</tr>
|
|
53
|
-
|
|
54
|
-
<tr>
|
|
55
|
-
<td rowspan="1" colSpan="1" >[LiveListStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html)</td>
|
|
56
|
-
|
|
57
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
58
|
-
|
|
59
|
-
<td rowspan="1" colSpan="1" >This is the core management class for interaction with the live list and room lifecycle. It is a Global Singleton (`shared`), responsible for all live streaming room operations such as create, join, and information update.</td>
|
|
60
|
-
</tr>
|
|
61
|
-
</table>
|
|
62
|
-
|
|
17
|
+
| **Core Concepts** | **Type** | **Core Responsibilities and Description** |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| [LiveInfo](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveInfo-class.html) | `class` | Represents the information model of a live room. It contains live ID (`liveID`), name (`liveName`), room owner information (`liveOwner`) and custom metadata (`metaData`). |
|
|
20
|
+
| [LiveListState](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListState-class.html) | `class` | Represents the current status of the live list module. Its core attribute `liveList` is a `ValueListenable<List<LiveInfo>>` data type, storing the fetched live stream list. `currentLive` represents the live room information where the user currently resides. |
|
|
21
|
+
| [LiveListListener](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListListener-class.html) | `class` | Represents the global event listener for a live streaming room. It includes two callbacks, `onLiveEnded` (live streaming end) and `onKickedOutOfLive` (kicked out of live), used to process key room status updates. |
|
|
22
|
+
| [LiveListStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) | `class` | This is the core management class for interaction with the live list and room lifecycle. It is a Global Singleton (`shared`), responsible for all live streaming room operations such as create, join, and information update. |
|
|
63
23
|
|
|
64
24
|
## Implementation Steps
|
|
65
25
|
|
|
66
26
|
### Step 1: Integrating the Component
|
|
67
|
-
- **Live streaming**: Refer to
|
|
68
|
-
|
|
69
|
-
- **Voice chat room**: Refer to [quick integration](https://write.woa.com/document/200555778169073664) with **AtomicXCore**, and complete the feature implementation for [Anchor starts live streaming](https://write.woa.com/document/200555778169073664) and [audience listening](https://write.woa.com/document/200555778169073664).
|
|
27
|
+
- **Live streaming**: Refer to quick integration with **AtomicXCore**, and complete the feature implementation for Anchor starts live streaming and audience viewing.
|
|
70
28
|
|
|
29
|
+
- **Voice chat room**: Refer to quick integration with **AtomicXCore**, and complete the feature implementation for Anchor starts live streaming and audience listening.
|
|
71
30
|
|
|
72
31
|
### Step 2: Audience Entering the Live Room Implementation
|
|
73
32
|
|
|
@@ -327,80 +286,16 @@ class YourAudiencePage extends StatelessWidget {
|
|
|
327
286
|
```
|
|
328
287
|
|
|
329
288
|
**LiveInfo Parameter Description**
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
<
|
|
340
|
-
<td rowspan="1" colSpan="1" >`liveID`</td>
|
|
341
|
-
|
|
342
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
343
|
-
|
|
344
|
-
<td rowspan="1" colSpan="1" >Unique identifier of the live streaming room</td>
|
|
345
|
-
</tr>
|
|
346
|
-
|
|
347
|
-
<tr>
|
|
348
|
-
<td rowspan="1" colSpan="1" >`liveName`</td>
|
|
349
|
-
|
|
350
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
351
|
-
|
|
352
|
-
<td rowspan="1" colSpan="1" >Title of the live streaming room</td>
|
|
353
|
-
</tr>
|
|
354
|
-
|
|
355
|
-
<tr>
|
|
356
|
-
<td rowspan="1" colSpan="1" >`coverURL`</td>
|
|
357
|
-
|
|
358
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
359
|
-
|
|
360
|
-
<td rowspan="1" colSpan="1" >Thumbnail URL of the live streaming room</td>
|
|
361
|
-
</tr>
|
|
362
|
-
|
|
363
|
-
<tr>
|
|
364
|
-
<td rowspan="1" colSpan="1" >`liveOwner`</td>
|
|
365
|
-
|
|
366
|
-
<td rowspan="1" colSpan="1" >`LiveUserInfo`</td>
|
|
367
|
-
|
|
368
|
-
<td rowspan="1" colSpan="1" >Room owner's personal info</td>
|
|
369
|
-
</tr>
|
|
370
|
-
|
|
371
|
-
<tr>
|
|
372
|
-
<td rowspan="1" colSpan="1" >`totalViewerCount`</td>
|
|
373
|
-
|
|
374
|
-
<td rowspan="1" colSpan="1" >`int`</td>
|
|
375
|
-
|
|
376
|
-
<td rowspan="1" colSpan="1" >Total viewers in the live streaming room</td>
|
|
377
|
-
</tr>
|
|
378
|
-
|
|
379
|
-
<tr>
|
|
380
|
-
<td rowspan="1" colSpan="1" >`categoryList`</td>
|
|
381
|
-
|
|
382
|
-
<td rowspan="1" colSpan="1" >`List<int>`</td>
|
|
383
|
-
|
|
384
|
-
<td rowspan="1" colSpan="1" >Category tag list of the live streaming room</td>
|
|
385
|
-
</tr>
|
|
386
|
-
|
|
387
|
-
<tr>
|
|
388
|
-
<td rowspan="1" colSpan="1" >`notice`</td>
|
|
389
|
-
|
|
390
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
391
|
-
|
|
392
|
-
<td rowspan="1" colSpan="1" >Announcement information in the live streaming room</td>
|
|
393
|
-
</tr>
|
|
394
|
-
|
|
395
|
-
<tr>
|
|
396
|
-
<td rowspan="1" colSpan="1" >`metaData`</td>
|
|
397
|
-
|
|
398
|
-
<td rowspan="1" colSpan="1" >`Map<String, String>`</td>
|
|
399
|
-
|
|
400
|
-
<td rowspan="1" colSpan="1" >Custom metadata for complex business scenarios</td>
|
|
401
|
-
</tr>
|
|
402
|
-
</table>
|
|
403
|
-
|
|
289
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
290
|
+
| --- | --- | --- |
|
|
291
|
+
| `liveID` | `String` | Unique identifier of the live streaming room |
|
|
292
|
+
| `liveName` | `String` | Title of the live streaming room |
|
|
293
|
+
| `coverURL` | `String` | Thumbnail URL of the live streaming room |
|
|
294
|
+
| `liveOwner` | `LiveUserInfo` | Room owner's personal info |
|
|
295
|
+
| `totalViewerCount` | `int` | Total viewers in the live streaming room |
|
|
296
|
+
| `categoryList` | `List<int>` | Category tag list of the live streaming room |
|
|
297
|
+
| `notice` | `String` | Announcement information in the live streaming room |
|
|
298
|
+
| `metaData` | `Map<String, String>` | Custom metadata for complex business scenarios |
|
|
404
299
|
|
|
405
300
|
## Advanced Features
|
|
406
301
|
|
|
@@ -408,9 +303,6 @@ class YourAudiencePage extends StatelessWidget {
|
|
|
408
303
|
|
|
409
304
|
On the live square page of the App, the top section features category tags such as "Popular," "Music," and "Gaming." When users click different tags, the live stream list below dynamically filters to show only live streaming rooms of the corresponding category, thereby helping users quickly identify content of interest.
|
|
410
305
|
|
|
411
|
-

|
|
412
|
-
|
|
413
|
-
|
|
414
306
|
#### Implementation Method
|
|
415
307
|
|
|
416
308
|
The core is to use the `categoryList` property in the `LiveInfo` model. When the anchor starts live streaming and sets the category, the `LiveInfo` object returned by `fetchLiveList` will contain this classification information. After your App obtains the complete live list, just perform a simple filter on the client according to the user's selected category, then refresh the UI.
|
|
@@ -604,9 +496,6 @@ class _CategoryLiveListPageState extends State<CategoryLiveListPage> {
|
|
|
604
496
|
|
|
605
497
|
In an ecommerce live stream, the Anchor is explaining a product. At this point, a product card pops up at the bottom of the live stream for ALL audience, displaying the product image, name and price in real time. When the Anchor switches to the next product, the card on the client side updates automatically and synchronously.
|
|
606
498
|
|
|
607
|
-

|
|
608
|
-
|
|
609
|
-
|
|
610
499
|
#### Implementation Method
|
|
611
500
|
|
|
612
501
|
The Anchor sets the current product's structured information (recommend using **JSON** format) to a custom key (such as "`product_info`") through the `updateLiveMetaData` API setting. **AtomicXCore** will synchronize this update to ALL audience in real time. The client just needs to subscribe to `LiveListState.currentLive`, listen for changes in `metaData`, and once `product_info` is found updated, parse the JSON data and refresh the product card UI.
|
|
@@ -810,40 +699,11 @@ class _ProductCardWidgetState extends State<ProductCardWidget> {
|
|
|
810
699
|
## API documentation
|
|
811
700
|
|
|
812
701
|
For detailed information about ALL public interfaces, properties and methods of [LiveListStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) and its related classes, please refer to the official API documentation of the [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Flutter/index.html) framework. The related Store used in this document is as follows:
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
<td rowspan="1" colSpan="1" >**API Reference**</td>
|
|
820
|
-
</tr>
|
|
821
|
-
|
|
822
|
-
<tr>
|
|
823
|
-
<td rowspan="1" colSpan="1" >**LiveCoreWidget**</td>
|
|
824
|
-
|
|
825
|
-
<td rowspan="1" colSpan="1" >The core view component for live video stream display and interaction: responsible for video stream rendering and view widget processing, supporting live streaming, audience mic connection, Anchor Connection (TUILiveKit), and other scenarios.</td>
|
|
826
|
-
|
|
827
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html)</td>
|
|
828
|
-
</tr>
|
|
829
|
-
|
|
830
|
-
<tr>
|
|
831
|
-
<td rowspan="1" colSpan="1" >**LiveCoreController**</td>
|
|
832
|
-
|
|
833
|
-
<td rowspan="1" colSpan="1" >Controller for LiveCoreWidget: used to set up live streaming ID, control preview, and perform other operations.</td>
|
|
834
|
-
|
|
835
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html)</td>
|
|
836
|
-
</tr>
|
|
837
|
-
|
|
838
|
-
<tr>
|
|
839
|
-
<td rowspan="1" colSpan="1" >**LiveListStore**</td>
|
|
840
|
-
|
|
841
|
-
<td rowspan="1" colSpan="1" >Full lifecycle management of live streaming room: create/join/leave/terminate room, query room list, modify live information (name, notice), listen to live streaming status (for example being kicked out, ended).</td>
|
|
842
|
-
|
|
843
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html)</td>
|
|
844
|
-
</tr>
|
|
845
|
-
</table>
|
|
846
|
-
|
|
702
|
+
| **Store/Component** | **Feature Description** | **API Reference** |
|
|
703
|
+
| --- | --- | --- |
|
|
704
|
+
| **LiveCoreWidget** | The core view component for live video stream display and interaction: responsible for video stream rendering and view widget processing, supporting live streaming, audience mic connection, Anchor Connection (TUILiveKit), and other scenarios. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html) |
|
|
705
|
+
| **LiveCoreController** | Controller for LiveCoreWidget: used to set up live streaming ID, control preview, and perform other operations. | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html) |
|
|
706
|
+
| **LiveListStore** | Full lifecycle management of live streaming room: create/join/leave/terminate room, query room list, modify live information (name, notice), listen to live streaming status (for example being kicked out, ended). | [API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) |
|
|
847
707
|
|
|
848
708
|
## FAQs
|
|
849
709
|
|
|
@@ -861,5 +721,3 @@ To ensure system stability and efficiency, the usage of `metaData` follows the f
|
|
|
861
721
|
- The total size of ALL values in a single room is no more than **16KB**.
|
|
862
722
|
|
|
863
723
|
- **Conflict resolution**: The update mechanism for `metaData` is "last write wins". If multiple administrators modify the same key in a short time frame, the last modification will take effect. It is advisable to avoid multiple users simultaneously adjusting the same key information in service design.
|
|
864
|
-
|
|
865
|
-
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
`LiveAudienceStore` is a module in `AtomicXCore` designed for managing audience information in live streaming rooms. With `LiveAudienceStore`, you can implement a comprehensive audience list and management system for your live streaming application.
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
|
|
6
3
|
## Core Features
|
|
7
4
|
- **Real-Time Audience List**: Fetch and display the list of users currently in the room.
|
|
8
5
|
|
|
@@ -14,72 +11,34 @@
|
|
|
14
11
|
|
|
15
12
|
- **Room Management**: The host or administrator can remove specific viewers from the live room.
|
|
16
13
|
|
|
17
|
-
|
|
18
14
|
## Core Concepts
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<td rowspan="1" colSpan="1" >**Core Responsibilities & Description**</td>
|
|
26
|
-
</tr>
|
|
27
|
-
|
|
28
|
-
<tr>
|
|
29
|
-
<td rowspan="1" colSpan="1" >`LiveUserInfo`</td>
|
|
30
|
-
|
|
31
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
32
|
-
|
|
33
|
-
<td rowspan="1" colSpan="1" >- Data model representing a viewer.<br>- Contains basic profile information such as userID, userName, and avatarURL.</td>
|
|
34
|
-
</tr>
|
|
35
|
-
|
|
36
|
-
<tr>
|
|
37
|
-
<td rowspan="1" colSpan="1" >`LiveAudienceState`</td>
|
|
38
|
-
|
|
39
|
-
<td rowspan="1" colSpan="1" >`struct`</td>
|
|
40
|
-
|
|
41
|
-
<td rowspan="1" colSpan="1" >- State container for the audience module.<br>- Exposes `audienceList` (StateFlow) for the real-time user list and `audienceCount` for the total viewer count.</td>
|
|
42
|
-
</tr>
|
|
43
|
-
|
|
44
|
-
<tr>
|
|
45
|
-
<td rowspan="1" colSpan="1" >`LiveAudienceEvent`</td>
|
|
46
|
-
|
|
47
|
-
<td rowspan="1" colSpan="1" >`enum`</td>
|
|
48
|
-
|
|
49
|
-
<td rowspan="1" colSpan="1" >- Event listener for audience changes.<br>- Provides callbacks like `.onAudienceJoined` and` .onAudienceLeft` to handle incremental list updates.</td>
|
|
50
|
-
</tr>
|
|
51
|
-
|
|
52
|
-
<tr>
|
|
53
|
-
<td rowspan="1" colSpan="1" >`LiveAudienceStore`</td>
|
|
54
|
-
|
|
55
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
56
|
-
|
|
57
|
-
<td rowspan="1" colSpan="1" >- Primary interface for audience management.<br>- Used to fetch list snapshots, perform admin operations (e.g., kicking users), and subscribe to real-time events.</td>
|
|
58
|
-
</tr>
|
|
59
|
-
</table>
|
|
60
|
-
|
|
15
|
+
| **Core Concept** | **Type** | **Core Responsibilities & Description** |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `LiveUserInfo` | `class` | - Data model representing a viewer.<br>- Contains basic profile information such as userID, userName, and avatarURL. |
|
|
18
|
+
| `LiveAudienceState` | `struct` | - State container for the audience module.<br>- Exposes `audienceList` (StateFlow) for the real-time user list and `audienceCount` for the total viewer count. |
|
|
19
|
+
| `LiveAudienceEvent` | `enum` | - Event listener for audience changes.<br>- Provides callbacks like `.onAudienceJoined` and` .onAudienceLeft` to handle incremental list updates. |
|
|
20
|
+
| `LiveAudienceStore` | `class` | - Primary interface for audience management.<br>- Used to fetch list snapshots, perform admin operations (e.g., kicking users), and subscribe to real-time events. |
|
|
61
21
|
|
|
62
22
|
## Implementation
|
|
63
23
|
|
|
64
24
|
### Step 1: Component Integration
|
|
65
|
-
- **Video Live Streaming**: Please refer to
|
|
66
|
-
|
|
67
|
-
- **Voice Chat Room**: Please refer to [Quick Start](https://write.woa.com/document/194571595685527552) to integrate AtomicXCore.
|
|
25
|
+
- **Video Live Streaming**: Please refer to Quick Start to integrate AtomicXCore.
|
|
68
26
|
|
|
27
|
+
- **Voice Chat Room**: Please refer to Quick Start to integrate AtomicXCore.
|
|
69
28
|
|
|
70
29
|
### Step 2: Initialize and Retrieve the Audience List
|
|
71
30
|
|
|
72
|
-
Get a `LiveAudienceStore` instance linked to the `liveId` and fetch the initial audience snapshot.
|
|
31
|
+
Get a `LiveAudienceStore` instance linked to the `liveId` and fetch the initial audience snapshot.
|
|
73
32
|
``` swift
|
|
74
33
|
import Foundation
|
|
75
|
-
import AtomicXCore
|
|
76
|
-
import Combine
|
|
34
|
+
import AtomicXCore
|
|
35
|
+
import Combine
|
|
77
36
|
|
|
78
37
|
class AudienceManager {
|
|
79
38
|
private let liveId: String
|
|
80
39
|
private let audienceStore: LiveAudienceStore
|
|
81
40
|
private var cancellables = Set<AnyCancellable>()
|
|
82
|
-
|
|
41
|
+
|
|
83
42
|
// Expose the [full] audience list publisher for UI layer subscription
|
|
84
43
|
let audienceListPublisher = CurrentValueSubject<[LiveUserInfo], Never>([])
|
|
85
44
|
// Expose the audience count publisher
|
|
@@ -89,11 +48,11 @@ class AudienceManager {
|
|
|
89
48
|
self.liveId = liveId
|
|
90
49
|
// 1. Get the LiveAudienceStore instance by liveId
|
|
91
50
|
self.audienceStore = LiveAudienceStore.create(liveID: liveId)
|
|
92
|
-
|
|
51
|
+
|
|
93
52
|
// 2. Subscribe to state and events
|
|
94
53
|
subscribeToAudienceState()
|
|
95
54
|
subscribeToAudienceEvents()
|
|
96
|
-
|
|
55
|
+
|
|
97
56
|
// 3. Proactively fetch initial data for the first screen
|
|
98
57
|
fetchInitialAudienceList()
|
|
99
58
|
}
|
|
@@ -110,7 +69,7 @@ class AudienceManager {
|
|
|
110
69
|
}
|
|
111
70
|
}
|
|
112
71
|
}
|
|
113
|
-
|
|
72
|
+
|
|
114
73
|
// ... subsequent code
|
|
115
74
|
}
|
|
116
75
|
```
|
|
@@ -140,9 +99,9 @@ extension AudienceManager {
|
|
|
140
99
|
.receive(on: DispatchQueue.main)
|
|
141
100
|
.sink { [weak self] event in
|
|
142
101
|
guard let self = self else { return }
|
|
143
|
-
|
|
102
|
+
|
|
144
103
|
var currentList = self.audienceListPublisher.value
|
|
145
|
-
|
|
104
|
+
|
|
146
105
|
switch event {
|
|
147
106
|
case .onAudienceJoined(let newAudience):
|
|
148
107
|
print("Audience \(newAudience.userName) joined the live room")
|
|
@@ -151,7 +110,7 @@ extension AudienceManager {
|
|
|
151
110
|
currentList.append(newAudience)
|
|
152
111
|
self.audienceListPublisher.send(currentList)
|
|
153
112
|
}
|
|
154
|
-
|
|
113
|
+
|
|
155
114
|
case .onAudienceLeft(let departedAudience):
|
|
156
115
|
print("Audience \(departedAudience.userName) left the live room")
|
|
157
116
|
// Incremental update: remove the departed audience member from the current list
|
|
@@ -225,32 +184,32 @@ When a new audience member enters the live room, a welcome message is automatica
|
|
|
225
184
|
|
|
226
185
|
``` swift
|
|
227
186
|
import Foundation
|
|
228
|
-
import AtomicXCore
|
|
187
|
+
import AtomicXCore
|
|
229
188
|
import Combine
|
|
230
|
-
|
|
189
|
+
|
|
231
190
|
class LiveRoomManager {
|
|
232
191
|
private let liveId: String
|
|
233
192
|
private let audienceManager: AudienceManager
|
|
234
193
|
private let barrageManager: BarrageManager // Assume you have implemented BarrageManager as described in the barrage documentation
|
|
235
194
|
private var cancellables = Set<AnyCancellable>()
|
|
236
|
-
|
|
195
|
+
|
|
237
196
|
init(liveId: String) {
|
|
238
197
|
self.liveId = liveId
|
|
239
198
|
// Initialize two core managers
|
|
240
199
|
self.audienceManager = AudienceManager(liveId: liveId)
|
|
241
200
|
self.barrageManager = BarrageManager(liveId: liveId)
|
|
242
|
-
|
|
201
|
+
|
|
243
202
|
// Set up linkage
|
|
244
203
|
setupWelcomeMessageFlow()
|
|
245
204
|
}
|
|
246
|
-
|
|
205
|
+
|
|
247
206
|
private func setupWelcomeMessageFlow() {
|
|
248
207
|
// 1. Get the LiveAudienceStore instance
|
|
249
208
|
let audienceStore = LiveAudienceStore.create(liveID: self.liveId)
|
|
250
|
-
|
|
209
|
+
|
|
251
210
|
// 2. Get the BarrageStore instance (thanks to internal mechanisms, this will be the same instance)
|
|
252
211
|
let barrageStore = BarrageStore.create(liveID: self.liveId)
|
|
253
|
-
|
|
212
|
+
|
|
254
213
|
// 3. Subscribe to audience events
|
|
255
214
|
audienceStore.liveAudienceEventPublisher
|
|
256
215
|
.receive(on: DispatchQueue.main)
|
|
@@ -259,12 +218,12 @@ When a new audience member enters the live room, a welcome message is automatica
|
|
|
259
218
|
guard case .onAudienceJoined(let newAudience) = event else {
|
|
260
219
|
return
|
|
261
220
|
}
|
|
262
|
-
|
|
221
|
+
|
|
263
222
|
// 5. Create a local tip message
|
|
264
223
|
var welcomeTip = Barrage()
|
|
265
|
-
welcomeTip.messageType = .text
|
|
224
|
+
welcomeTip.messageType = .text
|
|
266
225
|
welcomeTip.textContent = "Welcome \(newAudience.userName) to the live room!"
|
|
267
|
-
|
|
226
|
+
|
|
268
227
|
// 6. Call BarrageStore's API to insert it into the barrage list
|
|
269
228
|
barrageStore.appendLocalTip(message: welcomeTip)
|
|
270
229
|
}
|
|
@@ -276,40 +235,11 @@ When a new audience member enters the live room, a welcome message is automatica
|
|
|
276
235
|
## API Documentation
|
|
277
236
|
|
|
278
237
|
For detailed information on all public interfaces, properties, and methods of [LiveAudienceStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) and its related classes, refer to the official API documentation included with the [AtomicX Core](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) framework. The relevant Stores used in this document are as follows:
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
<td rowspan="1" colSpan="1" >**API Documentation**</td>
|
|
286
|
-
</tr>
|
|
287
|
-
|
|
288
|
-
<tr>
|
|
289
|
-
<td rowspan="1" colSpan="1" >LiveCoreView</td>
|
|
290
|
-
|
|
291
|
-
<td rowspan="1" colSpan="1" >Core view component for live video stream display and interaction: responsible for video stream rendering and view widget handling, supporting scenarios such as host streaming, audience co-hosting, and host-to-host connection.</td>
|
|
292
|
-
|
|
293
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/livecoreview)</td>
|
|
294
|
-
</tr>
|
|
295
|
-
|
|
296
|
-
<tr>
|
|
297
|
-
<td rowspan="1" colSpan="1" >LiveAudienceStore</td>
|
|
298
|
-
|
|
299
|
-
<td rowspan="1" colSpan="1" >Audience management: obtain real-time audience list (ID / name / avatar), count audience numbers, and listen for audience join/leave events.</td>
|
|
300
|
-
|
|
301
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore)</td>
|
|
302
|
-
</tr>
|
|
303
|
-
|
|
304
|
-
<tr>
|
|
305
|
-
<td rowspan="1" colSpan="1" >BarrageStore</td>
|
|
306
|
-
|
|
307
|
-
<td rowspan="1" colSpan="1" >Barrage feature: send text/custom barrage, maintain barrage list, and listen to barrage status in real time.</td>
|
|
308
|
-
|
|
309
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
|
|
310
|
-
</tr>
|
|
311
|
-
</table>
|
|
312
|
-
|
|
238
|
+
| **Store/Component** | **Feature Description** | **API Documentation** |
|
|
239
|
+
| --- | --- | --- |
|
|
240
|
+
| LiveCoreView | Core view component for live video stream display and interaction: responsible for video stream rendering and view widget handling, supporting scenarios such as host streaming, audience co-hosting, and host-to-host connection. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/livecoreview) |
|
|
241
|
+
| LiveAudienceStore | Audience management: obtain real-time audience list (ID / name / avatar), count audience numbers, and listen for audience join/leave events. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) |
|
|
242
|
+
| BarrageStore | Barrage feature: send text/custom barrage, maintain barrage list, and listen to barrage status in real time. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) |
|
|
313
243
|
|
|
314
244
|
## FAQs
|
|
315
245
|
|
|
@@ -321,19 +251,13 @@ The `audienceCount` is a high-precision estimate. Updates occur based on specifi
|
|
|
321
251
|
- **Unexpected Disconnection (Delayed)**:If a user disconnects abnormally (e.g., app crash, network loss), the system uses a heartbeat mechanism to verify status. The user is marked offline only after 90 seconds of inactivity, triggering a delayed count update.
|
|
322
252
|
|
|
323
253
|
- **Frequency Control & Rate Limiting**: Audience count updates are broadcast as room messages. The system enforces a limit of 40 messages per second per room.
|
|
324
|
-
|
|
325
254
|
|
|
326
255
|
> **Note:**
|
|
327
|
-
>
|
|
256
|
+
>
|
|
328
257
|
|
|
329
258
|
> During high-traffic spikes (e.g., chat floods or rapid gifting), if the message rate exceeds this threshold, the system prioritizes core messages (like chat/barrage). Consequently, audience count update messages may be dropped to maintain stability.
|
|
330
|
-
>
|
|
259
|
+
>
|
|
331
260
|
|
|
332
261
|
- **What does this mean for developers?**
|
|
333
262
|
|
|
334
|
-
|
|
335
263
|
Treat `audienceCount` as a metric for UI display purposes only. Do not rely on it for billing, critical statistics, or scenarios requiring 100% accuracy, as brief delays or data loss may occur during high-concurrency events.
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|