@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
|
@@ -13,8 +13,6 @@ flutter pub add tencent_cloud_chat_push
|
|
|
13
13
|
|
|
14
14
|
Please upload the iOS APNs push certificate you obtained in the manufacturer configuration step to the Chat console.
|
|
15
15
|
|
|
16
|
-
The Chat console will allocate a Certificate ID for you, see the image below:
|
|
17
|
-
|
|
18
16
|
To register for push notifications, you need to pass in this Certificate ID (apnsCertificateID):
|
|
19
17
|
``` java
|
|
20
18
|
TencentCloudChatPush().registerPush(apnsCertificateID: Your configured Certificate ID);
|
|
@@ -24,10 +22,6 @@ TencentCloudChatPush().registerPush(apnsCertificateID: Your configured Certifica
|
|
|
24
22
|
|
|
25
23
|
After completing the console manufacturer push information, download and add the configuration file to the project. Add the downloaded timpush-configs.json file to the `android/app/src/main/assets` directory of the project. If the directory does not exist, please create it manually.
|
|
26
24
|
|
|
27
|
-
|1.Choose to download the configuration file timpush-configs.json|2.Add to the project|
|
|
28
|
-
|---------|---------|
|
|
29
|
-
|||
|
|
30
|
-
|
|
31
25
|
### Step 3: Client Code Configuration
|
|
32
26
|
|
|
33
27
|
In this step, you will need to write some native code, such as Swift, Java, XML, etc.
|
|
@@ -38,8 +32,6 @@ Please do not worry. Just follow the instructions and copy the provided code int
|
|
|
38
32
|
|
|
39
33
|
You can edit using Xcode, or directly in Visual Studio Code or Android Studio.
|
|
40
34
|
|
|
41
|
-
Open the `ios/Runner/AppDelegate.swift` file, paste the highlighted code as shown in the image below. The code is attached after the image.
|
|
42
|
-
|
|
43
35
|
``` swift
|
|
44
36
|
import UIKit
|
|
45
37
|
import Flutter
|
|
@@ -83,7 +75,6 @@ import tencent_cloud_chat_push
|
|
|
83
75
|
```
|
|
84
76
|
|
|
85
77
|
> **Note:**
|
|
86
|
-
>
|
|
87
78
|
> 1. For the iOS console, please set the certificate ID to use businessID. The offlinePushCertificateID is deprecated.
|
|
88
79
|
> 2. The old field offlinePushCertificateID is still supported, but you need to add the @objc keyword.
|
|
89
80
|
|
|
@@ -110,12 +101,9 @@ public class MyApplication extends TencentCloudChatPushApplication {
|
|
|
110
101
|
```
|
|
111
102
|
|
|
112
103
|
> **Note:**
|
|
113
|
-
>
|
|
114
104
|
> If you have already created your own Application for other purposes, directly `extend TencentCloudChatPushApplication` and ensure that the `onCreate()` function calls `super.onCreate();`.
|
|
115
105
|
>
|
|
116
106
|
|
|
117
|
-
Open the `android/app/src/main/AndroidManifest.xml` file and add an `<application>` tag to specify an `android:name` parameter, pointing to the custom `Application` class you just created. As shown in the figure:
|
|
118
|
-
|
|
119
107
|
### Step 4: Client Manufacturer Configuration
|
|
120
108
|
|
|
121
109
|
【iOS】
|
|
@@ -325,7 +313,6 @@ If you need to customize the parsing of received remote push notifications, you
|
|
|
325
313
|
【Custom click redirect implementation】
|
|
326
314
|
|
|
327
315
|
> **Note:**
|
|
328
|
-
>
|
|
329
316
|
> 1. It is recommended to register the callback in the main() function at the program entry.
|
|
330
317
|
> 2. For console configuration, click on 'Subsequent Actions' and configure as follows, choose **Open the specified interface within the app**, and the plugin users will by default fill in the jump parameters.
|
|
331
318
|
>
|
|
@@ -398,7 +385,6 @@ Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/huawei
|
|
|
398
385
|
China: https://api.im.qcloud.com/v3/offline_push_report/huawei
|
|
399
386
|
|
|
400
387
|
> **Note:**
|
|
401
|
-
>
|
|
402
388
|
> Huawei Push Certificate ID <= 11344, using Huawei Push v2 interface, does not support Reach and Click Receipt, please regenerate and update Certificate ID.
|
|
403
389
|
>
|
|
404
390
|
|
|
@@ -425,10 +411,6 @@ China: https://api.im.qcloud.com/v3/offline_push_report/honor
|
|
|
425
411
|
|
|
426
412
|
【Meizu】
|
|
427
413
|
|
|
428
|
-
|Enable Receipt Switch|Configure Receipt Address|
|
|
429
|
-
|---------|---------|
|
|
430
|
-
|||
|
|
431
|
-
|
|
432
414
|
Receipt Address:
|
|
433
415
|
|
|
434
416
|
Singapore : https://apisgp.im.qcloud.com/v3/offline_push_report/meizu
|
|
@@ -444,7 +426,6 @@ Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/meizu
|
|
|
444
426
|
China: https://api.im.qcloud.com/v3/offline_push_report/meizu
|
|
445
427
|
|
|
446
428
|
> **Note:**
|
|
447
|
-
>
|
|
448
429
|
> After turning on the receipt toggle, please make sure the receipt address is correctly configured. Not configuring it or configuring the wrong address will affect the push notification feature.
|
|
449
430
|
>
|
|
450
431
|
|
|
@@ -41,7 +41,6 @@ For detailed API instructions, see RESTful APIs - Initiate Push to All Users/Tag
|
|
|
41
41
|
After receiving the push message and clicking the notification, the component will Webhook the click event and offline message pass-through.
|
|
42
42
|
|
|
43
43
|
> **Note:**
|
|
44
|
-
>
|
|
45
44
|
> - Register the callback timing in the oncreate() function of the application [UIAbility](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/uiability-lifecycle).
|
|
46
45
|
> - Console configuration click subsequent actions with the following configuration, select **open specified in-app page**, do not modify use default values.
|
|
47
46
|
>
|
|
@@ -59,6 +58,5 @@ TIMPushManager.getInstance().addPushListener(pushListener);
|
|
|
59
58
|
Congratulations on completing the Push Plugin access. Remind you: **After trial or purchase expiry, the Push Plugin will automatically stop providing push service (including offline push for regular messages, Tag Push, etc.)**. To avoid affecting normal business operation, please [proceed to purchase](https://buy.tencentcloud.com/avc) or [renew](https://buy.tencentcloud.com/avc) in advance.
|
|
60
59
|
|
|
61
60
|
> **Note:**
|
|
62
|
-
>
|
|
63
61
|
> - Integration completed but not receiving push notifications? Please first use the [troubleshooting tool](https://cloud.tencent.com/document/product/269/100629) to check the reason. To view push metrics data, use [data statistics](https://cloud.tencent.com/document/product/269/100628) for querying.
|
|
64
62
|
> - For push notification feature to all users/Tag Push, please refer to: [RESTful APIs - Initiate Push to All Users/Tag Push](https://cloud.tencent.com/document/product/269/100634).
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
> **Note:**
|
|
2
|
-
>
|
|
3
2
|
> If you need to use products like Chat, CallKit, RoomKit, LiveKit simultaneously, please refer to [Chat Quick Integration Solution](https://www.tencentcloud.com/document/product/1047/50033).
|
|
4
3
|
>
|
|
5
4
|
|
|
@@ -27,7 +26,6 @@
|
|
|
27
26
|
```
|
|
28
27
|
|
|
29
28
|
### Step 2: Set push parameters
|
|
30
|
-
1. After you upload a certificate to the Chat console, the Chat console will assign a certificate ID to you, as shown below.
|
|
31
29
|
|
|
32
30
|
2. You need to implement the `- businessID` protocol method in AppDelegate to return the certificate ID.
|
|
33
31
|
|
|
@@ -168,7 +166,6 @@ If you need to customize the parsing of received remote push notifications, you
|
|
|
168
166
|
【Custom click redirect implementation】
|
|
169
167
|
|
|
170
168
|
> **Note:**
|
|
171
|
-
>
|
|
172
169
|
> It is recommended to place the registration callback timing in the didFinishLaunchingWithOptions function of the AppDelegate.
|
|
173
170
|
>
|
|
174
171
|
|
|
@@ -24,7 +24,6 @@ yarn add @tencentcloud/react-native-push
|
|
|
24
24
|
Copy the following code to `App.tsx` and replace `SDKAppID` and `appKey` with your application's information.
|
|
25
25
|
|
|
26
26
|
> **Note:**
|
|
27
|
-
>
|
|
28
27
|
> After successfully registering the push service with `registerPush`, you can obtain the push ID, namely RegistrationID, through `getRegistrationID`. You can push messages to the specified RegistrationID.
|
|
29
28
|
>
|
|
30
29
|
|
|
@@ -74,7 +73,6 @@ if (Push) {
|
|
|
74
73
|
### Step 4: Configuring Vendor Push
|
|
75
74
|
|
|
76
75
|
【Android】
|
|
77
|
-
1. After completing the vendor push information in the console, download the `timpush-configs.json` file from the console and add it to the `MyReactNativeApp/android/app/src/main/assets` directory of the project. If this directory does not exist, please create it manually. As shown in the figure:
|
|
78
76
|
|
|
79
77
|
2. Huawei, HONOR, vivo, FCM.
|
|
80
78
|
|
|
@@ -85,7 +83,6 @@ When you need to support FCM push, you must configure the `google-services.json
|
|
|
85
83
|
【Huawei】
|
|
86
84
|
|
|
87
85
|
【HONOR】
|
|
88
|
-
1. To support HONOR Push, you need to configure `appID` in the `MyReactNativeApp/android/app/build.gradle` file. As shown in the figure:
|
|
89
86
|
|
|
90
87
|
``` bash
|
|
91
88
|
......
|
|
@@ -100,15 +97,10 @@ android {
|
|
|
100
97
|
}
|
|
101
98
|
```
|
|
102
99
|
|
|
103
|
-
|Obtain HONOR appID|Configure HONOR appID|
|
|
104
|
-
|---------|---------|
|
|
105
|
-
|||
|
|
106
|
-
|
|
107
100
|
2. Download the `mcs-services.json` file from the [Honor Developer Management Center](https://developer.honor.com/en/), and configure it in the `MyReactNativeApp/android/app` directory (**Please note! Not in the** `MyReactNativeApp/android/app/src/main/assets directory` directory).
|
|
108
101
|
|
|
109
102
|
【vivo】
|
|
110
103
|
|
|
111
|
-
To support vivo Push, you need to configure `appID` and `appKey` in the `MyReactNativeApp/android/app/build.gradle` file. As shown in the figure:
|
|
112
104
|
``` bash
|
|
113
105
|
......
|
|
114
106
|
android {
|
|
@@ -123,14 +115,7 @@ android {
|
|
|
123
115
|
}
|
|
124
116
|
```
|
|
125
117
|
|
|
126
|
-
|Obtain vivo appID && appKey|Configure vivo appID && appKey|
|
|
127
|
-
|---------|---------|
|
|
128
|
-
|||
|
|
129
|
-
|
|
130
118
|
【iOS】
|
|
131
|
-
1. Please upload the iOS APNs Push Certificate obtained in the manufacturer configuration step to the Chat Console. The Chat Console will assign a Certificate ID to you, as shown in the figure:
|
|
132
|
-
|
|
133
|
-
2. In the `MyReactNativeApp/ios/MyReactNativeApp` directory, create a new `Resources` folder and a new `timpush-configs.json` file. Edit `timpush-configs.json` and enter the certificate ID obtained from the console, as shown below:
|
|
134
119
|
|
|
135
120
|
``` javascript
|
|
136
121
|
{
|
|
@@ -138,14 +123,11 @@ android {
|
|
|
138
123
|
}
|
|
139
124
|
```
|
|
140
125
|
|
|
141
|
-
3. Open the MyReactNativeApp project in XCode, right-click the project > **Add Files to "MyReactNativeApp"**, and add the `timpush-configs.json` directory to the project. As shown in the figure:
|
|
142
|
-
|
|
143
126
|
### Step 5: **Configuring Native Modules and Dependencies**
|
|
144
127
|
|
|
145
128
|
【Android】
|
|
146
129
|
|
|
147
130
|
> **Note:**
|
|
148
|
-
>
|
|
149
131
|
> Please ensure the package name in `timpush-configs.json` matches the `applicationId` value in `MyReactNativeApp/android/app/build.gradle`. Inconsistency will result in offline push notifications being unavailable.
|
|
150
132
|
>
|
|
151
133
|
|
|
@@ -307,7 +289,6 @@ If you need to collect data on delivery, please complete the setup as follows:
|
|
|
307
289
|
- China: https://api.im.qcloud.com/v3/offline_push_report/huawei
|
|
308
290
|
|
|
309
291
|
> **Note:**
|
|
310
|
-
>
|
|
311
292
|
> Huawei Push Certificate ID <= 11344, using Huawei Push v2 version interface does not support reach and click receipt, please regenerate and update the certificate ID.
|
|
312
293
|
>
|
|
313
294
|
|
|
@@ -333,10 +314,6 @@ If you need to collect data on delivery, please complete the setup as follows:
|
|
|
333
314
|
|
|
334
315
|
【Meizu】
|
|
335
316
|
|
|
336
|
-
|Enable Receipt Switch|Configure Receipt Address|
|
|
337
|
-
|---------|---------|
|
|
338
|
-
|||
|
|
339
|
-
|
|
340
317
|
**Receipt Address:**
|
|
341
318
|
- Singapore : https://apisgp.im.qcloud.com/v3/offline_push_report/meizu
|
|
342
319
|
|
|
@@ -351,7 +328,6 @@ If you need to collect data on delivery, please complete the setup as follows:
|
|
|
351
328
|
- China: https://api.im.qcloud.com/v3/offline_push_report/meizu
|
|
352
329
|
|
|
353
330
|
> **Note:**
|
|
354
|
-
>
|
|
355
331
|
> After enabling the Receipt Switch, please make sure the Receipt Address is configured correctly. Failing to configure or configuring the wrong address will affect the push feature.
|
|
356
332
|
>
|
|
357
333
|
|
|
@@ -16,7 +16,6 @@ HBuilderX 4.29 has a bug. Please use HBuilderX 4.36 or higher and upgrade [uni-a
|
|
|
16
16
|
### Step 2. Offline push configuration
|
|
17
17
|
|
|
18
18
|
> **Note:**
|
|
19
|
-
>
|
|
20
19
|
> 1. HBuilderX 4.36 has released non-backward compatible updates. If you are using HBuilderX 4.36 or higher and need vendor push for vivo/Honor, please upgrade the push version to 1.1.0 or higher and refer to the documentation to correctly configure `manifestPlaceholders.json` and `mcs-services.json`.
|
|
21
20
|
> 2. You need to configure push notifications in the `nativeResources` directory. If this folder is not yet created in the project root directory, please create a new folder named `nativeResources`.
|
|
22
21
|
> 3. Ensure that the `nativeResources` directory exists in the project opened with HBuilderX and is at the same level as the `uni_modules` directory.
|
|
@@ -24,12 +23,9 @@ HBuilderX 4.29 has a bug. Please use HBuilderX 4.36 or higher and upgrade [uni-a
|
|
|
24
23
|
【Android】
|
|
25
24
|
1. Create the directory `nativeResources/android/assets`.
|
|
26
25
|
|
|
27
|
-
2. Configure `timpush-configs.json` (download from [Push Service > Access Settings > One-click Quick Configuration](https://console.trtc.io/chat/push-plugin-push-identifier)) to the `nativeResources/android/assets/` directory. As shown in the figure:
|
|
28
|
-
|
|
29
26
|
3. Huawei, HONOR, vivo, FCM.
|
|
30
27
|
|
|
31
28
|
【FCM】
|
|
32
|
-
1. Configure `com.google.gms.google-services` to `uni_modules/TencentCloud-Push/utssdk/app-android/config.json` in `project.plugins`, as shown below:
|
|
33
29
|
|
|
34
30
|
``` json
|
|
35
31
|
"project": {
|
|
@@ -45,8 +41,6 @@ HBuilderX 4.29 has a bug. Please use HBuilderX 4.36 or higher and upgrade [uni-a
|
|
|
45
41
|
}
|
|
46
42
|
```
|
|
47
43
|
|
|
48
|
-
2. Configure the `google-services.json` file to the `nativeResources/android/` directory (Note! Do not configure it to the `nativeResources/android/assets` directory). As shown in the figure:
|
|
49
|
-
|
|
50
44
|
【Huawei】
|
|
51
45
|
|
|
52
46
|
【HONOR】
|
|
@@ -97,8 +91,6 @@ HBuilderX 4.29 has a bug. Please use HBuilderX 4.36 or higher and upgrade [uni-a
|
|
|
97
91
|
|
|
98
92
|
2. Create a `timpush-configs.json` file in `nativeResources/ios/Resources`.
|
|
99
93
|
|
|
100
|
-
3. Add the certificate ID obtained from [Chat Console > Push Service > Access Settings](https://console.trtc.io/chat/push-plugin-push-identifier) to the `timpush-configs.json` file. As shown below:
|
|
101
|
-
|
|
102
94
|
``` json
|
|
103
95
|
{
|
|
104
96
|
"businessID":"xxx"
|
|
@@ -107,8 +99,6 @@ HBuilderX 4.29 has a bug. Please use HBuilderX 4.36 or higher and upgrade [uni-a
|
|
|
107
99
|
|
|
108
100
|
### Step 3. Introduce and register Tencent Cloud Push Service (Push)
|
|
109
101
|
|
|
110
|
-
Replace `SDKAppID` and `appKey` with the application information obtained from [Chat Console - Push Service - Access Settings page](https://console.trtc.io/chat/push-plugin-push-identifier). As shown in the figure:
|
|
111
|
-
|
|
112
102
|
``` javascript
|
|
113
103
|
// Integration of TencentCloud-Push
|
|
114
104
|
import * as Push from '@/uni_modules/TencentCloud-Push';
|
|
@@ -159,7 +149,7 @@ Before testing the push, please make sure to turn on notifications and the statu
|
|
|
159
149
|
|
|
160
150
|
## Push Result Callback
|
|
161
151
|
|
|
162
|
-
After enabling the push service, the push results can be forwarded to the App backend by configuring basic callbacks.
|
|
152
|
+
After enabling the push service, the push results can be forwarded to the App backend by configuring basic callbacks.
|
|
163
153
|
- [Normal push result callback](https://www.tencentcloud.com/document/product/1047/67553)
|
|
164
154
|
|
|
165
155
|
- [All-member push result callback](https://www.tencentcloud.com/document/product/1047/60561)
|
|
@@ -18,8 +18,6 @@ Adjust the `Packages/manifest.json` file and add relevant dependencies:
|
|
|
18
18
|
|
|
19
19
|
Upload the iOS APNs Push Certificate obtained from the manufacturer configuration process to the Chat console.
|
|
20
20
|
|
|
21
|
-
The Chat console will allocate a certificate ID for you, as shown below:
|
|
22
|
-
|
|
23
21
|
You need to create file `UnityIMPush.mm` under the directory `Assets/Plugins/iOS` (if the directory does not exist, create it manually), and implement the `- businessID` protocol method in the file to return the certificate ID. See the implementation as follows:
|
|
24
22
|
``` objectivec
|
|
25
23
|
#import "TPush/TPush.h"
|
|
@@ -244,7 +242,6 @@ apply plugin: 'com.hihonor.mcs.asplugin'
|
|
|
244
242
|
If you need to customize the parsing of received remote push, you can implement it by the following method.
|
|
245
243
|
|
|
246
244
|
> **Note:**
|
|
247
|
-
>
|
|
248
245
|
> 1. Register the callback timing in the program entry function.
|
|
249
246
|
> 2. Configure the console to click subsequent actions with the following configuration, select **open specified in-app page,** do not modify and use default values.
|
|
250
247
|
>
|
|
@@ -266,7 +263,6 @@ PushManager.AddPushListener(listener);
|
|
|
266
263
|
Upon success of calling the `PushManager.RegisterPush` method, you can receive offline push notifications.
|
|
267
264
|
|
|
268
265
|
> **Note:**
|
|
269
|
-
>
|
|
270
266
|
> Note: If you have already integrated the Chat product and call this API after successful log-in, set the appKey parameter to null. Otherwise, the Chat account will be taken offline.
|
|
271
267
|
>
|
|
272
268
|
|
|
@@ -299,7 +295,6 @@ Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/huawei
|
|
|
299
295
|
China: https://api.im.qcloud.com/v3/offline_push_report/huawei
|
|
300
296
|
|
|
301
297
|
> **Note:**
|
|
302
|
-
>
|
|
303
298
|
> Note: Huawei Push certificate ID <= 11344 uses Huawei Push v2 version interface with no support for reachability and Receipt Click. Please regenerate the certificate ID.
|
|
304
299
|
>
|
|
305
300
|
|
|
@@ -325,9 +320,6 @@ China: https://api.im.qcloud.com/v3/offline_push_report/honor
|
|
|
325
320
|
| Receipt Address:<br>Singapore :https://apisgp.im.qcloud.com/v3/offline_push_report/vivo<br>Korea:<br>https://apikr.im.qcloud.com/v3/offline_push_report/vivo<br>USA: https://apiusa.im.qcloud.com/v3/offline_push_report/vivo<br>Germany: https://apiger.im.qcloud.com/v3/offline_push_report/vivo<br>Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/vivo<br>China:<br>https://api.im.qcloud.com/v3/offline_push_report/vivo | |
|
|
326
321
|
|
|
327
322
|
【Meizu】
|
|
328
|
-
| Enable Receipt Switch | Configure Receipt Address |
|
|
329
|
-
| --- | --- |
|
|
330
|
-
| | |
|
|
331
323
|
|
|
332
324
|
Receipt Address:
|
|
333
325
|
|
|
@@ -344,7 +336,6 @@ Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/meizu
|
|
|
344
336
|
China: https://api.im.qcloud.com/v3/offline_push_report/meizu
|
|
345
337
|
|
|
346
338
|
> **Note:**
|
|
347
|
-
>
|
|
348
339
|
> Note: After enabling the receipt switch, please ensure the receipt address is configured correctly. Without configuring or with an incorrect address, it will impact the push notification feature.
|
|
349
340
|
>
|
|
350
341
|
|
|
@@ -3,9 +3,6 @@
|
|
|
3
3
|
### Step 1: TIMPush Integration
|
|
4
4
|
|
|
5
5
|
Download [TIMPush](https://github.com/TencentCloud/TIMSDK/tree/master/UE5/Push/pushdemo/Plugins/TIMPush) and copy to the `Plugins` directory under the project. In the Build.cs file of the main module, introduce TIMPush.
|
|
6
|
-
| copy directory | Introduce plug-in |
|
|
7
|
-
| --- | --- |
|
|
8
|
-
| | |
|
|
9
6
|
|
|
10
7
|
### Step 2: Push Parameter Configuration
|
|
11
8
|
|
|
@@ -13,8 +10,6 @@ Download [TIMPush](https://github.com/TencentCloud/TIMSDK/tree/master/UE5/Push/p
|
|
|
13
10
|
|
|
14
11
|
Upload the obtained iOS APNs Push Certificate to the IM console during the manufacturer configuration process.
|
|
15
12
|
|
|
16
|
-
The IM console will allocate a certificate ID for you, as shown below:
|
|
17
|
-
|
|
18
13
|
Set businessID:
|
|
19
14
|
|
|
20
15
|
Open "Project Settings" in UE4 Editor, search for `Additional Plist Data`, modify the following text and copy it into the textbox. `YourBusinessID` is required, while `YourGroupID` needs to be modified when you need to count push reach and click data.
|
|
@@ -39,9 +34,6 @@ bEnableRemoteNotificationsSupport=True
|
|
|
39
34
|
【Android】
|
|
40
35
|
|
|
41
36
|
After completing the console manufacturer push information, download and add the configuration file to the project. Place the downloaded `timpush-configs.json` file under the `Source/ThirdParty/TIMPushLibrary/Android/TIMPush/Assets` directory.
|
|
42
|
-
| download configuration file | copy path |
|
|
43
|
-
| --- | --- |
|
|
44
|
-
| | |
|
|
45
37
|
|
|
46
38
|
### Step 3: Client Vendor Configuration
|
|
47
39
|
|
|
@@ -99,7 +91,6 @@ According to the vivo and Honor vendor access guide, you need to add APPID and A
|
|
|
99
91
|
Integrate the corresponding plugin and json configuration file using the vendor method.
|
|
100
92
|
|
|
101
93
|
> **Note:**
|
|
102
|
-
>
|
|
103
94
|
> Note: The following Honor adaptation requires configuration for version 7.7.5283 and above.
|
|
104
95
|
>
|
|
105
96
|
|
|
@@ -163,7 +154,6 @@ Integrate the corresponding plugin and json configuration file using the vendor
|
|
|
163
154
|
If you need custom parsing for received remote push, you can implement it by the following method.
|
|
164
155
|
|
|
165
156
|
> **Note:**
|
|
166
|
-
>
|
|
167
157
|
> 1. Register callback timing is recommended to be placed in the program entry function.
|
|
168
158
|
> 2. Configure the console and click subsequent actions with the following configuration. Select **open specified in-app page**. Do not modify and use default values.
|
|
169
159
|
>
|
|
@@ -290,7 +280,6 @@ Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/huawei
|
|
|
290
280
|
China: https://api.im.qcloud.com/v3/offline_push_report/huawei
|
|
291
281
|
|
|
292
282
|
> **Note:**
|
|
293
|
-
>
|
|
294
283
|
> Note: Huawei Push certificate ID <= 11344 uses Huawei Push v2 API. Reach and Receipt Click are unsupported. Please regenerate and update the certificate ID.
|
|
295
284
|
>
|
|
296
285
|
|
|
@@ -316,9 +305,6 @@ China: https://api.im.qcloud.com/v3/offline_push_report/honor
|
|
|
316
305
|
| Receipt Address:<br>Singapore :https://apisgp.im.qcloud.com/v3/offline_push_report/vivo<br>Korea:<br>https://apikr.im.qcloud.com/v3/offline_push_report/vivo<br>USA: https://apiusa.im.qcloud.com/v3/offline_push_report/vivo<br>Germany: https://apiger.im.qcloud.com/v3/offline_push_report/vivo<br>Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/vivo<br>China:<br>https://api.im.qcloud.com/v3/offline_push_report/vivo | |
|
|
317
306
|
|
|
318
307
|
【Meizu】
|
|
319
|
-
| Enable Receipt Switch | Configure Receipt Address |
|
|
320
|
-
| --- | --- |
|
|
321
|
-
| | |
|
|
322
308
|
|
|
323
309
|
Receipt Address:
|
|
324
310
|
|
|
@@ -335,14 +321,13 @@ Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/meizu
|
|
|
335
321
|
China: https://api.im.qcloud.com/v3/offline_push_report/meizu
|
|
336
322
|
|
|
337
323
|
> **Note:**
|
|
338
|
-
>
|
|
339
324
|
> Note: After enabling the receipt switch, please ensure the receipt address is configured correctly. Without configuring or with an incorrect address, it will impact the push notification feature.
|
|
340
325
|
>
|
|
341
326
|
|
|
342
327
|
【iOS】
|
|
343
328
|
1. If you need to track push notification reach and click data, you need to change "YourGroupID" to your own App Group ID in the "project setting" (see manufacturer configuration - generate App GroupID).
|
|
344
329
|
|
|
345
|
-
2. After configuring the App Group ID, you need to use Xcode to open the xcworkspace file generated by UE in the project directory, and
|
|
330
|
+
2. After configuring the App Group ID, you need to use Xcode to open the xcworkspace file generated by UE in the project directory, and . Then, enable the Notification Service Extension Target in `Editor - Add Target` in the Xcode project.
|
|
346
331
|
|
|
347
332
|
3. You also need to unzip the two framework compressed packages in the `Plugins-TIMPush-Source-ThirdParty-TIMPushLibrary-iOS` path of the project root directory, and add the internal .framework folder to your pushservice target in the Xcode project.
|
|
348
333
|
|
|
@@ -379,7 +364,6 @@ Other manufacturers support it with no need to configure. FCM does not currently
|
|
|
379
364
|
Congratulations on completing the access of the push plugin. Remind you: the push plugin **will automatically stop providing push service (including regular message offline push, all users/tag push, etc.) after trial or purchase expiry**. To avoid affecting normal business operation, please advise in advance to [purchase](https://buy.cloud.tencent.com/avc)/[renew](https://console.cloud.tencent.com/account/renewal).
|
|
380
365
|
|
|
381
366
|
> **Note:**
|
|
382
|
-
>
|
|
383
367
|
> 1. Manufacturer offline channels have a [message categorization mechanism](https://cloud.tencent.com/document/product/269/100649), and different types will also have different push strategies.
|
|
384
368
|
> - If the push demand belongs to IM type push and requires timely delivery, set your own app to the corresponding push type according to the vendor's rules. It will be categorized as a high-priority system message type or important message type.
|
|
385
369
|
> - Conversely, offline push has quantity and frequency limits and may not reach devices in time.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Why Abnormally Exited Members Still Appear in TUIRoomKit Member List and How to Clean Up(TUIRoomKit / 异常退出 / 幽灵成员 / 心跳检测 / 离线检测)"
|
|
3
|
+
product: room
|
|
4
|
+
frameworks: [react, vue, web, android, ios, flutter]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUIRoomKit, abnormal exit, ghost member, heartbeat detection, offline detection, kick from room, kick_user_out, disconnect callback, member list, room cleanup]
|
|
7
|
+
version_range: ">=2.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Why Abnormally Exited Members Still Appear in TUIRoomKit Member List and How to Clean Up
|
|
11
|
+
|
|
12
|
+
## 1. Key Takeaways
|
|
13
|
+
|
|
14
|
+
- When a user exits abnormally (process killed, network disconnected, page closed without calling leave), the member still appears in the remote member list. This is the expected behavior of the **video conferencing SDK backend heartbeat offline detection**.
|
|
15
|
+
- Current rule: the backend removes an abnormally exited user from the room approximately **5–6 minutes** after heartbeat loss. Only then do remote participants receive the leave notification and update the member list.
|
|
16
|
+
- **The heartbeat interval cannot be set very short by default**: short heartbeat intervals increase the risk of false kicks during network jitter, disrupting normal meeting experience.
|
|
17
|
+
- If your business requires faster ghost member cleanup: Option 1 (submit a ticket to shorten heartbeat to ~2 minutes) or Option 2 (use IM disconnect callback + `kick_user_out` to kick immediately).
|
|
18
|
+
|
|
19
|
+
## 2. Field / API Reference
|
|
20
|
+
|
|
21
|
+
| Field / Capability | Purpose | Notes |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| Heartbeat offline detection | Detects user online status | Backend checks whether user heartbeat is lost |
|
|
24
|
+
| Heartbeat loss | Signal of abnormal exit | Heartbeat stops when process is killed / network disconnected / page closed without leave |
|
|
25
|
+
| Ghost member | Abnormally exited user still displayed | Removed from room after ~5–6 minutes |
|
|
26
|
+
| `kick_user_out` | Kick a room member | Business backend calls this to immediately clean up |
|
|
27
|
+
| `disconnect` callback | Disconnection callback | IM server detects user offline |
|
|
28
|
+
| Heartbeat interval adjustment | Backend configuration | Can be shortened to ~2 minutes via support ticket |
|
|
29
|
+
|
|
30
|
+
## 3. Mechanism & Sequence
|
|
31
|
+
|
|
32
|
+
User exits abnormally (process killed, network disconnected, page closed without leave) -> Backend detects heartbeat loss -> After ~5–6 minutes, removes user from room -> Remote participants receive leave notification and update member list.
|
|
33
|
+
|
|
34
|
+
The default heartbeat interval cannot be too short to avoid false kicks caused by network jitter. If the business requires faster cleanup:
|
|
35
|
+
|
|
36
|
+
- **Option 1**: Submit a support ticket to shorten the backend heartbeat detection interval to ~2 minutes.
|
|
37
|
+
- **Option 2**: Business backend listens for the IM `disconnect` callback to detect offline status, then calls `kick_user_out` to immediately remove the ghost member.
|
|
38
|
+
|
|
39
|
+
## 4. Standard Usage
|
|
40
|
+
|
|
41
|
+
1. **Option 1 (adjust heartbeat interval)**: Submit a support ticket to have the backend heartbeat detection interval shortened to ~2 minutes.
|
|
42
|
+
2. **Option 2 (server-side proactive cleanup)**:
|
|
43
|
+
- Business backend listens for the IM server `disconnect` (disconnection) callback.
|
|
44
|
+
- Upon receiving the offline signal, calls `kick_user_out` to kick the room member.
|
|
45
|
+
|
|
46
|
+
## 5. Expected Results
|
|
47
|
+
|
|
48
|
+
- Abnormally exited users are removed from the room after ~5–6 minutes, and remote member list updates accordingly.
|
|
49
|
+
- After adjusting heartbeat to ~2 minutes via support ticket, cleanup is faster.
|
|
50
|
+
- Option 2 using `disconnect` callback + `kick_user_out` immediately removes ghost members.
|
|
51
|
+
- Setting heartbeat too short increases the risk of false kicks during network jitter.
|
|
52
|
+
|
|
53
|
+
## 6. Common Pitfalls
|
|
54
|
+
|
|
55
|
+
- Pitfall 1: Expecting abnormally exited users to disappear from the member list immediately (heartbeat detection takes ~5–6 minutes).
|
|
56
|
+
- Pitfall 2: Assuming the heartbeat interval can be set arbitrarily short (network jitter causes false kicks, disrupting normal meetings).
|
|
57
|
+
- Pitfall 3: Overlooking that the business side can proactively kick members (`disconnect` callback + `kick_user_out`).
|
|
58
|
+
|
|
59
|
+
## 7. Problem Definition (retrieval hint)
|
|
60
|
+
|
|
61
|
+
Why an abnormally exited user still appears in the remote member list in TUIRoomKit, and how to clean up ghost members faster.
|
|
62
|
+
|
|
63
|
+
## 8. Alternative Queries (retrieval recall)
|
|
64
|
+
|
|
65
|
+
- What to do when an abnormally exited user still shows in the member list?
|
|
66
|
+
- How to clean up ghost members in TUIRoomKit?
|
|
67
|
+
- How long until a disconnected user is removed from the room?
|
|
68
|
+
- Can the heartbeat detection interval be shortened?
|
|
69
|
+
- Abnormally exited user keeps showing in the list?
|
|
70
|
+
- How to kick an offline user?
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "TUIRoomKit Concurrent Room Limits and Multi-Room Support(TUIRoomKit / 并发房间 / 房间上限 / 同时进多个房间 / 单房间人数)"
|
|
3
|
+
product: room
|
|
4
|
+
frameworks: [react, vue, web, android, ios, flutter]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUIRoomKit, concurrent rooms, room limit, joining multiple rooms, single room capacity, peak group count, TUIRoomTypeConference, useRoomState, multi-device login, mutual kick, conference, room management]
|
|
7
|
+
version_range: ">=2.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TUIRoomKit Concurrent Room Limits and Multi-Room Support
|
|
11
|
+
|
|
12
|
+
## 1. Key Takeaways
|
|
13
|
+
|
|
14
|
+
- The number of concurrent rooms has an upper limit, determined by the **TUIRoomKit (multi-party audio/video) plan version + IM capabilities**.
|
|
15
|
+
- **A single client / single SDK instance cannot be in multiple conference rooms simultaneously**: for conference-type rooms, the per-device concurrent room limit is 1. Exceeding this causes the earliest joined room to be exited.
|
|
16
|
+
- **The same userId on multiple devices joining the same room results in mutual kick by default** (later entry kicks earlier entry). To have multi-device access to the same meeting, configure "multi-device login" according to your plan, or assign different userIds to different devices.
|
|
17
|
+
|
|
18
|
+
## 2. Field / API Reference
|
|
19
|
+
|
|
20
|
+
| Field / Capability | Purpose | Notes |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `TUIRoomTypeConference` | Conference-type room | Per-device concurrent room limit is 1 |
|
|
23
|
+
| `useRoomState` | Room state (Atomicx no-UI path) | Singleton; a user can only be in one room at a time |
|
|
24
|
+
| Room count limit | Room/group resource peak | Billed by natural month peak, not unlimited room creation |
|
|
25
|
+
| Single room capacity | Max participants per meeting | Hard limit by plan (20/50/200/300) |
|
|
26
|
+
| Multi-device login | Same userId on multiple devices | Only supported in higher-tier plans |
|
|
27
|
+
|
|
28
|
+
## 3. Mechanism & Sequence
|
|
29
|
+
|
|
30
|
+
### Concurrent Room Limit
|
|
31
|
+
|
|
32
|
+
After activating a TUIRoomKit (multi-party audio/video) plan, the number of concurrent meetings is constrained by **room count limit + single room capacity**:
|
|
33
|
+
|
|
34
|
+
| Capability Dimension | Trial | Basic Interactive | Advanced Interactive | Ultra-Large Room Interactive |
|
|
35
|
+
|---|---|---|---|---|
|
|
36
|
+
| **Room count limit** (billing metric) | Follows IM version | 100,000/month | 100,000/month | 100,000/month |
|
|
37
|
+
| **Single room participant capacity** | 20 | 50 | 200 | 300 (submit ticket for expansion) |
|
|
38
|
+
|
|
39
|
+
- Single room capacity is the hard upper limit on "max participants per meeting."
|
|
40
|
+
- Room count limit (peak group count) is the IM-side group/room resource peak included in the plan (billed by natural month peak), not "unlimited rooms at any moment."
|
|
41
|
+
- The actual number of simultaneous meetings also depends on IM plan, TRTC resources, and business architecture. Ultra-large rooms have an expansion channel.
|
|
42
|
+
- Multi-device login to meetings / same-platform multi-device login requires a higher-tier plan.
|
|
43
|
+
|
|
44
|
+
### Same User Joining Multiple Rooms
|
|
45
|
+
|
|
46
|
+
When a single client / single SDK instance calls `joinRoom` to enter a new room while already in a conference-type room, the earliest joined room is exited (per-device concurrent room limit is 1).
|
|
47
|
+
|
|
48
|
+
## 4. Standard Usage
|
|
49
|
+
|
|
50
|
+
When evaluating concurrent room requirements, follow these steps:
|
|
51
|
+
|
|
52
|
+
1. Confirm your TUIRoomKit plan version and check the room count limit and single room capacity in the [Features & Billing Documentation](https://cloud.tencent.com/document/product/269/104946).
|
|
53
|
+
2. Evaluate whether the per-meeting participant count exceeds the plan limit; submit a ticket for ultra-large room expansion.
|
|
54
|
+
3. When the business needs to host multiple meetings simultaneously, evaluate whether the room count limit (peak group count) is sufficient, combined with IM plan and TRTC resources.
|
|
55
|
+
4. When the business needs the same user on multiple devices in the same meeting, confirm the plan supports multi-device login; otherwise assign different userIds to different devices.
|
|
56
|
+
|
|
57
|
+
## 5. Expected Results
|
|
58
|
+
|
|
59
|
+
- Concurrent meeting count is constrained by plan room count limit and single room capacity.
|
|
60
|
+
- When a single SDK instance joins multiple conference rooms, exceeding 1 causes the earliest joined room to be exited.
|
|
61
|
+
- The same userId on multiple devices joining the same room results in mutual kick (later kicks earlier).
|
|
62
|
+
- Multi-device access to the same meeting requires plan support for multi-device login, or assigning different userIds to different devices.
|
|
63
|
+
|
|
64
|
+
## 6. Common Pitfalls
|
|
65
|
+
|
|
66
|
+
- Pitfall 1: Assuming room count limit (peak group count) means "unlimited rooms at any time" (billed by natural month peak, not unlimited concurrency).
|
|
67
|
+
- Pitfall 2: Assuming a single SDK instance can be in multiple conference rooms simultaneously (per-device limit is 1).
|
|
68
|
+
- Pitfall 3: Assuming the same userId on multiple devices can join the same room simultaneously (mutual kick by default).
|
|
69
|
+
- Pitfall 4: Ignoring plan version differences (multi-device login only supported in higher-tier plans).
|
|
70
|
+
|
|
71
|
+
## 7. Problem Definition (retrieval hint)
|
|
72
|
+
|
|
73
|
+
Whether TUIRoomKit has an upper limit on the number of concurrent meetings, and whether a single user can join multiple rooms simultaneously.
|
|
74
|
+
|
|
75
|
+
## 8. Alternative Queries (retrieval recall)
|
|
76
|
+
|
|
77
|
+
- What is the TUIRoomKit concurrent room limit?
|
|
78
|
+
- How many meetings can run simultaneously?
|
|
79
|
+
- Can the same user join two rooms at the same time?
|
|
80
|
+
- What is the maximum number of participants per room?
|
|
81
|
+
- Does TUIRoomKit support multi-device login?
|
|
82
|
+
- Will the same userId on multiple devices cause mutual kick?
|
|
83
|
+
- How to expand the meeting room capacity?
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "TUIRoomKit Screen Sharing Local Preview and Avoiding Infinite Mirroring(TUIRoomKit / 屏幕共享 / 本地预览 / 无限套娃)"
|
|
3
|
+
product: room
|
|
4
|
+
frameworks: [react, vue, web]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUIRoomKit, screen sharing, local preview, startScreenSharing, startScreenShare, full-screen sharing, infinite mirroring, infinite recursion, window sharing, external monitor, useDeviceState, view parameter]
|
|
7
|
+
version_range: ">=2.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TUIRoomKit Screen Sharing Local Preview and Avoiding Infinite Mirroring
|
|
11
|
+
|
|
12
|
+
## 1. Key Takeaways
|
|
13
|
+
|
|
14
|
+
- The `view` parameter enables local display of the shared content: passing a valid `view` renders the shared screen in a local container (local preview); omitting it or passing `null` skips local preview rendering.
|
|
15
|
+
- Full-screen sharing with local preview causes "infinite mirroring/recursion": the local preview area is within the captured full screen/current page, so the preview image re-enters the capture, creating recursive mirroring.
|
|
16
|
+
- **Preferred solution: share a "window" instead of the full screen**, preventing the meeting page from being captured and causing recursion.
|
|
17
|
+
- **Note for sharing WPS**: typically you cannot capture the "slideshow window" independently (the slideshow window and editor window behave inconsistently in the capture list). In this case, have the user connect an **external monitor**: place the slideshow on the external screen, then share that monitor/corresponding window. The main meeting screen continues operating, and the preview is less likely to recurse.
|
|
18
|
+
- **Fallback solution**: when window sharing is not possible and no external monitor is available, make the local preview container as small as possible (shrink the `view` container) to significantly reduce the recursive mirroring impact; or do not pass `view` / pass `null` for local preview, using only a "sharing in progress" status indicator.
|
|
19
|
+
|
|
20
|
+
## 2. Field / API Reference
|
|
21
|
+
|
|
22
|
+
| Field / Capability | Purpose | Notes |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| `view` | Local screen share preview container | Pass a valid DOM element or id to render local preview; pass `null` to skip |
|
|
25
|
+
| `startScreenSharing` | Screen sharing API | TRTC Web / Room screen sharing; `view` specifies local preview |
|
|
26
|
+
| `startScreenShare` | Underlying screen sharing | TRTC `startScreenShare`, consistent with Atomicx |
|
|
27
|
+
| `useDeviceState().startScreenShare` | Atomicx no-UI path | Screen sharing entry; local preview determined by preview view/container |
|
|
28
|
+
|
|
29
|
+
## 3. Mechanism & Sequence
|
|
30
|
+
|
|
31
|
+
### Local Preview
|
|
32
|
+
|
|
33
|
+
Call screen sharing API with a valid `view` -> local container renders the shared screen (local preview) -> omitting `view` or passing `null` skips local preview rendering.
|
|
34
|
+
|
|
35
|
+
## 4. Standard Usage
|
|
36
|
+
|
|
37
|
+
### Screen Sharing with Local Preview
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
// TRTC Web / Room screen sharing, view specifies local preview container (element or id)
|
|
41
|
+
startScreenShare({
|
|
42
|
+
view: 'local-preview-container', // 传入有效 view,本地渲染分享画面
|
|
43
|
+
// 传 null 则不渲染本地预览
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Avoiding Infinite Mirroring
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
// 方案 1:优先分享窗口而非整屏,从源头避免套娃
|
|
51
|
+
startScreenShare({ view: 'local-preview-container' }); // 选择窗口采集源
|
|
52
|
+
|
|
53
|
+
// 方案 2(兜底):无法分享窗口时,缩小本地预览容器或本地不传 view
|
|
54
|
+
startScreenShare({ view: null }); // 不渲染本地预览,仅用"正在共享"状态提示
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## 5. Expected Results
|
|
58
|
+
|
|
59
|
+
- Passing a valid `view`: local container renders the shared screen, enabling local preview.
|
|
60
|
+
- Omitting / passing `null`: no local preview rendering; only remote participants see the shared screen.
|
|
61
|
+
- Full-screen sharing + local preview: may cause infinite mirroring; switch to window sharing or shrink the preview.
|
|
62
|
+
- Sharing WPS slideshow: use the external monitor approach to avoid mirroring.
|
|
63
|
+
|
|
64
|
+
## 6. Common Pitfalls
|
|
65
|
+
|
|
66
|
+
- Pitfall 1: Assuming `view` is a remote rendering parameter (`view` specifies the local screen share preview).
|
|
67
|
+
- Pitfall 2: Giving up local preview entirely because full-screen sharing causes mirroring (switch to window sharing or shrink the preview instead).
|
|
68
|
+
- Pitfall 3: Assuming you can capture the WPS slideshow window independently (typically not possible; use an external monitor).
|
|
69
|
+
- Pitfall 4: Confusing `startScreenSharing` with `startScreenShare` (they are consistent at the underlying level; both use `view` for local preview).
|
|
70
|
+
|
|
71
|
+
## 7. Problem Definition (retrieval hint)
|
|
72
|
+
|
|
73
|
+
Whether the `view` parameter in TUIRoomKit screen sharing enables local preview of the shared content, and how to avoid infinite mirroring/recursion when sharing the full screen with local preview enabled.
|
|
74
|
+
|
|
75
|
+
## 8. Alternative Queries (retrieval recall)
|
|
76
|
+
|
|
77
|
+
- Can screen sharing show a local preview?
|
|
78
|
+
- What is the TUIRoomKit screen sharing startScreenShare view parameter?
|
|
79
|
+
- How to avoid infinite mirroring when sharing full screen?
|
|
80
|
+
- What to do about recursive mirroring in screen sharing?
|
|
81
|
+
- Is it better to share a window or the full screen?
|
|
82
|
+
- How to shrink the local preview window?
|
|
83
|
+
- How to hide local preview for screen sharing?
|