@tencent-rtc/mcp 1.6.7 → 1.7.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/CHANGELOG.md +25 -0
- package/README.md +53 -39
- package/knowledge/build-index.js +31 -4
- package/knowledge/chunker.js +82 -14
- package/knowledge/chunking-policy.js +100 -0
- package/knowledge/content-loader.js +3 -1
- package/knowledge/frontmatter-meta.js +167 -0
- package/knowledge/path-meta.js +28 -6
- package/knowledge/search/exact-lookup.js +9 -227
- package/knowledge/search/filter-pool.js +17 -26
- package/knowledge/search/framework-fallback.js +22 -0
- package/knowledge/search/intent-router.js +13 -0
- package/knowledge/search/query-normalizer.js +129 -0
- package/knowledge/search/search-core.js +391 -0
- package/knowledge/search/search-knowledge.js +351 -323
- package/knowledge/search/search-message.js +87 -0
- package/knowledge/search/search-pass.js +428 -0
- package/knowledge/search/search-types.js +1 -0
- package/knowledge/search/url-row-scorer.js +258 -0
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +1 -0
- package/resource/_schema/query-normalization.yaml +9 -0
- package/resource/index/manifest.json +1 -1
- package/resource/integration/callkit/preset/android/integration.md +3 -14
- package/resource/integration/callkit/preset/flutter/integration.md +1 -12
- package/resource/integration/callkit/preset/ios/integration.md +2 -12
- package/resource/integration/callkit/preset/react/integration.md +1 -14
- package/resource/integration/callkit/preset/vue/integration.md +1 -14
- package/resource/integration/chat/preset/android/integration.md +6 -13
- package/resource/integration/chat/preset/flutter/integration.md +1 -8
- package/resource/integration/chat/preset/ios/integration.md +4 -12
- package/resource/integration/chat/preset/react/integration.md +6 -16
- package/resource/integration/chat/preset/vue/integration.md +0 -9
- package/resource/integration/livekit/preset/live/android/live-audience-integration.md +2 -6
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +1 -11
- package/resource/integration/livekit/preset/live/android/live-list-integration.md +2 -6
- package/resource/integration/livekit/preset/live/android/prepare-integration.md +2 -7
- package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +2 -7
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +1 -13
- package/resource/integration/livekit/preset/live/ios/live-list-integration.md +2 -10
- package/resource/integration/livekit/preset/live/ios/prepare-integration.md +3 -8
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -4
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +1 -5
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +2 -7
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +2 -8
- package/resource/integration/roomkit/preset/vue/integration.md +0 -11
- package/resource/knowledge/callkit/best-practice/callkit-miniprogram/uniapp-shrink.md +60 -0
- package/resource/knowledge/callkit/best-practice/common/call-autoplay-blocked.md +77 -0
- package/resource/knowledge/callkit/best-practice/common/call-message-in-chat.md +78 -0
- package/resource/knowledge/callkit/best-practice/common/call-vs-calls.md +110 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-call-flow.md +123 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-log-level.md +67 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-engine-instance.md +81 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-roomid.md +78 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-limitations.md +37 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-user-register-and-kicked.md +98 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +0 -7
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -9
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -8
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -8
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -16
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -11
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +178 -200
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +195 -217
- package/resource/knowledge/callkit/faq/android.md +4 -14
- package/resource/knowledge/callkit/faq/common.md +0 -2
- package/resource/knowledge/callkit/faq/error-code.md +2 -4
- package/resource/knowledge/callkit/faq/ios.md +1 -4
- package/resource/knowledge/callkit/preset/android/api.md +0 -6
- package/resource/knowledge/callkit/preset/ios/api.md +0 -4
- package/resource/knowledge/callkit/preset/react/api.md +3 -4
- package/resource/knowledge/callkit/preset/vue/api.md +3 -4
- package/resource/knowledge/chat/best-practice/common/avchatroom-message-loss-diagnosis.md +65 -0
- package/resource/knowledge/chat/best-practice/common/group-conversation-cleanup-on-system-notice.md +62 -0
- package/resource/knowledge/chat/best-practice/common/image-message-url-lifecycle.md +59 -0
- package/resource/knowledge/chat/best-practice/common/login-repeat-2025-diagnosis.md +61 -0
- package/resource/knowledge/chat/best-practice/common/message-read-report-and-receipt.md +64 -0
- package/resource/knowledge/chat/best-practice/common/message-receive-event.md +65 -0
- package/resource/knowledge/chat/best-practice/common/message-risk-error-and-render.md +65 -0
- package/resource/knowledge/chat/best-practice/common/message-unread-count.md +71 -0
- package/resource/knowledge/chat/best-practice/miniprogram/audio-message-send.md +113 -0
- package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +63 -0
- package/resource/knowledge/chat/best-practice/miniprogram/media-upload-fail-diagnosis.md +64 -0
- package/resource/knowledge/chat/best-practice/web/audio-message-send.md +118 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +0 -5
- package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -7
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -6
- package/resource/knowledge/chat/preset/android/features/language.md +0 -8
- package/resource/knowledge/chat/preset/android/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/android/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/android/features/search.md +0 -7
- package/resource/knowledge/chat/preset/android/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/android-view/integration.md +0 -6
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +0 -4
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +0 -9
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -7
- package/resource/knowledge/chat/preset/flutter/features/language.md +0 -5
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/flutter/features/search.md +0 -5
- package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -7
- package/resource/knowledge/chat/preset/ios/features/language.md +1 -8
- package/resource/knowledge/chat/preset/ios/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +0 -6
- package/resource/knowledge/chat/preset/react/features/contact-list.md +0 -23
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +2 -11
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +4 -26
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -6
- package/resource/knowledge/chat/preset/react/features/search.md +0 -1
- package/resource/knowledge/chat/preset/react/features/theme.md +0 -1
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +3 -9
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +0 -3
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +2 -13
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +2 -3
- package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
- package/resource/knowledge/chat/preset/vue/features/search.md +4 -3
- package/resource/knowledge/chat/urls/sdk/web.md +1 -1
- package/resource/knowledge/livekit/best-practice/android/voice-room-anchor-start.md +120 -0
- package/resource/knowledge/livekit/best-practice/common/admin-take-seat.md +73 -0
- package/resource/knowledge/livekit/best-practice/common/audience-leave-live.md +81 -0
- package/resource/knowledge/livekit/best-practice/common/voice-room-no-audio-troubleshoot.md +100 -0
- package/resource/knowledge/livekit/best-practice/common/voice-room-seat-list-change.md +65 -0
- package/resource/knowledge/livekit/best-practice/flutter/voice-room-anchor-start.md +122 -0
- package/resource/knowledge/livekit/best-practice/ios/voice-room-anchor-start.md +126 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +2 -3
- package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +3 -4
- package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +2 -4
- package/resource/knowledge/livekit/core-sdk/features/flutter/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/base-beauty.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/audio-effect.md +2 -4
- package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +3 -4
- package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +0 -4
- package/resource/knowledge/livekit/core-sdk/live/android/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +1 -3
- package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +0 -5
- package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +3 -6
- package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +0 -4
- package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +1 -4
- package/resource/knowledge/livekit/faq/error-code.md +0 -1
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +3 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +3 -3
- package/resource/knowledge/push/api-reference/android.md +0 -1
- package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
- package/resource/knowledge/push/api-reference/react-native.md +3 -5
- package/resource/knowledge/push/api-reference/uni-app.md +3 -5
- package/resource/knowledge/push/api-reference/unity.md +0 -1
- package/resource/knowledge/push/api-reference/unreal-engine.md +0 -1
- package/resource/knowledge/push/config/android.md +0 -24
- package/resource/knowledge/push/config/harmonyos.md +0 -1
- package/resource/knowledge/push/config/ios.md +0 -3
- package/resource/knowledge/push/config/react-native.md +0 -29
- package/resource/knowledge/push/config/unity.md +1 -24
- package/resource/knowledge/push/config/unreal-engine.md +1 -24
- package/resource/knowledge/push/integration/android.md +0 -14
- package/resource/knowledge/push/integration/flutter.md +0 -19
- package/resource/knowledge/push/integration/harmonyos.md +0 -2
- package/resource/knowledge/push/integration/ios.md +0 -3
- package/resource/knowledge/push/integration/react-native.md +0 -24
- package/resource/knowledge/push/integration/uni-app.md +1 -11
- package/resource/knowledge/push/integration/unity.md +0 -9
- package/resource/knowledge/push/integration/unreal-engine.md +1 -17
- package/resource/knowledge/roomkit/best-practice/common/room-ghost-member.md +70 -0
- package/resource/knowledge/roomkit/best-practice/common/room-limit-and-multi.md +83 -0
- package/resource/knowledge/roomkit/best-practice/common/room-screen-share-preview.md +83 -0
- package/resource/knowledge/roomkit/best-practice/common/room-status-after-all-leave.md +69 -0
- package/resource/knowledge/roomkit/best-practice/vue/room-uikit-vs-atomicx.md +111 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -6
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -9
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -11
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -8
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -5
- package/resource/knowledge/roomkit/preset/android/integration.md +0 -4
- package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -13
- package/resource/knowledge/roomkit/preset/ios/integration.md +0 -6
- package/resource/knowledge/roomkit/preset/react/integration.md +0 -16
- package/resource/knowledge/rtcengine/web/api.md +1 -8
- package/resource/knowledge/rtcengine/web/faq.md +3 -5
- package/resource/knowledge/rtcengine/web/how_to_integrated_web_sdk.md +0 -6
- package/resource/knowledge/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/21-advanced-auto-play-policy.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/27-advanced-small-stream.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/30-advanced-cross-room-link.md +2 -0
- package/resource/knowledge/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -3
- package/resource/knowledge/rtcengine/web/plugin/34-advanced-proxy.md +2 -4
- package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
- package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -1
- package/resource/knowledge/trtc/android/TRTCCloud.md +8 -56
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +6 -7
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1 -18
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +0 -14
- package/resource/knowledge/trtc/android/TXDeviceManager.md +0 -1
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +7 -59
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +0 -14
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +0 -4
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1 -19
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +6 -7
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/ios/TRTCCloud.md +9 -60
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +6 -7
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1 -19
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +0 -13
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +0 -4
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
- package/server.js +27 -22
- package/tools/common/finalize_answer.js +9 -1
- package/tools/common/search_trtc_knowledge.js +3 -1
- package/tools/definitions/finalize_answer_def.js +2 -2
- package/tools/definitions/integration-boundary.js +2 -1
- package/tools/definitions/search_trtc_knowledge_def.js +2 -1
- package/utils/report-cls-client.js +3 -3
- package/utils/report-es-client.js +1 -1
- package/cursor-setting.png +0 -0
- package/mcp-server-prompt.png +0 -0
- package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +0 -80
- package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +0 -24
- package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +0 -116
- package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +0 -445
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +0 -465
- package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +0 -16
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -230
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -797
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +0 -325
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +0 -325
|
@@ -23,9 +23,9 @@ By integrating `AudioEffectStore` and `DeviceStore`, you can enable the followin
|
|
|
23
23
|
## Implementation Steps
|
|
24
24
|
|
|
25
25
|
### Step 1: Integrate the Component
|
|
26
|
-
- **Live streaming**:
|
|
26
|
+
- **Live streaming**: .
|
|
27
27
|
|
|
28
|
-
- **Voice chat room**:
|
|
28
|
+
- **Voice chat room**: .
|
|
29
29
|
|
|
30
30
|
### Step 2: Obtain a Store Instance
|
|
31
31
|
|
|
@@ -45,7 +45,6 @@ class _AudioEffectPanelWidgetState {
|
|
|
45
45
|
In-ear monitor allows users to hear their own microphone input in real time. You can manage this feature using the APIs described below.
|
|
46
46
|
|
|
47
47
|
> **Note:**
|
|
48
|
-
>
|
|
49
48
|
> The in-ear monitoring feature typically needs to connect to headphones to work properly.
|
|
50
49
|
>
|
|
51
50
|
|
|
@@ -326,7 +325,6 @@ class ReverbWidget extends StatelessWidget {
|
|
|
326
325
|
### Step 7: Reset Sound Effect Settings
|
|
327
326
|
|
|
328
327
|
> **Important:**
|
|
329
|
-
>
|
|
330
328
|
> AudioEffectStore and DeviceStore are singletons, so audio effects and device settings take effect globally. If you do not want the settings of the current live streaming room to affect other live streaming rooms created later, you need to reset the audio effects and device settings when the current live streaming room ends.
|
|
331
329
|
>
|
|
332
330
|
|
|
@@ -22,9 +22,9 @@ This guide shows how to use the `BarrageStore` module in the `AtomicXCore` frame
|
|
|
22
22
|
## Implementation Steps
|
|
23
23
|
|
|
24
24
|
### Step 1: Integrate the Component
|
|
25
|
-
- **Live streaming**:
|
|
25
|
+
- **Live streaming**: .
|
|
26
26
|
|
|
27
|
-
- **Voice chat room**:
|
|
27
|
+
- **Voice chat room**: .
|
|
28
28
|
|
|
29
29
|
Return to the current project after integration.
|
|
30
30
|
|
|
@@ -24,8 +24,6 @@ Before starting integration, we first learn about the core concepts related to `
|
|
|
24
24
|
|
|
25
25
|
### Step 1: Integrate the Component
|
|
26
26
|
|
|
27
|
-
Refer to Quick Connection for seamless integration with **AtomicXCore** and access completed.
|
|
28
|
-
|
|
29
27
|
### Step 2: Obtain the Instance and Listen to the State
|
|
30
28
|
|
|
31
29
|
Get the Global Singleton of `BaseBeautyStore` and set a listener to get the current beauty effect parameter status in real time.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
`GiftStore` is a module in `AtomicXCore` specialized in managing the gift function of live streaming rooms. With it, you can build a complete gift system for your live stream application to achieve various revenue and interactive scenarios.
|
|
2
2
|
|
|
3
|
-
|**Gift Panel**|**Barrage Gift**|**Full-Screen Gift**|
|
|
4
|
-
|---------|---------|---------|
|
|
5
|
-
||||
|
|
6
|
-
|
|
7
3
|
## Core Features
|
|
8
4
|
- **Gift List Retrieval**: Obtain the required data for the gift panel from the server, including gift categories and gift details.
|
|
9
5
|
|
|
@@ -28,13 +24,12 @@ Before starting integration, let's learn about several core concepts related to
|
|
|
28
24
|
### Step 1: Integrate the Component
|
|
29
25
|
|
|
30
26
|
> **Note:**
|
|
31
|
-
>
|
|
32
27
|
> To use the gifting system, activate either the **Free Trial,** or **Pro** edition. The number of configurable gifts depends on the selected package. For details, see the **Gift System** section in Feature and Billing Description and choose the package that fits your needs.
|
|
33
28
|
>
|
|
34
29
|
|
|
35
|
-
- **Live streaming**:
|
|
30
|
+
- **Live streaming**: .
|
|
36
31
|
|
|
37
|
-
- **Voice chat room**:
|
|
32
|
+
- **Voice chat room**: .
|
|
38
33
|
|
|
39
34
|
### Step 2: Initialize and Listen for Gift Events
|
|
40
35
|
|
|
@@ -25,9 +25,9 @@ Before starting integration, let's learn about several core concepts related to
|
|
|
25
25
|
## Implementation Steps
|
|
26
26
|
|
|
27
27
|
### Step 1: Integrate the Component
|
|
28
|
-
- **Live streaming**:
|
|
28
|
+
- **Live streaming**: .
|
|
29
29
|
|
|
30
|
-
- **Voice chat room**:
|
|
30
|
+
- **Voice chat room**: .
|
|
31
31
|
|
|
32
32
|
### Step 2: Implement Audience Entry to Live Room
|
|
33
33
|
|
|
@@ -367,6 +367,7 @@ class LiveListManager extends ChangeNotifier {
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
```
|
|
370
|
+
|
|
370
371
|
``` java
|
|
371
372
|
/// Live stream list webpage with category filtering
|
|
372
373
|
class CategoryLiveListPage extends StatefulWidget {
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
## Implementation
|
|
23
23
|
|
|
24
24
|
### Step 1: Component Integration
|
|
25
|
-
- **Video Live Streaming**: Please
|
|
25
|
+
- **Video Live Streaming**: Please .
|
|
26
26
|
|
|
27
|
-
- **Voice Chat Room**: Please
|
|
27
|
+
- **Voice Chat Room**: Please .
|
|
28
28
|
|
|
29
29
|
### Step 2: Initialize and Retrieve the Audience List
|
|
30
30
|
|
|
@@ -25,9 +25,9 @@ By combining `AudioEffectStore` and `DeviceStore`, you can implement the followi
|
|
|
25
25
|
## Implementation
|
|
26
26
|
|
|
27
27
|
### Step 1: Component Integration
|
|
28
|
-
- **Video Live Streaming**: Please
|
|
28
|
+
- **Video Live Streaming**: Please .
|
|
29
29
|
|
|
30
|
-
- **Voice Chat Room**: Please
|
|
30
|
+
- **Voice Chat Room**: Please .
|
|
31
31
|
|
|
32
32
|
### Step 2: Obtain Store Instances
|
|
33
33
|
|
|
@@ -46,7 +46,6 @@ let deviceStore = DeviceStore.shared
|
|
|
46
46
|
In-ear monitoring allows users to hear their microphone audio in real time. Manage in-ear monitoring by calling the interfaces described below.
|
|
47
47
|
|
|
48
48
|
> **Note:**
|
|
49
|
-
>
|
|
50
49
|
> In-ear monitoring typically requires headphones to function properly.
|
|
51
50
|
>
|
|
52
51
|
|
|
@@ -156,7 +155,6 @@ audioEffectStore.setAudioReverbType(type: .none)
|
|
|
156
155
|
### Step 7: Reset Audio Effect Settings
|
|
157
156
|
|
|
158
157
|
> **Note:**
|
|
159
|
-
>
|
|
160
158
|
> AudioEffectStore and DeviceStore are singletons, so audio effect and device settings apply globally. To prevent settings from one live room affecting others, reset the audio effect and device settings when the current live room ends.
|
|
161
159
|
>
|
|
162
160
|
|
|
@@ -22,9 +22,9 @@ This document provides a comprehensive guide for iOS developers to quickly integ
|
|
|
22
22
|
## Implementation
|
|
23
23
|
|
|
24
24
|
### Step 1: Component Integration
|
|
25
|
-
- **Video Live Streaming**: Please
|
|
25
|
+
- **Video Live Streaming**: Please . Quick Start to
|
|
26
26
|
|
|
27
|
-
- **Voice Chat Room**: Please
|
|
27
|
+
- **Voice Chat Room**: Please .
|
|
28
28
|
|
|
29
29
|
### Step 2: Initialize and Listen for Barrage
|
|
30
30
|
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
## Implementation
|
|
21
21
|
|
|
22
22
|
### Step 1: Component Integration
|
|
23
|
-
- **Video Live Streaming**: Please
|
|
23
|
+
- **Video Live Streaming**: Please .
|
|
24
24
|
|
|
25
|
-
- **Voice Chat Room**: Please
|
|
25
|
+
- **Voice Chat Room**: Please .
|
|
26
26
|
|
|
27
27
|
### Step 2: Obtain the Instance and Subscribe to State
|
|
28
28
|
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
`GiftStore` is a dedicated module within **AtomicXCore** for managing live room gifting features. It enables you to build a complete gifting system for your live streaming application, supporting robust monetization and interactive experiences.
|
|
2
2
|
|
|
3
|
-
|**Gift Panel**|**Barrage Gift**|**Full-Screen Gift**|
|
|
4
|
-
|---------|---------|---------|
|
|
5
|
-
||||
|
|
6
|
-
|
|
7
3
|
## Core Features
|
|
8
4
|
- **Gift List Retrieval**: Retrieve gift panel data from the server, including gift categories and details.
|
|
9
5
|
|
|
@@ -25,13 +21,12 @@
|
|
|
25
21
|
### Step 1: Component Integration
|
|
26
22
|
|
|
27
23
|
> **Note:**
|
|
28
|
-
>
|
|
29
24
|
> To use the gifting system, activate either the **Free Trial,** or **Pro** edition. The number of configurable gifts depends on the selected package. For details, see the **Gift System** section in Feature and Billing Description and choose the package that fits your needs.
|
|
30
25
|
>
|
|
31
26
|
|
|
32
|
-
- **Video Live Streaming**: Please
|
|
27
|
+
- **Video Live Streaming**: Please .
|
|
33
28
|
|
|
34
|
-
- **Voice Chat Room**: Please
|
|
29
|
+
- **Voice Chat Room**: Please .
|
|
35
30
|
|
|
36
31
|
### Step 2: Initialize and Listen for Gift Events
|
|
37
32
|
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
## Implementation
|
|
19
19
|
|
|
20
20
|
### Step 1: Component Integration
|
|
21
|
-
- **Video Live Streaming
|
|
21
|
+
- **Video Live Streaming**:.
|
|
22
22
|
|
|
23
|
-
- **Voice Chat Room
|
|
23
|
+
- **Voice Chat Room**:.
|
|
24
24
|
|
|
25
25
|
### Step 2: Implement Audience Entry from Live Room List
|
|
26
26
|
|
|
@@ -214,7 +214,6 @@ class LiveListViewController: UIViewController, UICollectionViewDataSource, UICo
|
|
|
214
214
|
Users can switch between live rooms by swiping up or down. When a new live room is centered on the screen, its video will automatically start preview playback; when it is swiped away or no longer visible on the screen, playback will automatically stop to save bandwidth and device resources.
|
|
215
215
|
|
|
216
216
|
> **Note:**
|
|
217
|
-
>
|
|
218
217
|
> **Swipe-to-Play** is currently only supported for Video Live Streaming.
|
|
219
218
|
>
|
|
220
219
|
|
|
@@ -316,7 +315,7 @@ We recommend two approaches:
|
|
|
316
315
|
|
|
317
316
|
**Approach 1 (Recommended): Use seatLayoutTemplateID for differentiation.**
|
|
318
317
|
|
|
319
|
-
This template ID defines the room layout. For supported template IDs and effects
|
|
318
|
+
This template ID defines the room layout. For supported template IDs and effects.
|
|
320
319
|
- **Step 1: Specify ID when creating a room**
|
|
321
320
|
|
|
322
321
|
- When calling `LiveListStore.shared.createLive`, set the `seatLayoutTemplateID` property of `LiveInfo` based on your business scenario:
|
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
|
|
19
19
|
### Step 1: Component Integration
|
|
20
20
|
|
|
21
|
-
Refer to Quick Start to integrate AtomicXCore and complete the setup of LiveCoreView.
|
|
22
|
-
|
|
23
21
|
### Step 2: Implement Audience Request to Join
|
|
24
22
|
|
|
25
23
|
#### Audience-Side Implementation
|
|
@@ -333,7 +331,6 @@ Use the "slot" feature provided by the `VideoViewAdapter` interface to add custo
|
|
|
333
331
|
#### Implementation
|
|
334
332
|
|
|
335
333
|
> **Note:**
|
|
336
|
-
>
|
|
337
334
|
> You can also refer to the [widgets](https://github.com/Tencent-RTC/TUIKit_Android/tree/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/audienceview/view/coguest/widgets) directory in the open-source TUILiveKit project for a complete implementation.
|
|
338
335
|
>
|
|
339
336
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
## Core Scenario
|
|
4
4
|
|
|
5
|
-
A typical "Host Co-hosting PK" session consists of three main stages, as shown below:
|
|
6
5
|
1. **Cross-room Co-hosting**: Two hosts connect, and both video streams are displayed in a shared view.
|
|
7
6
|
|
|
8
7
|
2. **Initiate PK**: After the connection is established, either host can start a PK challenge.
|
|
@@ -13,8 +12,6 @@ A typical "Host Co-hosting PK" session consists of three main stages, as shown b
|
|
|
13
12
|
|
|
14
13
|
### Step 1: Component Integration
|
|
15
14
|
|
|
16
|
-
Refer to Quick Start to integrate AtomicXCore and complete the setup of LiveCoreView.
|
|
17
|
-
|
|
18
15
|
### Step 2: Implement Cross-Room Co-hosting
|
|
19
16
|
|
|
20
17
|
The goal of this step is to display the video streams of two hosts in the same view. Use [CoHostStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html) to achieve this.
|
|
@@ -569,7 +566,6 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
569
566
|
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our REST API.
|
|
570
567
|
|
|
571
568
|
> **Note:**
|
|
572
|
-
>
|
|
573
569
|
> The PK score system in the `LiveKit` backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
574
570
|
>
|
|
575
571
|
|
|
@@ -43,7 +43,6 @@ api "com.tencent.imsdk:imsdk-plus:8.9.7511"
|
|
|
43
43
|
Call `LoginStore.shared.login` in your project to complete login. **This is required before you can use any functionality in AtomicXCore**.
|
|
44
44
|
|
|
45
45
|
> **Note:**
|
|
46
|
-
>
|
|
47
46
|
> We recommend calling `LoginStore.shared.login` after your app's own user authentication is successful to ensure clear and consistent login logic.
|
|
48
47
|
>
|
|
49
48
|
|
|
@@ -93,7 +92,6 @@ class MainActivity : AppCompatActivity() {
|
|
|
93
92
|
Follow these steps to quickly set up host video streaming:
|
|
94
93
|
|
|
95
94
|
> **Note:**
|
|
96
|
-
>
|
|
97
95
|
> For a complete implementation, refer to [VideoLiveAnchorActivity.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAnchorActivity.kt) in the open-source TUILiveKit project.
|
|
98
96
|
>
|
|
99
97
|
|
|
@@ -252,7 +250,6 @@ Follow these steps to quickly set up host video streaming:
|
|
|
252
250
|
Follow these steps to enable audience viewing:
|
|
253
251
|
|
|
254
252
|
> **Note:**
|
|
255
|
-
>
|
|
256
253
|
> For a complete reference implementation of audience viewing logic, see [VideoLiveAudienceActivity.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAudienceActivity.kt) in the open-source TUILiveKit project.
|
|
257
254
|
>
|
|
258
255
|
|
|
@@ -505,7 +502,7 @@ private fun subscribeToDataUpdates() {
|
|
|
505
502
|
|
|
506
503
|
## Enriching the Live Streaming Scene
|
|
507
504
|
|
|
508
|
-
Once the basic live streaming functionality is in place,
|
|
505
|
+
Once the basic live streaming functionality is in place,
|
|
509
506
|
|
|
510
507
|
|**Feature**|**Description**|**Store**|**Implementation Guide**|
|
|
511
508
|
|---------|---------|---------|---------|
|
|
@@ -11,8 +11,6 @@
|
|
|
11
11
|
|
|
12
12
|
### Step 1: Integrate the Component
|
|
13
13
|
|
|
14
|
-
Refer to Quick Start to integrate `AtomicXCore` and `LiveCoreWidget`.
|
|
15
|
-
|
|
16
14
|
Once integration is complete, proceed to implement the guest interaction feature.
|
|
17
15
|
|
|
18
16
|
### Step 2: Implement Audience Request to Join as Guest
|
|
@@ -282,7 +280,7 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
282
280
|
|
|
283
281
|
### Feature Demo
|
|
284
282
|
|
|
285
|
-
After integrating the above functionality, test guest interaction using two audience members and a host. Audience A turns on both camera and microphone, while audience B only turns on the microphone. The resulting effect is shown below. You can
|
|
283
|
+
After integrating the above functionality, test guest interaction using two audience members and a host. Audience A turns on both camera and microphone, while audience B only turns on the microphone. The resulting effect is shown below. You can .
|
|
286
284
|
|
|
287
285
|
## Refine UI Details
|
|
288
286
|
|
|
@@ -792,7 +792,6 @@ class _FullCustomLiveWidgetState extends State<FullCustomLiveWidget> {
|
|
|
792
792
|
In live PK scenarios, the host’s PK score is typically tied to the value of gifts received (for example, sending a "Rocket" gift increases the host’s PK score by 500). Use our REST API to update PK scores in real time.
|
|
793
793
|
|
|
794
794
|
> **Note:**
|
|
795
|
-
>
|
|
796
795
|
> The LiveKit backend PK scoring system is purely numeric and accumulative. Calculate PK scores according to your business logic before calling the update API. Example PK scoring rules:
|
|
797
796
|
>
|
|
798
797
|
|
|
@@ -65,7 +65,6 @@ end
|
|
|
65
65
|
Call `LoginStore.shared.login` in your project to log in. **This is the key premise for using all functions of AtomicXCore.**
|
|
66
66
|
|
|
67
67
|
> **Important:**
|
|
68
|
-
>
|
|
69
68
|
> It is recommended to call `LoginStore.shared.login` after successful log-in to your App's user account to ensure clear and consistent business logic.
|
|
70
69
|
>
|
|
71
70
|
|
|
@@ -106,7 +105,6 @@ void main() async {
|
|
|
106
105
|
Follow these steps to quickly set up host video streaming:
|
|
107
106
|
|
|
108
107
|
> **Note:**
|
|
109
|
-
>
|
|
110
108
|
> For a complete host streaming implementation, see [live_room_anchor_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/live_room_anchor_widget.dart) in the TUILiveKit open-source project.
|
|
111
109
|
>
|
|
112
110
|
|
|
@@ -343,7 +341,6 @@ Follow these steps to quickly set up host video streaming:
|
|
|
343
341
|
Enable audience live viewing with these steps:
|
|
344
342
|
|
|
345
343
|
> **Note:**
|
|
346
|
-
>
|
|
347
344
|
> For a complete audience implementation, see [audience_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/audience/audience_widget.dart) in the TUILiveKit open-source project.
|
|
348
345
|
>
|
|
349
346
|
|
|
@@ -586,7 +583,7 @@ After integrating LiveCoreWidget, you’ll have a clean video rendering view wit
|
|
|
586
583
|
|
|
587
584
|
## Enrich Live Streaming Scenarios
|
|
588
585
|
|
|
589
|
-
Once the basic live streaming functionality is in place,
|
|
586
|
+
Once the basic live streaming functionality is in place,
|
|
590
587
|
|
|
591
588
|
|**Feature**|**Description**|**Store**|**Implementation Guide**|
|
|
592
589
|
|---------|---------|---------|---------|
|
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
|
|
19
19
|
### Step 1: Component Integration
|
|
20
20
|
|
|
21
|
-
Refer to Quick Start to integrate AtomicXCore and complete the setup of `LiveCoreView`.
|
|
22
|
-
|
|
23
21
|
### Step 2: Implement Audience Request to Join
|
|
24
22
|
|
|
25
23
|
#### Audience-Side Implementation
|
|
@@ -258,7 +256,6 @@ Use the "slot" capability provided by the `LiveCoreView.VideoViewDelegate` proto
|
|
|
258
256
|
#### Implementation Steps
|
|
259
257
|
|
|
260
258
|
> **Note:**
|
|
261
|
-
>
|
|
262
259
|
> For complete implementation details, refer to the open-source TUILiveKit project files [AnchorCoGuestView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Features/AnchorView/View/VideoWidgets/AnchorCoGuestView.swift) and [AnchorEmptySeatView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Features/AnchorView/View/VideoWidgets/AnchorEmptySeatView.swift).
|
|
263
260
|
>
|
|
264
261
|
|
|
@@ -2,7 +2,6 @@ Displaying PK User Score on Video View**AtomicXCore** provides two primary modul
|
|
|
2
2
|
|
|
3
3
|
## Core Scenario
|
|
4
4
|
|
|
5
|
-
A typical "Host Co-hosting PK" session consists of three main stages, as shown below:
|
|
6
5
|
1. **Cross-room Co-hosting**: Two hosts connect, and both video streams are displayed in a shared view.
|
|
7
6
|
|
|
8
7
|
2. **Initiate PK**: After the connection is established, either host can start a PK challenge.
|
|
@@ -13,8 +12,6 @@ A typical "Host Co-hosting PK" session consists of three main stages, as shown b
|
|
|
13
12
|
|
|
14
13
|
### Step 1: Component Integration
|
|
15
14
|
|
|
16
|
-
Refer to Quick Start to integrate AtomicXCore and complete the setup of LiveCoreView.
|
|
17
|
-
|
|
18
15
|
### Step 2: Implement Cross-Room Co-hosting
|
|
19
16
|
|
|
20
17
|
The goal of this step is to display the video streams of two hosts in the same view. Use [CoHostStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cohoststore) to achieve this.
|
|
@@ -44,7 +44,6 @@ See Activate Service to obtain either the trial or paid version of the SDK.Then,
|
|
|
44
44
|
Call `LoginStore.shared.login` in your project to complete authentication. **This is required before using any functionality of AtomicXCore**.
|
|
45
45
|
|
|
46
46
|
> **Note:**
|
|
47
|
-
>
|
|
48
47
|
> We recommend calling LoginStore.shared.login only after your app's own user authentication is successful, to ensure clear and consistent login logic.
|
|
49
48
|
>
|
|
50
49
|
|
|
@@ -81,7 +80,6 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
81
80
|
Follow these steps to quickly set up broadcaster video streaming:
|
|
82
81
|
|
|
83
82
|
> **Note:**
|
|
84
|
-
>
|
|
85
83
|
> For a complete broadcaster streaming implementation, refer to [TUILiveRoomAnchorViewController.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/LiveStream/TUILiveRoomAnchorViewController.swift) in the TUILiveKit open source project.
|
|
86
84
|
>
|
|
87
85
|
|
|
@@ -223,7 +221,6 @@ Follow these steps to quickly set up broadcaster video streaming:
|
|
|
223
221
|
Enable audience viewing with the following steps:
|
|
224
222
|
|
|
225
223
|
> **Note:**
|
|
226
|
-
>
|
|
227
224
|
> For a complete audience playback implementation, refer to [TUILiveRoomAudienceViewController.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/LiveStream/TUILiveRoomAudienceViewController.swift) in the TUILiveKit open source project.
|
|
228
225
|
>
|
|
229
226
|
|
|
@@ -439,7 +436,7 @@ private func subscribeToDataUpdates() {
|
|
|
439
436
|
|
|
440
437
|
## Enriching the Live Streaming Scene
|
|
441
438
|
|
|
442
|
-
Once the basic live streaming functionality is in place,
|
|
439
|
+
Once the basic live streaming functionality is in place,
|
|
443
440
|
| <strong>Feature</strong> | <strong>Description</strong> | <strong>Store</strong> | <strong>Implementation Guide</strong> |
|
|
444
441
|
| --- | --- | --- | --- |
|
|
445
442
|
| Enable Audience Audio/Video Co-hosting | Audience can apply to join the host and interact via real-time video. | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/cogueststore">CoGuestStore</a> | Implementation Guide |
|
|
@@ -13,8 +13,6 @@ AtomicXCore provides the [CoGuestStore](https://tencent-rtc.github.io/TUIKit_And
|
|
|
13
13
|
|
|
14
14
|
### Step 1: Component Integration
|
|
15
15
|
|
|
16
|
-
Refer to the Quick Start guide to integrate **AtomicXCore** into your project.
|
|
17
|
-
|
|
18
16
|
### Step 2: Implement Audience Mic-Link Request
|
|
19
17
|
|
|
20
18
|
#### Audience Side Implementation
|
|
@@ -24,7 +24,6 @@ To initiate a connection or PK, the host must retrieve the current list of live
|
|
|
24
24
|
**Implementation:** Call `LiveListStore.shared().fetchLiveList`.
|
|
25
25
|
|
|
26
26
|
> **Note:**
|
|
27
|
-
>
|
|
28
27
|
> - If the target room is missing from the returned list, verify that isPublicVisible in TUILiveInfo is set to true when starting the stream.
|
|
29
28
|
> - This API supports pagination. Use the cursor from the onSuccess callback for subsequent fetches. An empty cursor indicates all rooms have been fetched.
|
|
30
29
|
> - For optimal performance, set pageCount to 20.
|
|
@@ -55,7 +54,6 @@ fun fetchLiveListForCoHost() {
|
|
|
55
54
|
When a host selects another host, use `CoHostStore.requestHostConnection` to send a connection invitation.
|
|
56
55
|
|
|
57
56
|
> **Note:**
|
|
58
|
-
>
|
|
59
57
|
> 1. AtomicXCore supports up to **9** interconnected rooms, each with up to **50** users.
|
|
60
58
|
> 2. This interface supports batch invitations, which you can use continuously; to check if an invitation to a single live room was successful, you need to listen for the `onSuccess` callback.
|
|
61
59
|
> 3. The API supports extension fields. These are delivered to the target host via `onCoHostRequestReceived` in `CoHostListener`. Use this to pass business logic such as "start PK immediately".
|
|
@@ -214,7 +212,6 @@ AtomicXCore enables hosts to start a timed PK battle once connected. Typical UI
|
|
|
214
212
|
To start a PK battle among connected hosts, use `BattleStore.requestBattle`. Configure PK duration, whether a response is required, and any extension info.
|
|
215
213
|
|
|
216
214
|
> **Note:**
|
|
217
|
-
>
|
|
218
215
|
> 1. Default PK duration is 5 minutes if not set in `BattleConfig`.
|
|
219
216
|
> 2. To start PK immediately, set `needResponse` to `false`.
|
|
220
217
|
> 3. If `needResponse` is `false`, set `timeout` to 0.
|
|
@@ -305,7 +302,6 @@ PK ends either when the duration expires or when all hosts leave.
|
|
|
305
302
|
5. After PK ends, the winner is determined by points.
|
|
306
303
|
|
|
307
304
|
> **Note:**
|
|
308
|
-
>
|
|
309
305
|
> This workflow requires both CoHostStore and BattleStore, with `needResponse` in BattleConfig set to `false`.
|
|
310
306
|
>
|
|
311
307
|
|
|
@@ -401,7 +397,6 @@ This step is the same as Enter PK State.
|
|
|
401
397
|
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our REST API.
|
|
402
398
|
|
|
403
399
|
> **Note:**
|
|
404
|
-
>
|
|
405
400
|
> The PK score system in the LiveKit backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
406
401
|
>
|
|
407
402
|
|
|
@@ -38,7 +38,6 @@ dependencies {
|
|
|
38
38
|
Call `LoginStore.shared.login` in your project to complete authentication. **This is required before using any functionality of AtomicXCore**.
|
|
39
39
|
|
|
40
40
|
> **Note:**
|
|
41
|
-
>
|
|
42
41
|
> We recommend calling `LoginStore.shared.login` after your app's own user authentication is successful to ensure clear and consistent login logic.
|
|
43
42
|
>
|
|
44
43
|
|
|
@@ -221,7 +220,6 @@ class YourHostActivity : AppCompatActivity() {
|
|
|
221
220
|
#### **4. Build the Mic Seat UI**
|
|
222
221
|
|
|
223
222
|
> **Note:**
|
|
224
|
-
>
|
|
225
223
|
> For the complete business logic of mic seat UI effects, refer to the open-source [SeatGridView.kt](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroomcore/SeatGridView.kt) in the TUILiveKit project.
|
|
226
224
|
>
|
|
227
225
|
|
|
@@ -379,7 +377,7 @@ class YourAudienceActivity : AppCompatActivity() {
|
|
|
379
377
|
|
|
380
378
|
#### **3. Build the Mic Seat UI**
|
|
381
379
|
|
|
382
|
-
The process for building the mic seat UI as an audience member is the same as for the host.
|
|
380
|
+
The process for building the mic seat UI as an audience member is the same as for the host. .
|
|
383
381
|
|
|
384
382
|
#### **4. Leave the Voice Chat Room**
|
|
385
383
|
|
|
@@ -431,7 +429,6 @@ In voice chat rooms, it is common to show a wave animation on the avatar of user
|
|
|
431
429
|
#### Implementation
|
|
432
430
|
|
|
433
431
|
> **Note:**
|
|
434
|
-
>
|
|
435
432
|
> For a complete implementation of the speaking wave animation, refer to [SeatGridView.kt](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroomcore/SeatGridView.kt) in the open-source TUILiveKit project.
|
|
436
433
|
>
|
|
437
434
|
|
|
@@ -13,10 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
### Step 1: Integrate the Components
|
|
15
15
|
|
|
16
|
-
Refer to quick integration to integrate **AtomicXCore**.
|
|
17
|
-
|
|
18
16
|
> **Note:**
|
|
19
|
-
>
|
|
20
17
|
> Before enabling co-hosting features, you must obtain the `liveId` (the unique identifier for the live room) to distinguish between different live rooms. You can get it as follows:
|
|
21
18
|
>
|
|
22
19
|
> - **Host**: Specify when creating a live stream via `LiveListStore.shared.createLive(liveInfo)`.
|
|
@@ -468,7 +465,7 @@ if (result2.isSuccess) {
|
|
|
468
465
|
Host and co-host can call `moveUserToSeat` to change seat positions.
|
|
469
466
|
|
|
470
467
|
#### Implementation:
|
|
471
|
-
1. **Host Moves User to Mic Seat**: The host can call this API to move any user to a specified seat. At this point, `userID` is the ID of the target user, `targetIndex` is the index of the target seat, and the `policy` parameter specifies the move strategy if the target seat is occupied.
|
|
468
|
+
1. **Host Moves User to Mic Seat**: The host can call this API to move any user to a specified seat. At this point, `userID` is the ID of the target user, `targetIndex` is the index of the target seat, and the `policy` parameter specifies the move strategy if the target seat is occupied. .
|
|
472
469
|
|
|
473
470
|
2. **On-Mic User Moves Themselves**: On-mic users can also call this API to move themselves. In this case, `userID` must be the user's own ID, `targetIndex` is the desired new seat index, and the `policy` parameter is ignored. If the target seat is occupied, the move fails with an error.
|
|
474
471
|
|
|
@@ -65,7 +65,6 @@ end
|
|
|
65
65
|
Call `LoginStore.shared.login` in the project to complete login. **This is the key premise for using** `AtomicXCore` **all functions**.
|
|
66
66
|
|
|
67
67
|
> **Important:**
|
|
68
|
-
>
|
|
69
68
|
> We recommend calling LoginStore.shared.login after successful log-in to your App's user account to ensure clear and consistent login service logic.
|
|
70
69
|
>
|
|
71
70
|
|
|
@@ -244,7 +243,6 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
244
243
|
#### 4. Build a Seat UI
|
|
245
244
|
|
|
246
245
|
> **Note:**
|
|
247
|
-
>
|
|
248
246
|
> For the business code of the Mic Seat `UI` effect, see the [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) file in the `TUILiveKit` open-source project to learn about the complete implementation logic.
|
|
249
247
|
>
|
|
250
248
|
|
|
@@ -423,7 +421,7 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
|
|
|
423
421
|
|
|
424
422
|
#### 3. Build a Seat UI
|
|
425
423
|
|
|
426
|
-
Audience seat UI implementation is identical to the host.
|
|
424
|
+
Audience seat UI implementation is identical to the host. .
|
|
427
425
|
|
|
428
426
|
#### 4. **Leave the Voice Chat Room**
|
|
429
427
|
|
|
@@ -446,7 +444,7 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
|
|
|
446
444
|
|
|
447
445
|
### Run and Test
|
|
448
446
|
|
|
449
|
-
After completing the above steps, you can complete a most basic voice chat live streaming scenario. You can
|
|
447
|
+
After completing the above steps, you can complete a most basic voice chat live streaming scenario. You can .
|
|
450
448
|
|
|
451
449
|
## Advanced Features
|
|
452
450
|
|
|
@@ -457,7 +455,6 @@ In a voice chat room scenario, a common need is to display a wave animation on t
|
|
|
457
455
|
#### Implementation
|
|
458
456
|
|
|
459
457
|
> **Note:**
|
|
460
|
-
>
|
|
461
458
|
> When an Anchor speaks, a wave animation effect is shown. See the [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) file in the `TUILiveKit` open-source project to learn about the complete implementation logic.
|
|
462
459
|
>
|
|
463
460
|
|
|
@@ -524,7 +521,7 @@ class YourSpeakingIndicatorWidget extends StatelessWidget {
|
|
|
524
521
|
|
|
525
522
|
## Enrich Voice Chat Room Scenarios
|
|
526
523
|
|
|
527
|
-
After completing the basic voice chat room features, you can
|
|
524
|
+
After completing the basic voice chat room features, you can .
|
|
528
525
|
|
|
529
526
|
|**Feature**|**Feature Description**|**Feature Stores**|**Implementation Guide**|
|
|
530
527
|
|---------|---------|---------|---------|
|
|
@@ -24,7 +24,6 @@ To initiate co-hosting or PK, fetch the current list of live rooms and select a
|
|
|
24
24
|
**Implementation:** Call `LiveListStore.shared.fetchLiveList`.
|
|
25
25
|
|
|
26
26
|
> **Note:**
|
|
27
|
-
>
|
|
28
27
|
> - If the desired live room is missing from the list, verify that the isPublicVisible field in TUILiveInfo was set to true when starting the stream.
|
|
29
28
|
> - This API supports pagination. Use the cursor from the `Result` is `.success` callback for subsequent requests. If the returned cursor is empty, all rooms have been fetched.
|
|
30
29
|
> - For optimal performance, set count to 20.
|
|
@@ -56,7 +55,6 @@ func fetchLiveListForCoHost() {
|
|
|
56
55
|
After selecting a target streamer, use `CoHostStore.requestHostConnection` to send a co-hosting invitation.
|
|
57
56
|
|
|
58
57
|
> **Note:**
|
|
59
|
-
>
|
|
60
58
|
> - AtomicXCore supports up to 9 rooms for cross-room co-hosting, with 50 users per room.
|
|
61
59
|
> - The API supports batch invitations. To check if an invitation to a single room was successful, you need to check if the `Result` is `.success` in the completion callback.
|
|
62
60
|
> - The API accepts extension fields. After the invitation is sent, this field is delivered to the target streamer via the `onCoHostRequestReceived` callback. Use it to pass custom business data, such as "start PK immediately".
|
|
@@ -251,7 +249,6 @@ PK Streamer Initiates a PK BattleStreamers can start PK battles using two main f
|
|
|
251
249
|
While co-hosting, call `BattleStore.requestBattle` to send a PK invitation. Configure PK duration, whether acceptance is required, and any extension info.
|
|
252
250
|
|
|
253
251
|
> **Note:**
|
|
254
|
-
>
|
|
255
252
|
> - If duration is not set, PK defaults to 5 minutes.
|
|
256
253
|
> - To skip target acceptance, set needResponse to false in BattleConfig. PK starts immediately.
|
|
257
254
|
> - If needResponse is false, set timeout to 0.
|
|
@@ -465,7 +462,6 @@ This step is same as Enter PK State.
|
|
|
465
462
|
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our `REST API`.
|
|
466
463
|
|
|
467
464
|
> **Note:**
|
|
468
|
-
>
|
|
469
465
|
> The PK score system in the LiveKit backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
470
466
|
>
|
|
471
467
|
|