@tencentcloud/sdk-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 +54 -35
- package/knowledge/build-index.js +32 -5
- 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 +26 -123
- 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 +0 -14
- package/resource/integration/callkit/preset/flutter/integration.md +0 -9
- package/resource/integration/callkit/preset/ios/integration.md +2 -14
- package/resource/integration/callkit/preset/react/integration.md +0 -21
- package/resource/integration/callkit/preset/vue/integration.md +0 -27
- package/resource/integration/chat/preset/android/integration.md +3 -10
- package/resource/integration/chat/preset/flutter/integration.md +12 -13
- package/resource/integration/chat/preset/ios/integration.md +9 -16
- package/resource/integration/chat/preset/react/integration.md +1 -9
- package/resource/integration/chat/preset/uni-app/integration.md +0 -9
- package/resource/integration/chat/preset/vue/integration.md +3 -13
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +0 -4
- package/resource/integration/livekit/preset/live/android/prepare-integration.md +8 -21
- package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +0 -1
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +0 -5
- package/resource/integration/livekit/preset/live/ios/live-list-integration.md +0 -4
- package/resource/integration/livekit/preset/live/ios/prepare-integration.md +0 -9
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +1 -5
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +38 -147
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +1 -6
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +432 -286
- package/resource/integration/roomkit/preset/vue/integration.md +11 -24
- package/resource/knowledge/callkit/best-practice/callkit-miniprogram/uniapp-shrink.md +64 -0
- package/resource/knowledge/callkit/best-practice/common/call-autoplay-blocked.md +81 -0
- package/resource/knowledge/callkit/best-practice/common/call-message-in-chat.md +84 -0
- package/resource/knowledge/callkit/best-practice/common/call-vs-calls.md +114 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-call-flow.md +128 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-log-level.md +72 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-engine-instance.md +87 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-roomid.md +83 -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 +103 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +1 -20
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -12
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -12
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +0 -19
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +0 -13
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -17
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -13
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -13
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -12
- package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +0 -1
- package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +0 -2
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +0 -15
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +0 -15
- package/resource/knowledge/callkit/core-sdk/web/call-engine.md +0 -1
- package/resource/knowledge/callkit/core-sdk/web/call-event.md +0 -1
- package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +0 -1
- package/resource/knowledge/callkit/faq/android.md +5 -15
- package/resource/knowledge/callkit/faq/common.md +0 -1
- package/resource/knowledge/callkit/faq/ios.md +1 -4
- package/resource/knowledge/callkit/faq/uniapp-app.md +0 -2
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +0 -5
- package/resource/knowledge/callkit/faq/web.md +1 -5
- 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/miniprogram/api.md +0 -2
- package/resource/knowledge/callkit/preset/react/api.md +3 -154
- package/resource/knowledge/callkit/preset/vue/api.md +3 -42
- package/resource/knowledge/chat/best-practice/common/avchatroom-message-loss-diagnosis.md +71 -0
- package/resource/knowledge/chat/best-practice/common/group-conversation-cleanup-on-system-notice.md +67 -0
- package/resource/knowledge/chat/best-practice/common/image-message-url-lifecycle.md +63 -0
- package/resource/knowledge/chat/best-practice/common/login-repeat-2025-diagnosis.md +65 -0
- package/resource/knowledge/chat/best-practice/common/message-read-report-and-receipt.md +72 -0
- package/resource/knowledge/chat/best-practice/common/message-receive-event.md +70 -0
- package/resource/knowledge/chat/best-practice/common/message-risk-error-and-render.md +69 -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 +118 -0
- package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +67 -0
- package/resource/knowledge/chat/best-practice/miniprogram/media-upload-fail-diagnosis.md +68 -0
- package/resource/knowledge/chat/best-practice/web/audio-message-send.md +123 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -4
- package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -5
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -9
- package/resource/knowledge/chat/preset/android/features/language.md +1 -11
- package/resource/knowledge/chat/preset/android/features/message-input.md +1 -8
- package/resource/knowledge/chat/preset/android/features/message-list.md +1 -10
- package/resource/knowledge/chat/preset/android/features/search.md +0 -7
- package/resource/knowledge/chat/preset/android/features/theme.md +0 -6
- package/resource/knowledge/chat/preset/android-view/integration.md +3 -5
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +1 -4
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +1 -6
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +1 -9
- package/resource/knowledge/chat/preset/flutter/features/language.md +0 -3
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +1 -8
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -10
- package/resource/knowledge/chat/preset/flutter/features/search.md +0 -7
- package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -6
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -4
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +1 -8
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -9
- package/resource/knowledge/chat/preset/ios/features/language.md +0 -11
- package/resource/knowledge/chat/preset/ios/features/message-input.md +1 -8
- package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -10
- package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/theme.md +0 -6
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +5 -17
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -2
- 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 +2 -23
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -5
- package/resource/knowledge/chat/preset/react/features/search.md +0 -1
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -3
- package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -5
- 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 -5
- package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
- package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -4
- package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -4
- package/resource/knowledge/chat/preset/vue/features/search.md +4 -1
- package/resource/knowledge/chat/preset/vue/features/theme.md +4 -6
- package/resource/knowledge/chat/urls/sdk/web.md +1 -1
- package/resource/knowledge/livekit/best-practice/android/voice-room-anchor-start.md +124 -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 +126 -0
- package/resource/knowledge/livekit/best-practice/ios/voice-room-anchor-start.md +130 -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 +1 -3
- 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 +1 -3
- package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +1 -3
- package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +0 -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 +3 -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 +1 -3
- package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/uni-app/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/uni-app/audio-effect.md +1 -2
- package/resource/knowledge/livekit/core-sdk/features/uni-app/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/uni-app/gift.md +4 -8
- package/resource/knowledge/livekit/core-sdk/features/uni-app/live-list.md +2 -2
- 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 -2
- package/resource/knowledge/livekit/core-sdk/live/android/integration.md +0 -7
- package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -7
- 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 -2
- package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +0 -7
- package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +0 -5
- package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +1 -3
- package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +4 -13
- package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +5 -5
- package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +18 -21
- 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 +2 -11
- package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +8 -8
- package/resource/knowledge/livekit/core-sdk/voice/uni-app/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/uni-app/integration.md +1 -4
- package/resource/knowledge/livekit/faq/error-code.md +1 -1
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +0 -5
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +0 -3
- package/resource/knowledge/push/api-reference/donut.md +1 -6
- package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
- package/resource/knowledge/push/api-reference/react-native.md +0 -3
- 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/fcm.md +0 -6
- package/resource/knowledge/push/config/android/honor.md +1 -7
- package/resource/knowledge/push/config/android/huawei.md +1 -9
- package/resource/knowledge/push/config/android/meizu.md +1 -7
- package/resource/knowledge/push/config/android/oppo.md +1 -3
- package/resource/knowledge/push/config/android/vivo.md +1 -12
- package/resource/knowledge/push/config/android/xiaomi.md +0 -5
- package/resource/knowledge/push/config/donut.md +0 -12
- package/resource/knowledge/push/config/harmonyos.md +18 -7
- package/resource/knowledge/push/config/ios.md +26 -33
- package/resource/knowledge/push/config/react-native.md +0 -30
- package/resource/knowledge/push/config/unity.md +0 -30
- package/resource/knowledge/push/config/unreal-engine.md +0 -30
- package/resource/knowledge/push/integration/android.md +148 -57
- package/resource/knowledge/push/integration/donut.md +5 -21
- package/resource/knowledge/push/integration/flutter.md +4 -6
- package/resource/knowledge/push/integration/harmonyos.md +17 -16
- package/resource/knowledge/push/integration/ios.md +30 -18
- package/resource/knowledge/push/integration/react-native.md +10 -60
- package/resource/knowledge/push/integration/uni-app.md +3 -25
- package/resource/knowledge/push/integration/unity.md +8 -77
- package/resource/knowledge/push/integration/unreal-engine.md +37 -96
- package/resource/knowledge/roomkit/best-practice/common/room-ghost-member.md +75 -0
- package/resource/knowledge/roomkit/best-practice/common/room-limit-and-multi.md +88 -0
- package/resource/knowledge/roomkit/best-practice/common/room-screen-share-preview.md +87 -0
- package/resource/knowledge/roomkit/best-practice/common/room-status-after-all-leave.md +73 -0
- package/resource/knowledge/roomkit/best-practice/vue/room-uikit-vs-atomicx.md +115 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +3 -5
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +4 -6
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +2 -4
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +4 -6
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +3 -5
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +4 -6
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -5
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -5
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -7
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +1 -2
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -1
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -3
- package/resource/knowledge/roomkit/preset/android/integration.md +202 -6
- package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -16
- package/resource/knowledge/roomkit/preset/ios/integration.md +201 -7
- package/resource/knowledge/roomkit/preset/react/integration.md +205 -4
- package/resource/knowledge/rtcengine/web/api.md +0 -2
- package/resource/knowledge/rtcengine/web/plugin/22-advanced-audio-mixer.md +2 -2
- package/resource/knowledge/rtcengine/web/plugin/23-advanced-support-detection.md +3 -3
- package/resource/knowledge/rtcengine/web/plugin/28-advanced-beauty.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/30-advanced-cross-room-link.md +2 -0
- package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
- package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +2 -0
- package/resource/knowledge/share/userSig.md +2 -2
- package/resource/knowledge/trtc/android/TRTCCloud.md +16 -16
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +5 -5
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +3 -3
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +2 -2
- package/resource/knowledge/trtc/android/TXDeviceManager.md +1 -1
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +14 -14
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +2 -2
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -4
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +3 -3
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +5 -5
- package/resource/knowledge/trtc/ios/TRTCCloud.md +14 -14
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +3 -3
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +2 -2
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -4
- package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +5 -5
- package/server.js +8 -3
- 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 -20
- 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 -475
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +0 -587
- package/resource/knowledge/callkit/preset/web/api.md +0 -79
- package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +0 -16
|
@@ -4,14 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
**LiveCoreView** 是一个专为直播场景设计的轻量级 `UI` 组件,是您构建直播场景的核心,它封装了所有复杂的底层直播技术(例如推拉流、连麦、音视频渲染)。您可以将 LiveCoreView 作为直播画面的“画布”,专注于上层 UI 与交互的开发。
|
|
6
6
|
|
|
7
|
-
通过下方的视图层级示意图,您可以直观了解 **LiveCoreView** 在直播界面中的位置和作用:
|
|
8
|
-
|
|
9
7
|
## 准备工作
|
|
10
8
|
|
|
11
9
|
### 步骤1:开通服务
|
|
12
10
|
|
|
13
|
-
请参见 开通服务,获取体验版或付费版 SDK。
|
|
14
|
-
|
|
15
11
|
### 步骤2:在当前项目中导入 AtomicXCore
|
|
16
12
|
1. **安装组件**:打开 [AtomicXCore SDK](https://ext.dcloud.net.cn/plugin) ,单击**下载插件并导入 HBuilderX**,选择需要集成的项目并单击**确定**。
|
|
17
13
|
|
|
@@ -41,7 +37,6 @@
|
|
|
41
37
|
在您的项目中调用 LoginState 中的 login 方法完成登录,**这是使用** `AtomicXCore` **所有功能的关键前提**。
|
|
42
38
|
|
|
43
39
|
> **重要:**
|
|
44
|
-
>
|
|
45
40
|
> 推荐在您 App 自身的用户账户登录成功后,再调用 LoginState 中的 login 方法,以确保登录业务逻辑的清晰和一致。
|
|
46
41
|
>
|
|
47
42
|
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
|
|
14
14
|
### 步骤1:组件集成
|
|
15
15
|
|
|
16
|
-
请参考 开播与收听 集成 **AtomicXCore**。
|
|
17
|
-
|
|
18
16
|
### 步骤2:实现观众申请上麦
|
|
19
17
|
|
|
20
18
|
#### 观众端实现
|
|
@@ -465,7 +463,7 @@ seatStore.unlockSeat(2, object : CompletionHandler {
|
|
|
465
463
|
主播和普通上麦用户可以调用 `moveUserToSeat` 移动麦位。
|
|
466
464
|
|
|
467
465
|
#### 实现方式:
|
|
468
|
-
1. **主播移动麦位**:主播可以调用此接口将任意用户移动到指定麦位。此时 `userID` 传入目标用户的 ID,`targetIndex` 是目标麦位索引,`policy`
|
|
466
|
+
1. **主播移动麦位**:主播可以调用此接口将任意用户移动到指定麦位。此时 `userID` 传入目标用户的 ID,`targetIndex` 是目标麦位索引,`policy` 参数来指定如果目标麦位有人时的移动策略。
|
|
469
467
|
|
|
470
468
|
2. **普通上麦用户移动自己麦位**:普通上麦用户也可以调用此接口来移动自己。此时 `userID` 必须传入用户自己的 ID,`targetIndex` 传入想去的新麦位索引,此时 `policy` 参数无效,如果目标麦位有人时会报错并停止移动。
|
|
471
469
|
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
## 前提条件
|
|
17
17
|
|
|
18
|
-
请参考 开播与收听 集成 **AtomicXCore SDK**,并完成 **主播开播** 和 **观众观看** 的功能实现。
|
|
19
|
-
|
|
20
18
|
## 主播发起一场连线
|
|
21
19
|
|
|
22
20
|
### 步骤1:查看正在开播中的主播列表
|
|
@@ -26,7 +24,6 @@
|
|
|
26
24
|
**实现方式:** 调用 `LiveListStore.shared().fetchLiveList`。
|
|
27
25
|
|
|
28
26
|
> **注意:**
|
|
29
|
-
>
|
|
30
27
|
> - 如果接口返回的列表中没有找到您想要的直播间,您需要检查开播时设置的 `TUILiveInfo` 的 `isPublicVisible` 字段是否为 `true`;
|
|
31
28
|
> - 该接口支持分页继续拉取,您可以使用接口 `onSuccess` 回调中 `cursor` 作为下一次续拉的游标,如果返回的 `cursor` 为空,则表示直播间列表已全部拉取完;
|
|
32
29
|
> - 为了性能考虑,建议您将 pageCount 设置为 20。
|
|
@@ -57,7 +54,6 @@ fun fetchLiveListForCoHost() {
|
|
|
57
54
|
您可以在主播选中指定的主播连线时,调用 `CoHostStore` 的 `requestHostConnection` 接口发起连线邀请。
|
|
58
55
|
|
|
59
56
|
> **说明:**
|
|
60
|
-
>
|
|
61
57
|
> 1. AtomicXCore 最大支持 **9** 个房间互相连线,每个房间支持 **50** 路用户。
|
|
62
58
|
> 2. 该接口支持批量发起邀请,您可以按需使用;单个直播间是否邀请成功,您需要监听 `onSuccess` 回调并解析 `code` 枚举值是否为 `0`;
|
|
63
59
|
> 3. 该接口支持扩展字段,邀请发送成功后,该字段会随着 `CoHostListener` 的 `onCoHostRequestReceived` 回调通知给对端主播,您可以在这个字段中携带 “**是否立即开始 PK 对战**” 等信息,来实现自己的特殊业务。
|
|
@@ -207,7 +203,6 @@ public void onExitButtonClicked() {
|
|
|
207
203
|
|
|
208
204
|
### 场景一:主播在连线后再发起 PK
|
|
209
205
|
|
|
210
|
-
AtomicXCore 支持您在这些主播中发起限时的对战 PK。交互如下图,主要包含以下 UI 交互:
|
|
211
206
|
1. 发起连线邀请,对端被邀请的主播接受连线邀请。
|
|
212
207
|
|
|
213
208
|
2. 参与连线的主播,点击 PK 按钮发起一场限时的对战,可以通过主播收到的礼物数来判定对战的胜负。
|
|
@@ -225,7 +220,6 @@ AtomicXCore 支持您在这些主播中发起限时的对战 PK。交互如下
|
|
|
225
220
|
当主播已经处于跨房连线时,可以在参与连线的主播之间发起一场限时 PK,`AtomicXCore` 支持您设置 PK 的时长、是否需要对端主播同意才开始 PK 以及发起 PK 时携带扩展信息。您可以调用 `BattleStore` 的 `requestBattle` 接口发起 PK 邀请。
|
|
226
221
|
|
|
227
222
|
> **说明:**
|
|
228
|
-
>
|
|
229
223
|
> 1. 当您不设置 `BattleConfig` 的 `duration` 字段时, PK 默认时长为 5 分钟;
|
|
230
224
|
> 2. 当您不需要对端主播同意时,您可以设置 `TUIBattleConfig` 的 `needResponse` 字段为 `false`,当邀请发出后 PK 会立即开始;
|
|
231
225
|
> 3. 当 `BattleConfig` 的 `needResponse` 字段为 `false` 时,`requestBattle` 接口的 `timeout` 字段必须设置为 0;
|
|
@@ -252,9 +246,9 @@ battleStore.requestBattle(
|
|
|
252
246
|
#### 步骤 2. 对端主播收到 PK 邀请
|
|
253
247
|
|
|
254
248
|
当 PK 请求成功发出后,对端主播会收到 `BattleListener` 的 `onBattleRequestReceived` 回调,您可以在这个回调中给对端主播的 UI 提醒 “有人邀请您 PK”,您也可以通过该回调的 battleInfo 参数的 config 字段中的 needResponse 信息确认是否需要 UI 提醒,例如:
|
|
255
|
-
- 当 needResponse 为 false 时,您无需提醒,直接进入 PK
|
|
249
|
+
- 当 needResponse 为 false 时,您无需提醒,直接进入 PK 状态(。
|
|
256
250
|
|
|
257
|
-
- 当 needResponse 为 true 时,您可以弹框提醒 “有人邀请您 PK”,当对端主播点击同意后进入 PK
|
|
251
|
+
- 当 needResponse 为 true 时,您可以弹框提醒 “有人邀请您 PK”,当对端主播点击同意后进入 PK 状态(。
|
|
258
252
|
|
|
259
253
|
``` java
|
|
260
254
|
private val mBattleListener: BattleListener = object : BattleListener() {
|
|
@@ -275,7 +269,6 @@ battleStore.requestBattle(
|
|
|
275
269
|
|
|
276
270
|
#### 步骤 3. 进入 PK 状态
|
|
277
271
|
|
|
278
|
-
如下图,当主播监听到 `BattleListener` 的 `onBattleStarted` 回调之后,**可以在 UI 上渲染 PK 进度条**。
|
|
279
272
|
- 当 `needResponse` 设置为 `false`, 则当邀请成功发出后,会自动进入 PK 状态。
|
|
280
273
|
|
|
281
274
|
- 当 `needResponse` 设置为 `true`,则当被邀请的所有对端主播都调用 `BattleStore` 的 `acceptBattle` 接口同意后进入 PK 状态。
|
|
@@ -301,17 +294,15 @@ battleID = battleStore.battleState.currentBattleInfo.value?.battleID
|
|
|
301
294
|
battleStore.exitBattle(battleID, null)
|
|
302
295
|
```
|
|
303
296
|
|
|
304
|
-
当 PK 结束之后 (也即 `BattleListener` 的 `onBattleEnded` 回调触发时),您可以通过该回调在 UI 上展示 PK
|
|
297
|
+
当 PK 结束之后 (也即 `BattleListener` 的 `onBattleEnded` 回调触发时),您可以通过该回调在 UI 上展示 PK 结束,并区分出胜负(
|
|
305
298
|
|
|
306
299
|
> **说明:**
|
|
307
|
-
>
|
|
308
300
|
> - 在连线过程中发起的 PK,当 PK 结束后会自动恢复到跨房连线状态。
|
|
309
301
|
> - 如果您想在 PK 结束之后同步结束跨房连线,可以调用 `CoHostStore` 的 `exitHostConnection` 结束连线。
|
|
310
302
|
|
|
311
303
|
### 场景二:主播发起带 PK 模式的连线
|
|
312
304
|
|
|
313
|
-
|
|
314
|
-
1. 主播在个人直播过程中,点击 PK 按钮,打开 UI 面板展示当前正在开播的主播列表(详见《主播发起一场连线》的步骤 1)。
|
|
305
|
+
1. 主播在个人直播过程中,点击 PK 按钮,打开 UI 面板展示当前正在开播的主播列表(。
|
|
315
306
|
|
|
316
307
|
2. 主播选中其中一个主播,发起 PK 邀请。
|
|
317
308
|
|
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
### 步骤1:开通服务
|
|
16
16
|
|
|
17
|
-
请参见 开通服务,获取体验版或付费版 `SDK`。
|
|
18
|
-
|
|
19
17
|
### 步骤2:在当前项目中导入 AtomicXCore
|
|
20
18
|
|
|
21
19
|
**安装组件**:请在您的 `build.gradle` 文件中添加 `implementation 'com.tencent.atomicx:atomicxcore:latest'` 依赖,然后执行 `Gradle Sync`。
|
|
@@ -34,7 +32,6 @@ dependencies {
|
|
|
34
32
|
在项目中调用 `LoginStore.shared.login` 完成登录,**这是使用** `AtomicXCore` **所有功能的关键前提**。
|
|
35
33
|
|
|
36
34
|
> **重要:**
|
|
37
|
-
>
|
|
38
35
|
> 推荐在您 `App` 自身的用户账户登录成功后,再调用 `LoginStore.shared.login`,以确保登录业务逻辑的清晰和一致。
|
|
39
36
|
>
|
|
40
37
|
|
|
@@ -179,6 +176,9 @@ class YourAnchorActivity : AppCompatActivity() {
|
|
|
179
176
|
// 传入所需的麦位数量(例如 9),系统会自动配置麦位开关、房主占位及最大人数
|
|
180
177
|
seatTemplate = SeatLayoutTemplate.AudioSalon(seatCount = 9)
|
|
181
178
|
|
|
179
|
+
// 主播开播后自动上麦
|
|
180
|
+
keepOwnerOnSeat = true
|
|
181
|
+
|
|
182
182
|
// 设置上麦模式(例如申请上麦)
|
|
183
183
|
seatMode = TakeSeatMode.APPLY
|
|
184
184
|
}
|
|
@@ -204,6 +204,7 @@ class YourAnchorActivity : AppCompatActivity() {
|
|
|
204
204
|
| --- | --- | --- | --- |
|
|
205
205
|
| <code>liveID</code> | <code>String</code> | 必填 | 直播间的唯一标识符。 |
|
|
206
206
|
| <code>liveName</code> | <code>String</code> | 选填 | 直播间的标题。 |
|
|
207
|
+
| <code>keepOwnerOnSeat</code> | <code>Boolean</code> | 选填 | 主播开播后是否自动上麦。默认为 false。<br>- 当传入 true 时,主播创建房间后,会自动上到第一个麦位上。主播通过麦克风采集的声音会同步到直播间内。<br>- 当传入 false 时,主播创建房间后,不会自动上麦,主播通过麦克风采集的声音不会同步到直播间内。可以调用 LiveSeatStore.takeSeat 实现将主播上麦。 |
|
|
207
208
|
| <code>notice</code> | <code>String</code> | 选填 | 直播间的公告信息。 |
|
|
208
209
|
| <code>isMessageDisable</code> | <code>Boolean</code> | 选填 | 是否禁言(<code>true</code>:是,<code>false</code>:否)。 |
|
|
209
210
|
| <code>isPublicVisible</code> | <code>Boolean</code> | 选填 | 是否公开可见(<code>true</code>:是,<code>false</code>:否)。 |
|
|
@@ -376,7 +377,7 @@ class YourAudienceActivity : AppCompatActivity() {
|
|
|
376
377
|
|
|
377
378
|
#### **3. 构建麦位 UI 界面**
|
|
378
379
|
|
|
379
|
-
观众构建麦位 UI
|
|
380
|
+
观众构建麦位 UI 界面的流程与主播完全一致。
|
|
380
381
|
|
|
381
382
|
#### **4. 退出语聊房**
|
|
382
383
|
|
|
@@ -426,7 +427,6 @@ class YourAudienceActivity : AppCompatActivity() {
|
|
|
426
427
|
#### 实现方式
|
|
427
428
|
|
|
428
429
|
> **提示:**
|
|
429
|
-
>
|
|
430
430
|
> 麦上用户说话时展示波浪动画效果,您也可以参考 `TUILiveKit` 开源项目中的 [SeatGridView.kt](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroomcore/SeatGridView.kt) 文件来了解完整的实现逻辑。
|
|
431
431
|
>
|
|
432
432
|
|
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
### 步骤1:开通服务
|
|
16
16
|
|
|
17
|
-
请参见 开通服务,获取体验版或付费版 `SDK`。
|
|
18
|
-
|
|
19
17
|
### 步骤2:在当前项目中导入 AtomicXCore
|
|
20
18
|
1. **安装组件**:请在您的 `pubspec.yaml` 文件中添加 `atomic_x_core` 依赖,然后执行 `flutter pub get`。
|
|
21
19
|
|
|
@@ -62,7 +60,6 @@ end
|
|
|
62
60
|
在项目中调用 `LoginStore.shared.login` 完成登录,**这是使用** `AtomicXCore` **所有功能的关键前提**。
|
|
63
61
|
|
|
64
62
|
> **重要:**
|
|
65
|
-
>
|
|
66
63
|
> 推荐在您 App 自身的用户账户登录成功后,再调用 LoginStore.shared.login,以确保登录业务逻辑的清晰和一致。
|
|
67
64
|
>
|
|
68
65
|
|
|
@@ -205,6 +202,8 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
205
202
|
seatTemplate: AudioSalon(9),
|
|
206
203
|
// 5. 设置上麦模式,例如申请上麦
|
|
207
204
|
seatMode: TakeSeatMode.apply,
|
|
205
|
+
// 6. 设置主播开播后自动上麦
|
|
206
|
+
keepOwnerOnSeat: true,
|
|
208
207
|
);
|
|
209
208
|
|
|
210
209
|
// 9. 调用 createLive 开始直播
|
|
@@ -222,26 +221,25 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
222
221
|
```
|
|
223
222
|
|
|
224
223
|
**LiveInfo 参数说明:**
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
224
|
+
| <strong>参数名</strong> | <strong>类型</strong> | <strong>属性</strong> | <strong>描述</strong> |
|
|
225
|
+
| --- | --- | --- | --- |
|
|
226
|
+
| <code>liveID</code> | <code>String</code> | 必填 | 直播间的唯一标识符。 |
|
|
227
|
+
| <code>liveName</code> | <code>String</code> | 选填 | 直播间的标题。 |
|
|
228
|
+
| <code>keepOwnerOnSeat</code> | <code>bool</code> | 选填 | 主播开播后是否自动上麦。默认为 false。<br>- 当传入 true 时,主播创建房间后,会自动上到第一个麦位上。主播通过麦克风采集的声音会同步到直播间内。<br>- 当传入 false 时,主播创建房间后,不会自动上麦,主播通过麦克风采集的声音不会同步到直播间内。可以调用 LiveSeatStore.takeSeat 实现将主播上麦。 |
|
|
229
|
+
| <code>notice</code> | <code>String</code> | 选填 | 直播间的公告信息。 |
|
|
230
|
+
| <code>isMessageDisable</code> | <code>bool</code> | 选填 | 是否禁言(<code>true</code>:是,<code>false</code>:否)。 |
|
|
231
|
+
| <code>isPublicVisible</code> | <code>bool</code> | 选填 | 是否公开可见(<code>true</code>:是,<code>false</code>:否)。 |
|
|
232
|
+
| <code>seatMode</code> | <code>TakeSeatMode</code> | 选填 | 上麦模式(<code>free</code>:自由上麦,<code>apply</code>:申请上麦)。 |
|
|
233
|
+
| <code>seatTemplate</code> | <code>SeatLayoutTemplate</code> | 必填 | 麦位布局模板。 |
|
|
234
|
+
| <code>coverURL</code> | <code>String</code> | 选填 | 直播间的封面图片地址。 |
|
|
235
|
+
| <code>backgroundURL</code> | <code>String</code> | 选填 | 直播间的背景图片地址。 |
|
|
236
|
+
| <code>categoryList</code> | <code>List<int></code> | 选填 | 直播间的分类标签列表。 |
|
|
237
|
+
| <code>activityStatus</code> | <code>int</code> | 选填 | 直播活动状态。 |
|
|
238
|
+
| <code>isGiftEnabled</code> | <code>bool</code> | 选填 | 是否启用礼物功能(<code>true</code>:是,<code>false</code>:否)。 |
|
|
240
239
|
|
|
241
240
|
#### 4. 构建麦位 UI 界面
|
|
242
241
|
|
|
243
242
|
> **提示:**
|
|
244
|
-
>
|
|
245
243
|
> 麦位 `UI` 效果的业务代码,可参考 `TUILiveKit` 开源项目中的 [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) 文件来了解完整的实现逻辑。
|
|
246
244
|
>
|
|
247
245
|
|
|
@@ -420,7 +418,7 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
|
|
|
420
418
|
|
|
421
419
|
#### 3. 构建麦位 UI 界面
|
|
422
420
|
|
|
423
|
-
观众构建麦位 UI
|
|
421
|
+
观众构建麦位 UI 界面的流程与主播完全一致。
|
|
424
422
|
|
|
425
423
|
#### 4. 退出语聊房
|
|
426
424
|
|
|
@@ -454,7 +452,6 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
|
|
|
454
452
|
#### 实现方式
|
|
455
453
|
|
|
456
454
|
> **提示:**
|
|
457
|
-
>
|
|
458
455
|
> 麦上用户说话时展示波浪动画效果,可参考 `TUILiveKit` 开源项目中的 [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) 文件来了解完整的实现逻辑。
|
|
459
456
|
>
|
|
460
457
|
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
|
|
14
14
|
## 前提条件
|
|
15
15
|
|
|
16
|
-
请参考 开播与收听 集成 **AtomicXCore SDK**,并完成 **主播开播** 和 **观众观看** 的功能实现。
|
|
17
|
-
|
|
18
16
|
## 主播发起一场连线
|
|
19
17
|
|
|
20
18
|
### 步骤1:查看正在开播中的主播列表
|
|
@@ -24,7 +22,6 @@
|
|
|
24
22
|
**实现方式:** 调用 `LiveListStore.shared.fetchLiveList`。
|
|
25
23
|
|
|
26
24
|
> **注意:**
|
|
27
|
-
>
|
|
28
25
|
> - 如果接口返回的列表中没有找到您想要的直播间,您需要检查开播时设置的 `TUILiveInfo` 的 `isPublicVisible` 字段是否为 `true`;
|
|
29
26
|
> - 该接口支持分页继续拉取,您可以使用 `result` 为 `success` 时的 `cursor` 作为下一次续拉的游标,如果返回的 `cursor` 为空,则表示直播间列表已全部拉取完;
|
|
30
27
|
> - 为了性能考虑,建议您将 count 设置为 20。
|
|
@@ -56,7 +53,6 @@ func fetchLiveListForCoHost() {
|
|
|
56
53
|
您可以在主播选中指定的主播连线时,调用 `CoHostStore` 的 `requestHostConnection` 接口发起连线邀请。
|
|
57
54
|
|
|
58
55
|
> **说明:**
|
|
59
|
-
>
|
|
60
56
|
> - AtomicXCore 最大支持 **9** 个房间互相连线,每个房间支持 **50** 路用户。
|
|
61
57
|
> - 该接口支持批量发起邀请,您可以按需使用;单个直播间是否邀请成功,您需要在 `completion` 回调中检查 `Result` 是否为`.success`。
|
|
62
58
|
> - 该接口支持扩展字段,邀请发送成功后,该字段会随着 `CoHostEventPublisher` 的 `onCoHostRequestReceived` 回调通知给对端主播,您可以在这个字段中携带 “**是否立即开始 PK 对战**” 等信息,来实现自己的特殊业务。
|
|
@@ -255,7 +251,6 @@ func onExitButtonClicked() {
|
|
|
255
251
|
|
|
256
252
|
### 场景一:主播在连线后再发起 PK
|
|
257
253
|
|
|
258
|
-
AtomicXCore 支持您在这些主播中发起限时的对战 PK。交互如下图,主要包含以下 UI 交互:
|
|
259
254
|
1. 发起连线邀请,对端被邀请的主播接受连线邀请。
|
|
260
255
|
|
|
261
256
|
2. 参与连线的主播,点击 PK 按钮发起一场限时的对战,可以通过主播收到的礼物数来判定对战的胜负。
|
|
@@ -273,7 +268,6 @@ AtomicXCore 支持您在这些主播中发起限时的对战 PK。交互如下
|
|
|
273
268
|
当主播已经处于跨房连线时,可以在参与连线的主播之间发起一场限时 PK,`AtomicXCore` 支持您设置 PK 的时长、是否需要对端主播同意才开始 PK 以及发起 PK 时携带扩展信息。您可以调用 `BattleStore` 的 `requestBattle` 接口发起 PK 邀请。
|
|
274
269
|
|
|
275
270
|
> **说明:**
|
|
276
|
-
>
|
|
277
271
|
> - 当您不设置 `BattleConfig` 的 `duration` 字段时, PK 默认时长为 5 分钟。
|
|
278
272
|
> - 当您不需要对端主播同意时,您可以设置 `BattleConfig` 的 `needResponse` 字段为 `false`,当邀请发出后 PK 会立即开始。
|
|
279
273
|
> - 当 `BattleConfig` 的 `needResponse` 字段为 `false` 时,`requestBattle` 接口的 `timeout` 字段必须设置为 0。
|
|
@@ -322,7 +316,6 @@ battleStore.battleEventPublisher
|
|
|
322
316
|
|
|
323
317
|
#### 步骤 3. 进入 PK 状态
|
|
324
318
|
|
|
325
|
-
如下图,当主播监听到 `BattleEventPublisher` 的 `onBattleStarted` 回调之后,**可以在 UI 上渲染 PK 进度条**。
|
|
326
319
|
- 当 `needResponse` 设置为 `false`, 则当邀请成功发出后,会自动进入 PK 状态。
|
|
327
320
|
|
|
328
321
|
- 当 `needResponse` 设置为 `true`,则当被邀请的所有对端主播都调用 `BattleStore` 的 `acceptBattle` 接口同意后进入 PK 状态。
|
|
@@ -358,17 +351,15 @@ battleStore.exitBattle(battleID: battleID, completion: { [weak self] result in
|
|
|
358
351
|
})
|
|
359
352
|
```
|
|
360
353
|
|
|
361
|
-
当 PK 结束之后 (也即 `BattleEventPublisher` 的 `onBattleEnded` 回调触发时),您可以通过该回调在 UI 上展示 PK
|
|
354
|
+
当 PK 结束之后 (也即 `BattleEventPublisher` 的 `onBattleEnded` 回调触发时),您可以通过该回调在 UI 上展示 PK 结束,并区分出胜负(
|
|
362
355
|
|
|
363
356
|
> **说明:**
|
|
364
|
-
>
|
|
365
357
|
> - 在连线过程中发起的 PK,当 PK 结束后会自动恢复到跨房连线状态。
|
|
366
358
|
> - 如果您想在 PK 结束之后同步结束跨房连线,可以调用 `CoHostStore` 的 `exitHostConnection` 结束连线。
|
|
367
359
|
|
|
368
360
|
### 场景二:主播发起带 PK 模式的连线
|
|
369
361
|
|
|
370
|
-
|
|
371
|
-
1. 主播在个人直播过程中,点击 PK 按钮,打开 UI 面板展示当前正在开播的主播列表(详见《主播发起一场连线》的步骤 1)。
|
|
362
|
+
1. 主播在个人直播过程中,点击 PK 按钮,打开 UI 面板展示当前正在开播的主播列表(。
|
|
372
363
|
|
|
373
364
|
2. 主播选中其中一个主播,发起 PK 邀请。
|
|
374
365
|
|
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
### 步骤1:开通服务
|
|
16
16
|
|
|
17
|
-
请参见 开通服务,获取体验版或付费版 `SDK`。
|
|
18
|
-
|
|
19
17
|
### 步骤2:在当前项目中导入 AtomicXCore
|
|
20
18
|
1. **安装组件**:请在您的 **Podfile** 文件中添加 `pod 'AtomicXCore'` 依赖,然后执行 `pod install`。
|
|
21
19
|
|
|
@@ -37,7 +35,6 @@
|
|
|
37
35
|
在项目中调用 `LoginStore.shared.login` 完成登录,**这是使用** `AtomicXCore` **所有功能的关键前提**。
|
|
38
36
|
|
|
39
37
|
> **重要:**
|
|
40
|
-
>
|
|
41
38
|
> 推荐在您 App 自身的用户账户登录成功后,再调用 LoginStore.shared.login,以确保登录业务逻辑的清晰和一致。
|
|
42
39
|
>
|
|
43
40
|
|
|
@@ -165,10 +162,14 @@ class YourAnchorViewController: UIViewController {
|
|
|
165
162
|
liveInfo.liveName = "test 语聊房"
|
|
166
163
|
// 4. 设置语聊房布局模板(传入 9 即代表有 9 个麦位)
|
|
167
164
|
liveInfo.seatTemplate = SeatLayoutTemplate.AudioSalon(seatCount: 9)
|
|
168
|
-
|
|
165
|
+
|
|
166
|
+
// 5. 设置主播开播后自动上麦
|
|
167
|
+
liveInfo.keepOwnerOnSeat = true
|
|
168
|
+
|
|
169
|
+
// 6. 设置上麦模式,例如申请上麦
|
|
169
170
|
liveInfo.seatMode = .apply
|
|
170
171
|
|
|
171
|
-
//
|
|
172
|
+
// 7. 调用 createLive 开始直播
|
|
172
173
|
liveListStore.createLive(liveInfo) { [weak self] result in
|
|
173
174
|
guard let self = self else { return }
|
|
174
175
|
switch result {
|
|
@@ -189,6 +190,7 @@ class YourAnchorViewController: UIViewController {
|
|
|
189
190
|
| --- | --- | --- | --- |
|
|
190
191
|
| <code>liveID</code> | <code>String</code> | 必填 | 直播间的唯一标识符。 |
|
|
191
192
|
| <code>liveName</code> | <code>String</code> | 选填 | 直播间的标题。 |
|
|
193
|
+
| <code>keepOwnerOnSeat</code> | <code>Bool</code> | 选填 | 主播开播后是否自动上麦。默认为 false。<br>- 当传入 true 时,主播创建房间后,会自动上到第一个麦位上。主播通过麦克风采集的声音会同步到直播间内。<br>- 当传入 false 时,主播创建房间后,不会自动上麦,主播通过麦克风采集的声音不会同步到直播间内。可以调用 LiveSeatStore.takeSeat 实现将主播上麦。 |
|
|
192
194
|
| <code>notice</code> | <code>String</code> | 选填 | 直播间的公告信息。 |
|
|
193
195
|
| <code>isMessageDisable</code> | <code>Bool</code> | 选填 | 是否禁言(<code>true</code>:是,<code>false</code>:否)。 |
|
|
194
196
|
| <code>isPublicVisible</code> | <code>Bool</code> | 选填 | 是否公开可见(<code>true</code>:是,<code>false</code>:否)。 |
|
|
@@ -203,7 +205,6 @@ class YourAnchorViewController: UIViewController {
|
|
|
203
205
|
#### **4. 构建麦位 UI 界面**
|
|
204
206
|
|
|
205
207
|
> **提示:**
|
|
206
|
-
>
|
|
207
208
|
> 麦位 `UI` 效果的业务代码,您也可以参考 `TUILiveKit` 开源项目中的 [SeatGridView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Component/SeatGridview/SeatGridView.swift) 文件来了解完整的实现逻辑。
|
|
208
209
|
>
|
|
209
210
|
|
|
@@ -353,7 +354,7 @@ class YourAudienceViewController: UIViewController {
|
|
|
353
354
|
|
|
354
355
|
#### **3. 构建麦位 UI 界面**
|
|
355
356
|
|
|
356
|
-
观众构建麦位 UI
|
|
357
|
+
观众构建麦位 UI 界面的流程与主播完全一致。
|
|
357
358
|
|
|
358
359
|
#### **4. 退出语聊房**
|
|
359
360
|
|
|
@@ -394,7 +395,6 @@ class YourAudienceViewController: UIViewController {
|
|
|
394
395
|
#### 实现方式
|
|
395
396
|
|
|
396
397
|
> **提示:**
|
|
397
|
-
>
|
|
398
398
|
> 麦上用户说话时展示波浪动画效果,您也可以参考 `TUILiveKit` 开源项目中的 [SeatGridView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Component/SeatGridview/SeatGridView.swift) 文件来了解完整的实现逻辑。
|
|
399
399
|
>
|
|
400
400
|
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
### 步骤1:开通服务
|
|
6
6
|
|
|
7
|
-
请参见 开通服务,获取体验版或付费版 SDK。
|
|
8
|
-
|
|
9
7
|
### 步骤2:导入 tuikit-atomic-x
|
|
10
8
|
1. **安装组件**:打开 [AtomicXCore SDK](https://ext.dcloud.net.cn/plugin) ,单击**下载插件并导入 HBuilderX**,选择需要集成的项目并单击**确定**。
|
|
11
9
|
|
|
@@ -33,7 +31,6 @@
|
|
|
33
31
|
在您的项目中调用 LoginState 中的 login 方法完成登录,**这是使用** `AtomicXCore` **所有功能的关键前提**。
|
|
34
32
|
|
|
35
33
|
> **重要:**
|
|
36
|
-
>
|
|
37
34
|
> 推荐在您 App 自身的用户账户登录成功后,再调用 LoginState 中的 login 方法,以确保登录业务逻辑的清晰和一致。
|
|
38
35
|
>
|
|
39
36
|
|
|
@@ -229,7 +226,7 @@ const handleJoinLive = () => {
|
|
|
229
226
|
|
|
230
227
|
#### **3. 构建麦位 UI 界面**
|
|
231
228
|
|
|
232
|
-
观众构建麦位 UI
|
|
229
|
+
观众构建麦位 UI 的流程与主播完全一致。
|
|
233
230
|
|
|
234
231
|
#### **4. 退出语聊房**
|
|
235
232
|
|
|
@@ -35,7 +35,7 @@ keywords: ['错误码', '报错', 'live', 'liveKit', '直播间异常', 'pk 报
|
|
|
35
35
|
|
|
36
36
|
## 错误码 70013
|
|
37
37
|
**原因:** 用户 ID 与用户签名不匹配。
|
|
38
|
-
**解决方案:** 请检查用户 ID
|
|
38
|
+
**解决方案:** 请检查用户 ID 与用户签名是否匹配。可前往[腾讯云控制台](https://console.cloud.tencent.com/trtc/usersigtool)验证签名。
|
|
39
39
|
|
|
40
40
|
## 错误码 100004
|
|
41
41
|
**原因:** 房间不存在。
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
`TUILiveKit` 弹幕系统为直播场景提供完整互动解决方案,能够增强直播的互动性和趣味性。通过本文档,您可快速实现直播间弹幕互动功能,并支持深度定制以满足业务需求。
|
|
2
2
|
|
|
3
|
-
|**PC 浏览器**|**移动端 H5**|
|
|
4
|
-
|---------|---------|
|
|
5
|
-
|||
|
|
6
|
-
|
|
7
3
|
## 组件构成
|
|
8
4
|
|
|
9
5
|
|**组件名称**|**具体内容**|
|
|
@@ -104,7 +100,6 @@ onMounted(async () => {
|
|
|
104
100
|
| | | | |
|
|
105
101
|
|
|
106
102
|
> **注意:**
|
|
107
|
-
>
|
|
108
103
|
> 使用 BarrageList 的默认消息组件时,表情消息会自动渲染为图片。但当您通过 `Message Props` 或 `message-item` Slot 接管自定义消息渲染时,message.textContent 中的表情编码(例如 [TUIEmoji_Flower])不会自动解析,需要您参考 如何处理自定义弹幕消息时的表情渲染 处理。
|
|
109
104
|
>
|
|
110
105
|
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
### 注册推送服务
|
|
18
18
|
|
|
19
19
|
> **注意:**
|
|
20
|
-
>
|
|
21
20
|
> 必须在 App 用户同意了隐私政策,并且确定为 App 用户开始提供推送服务后,再调用该接口使用推送服务。否则可能因提前获取用户隐私导致上架失败。
|
|
22
21
|
>
|
|
23
22
|
|
|
@@ -30,7 +29,7 @@ registerPush(sdkAppID: number, appKey: string): Promise<JSON>;
|
|
|
30
29
|
|
|
31
30
|
|参数|类型|说明|获取路径|
|
|
32
31
|
|---------|---------|---------|---------|
|
|
33
|
-
|sdkAppID|number|推送(Push)应用 ID|
|
|
32
|
+
|sdkAppID|number|推送(Push)应用 ID|[IM 控制台 > 推送服务 Push > 概览](https://console.cloud.tencent.com/im/push-plugin-push-identifier)<br>|
|
|
34
33
|
|appKey|string|推送(Push)应用客户端密钥||
|
|
35
34
|
|
|
36
35
|
#### 返回值说明
|
|
@@ -55,7 +54,6 @@ unRegisterPush(): Promise<JSON>;
|
|
|
55
54
|
### 设置推送 ID 标识 RegistrationID
|
|
56
55
|
|
|
57
56
|
> **注意:**
|
|
58
|
-
>
|
|
59
57
|
> 需要在注册推送服务之前调用。
|
|
60
58
|
>
|
|
61
59
|
|
|
@@ -79,7 +77,6 @@ setRegistrationID(registrationID: string): Promise<JSON>;
|
|
|
79
77
|
### 获取推送 ID 标识 RegistrationID
|
|
80
78
|
|
|
81
79
|
> **说明:**
|
|
82
|
-
>
|
|
83
80
|
> 需要在注册推送服务成功之后调用。
|
|
84
81
|
>
|
|
85
82
|
|
|
@@ -137,7 +134,6 @@ disablePostNotificationInForeground(disable: boolean): void;
|
|
|
137
134
|
### 创建客户端通知 channel
|
|
138
135
|
|
|
139
136
|
> **说明:**
|
|
140
|
-
>
|
|
141
137
|
> 如果不同厂商的 ChannelID 各不相同,那么每个 Channel 都需要创建。
|
|
142
138
|
>
|
|
143
139
|
|
|
@@ -168,7 +164,6 @@ createNotificationChannel(options: {
|
|
|
168
164
|
### 设置应用角标数字
|
|
169
165
|
|
|
170
166
|
> **注意:**
|
|
171
|
-
>
|
|
172
167
|
> - 需要在注册推送服务之后调用。
|
|
173
168
|
> - 仅支持华为、iOS。
|
|
174
169
|
|
|
@@ -42,7 +42,6 @@ unRegisterPush(): Promise<TIMPushResult>;
|
|
|
42
42
|
### 设置推送 ID 标识 RegistrationID
|
|
43
43
|
|
|
44
44
|
> **说明:**
|
|
45
|
-
>
|
|
46
45
|
> 如果您调用此接口,请务必在 `registerPush` 前调用。
|
|
47
46
|
>
|
|
48
47
|
|
|
@@ -60,7 +59,6 @@ setRegistrationID(registrationID: string): Promise<TIMPushResult>;
|
|
|
60
59
|
### 获取推送 ID 标识 RegistrationID
|
|
61
60
|
|
|
62
61
|
> **说明:**
|
|
63
|
-
>
|
|
64
62
|
> 若您调用过 `setRegistrationID` 接口设置标识 ID,此接口将返回您设置的标识 ID,否则返回由 Push SDK 生成的随机值。
|
|
65
63
|
>
|
|
66
64
|
|
|
@@ -45,7 +45,6 @@ unRegisterPush(onSuccess: () => void, onError?: (errCode: number, errMsg: string
|
|
|
45
45
|
### 设置推送 ID 标识 RegistrationID
|
|
46
46
|
|
|
47
47
|
> **说明:**
|
|
48
|
-
>
|
|
49
48
|
> 需要在注册推送服务之前调用。
|
|
50
49
|
>
|
|
51
50
|
|
|
@@ -64,7 +63,6 @@ setRegistrationID(registrationID: string, onSuccess: () => void): void;
|
|
|
64
63
|
### 获取推送 ID 标识 RegistrationID
|
|
65
64
|
|
|
66
65
|
> **说明:**
|
|
67
|
-
>
|
|
68
66
|
> - 需要在注册推送服务成功之后调用。
|
|
69
67
|
> - 若您调用过 `setRegistrationID` 接口设置标识 ID,此接口将返回您设置的标识 ID,否则返回由 Push SDK 生成的随机值。
|
|
70
68
|
|
|
@@ -82,7 +80,6 @@ getRegistrationID(onSuccess: (registrationID: string) => void): void;
|
|
|
82
80
|
### 获取点击透传的内容
|
|
83
81
|
|
|
84
82
|
> **说明:**
|
|
85
|
-
>
|
|
86
83
|
> 收到离线推送时,点击通知栏拉起 App,调用此接口可获取推送扩展信息。
|
|
87
84
|
>
|
|
88
85
|
|
|
@@ -32,7 +32,7 @@ registerPush(SDKAppID, appKey, onSuccess, onError)
|
|
|
32
32
|
|
|
33
33
|
#### 接口
|
|
34
34
|
``` javascript
|
|
35
|
-
|
|
35
|
+
unRegisterPush(onSuccess, onError)
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
#### 参数说明:
|
|
@@ -45,12 +45,11 @@ registerPush(SDKAppID, appKey, onSuccess, onError)
|
|
|
45
45
|
### 设置推送 ID 标识 RegistrationID
|
|
46
46
|
|
|
47
47
|
> **说明:**
|
|
48
|
-
>
|
|
49
48
|
> 1. 如果您调用此接口,请务必在 `registerPush` 前调用。
|
|
50
49
|
|
|
51
50
|
#### 接口
|
|
52
51
|
``` javascript
|
|
53
|
-
|
|
52
|
+
setRegistrationID(registrationID, onSuccess)
|
|
54
53
|
```
|
|
55
54
|
|
|
56
55
|
#### 参数说明:
|
|
@@ -63,13 +62,12 @@ registerPush(SDKAppID, appKey, onSuccess, onError)
|
|
|
63
62
|
### 获取推送 ID 标识 RegistrationID
|
|
64
63
|
|
|
65
64
|
> **说明:**
|
|
66
|
-
>
|
|
67
65
|
> 若您调用过 `setRegistrationID` 接口设置标识 ID,此接口将返回您设置的标识 ID,否则返回由 Push SDK 生成的随机值。
|
|
68
66
|
>
|
|
69
67
|
|
|
70
68
|
#### 接口
|
|
71
69
|
``` javascript
|
|
72
|
-
|
|
70
|
+
getRegistrationID(onSuccess)
|
|
73
71
|
```
|
|
74
72
|
|
|
75
73
|
#### 参数说明:
|