@tencentcloud/sdk-mcp 1.4.7 → 1.6.0-beta.1
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/index.js +0 -1
- package/knowledge/bm25-cache.js +73 -0
- package/knowledge/bm25.js +147 -0
- package/knowledge/build-index.js +65 -0
- package/knowledge/chunker.js +167 -0
- package/knowledge/content-loader.js +44 -0
- package/knowledge/extractors.js +25 -0
- package/knowledge/path-meta.js +175 -0
- package/knowledge/search/exact-lookup.js +330 -0
- package/knowledge/search/filter-pool.js +86 -0
- package/knowledge/search/requires-framework.js +72 -0
- package/knowledge/search/search-knowledge.js +226 -0
- package/package.json +9 -9
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +16 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +44 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +32 -28
- package/resource/{doc → integration}/callkit/preset/flutter/integration.md +109 -54
- package/resource/integration/callkit/preset/ios/integration.md +411 -0
- package/resource/integration/callkit/preset/react/integration.md +499 -0
- package/resource/integration/callkit/preset/vue/integration.md +768 -0
- package/resource/{doc/chatkit → integration/chat/preset}/android/integration.md +11 -11
- package/resource/{doc/chatkit → integration/chat/preset}/flutter/integration.md +59 -37
- package/resource/integration/chat/preset/ios/integration.md +568 -0
- package/resource/{doc/chatkit → integration/chat/preset}/react/integration.md +127 -95
- package/resource/integration/chat/preset/uni-app/integration.md +494 -0
- package/resource/{doc/chatkit → integration/chat/preset}/vue/integration.md +163 -143
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +15 -15
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +25 -13
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-h5-integration.md +15 -9
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +31 -26
- package/resource/integration/roomkit/preset/vue/integration.md +571 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +852 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +929 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +364 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1150 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1216 -0
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +412 -0
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1191 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1292 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +537 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
- package/resource/knowledge/callkit/faq/android.md +168 -0
- package/resource/knowledge/callkit/faq/common.md +180 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +116 -0
- package/resource/knowledge/callkit/faq/uniapp-app.md +89 -0
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +217 -0
- package/resource/knowledge/callkit/faq/web.md +363 -0
- package/resource/knowledge/callkit/preset/android/api.md +413 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +256 -0
- package/resource/knowledge/callkit/preset/web/api.md +79 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +72 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +41 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +123 -0
- package/resource/knowledge/chat/preset/android/features/language.md +142 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
- package/resource/knowledge/chat/preset/android/features/search.md +64 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/android/features/theme.md +21 -18
- package/resource/knowledge/chat/preset/android-view/integration.md +448 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +62 -0
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
- package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +163 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/flutter/features/theme.md +47 -19
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +92 -0
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
- package/resource/knowledge/chat/preset/ios/features/language.md +105 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +164 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +94 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/ios/features/theme.md +54 -51
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +157 -94
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +123 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +256 -104
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +217 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/conversation-list.md +86 -79
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +99 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +58 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +30 -83
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-list.md +22 -25
- package/resource/knowledge/chat/preset/react/features/search.md +531 -0
- package/resource/knowledge/chat/preset/react/features/theme.md +16 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/chat-setting.md +0 -4
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/contact-list.md +59 -53
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-actions.md +49 -43
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-list.md +61 -49
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-preview.md +43 -40
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +1 -1
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-input.md +128 -105
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-list.md +108 -195
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +74 -68
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +16 -0
- package/resource/knowledge/chat/urls/product.md +61 -0
- package/resource/knowledge/chat/urls/restapi.md +226 -0
- package/resource/knowledge/chat/urls/sdk/android.md +84 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +73 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +84 -0
- package/resource/knowledge/chat/urls/sdk/web.md +88 -0
- package/resource/knowledge/chat/urls/webhook.md +73 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/CameraView.md +7 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/LikeStore.md +12 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +439 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +221 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/BaseBeautyStore.md +43 -45
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +420 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LikeStore.md +12 -11
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LiveCoreView.md +49 -42
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +397 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +183 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/AudioEffectStore.md +79 -75
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/LikeStore.md +12 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +187 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +780 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +37 -34
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +68 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +18 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +17 -17
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +53 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +47 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +29 -25
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +21 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +78 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-host-interaction.md +47 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +48 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +27 -23
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +15 -12
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +39 -36
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +42 -29
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +20 -19
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +55 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +50 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +48 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +41 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +67 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +53 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +45 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +43 -42
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +523 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audio-effect.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +34 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-gift.md +73 -64
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +46 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-room-list.md +165 -148
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +40 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +41 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +54 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +52 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +55 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +47 -45
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +404 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audience-list.md +40 -57
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audio-effect.md +38 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-barrage.md +53 -53
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-co-guest-interaction.md +106 -116
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-gift.md +49 -59
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-integration.md +52 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-room-list.md +38 -46
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +915 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +179 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +419 -0
- package/resource/knowledge/push/config/android/fcm.md +133 -0
- package/resource/knowledge/push/config/android/honor.md +111 -0
- package/resource/knowledge/push/config/android/huawei.md +106 -0
- package/resource/knowledge/push/config/android/meizu.md +121 -0
- package/resource/knowledge/push/config/android/oppo.md +108 -0
- package/resource/knowledge/push/config/android/vivo.md +101 -0
- package/resource/knowledge/push/config/android/xiaomi.md +99 -0
- package/resource/knowledge/push/integration/android.md +1028 -0
- package/resource/knowledge/push/integration/donut.md +271 -0
- package/resource/knowledge/push/integration/flutter.md +363 -0
- package/resource/knowledge/push/integration/harmonyos.md +72 -0
- package/resource/knowledge/push/integration/ios.md +705 -0
- package/resource/knowledge/push/integration/react-native.md +337 -0
- package/resource/knowledge/push/integration/uni-app.md +461 -0
- package/resource/knowledge/push/integration/unity.md +357 -0
- package/resource/knowledge/push/integration/unreal-engine.md +353 -0
- package/resource/knowledge/push/overview/prepare.md +30 -0
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-participant-state.md +22 -193
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-state.md +33 -32
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/schedule-room.md +30 -29
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-participant-state.md +22 -21
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-state.md +29 -28
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/schedule-room.md +17 -16
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-participant-state.md +49 -218
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-state.md +37 -37
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/schedule-room.md +28 -28
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/call-user-to-room.md +122 -7
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +318 -3
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +1504 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/free-beauty-panel.md +4 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +709 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1105 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +635 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +529 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/schedule-room.md +256 -13
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/screen-share.md +218 -25
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/virtual-background.md +4 -3
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/android/integration.md +50 -64
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/flutter/integration.md +34 -31
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/ios/integration.md +45 -53
- package/resource/knowledge/roomkit/preset/react/integration.md +571 -0
- package/resource/{doc → knowledge}/rtcengine/web/how_to_run_web_sdk_demo.md +31 -15
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +9 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/trtc/android/TRTCCloud.md +547 -495
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudDef.md +434 -403
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudListener.md +394 -348
- package/resource/{doc → knowledge}/trtc/android/TRTCStatistics.md +17 -15
- package/resource/{doc → knowledge}/trtc/android/TXAudioEffectManager.md +227 -197
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/{doc → knowledge}/trtc/android/TXDeviceManager.md +70 -63
- package/resource/{doc → knowledge}/trtc/android/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCCloud.md +599 -544
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCStatistics.md +17 -15
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +403 -0
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCCloudCallback.md +439 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCTypeDef.md +417 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloud.md +619 -559
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloudDelegate.md +409 -360
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCStatistics.md +17 -15
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXAudioEffectManager.md +187 -164
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +399 -0
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiveSDKTypeDef.md +422 -396
- package/server-config.js +0 -1
- package/server.js +22 -12
- package/streamable-http.js +0 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -4
- package/tools/call/get_native_callkit_core_integration.js +2 -6
- package/tools/call/get_web_call_uikit_integration.js +2 -4
- package/tools/chat/get_native_chat_uikit_integration.js +2 -4
- package/tools/chat/get_web_chat_uikit_integration.js +2 -4
- package/tools/common/get_usersig.js +0 -1
- package/tools/common/present_framework_choice.js +9 -4
- package/tools/common/record_answer.js +19 -26
- package/tools/common/record_feedback.js +17 -31
- package/tools/common/search_trtc_knowledge.js +44 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +2 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +3 -2
- package/tools/definitions/get_native_livekit_core_integration_def.js +2 -1
- package/tools/definitions/get_usersig_def.js +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +4 -3
- package/tools/definitions/get_web_room_core_integration_def.js +46 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +3 -1
- package/tools/definitions/integration-boundary.js +5 -0
- package/tools/definitions/present_framework_choice_def.js +11 -10
- package/tools/definitions/record_answer_def.js +6 -5
- package/tools/definitions/record_feedback_def.js +4 -3
- package/tools/definitions/search_trtc_knowledge_def.js +69 -0
- package/tools/index.js +5 -37
- package/tools/live/get_native_livekit_core_integration.js +1 -4
- package/tools/live/get_web_live_uikit_integration.js +2 -5
- package/tools/room/get_web_room_core_integration.js +47 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -4
- package/utils/generate-structured-result.js +4 -11
- package/utils/generate-usersig.js +0 -1
- package/utils/get-device-identifier.js +0 -1
- package/utils/get-doc-content.js +14 -9
- package/utils/http-get.js +0 -1
- package/utils/http-post.js +0 -1
- package/utils/report-cls-client.js +22 -21
- package/utils/report-es-client.js +1 -2
- package/utils/report-runtime-error-cls-client.js +0 -1
- package/index.js.map +0 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -942
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -876
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -368
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1132
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1206
- package/resource/doc/callkit/core-sdk/flutter/offline-push.md +0 -357
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1009
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1154
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -470
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -1146
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1267
- package/resource/doc/callkit/faq/android-faq.md +0 -767
- package/resource/doc/callkit/faq/flutter-faq.md +0 -749
- package/resource/doc/callkit/faq/ios-faq.md +0 -759
- package/resource/doc/callkit/faq/web-faq.md +0 -753
- package/resource/doc/callkit/preset/android/api.md +0 -330
- package/resource/doc/callkit/preset/flutter/api.md +0 -401
- package/resource/doc/callkit/preset/ios/api.md +0 -282
- package/resource/doc/callkit/preset/ios/integration.md +0 -188
- package/resource/doc/callkit/preset/react/api.md +0 -600
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -600
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -109
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -280
- package/resource/doc/chatkit/faq/common/product.md +0 -82
- package/resource/doc/chatkit/faq/common/server.md +0 -53
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -183
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -54
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -279
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -292
- package/resource/doc/chatkit/flutter/faq.md +0 -22
- package/resource/doc/chatkit/ios/faq.md +0 -109
- package/resource/doc/chatkit/react/components/avatar.md +0 -104
- package/resource/doc/chatkit/react/components/chat-header.md +0 -148
- package/resource/doc/chatkit/react/components/chat-setting.md +0 -117
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -35
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -116
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -57
- package/resource/doc/chatkit/react/components/search.md +0 -282
- package/resource/doc/chatkit/react/components/tuikit.md +0 -43
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -149
- package/resource/doc/chatkit/vue/components/chat.md +0 -42
- package/resource/doc/chatkit/vue/components/component-list.md +0 -89
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -45
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -35
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +0 -148
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +0 -316
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +0 -419
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +0 -325
- package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +0 -436
- package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +0 -239
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +0 -417
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +0 -207
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +0 -158
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +0 -304
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +0 -394
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +0 -303
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +0 -410
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +0 -160
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +0 -231
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +0 -375
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +0 -170
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +0 -143
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +0 -298
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +0 -349
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +0 -297
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +0 -471
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +0 -179
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +0 -238
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +0 -412
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +0 -173
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +0 -365
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +0 -336
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +0 -291
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -88
- package/resource/doc/livekit/preset/live/vue/components/live-audience-list.md +0 -164
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -130
- package/resource/doc/livekit/preset/live/vue/components/live-view.md +0 -203
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -211
- package/resource/doc/livekit/preset/live/vue/faq.md +0 -1
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/flutter/features/call-user-to-room.md +0 -228
- package/resource/doc/roomkit/vue/faq.md +0 -1
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-participant-state.md +0 -385
- package/resource/doc/roomkit/vue/features/room-state.md +0 -280
- package/resource/doc/roomkit/vue/features/room-view.md +0 -241
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -472
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -388
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -404
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -382
- package/server-config.js.map +0 -1
- package/server.js.map +0 -1
- package/streamable-http.js.map +0 -1
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/call/get_native_call_uikit_integration.js.map +0 -1
- package/tools/call/get_native_callkit_core_integration.js.map +0 -1
- package/tools/call/get_web_call_uikit_integration.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- 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.map +0 -1
- package/tools/common/record_answer.js.map +0 -1
- package/tools/common/record_feedback.js.map +0 -1
- package/tools/common/record_skill_session.js +0 -69
- package/tools/common/record_skill_session.js.map +0 -1
- package/tools/definitions/get_callkit_api_def.js +0 -28
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -40
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -33
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
- package/tools/definitions/get_usersig_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -27
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -29
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -30
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/present_framework_choice_def.js.map +0 -1
- package/tools/definitions/record_answer_def.js.map +0 -1
- package/tools/definitions/record_feedback_def.js.map +0 -1
- package/tools/definitions/record_skill_session_def.js +0 -31
- package/tools/definitions/record_skill_session_def.js.map +0 -1
- package/tools/index.js.map +0 -1
- package/tools/live/get_native_livekit_core_features.js +0 -68
- package/tools/live/get_native_livekit_core_features.js.map +0 -1
- package/tools/live/get_native_livekit_core_integration.js.map +0 -1
- package/tools/live/get_web_live_uikit_integration.js.map +0 -1
- package/tools/live/get_web_livekit_api.js +0 -33
- package/tools/live/get_web_livekit_api.js.map +0 -1
- package/tools/live/get_web_livekit_component_detail.js +0 -35
- package/tools/live/get_web_livekit_component_detail.js.map +0 -1
- package/tools/room/get_web_room_uikit_integration.js.map +0 -1
- package/tools/room/get_web_roomkit_feature_detail.js +0 -69
- package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
- package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
- package/utils/build-session-directives.js +0 -122
- package/utils/build-session-directives.js.map +0 -1
- package/utils/generate-structured-result.js.map +0 -1
- package/utils/generate-usersig.js.map +0 -1
- package/utils/get-device-identifier.js.map +0 -1
- package/utils/get-doc-content.js.map +0 -1
- package/utils/handle-framework.js +0 -9
- package/utils/handle-framework.js.map +0 -1
- package/utils/handle-state-name.js +0 -29
- package/utils/handle-state-name.js.map +0 -1
- package/utils/http-get.js.map +0 -1
- package/utils/http-post.js.map +0 -1
- package/utils/report-cls-client.js.map +0 -1
- package/utils/report-es-client.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/callkit/faq/common → knowledge/callkit/faq}/error-code.md +0 -0
- /package/resource/{doc/livekit/faq/common → knowledge/livekit/faq}/error-code.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
- /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/38-advanced-basic-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
- /package/resource/{doc/rtcengine/faq/common → knowledge/share}/userSig.md +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
`LiveListStore` 是 `AtomicXCore`
|
|
1
|
+
`LiveListStore` 是 `AtomicXCore` 中负责管理直播房间列表、创建、加入以及维护房间状态的核心模块。通过 `LiveListStore`,您可以为您的应用构建完整的直播生命周期管理。
|
|
2
2
|
|
|
3
3
|
## 核心功能
|
|
4
|
-
-
|
|
4
|
+
- **获取直播列表**:获取当前所有公开的直播间列表,支持分页加载。
|
|
5
5
|
|
|
6
6
|
- **直播生命周期管理**:提供从创建、开播、加入、离开到结束直播的全套流程接口。
|
|
7
7
|
|
|
@@ -13,28 +13,25 @@
|
|
|
13
13
|
|
|
14
14
|
## 核心概念
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
16
|
+
在开始集成之前,我们先通过下表了解一下 `LiveListStore` 相关的几个核心概念:
|
|
17
|
+
|
|
18
|
+
|**核心概念**|**类型**|**核心职责与描述**|
|
|
19
|
+
|---------|---------|---------|
|
|
20
|
+
|[LiveInfo](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveInfo-class.html)|`class`|代表一个直播间的所有信息模型。包含了直播 ID (`liveID`)、名称 (`liveName`)、房主信息 (`liveOwner`) 以及自定义元数据 (`metaData`) 等。|
|
|
21
|
+
|[LiveListState](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListState-class.html)|`class`|代表直播列表模块的当前状态。其核心属性 `liveList` 是一个 `ValueListenable<List<LiveInfo>>` 类型,存储了拉取到的直播列表;`currentLive` 则代表用户当前所在的直播间信息。|
|
|
22
|
+
|[LiveListListener](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListListener-class.html)|`class`|代表直播房间的全局事件监听器。包含 `onLiveEnded` (直播结束) 和 `onKickedOutOfLive` (被踢出直播) 两种回调,用于处理关键的房间状态变更。|
|
|
23
|
+
|[LiveListStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html)|`class`|这是与直播列表和房间生命周期交互的核心管理类。它是一个全局单例 (`shared`),负责所有直播房间的创建、加入、信息更新等操作。|
|
|
23
24
|
|
|
24
25
|
## 实现步骤
|
|
25
26
|
|
|
26
27
|
### 步骤1:组件集成
|
|
28
|
+
- **视频直播**:请参考 开播与观看 集成 **AtomicXCore**,完成接入。
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### 步骤2:实现观众从直播列表进入直播间
|
|
31
|
-
|
|
32
|
-
#### 实现方式
|
|
33
|
-
1. 创建一个展示直播列表的页面,该页面使用 `GridView` 来布局直播间卡片。
|
|
30
|
+
- **语聊房**:请参考 开播与收听 集成 **AtomicXCore**,完成接入。
|
|
34
31
|
|
|
35
|
-
2
|
|
32
|
+
### 步骤2:观众进入直播间实现
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
创建一个展示直播列表的页面,该页面使用 `GridView` 来布局直播间卡片。当用户点击某个卡片时,获取该直播间的 `liveID`,并跳转到观众观看页面。
|
|
38
35
|
``` java
|
|
39
36
|
import 'package:flutter/material.dart';
|
|
40
37
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
@@ -51,12 +48,11 @@ class _LiveListPageState extends State<LiveListPage> {
|
|
|
51
48
|
final _liveListStore = LiveListStore.shared;
|
|
52
49
|
final ScrollController _scrollController = ScrollController();
|
|
53
50
|
bool _isLoading = false;
|
|
54
|
-
late final VoidCallback _liveListListener = _onLiveListChanged;
|
|
55
51
|
|
|
56
52
|
@override
|
|
57
53
|
void initState() {
|
|
58
54
|
super.initState();
|
|
59
|
-
_liveListStore.liveState.liveList.addListener(
|
|
55
|
+
_liveListStore.liveState.liveList.addListener(_onLiveListChanged);
|
|
60
56
|
_scrollController.addListener(_onScroll);
|
|
61
57
|
_fetchLiveList();
|
|
62
58
|
}
|
|
@@ -79,7 +75,7 @@ class _LiveListPageState extends State<LiveListPage> {
|
|
|
79
75
|
|
|
80
76
|
final result = await _liveListStore.fetchLiveList(cursor: '', count: 20);
|
|
81
77
|
if (!result.isSuccess) {
|
|
82
|
-
debugPrint('
|
|
78
|
+
debugPrint('获取直播列表失败: ${result.message}');
|
|
83
79
|
}
|
|
84
80
|
|
|
85
81
|
setState(() => _isLoading = false);
|
|
@@ -114,7 +110,7 @@ class _LiveListPageState extends State<LiveListPage> {
|
|
|
114
110
|
|
|
115
111
|
@override
|
|
116
112
|
void dispose() {
|
|
117
|
-
_liveListStore.liveState.liveList.removeListener(
|
|
113
|
+
_liveListStore.liveState.liveList.removeListener(_onLiveListChanged);
|
|
118
114
|
_scrollController.dispose();
|
|
119
115
|
super.dispose();
|
|
120
116
|
}
|
|
@@ -291,29 +287,27 @@ class YourAudiencePage extends StatelessWidget {
|
|
|
291
287
|
```
|
|
292
288
|
|
|
293
289
|
**LiveInfo 参数说明**
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
290
|
+
|
|
291
|
+
|**参数名**|**类型**|**描述**|
|
|
292
|
+
|---------|---------|---------|
|
|
293
|
+
|`liveID`|`String`|直播间的唯一标识符。|
|
|
294
|
+
|`liveName`|`String`|直播间的标题。|
|
|
295
|
+
|`coverURL`|`String`|直播间的封面图片地址。|
|
|
296
|
+
|`liveOwner`|`LiveUserInfo`|房主的个人信息。|
|
|
297
|
+
|`totalViewerCount`|`int`|直播间的总观看人数。|
|
|
298
|
+
|`categoryList`|`List<int>`|直播间的分类标签列表。|
|
|
299
|
+
|`notice`|`String`|直播间的公告信息。|
|
|
300
|
+
|`metaData`|`Map<String, String>`|开发者自定义的元数据,用于实现复杂的业务场景。|
|
|
304
301
|
|
|
305
302
|
## 功能进阶
|
|
306
303
|
|
|
307
304
|
### 场景一:分类展示直播列表
|
|
308
305
|
|
|
309
|
-
在 App
|
|
306
|
+
在 App 的直播广场页,顶部设有"热门"、"音乐"、"游戏"等分类标签。用户点击不同的标签后,下方的直播列表会动态筛选,只展示对应分类的直播间,从而帮助用户快速发现感兴趣的内容。
|
|
310
307
|
|
|
311
308
|
#### 实现方式
|
|
312
309
|
|
|
313
|
-
核心是利用 `LiveInfo` 模型中的 `categoryList`
|
|
314
|
-
1. 当主播开播设置分类后,`fetchLiveList` 返回的 `LiveInfo` 对象中就会包含这些分类信息。
|
|
315
|
-
|
|
316
|
-
2. 您的 App 在获取到完整的直播列表后,只需在客户端根据用户选择的分类,对这个列表进行一次简单的筛选,然后刷新 UI 即可。
|
|
310
|
+
核心是利用 `LiveInfo` 模型中的 `categoryList` 属性。当主播开播设置分类后,`fetchLiveList` 返回的 `LiveInfo` 对象中就会包含这些分类信息。您的 App 在获取到完整的直播列表后,只需在客户端根据用户选择的分类,对这个列表进行一次简单的筛选,然后刷新 UI 即可。
|
|
317
311
|
|
|
318
312
|
#### 代码示例
|
|
319
313
|
|
|
@@ -331,11 +325,10 @@ class LiveListManager extends ChangeNotifier {
|
|
|
331
325
|
|
|
332
326
|
List<LiveInfo> get filteredLiveList => _filteredLiveList;
|
|
333
327
|
int? get selectedCategoryId => _selectedCategoryId;
|
|
334
|
-
|
|
335
|
-
late final VoidCallback _liveListListener = _onLiveListChanged;
|
|
328
|
+
late final VoidCallback _liveListChangedListener = _onLiveListChanged;
|
|
336
329
|
|
|
337
330
|
LiveListManager() {
|
|
338
|
-
_liveListStore.liveState.liveList.addListener(
|
|
331
|
+
_liveListStore.liveState.liveList.addListener(_liveListChangedListener);
|
|
339
332
|
}
|
|
340
333
|
|
|
341
334
|
void _onLiveListChanged() {
|
|
@@ -369,7 +362,7 @@ class LiveListManager extends ChangeNotifier {
|
|
|
369
362
|
|
|
370
363
|
@override
|
|
371
364
|
void dispose() {
|
|
372
|
-
_liveListStore.liveState.liveList.removeListener(
|
|
365
|
+
_liveListStore.liveState.liveList.removeListener(_liveListChangedListener);
|
|
373
366
|
super.dispose();
|
|
374
367
|
}
|
|
375
368
|
}
|
|
@@ -501,14 +494,13 @@ class _CategoryLiveListPageState extends State<CategoryLiveListPage> {
|
|
|
501
494
|
}
|
|
502
495
|
```
|
|
503
496
|
|
|
504
|
-
###
|
|
497
|
+
### 场景二:展示电商直播的商品信息
|
|
505
498
|
|
|
506
|
-
|
|
499
|
+
在电商直播中,主播正在讲解一款商品。此时,所有观众的直播画面下方都会弹出一张商品卡片,实时展示该商品的图片、名称和价格。当主播切换讲解下一件商品时,所有观众端的卡片都会自动、同步更新。
|
|
507
500
|
|
|
508
501
|
#### 实现方式
|
|
509
|
-
1. 主播端将自定义信息(建议使用 JSON 格式)通过 `updateLiveMetaData` 接口设置到一个或多个 key 中。`AtomicXCore` 会将这个变更实时同步给所有观众。
|
|
510
502
|
|
|
511
|
-
|
|
503
|
+
主播端将当前商品的结构化信息(建议使用 **JSON** 格式)通过 `updateLiveMetaData` 接口设置到一个自定义的 key(例如 "`product_info`")中。**AtomicXCore** 会将这个变更实时同步给所有观众。观众端只需订阅 `LiveListState.currentLive`,监听 `metaData` 的变化,一旦发现 `product_info` 的值更新,就解析其中的 JSON 数据并刷新商品卡片 UI。
|
|
512
504
|
|
|
513
505
|
#### 代码示例
|
|
514
506
|
``` java
|
|
@@ -516,60 +508,69 @@ import 'dart:convert';
|
|
|
516
508
|
import 'package:flutter/material.dart';
|
|
517
509
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
518
510
|
|
|
519
|
-
///
|
|
520
|
-
class
|
|
521
|
-
final String
|
|
522
|
-
final String
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
511
|
+
/// 商品信息模型
|
|
512
|
+
class Product {
|
|
513
|
+
final String id;
|
|
514
|
+
final String name;
|
|
515
|
+
final String price;
|
|
516
|
+
final String imageUrl;
|
|
517
|
+
|
|
518
|
+
Product({
|
|
519
|
+
required this.id,
|
|
520
|
+
required this.name,
|
|
521
|
+
required this.price,
|
|
522
|
+
required this.imageUrl,
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
factory Product.fromJson(Map<String, dynamic> json) {
|
|
526
|
+
return Product(
|
|
527
|
+
id: json['id'] ?? '',
|
|
528
|
+
name: json['name'] ?? '',
|
|
529
|
+
price: json['price'] ?? '',
|
|
530
|
+
imageUrl: json['imageUrl'] ?? '',
|
|
530
531
|
);
|
|
531
532
|
}
|
|
532
533
|
|
|
533
534
|
Map<String, dynamic> toJson() {
|
|
534
535
|
return {
|
|
535
|
-
'
|
|
536
|
-
'
|
|
536
|
+
'id': id,
|
|
537
|
+
'name': name,
|
|
538
|
+
'price': price,
|
|
539
|
+
'imageUrl': imageUrl,
|
|
537
540
|
};
|
|
538
541
|
}
|
|
539
542
|
}
|
|
540
543
|
|
|
541
|
-
///
|
|
542
|
-
class
|
|
544
|
+
/// 主播端:推送商品信息
|
|
545
|
+
class HostProductController {
|
|
543
546
|
final _liveListStore = LiveListStore.shared;
|
|
544
547
|
|
|
545
|
-
Future<void>
|
|
546
|
-
final jsonString = jsonEncode(
|
|
547
|
-
|
|
548
|
-
// 将要更新的元数据
|
|
549
|
-
final metaData = {'music_info': jsonString};
|
|
548
|
+
Future<void> pushProductInfo(Product product) async {
|
|
549
|
+
final jsonString = jsonEncode(product.toJson());
|
|
550
|
+
final metaData = {'product_info': jsonString};
|
|
550
551
|
|
|
551
552
|
// 使用全局单例的 liveListStore 来更新 metaData
|
|
552
553
|
final result = await _liveListStore.updateLiveMetaData(metaData);
|
|
553
554
|
if (result.isSuccess) {
|
|
554
|
-
debugPrint('
|
|
555
|
+
debugPrint('商品 ${product.name} 信息推送成功');
|
|
555
556
|
} else {
|
|
556
|
-
debugPrint('
|
|
557
|
+
debugPrint('商品信息推送失败: ${result.message}');
|
|
557
558
|
}
|
|
558
559
|
}
|
|
559
560
|
}
|
|
560
561
|
|
|
561
|
-
///
|
|
562
|
-
class
|
|
563
|
-
const
|
|
562
|
+
/// 观众端:商品卡片组件
|
|
563
|
+
class ProductCardWidget extends StatefulWidget {
|
|
564
|
+
const ProductCardWidget({super.key});
|
|
564
565
|
|
|
565
566
|
@override
|
|
566
|
-
State<
|
|
567
|
+
State<ProductCardWidget> createState() => _ProductCardWidgetState();
|
|
567
568
|
}
|
|
568
569
|
|
|
569
|
-
class
|
|
570
|
+
class _ProductCardWidgetState extends State<ProductCardWidget> {
|
|
570
571
|
final _liveListStore = LiveListStore.shared;
|
|
571
|
-
|
|
572
|
-
String?
|
|
572
|
+
Product? _currentProduct;
|
|
573
|
+
String? _lastProductInfo;
|
|
573
574
|
late final VoidCallback _currentLiveChangedListener = _onCurrentLiveChanged;
|
|
574
575
|
|
|
575
576
|
@override
|
|
@@ -580,37 +581,30 @@ class _AudienceMusicWidgetState extends State<AudienceMusicWidget> {
|
|
|
580
581
|
|
|
581
582
|
void _onCurrentLiveChanged() {
|
|
582
583
|
final currentLive = _liveListStore.liveState.currentLive.value;
|
|
583
|
-
final
|
|
584
|
+
final productInfo = currentLive.metaData['product_info'];
|
|
584
585
|
|
|
585
586
|
// 检查是否有变化
|
|
586
|
-
if (
|
|
587
|
-
|
|
588
|
-
|
|
587
|
+
if (productInfo != _lastProductInfo) {
|
|
588
|
+
_lastProductInfo = productInfo;
|
|
589
|
+
_parseProductInfo(productInfo);
|
|
589
590
|
}
|
|
590
591
|
}
|
|
591
592
|
|
|
592
|
-
void
|
|
593
|
+
void _parseProductInfo(String? jsonString) {
|
|
593
594
|
if (jsonString == null || jsonString.isEmpty) {
|
|
594
|
-
setState(() =>
|
|
595
|
+
setState(() => _currentProduct = null);
|
|
595
596
|
return;
|
|
596
597
|
}
|
|
597
598
|
|
|
598
599
|
try {
|
|
599
600
|
final json = jsonDecode(jsonString) as Map<String, dynamic>;
|
|
600
|
-
final
|
|
601
|
-
setState(() =>
|
|
602
|
-
// 刷新业务状态,播放新的音乐
|
|
603
|
-
_playMusic(music);
|
|
601
|
+
final product = Product.fromJson(json);
|
|
602
|
+
setState(() => _currentProduct = product);
|
|
604
603
|
} catch (e) {
|
|
605
|
-
debugPrint('
|
|
604
|
+
debugPrint('解析商品信息失败: $e');
|
|
606
605
|
}
|
|
607
606
|
}
|
|
608
607
|
|
|
609
|
-
void _playMusic(MusicModel music) {
|
|
610
|
-
// 实现播放音乐的逻辑
|
|
611
|
-
debugPrint('正在播放: ${music.musicName}');
|
|
612
|
-
}
|
|
613
|
-
|
|
614
608
|
@override
|
|
615
609
|
void dispose() {
|
|
616
610
|
_liveListStore.liveState.currentLive.removeListener(_currentLiveChangedListener);
|
|
@@ -619,20 +613,83 @@ class _AudienceMusicWidgetState extends State<AudienceMusicWidget> {
|
|
|
619
613
|
|
|
620
614
|
@override
|
|
621
615
|
Widget build(BuildContext context) {
|
|
616
|
+
if (_currentProduct == null) {
|
|
617
|
+
return const SizedBox.shrink();
|
|
618
|
+
}
|
|
619
|
+
|
|
622
620
|
return Container(
|
|
623
|
-
|
|
621
|
+
margin: const EdgeInsets.all(16),
|
|
622
|
+
padding: const EdgeInsets.all(12),
|
|
624
623
|
decoration: BoxDecoration(
|
|
625
|
-
color: Colors.
|
|
626
|
-
borderRadius: BorderRadius.circular(
|
|
624
|
+
color: Colors.white,
|
|
625
|
+
borderRadius: BorderRadius.circular(12),
|
|
626
|
+
boxShadow: [
|
|
627
|
+
BoxShadow(
|
|
628
|
+
color: Colors.black.withOpacity(0.1),
|
|
629
|
+
blurRadius: 8,
|
|
630
|
+
offset: const Offset(0, 2),
|
|
631
|
+
),
|
|
632
|
+
],
|
|
627
633
|
),
|
|
628
634
|
child: Row(
|
|
629
|
-
mainAxisSize: MainAxisSize.min,
|
|
630
635
|
children: [
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
+
// 商品图片
|
|
637
|
+
ClipRRect(
|
|
638
|
+
borderRadius: BorderRadius.circular(8),
|
|
639
|
+
child: Image.network(
|
|
640
|
+
_currentProduct!.imageUrl,
|
|
641
|
+
width: 80,
|
|
642
|
+
height: 80,
|
|
643
|
+
fit: BoxFit.cover,
|
|
644
|
+
errorBuilder: (context, error, stackTrace) {
|
|
645
|
+
return Container(
|
|
646
|
+
width: 80,
|
|
647
|
+
height: 80,
|
|
648
|
+
color: Colors.grey[300],
|
|
649
|
+
child: const Icon(Icons.image),
|
|
650
|
+
);
|
|
651
|
+
},
|
|
652
|
+
),
|
|
653
|
+
),
|
|
654
|
+
const SizedBox(width: 12),
|
|
655
|
+
// 商品信息
|
|
656
|
+
Expanded(
|
|
657
|
+
child: Column(
|
|
658
|
+
crossAxisAlignment: CrossAxisAlignment.start,
|
|
659
|
+
mainAxisSize: MainAxisSize.min,
|
|
660
|
+
children: [
|
|
661
|
+
Text(
|
|
662
|
+
_currentProduct!.name,
|
|
663
|
+
style: const TextStyle(
|
|
664
|
+
fontSize: 14,
|
|
665
|
+
fontWeight: FontWeight.bold,
|
|
666
|
+
),
|
|
667
|
+
maxLines: 2,
|
|
668
|
+
overflow: TextOverflow.ellipsis,
|
|
669
|
+
),
|
|
670
|
+
const SizedBox(height: 4),
|
|
671
|
+
Text(
|
|
672
|
+
'¥${_currentProduct!.price}',
|
|
673
|
+
style: const TextStyle(
|
|
674
|
+
fontSize: 16,
|
|
675
|
+
color: Colors.red,
|
|
676
|
+
fontWeight: FontWeight.bold,
|
|
677
|
+
),
|
|
678
|
+
),
|
|
679
|
+
],
|
|
680
|
+
),
|
|
681
|
+
),
|
|
682
|
+
// 购买按钮
|
|
683
|
+
ElevatedButton(
|
|
684
|
+
onPressed: () {
|
|
685
|
+
// 实现购买逻辑
|
|
686
|
+
debugPrint('购买商品: ${_currentProduct!.name}');
|
|
687
|
+
},
|
|
688
|
+
style: ElevatedButton.styleFrom(
|
|
689
|
+
backgroundColor: Colors.orange,
|
|
690
|
+
foregroundColor: Colors.white,
|
|
691
|
+
),
|
|
692
|
+
child: const Text('立即购买'),
|
|
636
693
|
),
|
|
637
694
|
],
|
|
638
695
|
),
|
|
@@ -643,62 +700,22 @@ class _AudienceMusicWidgetState extends State<AudienceMusicWidget> {
|
|
|
643
700
|
|
|
644
701
|
## API 文档
|
|
645
702
|
|
|
646
|
-
关于 [LiveListStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html)
|
|
647
|
-
| **Store/Component** | **功能描述** | **API 文档** |
|
|
648
|
-
| --- | --- | --- |
|
|
649
|
-
| LiveListStore | 直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(例如被踢出、结束)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) |
|
|
650
|
-
|
|
651
|
-
## 常见问题
|
|
652
|
-
|
|
653
|
-
### 语聊房的列表和视频直播的列表数据是同一份吗?
|
|
654
|
-
|
|
655
|
-
它们的数据是同一份,您不需要分开拉取。`LiveListStore` 是一个全局单例,它负责统一管理应用中所有“直播”房间的生命周期,无论是视频直播还是语聊房。
|
|
656
|
-
|
|
657
|
-
### 直播列表中如何区分语聊房和视频直播?
|
|
658
|
-
|
|
659
|
-
`LiveListStore` 本身不区分房间的业务类型。您需要在获取列表后,在客户端的应用层(业务逻辑或 UI 层)进行筛选和分类。
|
|
660
|
-
|
|
661
|
-
我们推荐采用以下两种方式进行区分:
|
|
662
|
-
|
|
663
|
-
**方式一(推荐):使用 seatLayoutTemplateID 区分**
|
|
703
|
+
关于 [LiveListStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) 及其相关类的所有公开接口、属性和方法的详细信息,请参阅随 [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Flutter/index.html) 框架的官方 API 文档。本文档使用到的相关 Store 如下:
|
|
664
704
|
|
|
665
|
-
|
|
666
|
-
|
|
705
|
+
|**Store/Component**|**功能描述**|**API 文档**|
|
|
706
|
+
|---------|---------|---------|
|
|
707
|
+
|**LiveCoreWidget**|直播视频流展示与交互的核心视图组件:负责视频流渲染和视图挂件处理,支持主播直播、观众连麦、主播连线等场景。|[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html)|
|
|
708
|
+
|**LiveCoreController**|LiveCoreWidget 的控制器:用于设置直播 ID、控制预览等操作。|[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html)|
|
|
709
|
+
|**LiveListStore**|直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(例如被踢出、结束)。|[API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html)|
|
|
667
710
|
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
- 语聊房场景:传入 1-199 范围内的模板 ID。
|
|
671
|
-
|
|
672
|
-
- 视频直播场景:传入 200-999 范围内的模板 ID。
|
|
673
|
-
|
|
674
|
-
- **步骤2:获取列表时筛选**
|
|
675
|
-
|
|
676
|
-
客户端在 `liveState.liveList` 中收到列表数据后,通过判断这个 ID 值所属的范围来区分,从而在进入直播间的时候区分两种业务场景。
|
|
677
|
-
|
|
678
|
-
> **重要提示:**
|
|
679
|
-
>
|
|
680
|
-
|
|
681
|
-
> 创建房间时,如果传入的 `seatLayoutTemplateID` 范围与您的业务场景(语聊房、视频直播)不匹配,可能会导致麦位布局出现功能异常。
|
|
682
|
-
>
|
|
683
|
-
|
|
684
|
-
**方式二:为 **`liveID`** 添加业务前缀**
|
|
685
|
-
|
|
686
|
-
这是一种可选的、纯粹的应用层约定,用于辅助您在客户端快速筛选。
|
|
687
|
-
|
|
688
|
-
- **步骤1:创建房间时添加前缀**
|
|
689
|
-
|
|
690
|
-
在您生成 `liveID` 并调用 `createLive` 时,为不同业务类型的 `liveID` 赋予不同的前缀。例如:视频直播的 ID 以 “Live_” 开头 (例如:Live_12345),语聊房的 ID 以 “voice_” 开头 (例如:voice_67890)。
|
|
691
|
-
|
|
692
|
-
- **步骤2:获取列表时检查前缀**
|
|
693
|
-
|
|
694
|
-
客户端在拉取到列表后,通过检查 `liveID` 字符串的前缀来进行区分。
|
|
711
|
+
## 常见问题
|
|
695
712
|
|
|
696
|
-
### 使用 `updateLiveMetaData`
|
|
713
|
+
### 使用 `updateLiveMetaData` 时有哪些需要注意的限制和规则?
|
|
697
714
|
|
|
698
715
|
为了保证系统的稳定和高效,`metaData` 的使用遵循以下规则:
|
|
699
716
|
- **权限**:只有房主和管理员可以调用 `updateLiveMetaData`。普通观众没有权限。
|
|
700
717
|
|
|
701
|
-
-
|
|
718
|
+
- **数量与大小限制: **
|
|
702
719
|
|
|
703
720
|
- 单个房间最多支持 **10** 个 key。
|
|
704
721
|
|
|
@@ -706,4 +723,4 @@ class _AudienceMusicWidgetState extends State<AudienceMusicWidget> {
|
|
|
706
723
|
|
|
707
724
|
- 单个房间所有 value 的总大小不超过 **16KB**。
|
|
708
725
|
|
|
709
|
-
- **冲突解决**:`metaData`
|
|
726
|
+
- **冲突解决**:`metaData` 的更新机制是"后来者覆盖"。如果多个管理员在短时间内修改同一个 key,最后一次的修改会生效。建议在业务设计上避免多人同时修改同一个关键信息。
|
|
@@ -14,18 +14,20 @@
|
|
|
14
14
|
## 核心概念
|
|
15
15
|
|
|
16
16
|
在开始集成之前,我们先通过下表了解一下 LiveAudienceStore 相关的几个核心概念:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
|
|
18
|
+
|**核心概念**|**类型**|**核心职责与描述**|
|
|
19
|
+
|---------|---------|---------|
|
|
20
|
+
|`LiveUserInfo`|struct|代表一个观众(用户)的基础信息模型。它包含了用户的唯一标识 (`userID`)、昵称 (`userName`) 和头像地址 (`avatarURL`)。|
|
|
21
|
+
|`LiveAudienceState`|struct|代表观众模块的当前状态。其核心属性 `audienceList` 是一个 `[LiveUserInfo] `数组,存储了观众列表的快照;`audienceCount` 则代表当前观众总数。|
|
|
22
|
+
|`LiveAudienceEvent`|enum|代表观众动态的实时事件。分为 `.onAudienceJoined`(观众加入) 和 `.onAudienceLeft`(观众离开)两种,用于实现对观众列表的增量更新。|
|
|
23
|
+
|`LiveAudienceStore`|class|这是与观众列表功能交互的核心管理类。通过它,您可以获取观众列表快照、执行管理操作,并通过订阅其 `liveAudienceEventPublisher` 来接收实时动态。|
|
|
23
24
|
|
|
24
25
|
## 实现步骤
|
|
25
26
|
|
|
26
27
|
### 步骤1:组件集成
|
|
28
|
+
- **视频直播**:请参考 开播与观看 集成 **AtomicXCore**,完成接入。
|
|
27
29
|
|
|
28
|
-
|
|
30
|
+
- **语聊房**:请参考 开播与收听 集成 **AtomicXCore**,完成接入。
|
|
29
31
|
|
|
30
32
|
### 步骤2:初始化并获取观众列表
|
|
31
33
|
|
|
@@ -134,7 +136,7 @@ extension AudienceManager {
|
|
|
134
136
|
``` swift
|
|
135
137
|
extension AudienceManager {
|
|
136
138
|
func kick(userId: String) {
|
|
137
|
-
audienceStore.kickUserOutOfRoom(
|
|
139
|
+
audienceStore.kickUserOutOfRoom(userID: userId) { result in
|
|
138
140
|
switch result {
|
|
139
141
|
case .success:
|
|
140
142
|
print("成功将用户 \(userId) 踢出房间")
|
|
@@ -154,7 +156,7 @@ extension AudienceManager {
|
|
|
154
156
|
extension AudienceManager {
|
|
155
157
|
/// 将用户设为管理员
|
|
156
158
|
func promoteToAdmin(userId: String) {
|
|
157
|
-
audienceStore.setAdministrator(
|
|
159
|
+
audienceStore.setAdministrator(userID: userId) { result in
|
|
158
160
|
if case .success = result {
|
|
159
161
|
print("成功将用户 \(userId) 设为管理员")
|
|
160
162
|
}
|
|
@@ -163,7 +165,7 @@ extension AudienceManager {
|
|
|
163
165
|
|
|
164
166
|
/// 撤销用户的管理员身份
|
|
165
167
|
func revokeAdmin(userId: String) {
|
|
166
|
-
audienceStore.revokeAdministrator(
|
|
168
|
+
audienceStore.revokeAdministrator(userID: userId) { result in
|
|
167
169
|
if case .success = result {
|
|
168
170
|
print("成功撤销用户 \(userId) 的管理员身份")
|
|
169
171
|
}
|
|
@@ -234,11 +236,12 @@ class LiveRoomManager {
|
|
|
234
236
|
## API 文档
|
|
235
237
|
|
|
236
238
|
关于 [LiveAudienceStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore) 及其相关类的所有公开接口、属性和方法的详细信息,请参阅随 [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore) 框架的官方 API 文档。本文档使用到的相关 Store 如下:
|
|
237
|
-
|
|
238
|
-
|
|
|
239
|
-
|
|
240
|
-
|
|
|
241
|
-
|
|
|
239
|
+
|
|
240
|
+
|Store/Component|功能描述|API 文档|
|
|
241
|
+
|---------|---------|---------|
|
|
242
|
+
|LiveCoreView|直播视频流展示与交互的核心视图组件:负责视频流渲染和视图挂件处理,支持主播直播、观众连麦、主播连线等场景。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/livecoreview)|
|
|
243
|
+
|LiveAudienceStore|观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/liveaudiencestore)|
|
|
244
|
+
|BarrageStore|弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。|[API 文档](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)|
|
|
242
245
|
|
|
243
246
|
## 常见问题
|
|
244
247
|
|
|
@@ -255,7 +258,7 @@ class LiveRoomManager {
|
|
|
255
258
|
|
|
256
259
|
- 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
|
|
257
260
|
|
|
258
|
-
- **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒
|
|
261
|
+
- **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
|
|
259
262
|
|
|
260
263
|
**这对开发者意味着什么?**
|
|
261
264
|
|