@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.
Files changed (331) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +54 -35
  3. package/knowledge/build-index.js +32 -5
  4. package/knowledge/chunker.js +82 -14
  5. package/knowledge/chunking-policy.js +100 -0
  6. package/knowledge/content-loader.js +3 -1
  7. package/knowledge/frontmatter-meta.js +167 -0
  8. package/knowledge/path-meta.js +28 -6
  9. package/knowledge/search/exact-lookup.js +26 -123
  10. package/knowledge/search/filter-pool.js +17 -26
  11. package/knowledge/search/framework-fallback.js +22 -0
  12. package/knowledge/search/intent-router.js +13 -0
  13. package/knowledge/search/query-normalizer.js +129 -0
  14. package/knowledge/search/search-core.js +391 -0
  15. package/knowledge/search/search-knowledge.js +351 -323
  16. package/knowledge/search/search-message.js +87 -0
  17. package/knowledge/search/search-pass.js +428 -0
  18. package/knowledge/search/search-types.js +1 -0
  19. package/knowledge/search/url-row-scorer.js +258 -0
  20. package/package.json +1 -1
  21. package/resource/_schema/feature-aliases.yaml +1 -0
  22. package/resource/_schema/query-normalization.yaml +9 -0
  23. package/resource/index/manifest.json +1 -1
  24. package/resource/integration/callkit/preset/android/integration.md +0 -14
  25. package/resource/integration/callkit/preset/flutter/integration.md +0 -9
  26. package/resource/integration/callkit/preset/ios/integration.md +2 -14
  27. package/resource/integration/callkit/preset/react/integration.md +0 -21
  28. package/resource/integration/callkit/preset/vue/integration.md +0 -27
  29. package/resource/integration/chat/preset/android/integration.md +3 -10
  30. package/resource/integration/chat/preset/flutter/integration.md +12 -13
  31. package/resource/integration/chat/preset/ios/integration.md +9 -16
  32. package/resource/integration/chat/preset/react/integration.md +1 -9
  33. package/resource/integration/chat/preset/uni-app/integration.md +0 -9
  34. package/resource/integration/chat/preset/vue/integration.md +3 -13
  35. package/resource/integration/livekit/preset/live/android/live-host-integration.md +0 -4
  36. package/resource/integration/livekit/preset/live/android/prepare-integration.md +8 -21
  37. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +0 -1
  38. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +0 -5
  39. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +0 -4
  40. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +0 -9
  41. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +1 -5
  42. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +38 -147
  43. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +1 -6
  44. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +432 -286
  45. package/resource/integration/roomkit/preset/vue/integration.md +11 -24
  46. package/resource/knowledge/callkit/best-practice/callkit-miniprogram/uniapp-shrink.md +64 -0
  47. package/resource/knowledge/callkit/best-practice/common/call-autoplay-blocked.md +81 -0
  48. package/resource/knowledge/callkit/best-practice/common/call-message-in-chat.md +84 -0
  49. package/resource/knowledge/callkit/best-practice/common/call-vs-calls.md +114 -0
  50. package/resource/knowledge/callkit/best-practice/common/callengine-call-flow.md +128 -0
  51. package/resource/knowledge/callkit/best-practice/common/callengine-log-level.md +72 -0
  52. package/resource/knowledge/callkit/best-practice/common/callkit-get-engine-instance.md +87 -0
  53. package/resource/knowledge/callkit/best-practice/common/callkit-get-roomid.md +83 -0
  54. package/resource/knowledge/callkit/best-practice/common/callkit-limitations.md +37 -0
  55. package/resource/knowledge/callkit/best-practice/common/callkit-user-register-and-kicked.md +103 -0
  56. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +1 -20
  57. package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -12
  58. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -12
  59. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +0 -19
  60. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +0 -13
  61. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -17
  62. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -13
  63. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -13
  64. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -12
  65. package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +0 -1
  66. package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +0 -2
  67. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +0 -15
  68. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +0 -15
  69. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +0 -1
  70. package/resource/knowledge/callkit/core-sdk/web/call-event.md +0 -1
  71. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +0 -1
  72. package/resource/knowledge/callkit/faq/android.md +5 -15
  73. package/resource/knowledge/callkit/faq/common.md +0 -1
  74. package/resource/knowledge/callkit/faq/ios.md +1 -4
  75. package/resource/knowledge/callkit/faq/uniapp-app.md +0 -2
  76. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +0 -5
  77. package/resource/knowledge/callkit/faq/web.md +1 -5
  78. package/resource/knowledge/callkit/preset/android/api.md +0 -6
  79. package/resource/knowledge/callkit/preset/ios/api.md +0 -4
  80. package/resource/knowledge/callkit/preset/miniprogram/api.md +0 -2
  81. package/resource/knowledge/callkit/preset/react/api.md +3 -154
  82. package/resource/knowledge/callkit/preset/vue/api.md +3 -42
  83. package/resource/knowledge/chat/best-practice/common/avchatroom-message-loss-diagnosis.md +71 -0
  84. package/resource/knowledge/chat/best-practice/common/group-conversation-cleanup-on-system-notice.md +67 -0
  85. package/resource/knowledge/chat/best-practice/common/image-message-url-lifecycle.md +63 -0
  86. package/resource/knowledge/chat/best-practice/common/login-repeat-2025-diagnosis.md +65 -0
  87. package/resource/knowledge/chat/best-practice/common/message-read-report-and-receipt.md +72 -0
  88. package/resource/knowledge/chat/best-practice/common/message-receive-event.md +70 -0
  89. package/resource/knowledge/chat/best-practice/common/message-risk-error-and-render.md +69 -0
  90. package/resource/knowledge/chat/best-practice/common/message-unread-count.md +71 -0
  91. package/resource/knowledge/chat/best-practice/miniprogram/audio-message-send.md +118 -0
  92. package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +67 -0
  93. package/resource/knowledge/chat/best-practice/miniprogram/media-upload-fail-diagnosis.md +68 -0
  94. package/resource/knowledge/chat/best-practice/web/audio-message-send.md +123 -0
  95. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -4
  96. package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -5
  97. package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -9
  98. package/resource/knowledge/chat/preset/android/features/language.md +1 -11
  99. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -8
  100. package/resource/knowledge/chat/preset/android/features/message-list.md +1 -10
  101. package/resource/knowledge/chat/preset/android/features/search.md +0 -7
  102. package/resource/knowledge/chat/preset/android/features/theme.md +0 -6
  103. package/resource/knowledge/chat/preset/android-view/integration.md +3 -5
  104. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +1 -4
  105. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +1 -6
  106. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +1 -9
  107. package/resource/knowledge/chat/preset/flutter/features/language.md +0 -3
  108. package/resource/knowledge/chat/preset/flutter/features/message-input.md +1 -8
  109. package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -10
  110. package/resource/knowledge/chat/preset/flutter/features/search.md +0 -7
  111. package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -6
  112. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -4
  113. package/resource/knowledge/chat/preset/ios/features/contact-list.md +1 -8
  114. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -9
  115. package/resource/knowledge/chat/preset/ios/features/language.md +0 -11
  116. package/resource/knowledge/chat/preset/ios/features/message-input.md +1 -8
  117. package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -10
  118. package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
  119. package/resource/knowledge/chat/preset/ios/features/theme.md +0 -6
  120. package/resource/knowledge/chat/preset/ios-uikit/integration.md +5 -17
  121. package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -2
  122. package/resource/knowledge/chat/preset/react/features/contact-list.md +0 -23
  123. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +2 -11
  124. package/resource/knowledge/chat/preset/react/features/conversation-list.md +2 -23
  125. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -5
  126. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  127. package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -3
  128. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -5
  129. package/resource/knowledge/chat/preset/vue/features/contact-list.md +3 -9
  130. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +0 -3
  131. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +2 -13
  132. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +2 -5
  133. package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
  134. package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -4
  135. package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -4
  136. package/resource/knowledge/chat/preset/vue/features/search.md +4 -1
  137. package/resource/knowledge/chat/preset/vue/features/theme.md +4 -6
  138. package/resource/knowledge/chat/urls/sdk/web.md +1 -1
  139. package/resource/knowledge/livekit/best-practice/android/voice-room-anchor-start.md +124 -0
  140. package/resource/knowledge/livekit/best-practice/common/admin-take-seat.md +73 -0
  141. package/resource/knowledge/livekit/best-practice/common/audience-leave-live.md +81 -0
  142. package/resource/knowledge/livekit/best-practice/common/voice-room-no-audio-troubleshoot.md +100 -0
  143. package/resource/knowledge/livekit/best-practice/common/voice-room-seat-list-change.md +65 -0
  144. package/resource/knowledge/livekit/best-practice/flutter/voice-room-anchor-start.md +126 -0
  145. package/resource/knowledge/livekit/best-practice/ios/voice-room-anchor-start.md +130 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
  147. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +0 -3
  148. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +0 -3
  149. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
  150. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
  151. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
  152. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
  153. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +0 -2
  154. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
  155. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
  156. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
  157. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +0 -2
  158. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +1 -3
  159. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
  160. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +0 -3
  161. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
  162. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +0 -3
  163. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
  164. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
  165. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
  166. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +0 -2
  167. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
  168. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
  169. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
  170. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +0 -2
  171. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
  172. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
  173. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +0 -3
  174. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
  175. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +0 -3
  176. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
  177. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
  178. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
  179. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +0 -2
  180. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
  181. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
  182. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
  183. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +0 -2
  184. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +1 -3
  185. package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
  186. package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +1 -3
  187. package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
  188. package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +0 -2
  189. package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
  190. package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +2 -2
  191. package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
  192. package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +0 -4
  193. package/resource/knowledge/livekit/core-sdk/features/flutter/barrage.md +2 -2
  194. package/resource/knowledge/livekit/core-sdk/features/flutter/base-beauty.md +0 -2
  195. package/resource/knowledge/livekit/core-sdk/features/flutter/gift.md +3 -7
  196. package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -2
  197. package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +2 -2
  198. package/resource/knowledge/livekit/core-sdk/features/ios/audio-effect.md +1 -3
  199. package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
  200. package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +0 -2
  201. package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
  202. package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +2 -2
  203. package/resource/knowledge/livekit/core-sdk/features/uni-app/audience-list.md +2 -2
  204. package/resource/knowledge/livekit/core-sdk/features/uni-app/audio-effect.md +1 -2
  205. package/resource/knowledge/livekit/core-sdk/features/uni-app/barrage.md +2 -2
  206. package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +0 -2
  207. package/resource/knowledge/livekit/core-sdk/features/uni-app/gift.md +4 -8
  208. package/resource/knowledge/livekit/core-sdk/features/uni-app/live-list.md +2 -2
  209. package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +0 -3
  210. package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +0 -2
  211. package/resource/knowledge/livekit/core-sdk/live/android/integration.md +0 -7
  212. package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +0 -2
  213. package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -2
  214. package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -7
  215. package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +0 -3
  216. package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +0 -2
  217. package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +0 -7
  218. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +0 -2
  219. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +0 -2
  220. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +0 -5
  221. package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +1 -3
  222. package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +4 -13
  223. package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +5 -5
  224. package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +0 -3
  225. package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +18 -21
  226. package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +0 -2
  227. package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +2 -11
  228. package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +8 -8
  229. package/resource/knowledge/livekit/core-sdk/voice/uni-app/co-guest-interaction.md +0 -2
  230. package/resource/knowledge/livekit/core-sdk/voice/uni-app/integration.md +1 -4
  231. package/resource/knowledge/livekit/faq/error-code.md +1 -1
  232. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +0 -5
  233. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
  234. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +0 -3
  235. package/resource/knowledge/push/api-reference/donut.md +1 -6
  236. package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
  237. package/resource/knowledge/push/api-reference/react-native.md +0 -3
  238. package/resource/knowledge/push/api-reference/uni-app.md +3 -5
  239. package/resource/knowledge/push/api-reference/unity.md +0 -1
  240. package/resource/knowledge/push/api-reference/unreal-engine.md +0 -1
  241. package/resource/knowledge/push/config/android/fcm.md +0 -6
  242. package/resource/knowledge/push/config/android/honor.md +1 -7
  243. package/resource/knowledge/push/config/android/huawei.md +1 -9
  244. package/resource/knowledge/push/config/android/meizu.md +1 -7
  245. package/resource/knowledge/push/config/android/oppo.md +1 -3
  246. package/resource/knowledge/push/config/android/vivo.md +1 -12
  247. package/resource/knowledge/push/config/android/xiaomi.md +0 -5
  248. package/resource/knowledge/push/config/donut.md +0 -12
  249. package/resource/knowledge/push/config/harmonyos.md +18 -7
  250. package/resource/knowledge/push/config/ios.md +26 -33
  251. package/resource/knowledge/push/config/react-native.md +0 -30
  252. package/resource/knowledge/push/config/unity.md +0 -30
  253. package/resource/knowledge/push/config/unreal-engine.md +0 -30
  254. package/resource/knowledge/push/integration/android.md +148 -57
  255. package/resource/knowledge/push/integration/donut.md +5 -21
  256. package/resource/knowledge/push/integration/flutter.md +4 -6
  257. package/resource/knowledge/push/integration/harmonyos.md +17 -16
  258. package/resource/knowledge/push/integration/ios.md +30 -18
  259. package/resource/knowledge/push/integration/react-native.md +10 -60
  260. package/resource/knowledge/push/integration/uni-app.md +3 -25
  261. package/resource/knowledge/push/integration/unity.md +8 -77
  262. package/resource/knowledge/push/integration/unreal-engine.md +37 -96
  263. package/resource/knowledge/roomkit/best-practice/common/room-ghost-member.md +75 -0
  264. package/resource/knowledge/roomkit/best-practice/common/room-limit-and-multi.md +88 -0
  265. package/resource/knowledge/roomkit/best-practice/common/room-screen-share-preview.md +87 -0
  266. package/resource/knowledge/roomkit/best-practice/common/room-status-after-all-leave.md +73 -0
  267. package/resource/knowledge/roomkit/best-practice/vue/room-uikit-vs-atomicx.md +115 -0
  268. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -2
  269. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -2
  270. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +3 -5
  271. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +4 -6
  272. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -2
  273. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -2
  274. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +2 -4
  275. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +4 -6
  276. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -2
  277. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -2
  278. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +3 -5
  279. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +4 -6
  280. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -5
  281. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -3
  282. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -5
  283. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -3
  284. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -7
  285. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +1 -2
  286. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -1
  287. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -3
  288. package/resource/knowledge/roomkit/preset/android/integration.md +202 -6
  289. package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -16
  290. package/resource/knowledge/roomkit/preset/ios/integration.md +201 -7
  291. package/resource/knowledge/roomkit/preset/react/integration.md +205 -4
  292. package/resource/knowledge/rtcengine/web/api.md +0 -2
  293. package/resource/knowledge/rtcengine/web/plugin/22-advanced-audio-mixer.md +2 -2
  294. package/resource/knowledge/rtcengine/web/plugin/23-advanced-support-detection.md +3 -3
  295. package/resource/knowledge/rtcengine/web/plugin/28-advanced-beauty.md +1 -1
  296. package/resource/knowledge/rtcengine/web/plugin/30-advanced-cross-room-link.md +2 -0
  297. package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
  298. package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +2 -0
  299. package/resource/knowledge/share/userSig.md +2 -2
  300. package/resource/knowledge/trtc/android/TRTCCloud.md +16 -16
  301. package/resource/knowledge/trtc/android/TRTCCloudDef.md +5 -5
  302. package/resource/knowledge/trtc/android/TRTCCloudListener.md +3 -3
  303. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +2 -2
  304. package/resource/knowledge/trtc/android/TXDeviceManager.md +1 -1
  305. package/resource/knowledge/trtc/c++/ITRTCCloud.md +14 -14
  306. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +2 -2
  307. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -4
  308. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +3 -3
  309. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +5 -5
  310. package/resource/knowledge/trtc/ios/TRTCCloud.md +14 -14
  311. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +3 -3
  312. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +2 -2
  313. package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -4
  314. package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +5 -5
  315. package/server.js +8 -3
  316. package/tools/common/finalize_answer.js +9 -1
  317. package/tools/common/search_trtc_knowledge.js +3 -1
  318. package/tools/definitions/finalize_answer_def.js +2 -2
  319. package/tools/definitions/integration-boundary.js +2 -1
  320. package/tools/definitions/search_trtc_knowledge_def.js +2 -1
  321. package/utils/report-cls-client.js +3 -3
  322. package/utils/report-es-client.js +1 -1
  323. package/cursor-setting.png +0 -0
  324. package/mcp-server-prompt.png +0 -0
  325. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +0 -80
  326. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +0 -20
  327. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +0 -116
  328. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +0 -475
  329. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +0 -587
  330. package/resource/knowledge/callkit/preset/web/api.md +0 -79
  331. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +0 -16
@@ -1,30 +1,25 @@
1
+ ## 前提条件
2
+
3
+ 开始接入前,请先完成对应原生平台的推送前提配置:请参见 [iOS 前提条件](https://cloud.tencent.com/document/product/269/100627#.E5.89.8D.E6.8F.90.E6.9D.A1.E4.BB.B6) 和 [Android 前提条件](https://cloud.tencent.com/document/product/269/100626#.E5.89.8D.E6.8F.90.E6.9D.A1.E4.BB.B6)。
4
+
1
5
  ## 操作步骤
2
6
 
3
7
  ### 步骤1: 集成 TIMPush
4
8
 
5
- 完成 [厂商配置](https://cloud.tencent.com/document/product/269/123436) 后集成推送插件,下载 [TIMPush](https://github.com/TencentCloud/TIMSDK/tree/master/UE5/Push/pushdemo/Plugins/TIMPush) 并拷贝到项目的 `Plugins` 目录下,在项目主模块的 Build.cs 文件中,引入 TIMPush。
6
- | 拷贝目录 | 引入插件 |
7
- | --- | --- |
8
- | | |
9
+ 各原生平台厂商配置后集成推送插件,下载 [TIMPush](https://github.com/TencentCloud/TIMSDK/tree/master/UE5/Push/pushdemo/Plugins/TIMPush) 并拷贝到项目的 `Plugins` 目录下,在项目主模块的 Build.cs 文件中,引入 TIMPush。
9
10
 
10
11
  ### 步骤2: 推送参数配置
11
12
 
12
13
  【iOS】
13
14
 
14
- 请将您在厂商配置步骤中,获取到的 iOS APNs 推送证书, 上传至 IM 控制台。
15
-
16
- IM 控制台会为您分配一个证书 ID,见下图:
15
+ 2. 设置 `businessID`:请在 UE4 Editor 中打开“项目设置”,搜索查找 `Additional Plist Data` 并将下面文本修改后复制进入文本框中,其中 `YourBusinessID` 是必填项,而 `YourGroupID` 是当您需要统计推送的抵达和点击数据时需要修改的值
17
16
 
18
- 设置 businessID:
19
-
20
- 请在 UE4 Editor 中打开“项目设置”,搜索查找 `Additional Plist Data` 并将下面文本修改后复制进入文本框中,其中 `YourBusinessID` 是必填项,而 `YourGroupID` 是当您需要统计推送的抵达和点击数据时需要修改的值
21
17
  ``` plaintext
22
18
  <key>businessID</key><string>YourBusinessID</string><key>TIMPushAppGroupID</key><string>YourGroupID</string>
23
19
  ```
24
20
 
25
- 开启远程推送能力:
21
+ 3. 开启远程推送能力。完成证书 ID 配置之后,您需要开启应用的 Push Notifications 能力:
26
22
 
27
- 完成证书 ID 配置之后,您需要开启应用的 Push Notifications 能力:
28
23
  - 如果您的 UE 引擎是从源代码自行编译构建的,您可以通过 “项目设置 > iOS 中勾选 Enable Remote Notifications Support” 来开启对应能力;
29
24
 
30
25
  - 如果您的 UE 引擎是从 Epic Game 下载的,您可以通过打开 “`<proj_dir>/Config/DefaultEngine.ini`” ,在脚本的 `IOSRuntimeSettings` 中添加:
@@ -37,11 +32,7 @@ bEnableRemoteNotificationsSupport=True
37
32
  - 或者,您也可以选择在项目根目录中使用 Xcode 打开 UE 生成的 YourProject.xcworkspace,在 Project > Target 中,点击 Signing & Capabilities 选项,点击左上角 Capability,搜索添加 Push Notifications 能力到您的项目中
38
33
 
39
34
  【Android】
40
-
41
- 完成控制台厂商推送信息填写后,下载并添加配置文件到工程。将下载的 `timpush-configs.json` 文件添加到 TIMPush 的 `Source/ThirdParty/TIMPushLibrary/Android/TIMPush/Assets` 目录下。
42
- | 下载配置文件 | 拷贝路径 |
43
- | --- | --- |
44
- | | |
35
+ 1. 完成厂商配置后,在 [腾讯云即时通信 IM 控制台](https://console.cloud.tencent.com/im/push-plugin-push-identifier) 下载并添加配置文件到工程。将下载的 `timpush-configs.json` 文件添加到 TIMPush 的 `Source/ThirdParty/TIMPushLibrary/Android/TIMPush/Assets` 目录下。
45
36
 
46
37
  ### 步骤3: 客户端厂商配置
47
38
 
@@ -99,7 +90,6 @@ APL 相关配置 TIMPush 已配置好,只需要替换成应用自己的配置
99
90
  按照厂商方法,集成对应的 plugin 和 json 配置文件。
100
91
 
101
92
  > **注意:**
102
- >
103
93
  > 以下荣耀的适配仅 7.7.5283 及以上版本需要配置。
104
94
  >
105
95
 
@@ -161,13 +151,6 @@ APL 相关配置 TIMPush 已配置好,只需要替换成应用自己的配置
161
151
  ### 步骤4:处理消息点击回调,并解析参数
162
152
 
163
153
  如果您需要自定义解析收到的远程推送,您可按照如下方法实现:
164
-
165
- > **注意:**
166
- >
167
- > 1. 注册回调时机必须放在程序入口函数中。
168
- > 2. 控制台配置点击后续动作按如下配置,选择:**打开应用内指定界面,**请勿修改使用默认值。
169
- >
170
-
171
154
  ``` cpp
172
155
  class DemoPushListener: public PushListener {
173
156
  public:
@@ -219,6 +202,11 @@ listener.SetCallback(
219
202
  PushManager::GetInstance()->AddPushListener(&listener);
220
203
  ```
221
204
 
205
+ > **注意:**
206
+ > 1. 注册回调时机必须放在程序入口函数中。
207
+ > 2. 控制台配置点击后续动作按如下配置,选择: **打开应用内指定界面,**请勿修改使用默认值。
208
+ >
209
+
222
210
  ### 步骤5:注册推送插件
223
211
 
224
212
  调用接口推送注册成功后,就可以收到离线推送通知了。
@@ -269,83 +257,36 @@ PushManager::GetInstance()->RegisterPush(您的 sdkAppId, "您的 appKey", callb
269
257
 
270
258
  ### 步骤6:消息推送触达统计
271
259
 
272
- 如果您需要统计触达数据,请按照如下完成配置:
273
-
274
- 【华为】
275
-
276
- 回执地址:`https://api.im.qcloud.com/v3/offline_push_report/huawei`
277
-
278
- > **注意:**
279
- >
280
- > 华为推送证书 ID <= 11344时,使用华为推送 v2 版本接口,不支持触达和点击回执,请重新生成更新证书 ID。
281
- >
282
-
283
- 【荣耀】
284
-
285
- 回执地址:`https://api.im.qcloud.com/v3/offline_push_report/honor`
286
-
287
- 【vivo】
288
-
289
- |回调地址配置|回执 ID 配置到 IM 控制台|
290
- |---------|---------|
291
- |<br>回执地址:`https://api.im.qcloud.com/v3/offline_push_report/vivo`||
292
-
293
- 【魅族】
294
-
295
- |打开回执开关|配置回执地址|
296
- |---------|---------|
297
- |||
260
+ 如果你需要统计 Android 设备触达数据,请按照 华为/荣耀/vivo/魅族 配置。
298
261
 
299
- 回执地址:`https://api.im.qcloud.com/v3/offline_push_report/meizu`
262
+ 1. 在上文的推送参数配置章节中,将“YourGroupID”修改为自己的 App Group ID。
300
263
 
301
- > **注意:**
302
- >
303
- > 打开回执开关后,请务必确保回执地址正确配置。不配置或者配置地址错误,都会影响推送功能。
304
- >
305
-
306
- 【iOS】
307
- 1. 如果您需要统计推送的抵达和点击数据,您需要在上文的 “项目设置” 中将“YourGroupID”修改为您自己的 App Group ID (生成方式可参见 厂商配置-生成 App GroupID)。
264
+ 2. 参考 iOS 配置消息触达统计 完成 App Group ID、Notification Service Extension 和 mutable-content 配置。
308
265
 
309
- 2. 在完成 App Group ID 的配置后,您需要使用 Xcode 打开 UE 在项目目录生成的 xcworkspace 文件,并参考 厂商配置-生成 App GroupID-步骤四 中的方法配置您的 App Group ID。之后,请在 Xcode 项目中的 `Editor - Add Target` 中开启 Notification Service Extension Target。
266
+ 3. 将项目根目录的 Plugins-TIMPush-Source-ThirdParty-TIMPushLibrary-iOS 路径中的两个 framework 压缩包解压缩,并在 Xcode 项目中将内部的 .framework 文件夹添加到您的 pushservice target 之中。
310
267
 
311
- 3. 您还需要将项目根目录的 `Plugins-TIMPush-Source-ThirdParty-TIMPushLibrary-iOS` 路径中的两个 framework 压缩包解压缩,并在 Xcode 项目中将内部的 .framework 文件夹添加到您的 pushservice target 之中。
268
+ 4. 在 Notification Service Extension 的 -didReceiveNotificationRequest:withContentHandler: 方法中调用推送抵达率统计函数:
312
269
 
313
- 4. 您现在可以在 [Notification Service Extension](https://github.com/TencentCloud/TIMSDK/blob/master/iOS/Demo/pushservice/NotificationService.m) 的 `-didReceiveNotificationRequest:withContentHandler:` 方法中调用推送抵达率统计函数:
270
+ ``` objectivec
271
+ @implementation NotificationService
314
272
 
315
- ``` objectivec
316
- @implementation NotificationService
273
+ - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
274
+ //appGroup 标识当前主 APP 和 Extension 之间共享的 APP Group,需要在主 APP 的 Capability 中配置 App Groups 能力。
275
+ //格式为group + [主bundleID]+ key
276
+ //如group.com.tencent.im.pushkey
277
+ NSString * appGroupID = kTIMPushAppGroupKey;
278
+ __weak typeof(self) weakSelf = self;
279
+ [TIMPushManager handleNotificationServiceRequest:request appGroupID:appGroupID callback:^(UNNotificationContent *content) {
280
+ weakSelf.bestAttemptContent = [content mutableCopy];
281
+ // Modify the notification content here...
282
+ // self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title];
283
+ weakSelf.contentHandler(weakSelf.bestAttemptContent);
284
+ }];
285
+ }
317
286
 
318
- - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
319
- //appGroup 标识当前主 APP 和 Extension 之间共享的 APP Group,需要在主 APP 的 Capability 中配置 App Groups 能力。
320
- //格式为group + [主bundleID]+ key
321
- //如group.com.tencent.im.pushkey
322
- NSString * appGroupID = kTIMPushAppGroupKey;
323
- __weak typeof(self) weakSelf = self;
324
- [TIMPushManager handleNotificationServiceRequest:request appGroupID:appGroupID callback:^(UNNotificationContent *content) {
325
- weakSelf.bestAttemptContent = [content mutableCopy];
326
- // Modify the notification content here...
327
- // self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title];
328
- weakSelf.contentHandler(weakSelf.bestAttemptContent);
329
- }];
330
- }
287
+ @end
288
+ ```
331
289
 
332
- @end
333
- ```
334
-
335
- > **注意:**
336
- >
337
- > 1. 上报推送触达数据,需要开启 mutable-content 开关来支持 iOS 10 的 Extension 功能。
338
- >
339
- > 2. 数据详情可在推送数据页面查看,推送数据页面仅限 [购买推送插件](https://console.cloud.tencent.com/im/plugin/TIMPush) 后使用。
340
-
341
- 其余支持厂商不需要配置,FCM 暂不支持推送统计功能。
290
+ 其余支持厂商不需要配置,FCM 暂不支持推送统计功能。
342
291
 
343
- 恭喜您已经完成了推送插件的接入,需要提醒您:推送插件**试用或购买到期后,将自动停止提供推送服务(包括普通消息离线推送、全员/标签推送等服务)**。为避免影响您业务正常使用,请提前 [购买](https://buy.cloud.tencent.com/avc)/[续费](https://console.cloud.tencent.com/account/renewal)。
344
-
345
- > **说明:**
346
- >
347
- > 1. 厂商离线通道都有 [消息分类机制](https://cloud.tencent.com/document/product/269/100649),不同类型也会有不同的推送策略。
348
- > - 如果推送需求属于 IM 类型推送,想要推送及时触达,需要按照厂商规则设置自己应用为对应的推送类型,会归类为高优先级的系统消息类型或者重要消息类型。
349
- > - 反之,离线推送会有数量和频次的限制,可能不会及时推送到设备。
350
- > 2. 接入完成收不到推送,请先自助使用 [排查工具](https://cloud.tencent.com/document/product/269/100629) 查看下具体原因。推送指标数据查看,请使用 [数据统计](https://cloud.tencent.com/document/product/269/100628) 查询。
351
- > 3. 全员/标签推送功能请参见:[REST API 接口 - 发起全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
292
+ 接入完成收不到推送,请使用 [排查工具](https://cloud.tencent.com/document/product/269/100629) 查看具体原因。
@@ -0,0 +1,75 @@
1
+ ---
2
+ title: TUIRoomKit 异常退出后成员仍显示在列表的原因与清理
3
+ product: room
4
+ frameworks: [react, vue, web, android, ios, flutter]
5
+ scope: platform_common
6
+ tags: [TUIRoomKit, 异常退出, 幽灵成员, 心跳检测, 离线检测, 踢出房间, kick_user_out, disconnect回调, 成员列表, 房间清理]
7
+ version_range: ">=2.0.0"
8
+ ---
9
+
10
+ # TUIRoomKit 异常退出后成员仍显示在列表的原因与清理
11
+
12
+ ## 1. 核心结论
13
+
14
+ - 用户异常退出(杀进程、断网、关页未走 leave)后,成员仍显示在远端列表,是**视频会议 SDK 后台心跳离线检测**的预期行为。
15
+ - 现行规则:后台在**心跳丢失约 5~6 分钟**后才将异常退出的用户移出房间,远端此时才收到离开通知并更新成员列表。
16
+ - **不能默认把心跳设得很短**:网络抖动时容易被误踢出房,影响正常会议体验。
17
+ - 若业务需要更快清理幽灵成员:方案一(提工单调心跳至约 2 分钟)或方案二(用 IM 断线回调 + `kick_user_out` 立即踢出)。
18
+
19
+ ## 2. 字段语义对照
20
+
21
+ | 字段/能力 | 作用 | 说明 |
22
+ |---|---|---|
23
+ | 心跳离线检测 | 检测用户在线状态 | 后台检测用户是否心跳丢失 |
24
+ | 心跳丢失 | 用户异常退出的信号 | 杀进程/断网/关页未走 leave 时心跳丢失 |
25
+ | 幽灵成员 | 异常退出但仍显示的用户 | 约 5~6 分钟后被移出房间 |
26
+ | `kick_user_out` | 踢出房间成员 | 业务后台主动调用立即清理 |
27
+ | `disconnect` 回调 | 断线回调 | IM 服务端感知用户离线 |
28
+ | 心跳时长调整 | 后台配置 | 提工单可调至约 2 分钟 |
29
+
30
+ ## 3. 机制/时序
31
+
32
+ 用户异常退出(杀进程、断网、关页未走 leave) -> 后台检测到心跳丢失 -> 约 5~6 分钟后将用户移出房间 -> 远端收到离开通知,更新成员列表。
33
+
34
+ 心跳时长默认不能太短,避免网络抖动导致误踢。若业务需要更快清理:
35
+
36
+ - **方案一**:提工单调整后台心跳检测时长至约 2 分钟。
37
+ - **方案二**:业务后台根据 IM `disconnect` 回调感知离线后,主动调用 `kick_user_out` 立即清理幽灵成员。
38
+
39
+ ## 4. 标准用法
40
+
41
+ 1. **方案一(改心跳时长)**:提工单,联系后台将心跳检测时长调整为约 2 分钟。
42
+ 2. **方案二(服务端主动清理)**:
43
+ - 业务后台监听 IM 服务端 `disconnect`(断线)回调。
44
+ - 收到离线信号后,调用 `kick_user_out` 踢出房间成员。
45
+
46
+ ## 5. 结果判定
47
+
48
+ - 异常退出用户约 5~6 分钟后被移出房间,远端成员列表更新。
49
+ - 提工单调整心跳至约 2 分钟后,清理更快。
50
+ - 方案二通过 `disconnect` 回调 + `kick_user_out` 可立即清理幽灵成员。
51
+ - 心跳过短会增大网络抖动时的误踢风险。
52
+
53
+ ## 6. 常见误区
54
+
55
+ - 误区 1:认为异常退出用户应立即从成员列表消失(心跳检测约需 5~6 分钟)。
56
+ - 误区 2:认为心跳时长可以随意设得很短(网络抖动会导致误踢,影响正常会议)。
57
+ - 误区 3:忽略业务侧可以主动踢出(`disconnect` 回调 + `kick_user_out`)。
58
+
59
+ ## 7. 问题定义(检索辅助,极简)
60
+
61
+ TUIRoomKit 用户异常退出后远端成员列表仍显示该用户的原因,以及如何更快清理幽灵成员。
62
+
63
+ ## 8. 同义问法覆盖(检索召回,极简)
64
+
65
+ - 用户异常退出还在成员列表里怎么办?
66
+ - TUIRoomKit 幽灵成员怎么清理?
67
+ - 断网用户多久被移出房间?
68
+ - 心跳检测时间能调短吗?
69
+ - 异常退出用户一直显示在列表?
70
+ - 怎么踢出离线用户?
71
+
72
+ ## 9. 参考来源(可选)
73
+
74
+ - 状态变更回调:`https://cloud.tencent.com/document/product/269/2570`
75
+ - 踢出房间成员接口:`https://cloud.tencent.com/document/product/269/105393`
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: TUIRoomKit 并发房间上限与多房间支持说明
3
+ product: room
4
+ frameworks: [react, vue, web, android, ios, flutter]
5
+ scope: platform_common
6
+ tags: [TUIRoomKit, 并发房间, 房间上限, 同时进多个房间, 单房间人数, 峰值群组数, TUIRoomTypeConference, useRoomState, 多端登录, 互踢, 会议, 房间管理]
7
+ version_range: ">=2.0.0"
8
+ ---
9
+
10
+ # TUIRoomKit 并发房间上限与多房间支持说明
11
+
12
+ ## 1. 核心结论
13
+
14
+ - 并发房间数有上限,与开通的 **多人音视频(TUIRoomKit)套餐版本 + IM 能力**相关。
15
+ - **同一客户端 / 同一 SDK 实例不支持同时待在多个会议房间里**:会议类型房间单设备同时加入房间数上限为 1,超过会退出最早加入的房间。
16
+ - **同一 userId 多设备进同一房间默认互踢**(后进踢先进);多端同时进会需按套餐配置"多端登录"能力或为不同端分配不同 userId。
17
+
18
+ ## 2. 字段语义对照
19
+
20
+ | 字段/能力 | 作用 | 说明 |
21
+ |---|---|---|
22
+ | `TUIRoomTypeConference` | 会议类型房间 | 单设备同时加入房间数上限为 1 |
23
+ | `useRoomState` | 房间状态(Atomicx 无 UI 路径) | 单例,同一用户同一时刻仅存在于一个房间内 |
24
+ | 房间数限制 | 房间/群组类资源峰值 | 按自然月最高峰值结算,非无限开房 |
25
+ | 单房间人数 | 一场会议最多多少人 | 套餐硬上限(20/50/200/300) |
26
+ | 多端登录 | 同 userId 多端进会 | 仅更高版本套餐支持 |
27
+
28
+ ## 3. 机制/时序
29
+
30
+ ### 并发房间上限
31
+
32
+ 开通多人音视频(TUIRoomKit)套餐后,可同时开的会议数量受 **房间数限制 + 单房间人数** 约束:
33
+
34
+ | 能力维度 | 体验版 | 基础互动版 | 进阶互动版 | 超大房间互动版 |
35
+ |---|---|---|---|---|
36
+ | **房间数限制**(计费口径) | 随 IM 版本 | 100,000 个/月 | 100,000 个/月 | 100,000 个/月 |
37
+ | **单房间参会人数规模** | 20 | 50 | 200 | 300(扩容请提工单) |
38
+
39
+ - 单房间人数是"一场会议最多多少人"的硬上限。
40
+ - 房间数限制(峰值群组数)是套餐赠送的 IM 侧群组/房间类资源峰值(自然月最高峰值结算),不是"任意时刻可无限开房"。
41
+ - 实际可同时开多少场,还受 IM 套餐、TRTC 资源与业务架构影响;超大房间有扩容通道。
42
+ - 多端登录会议 / 同平台多端登录会议需要更高的套餐版本支持。
43
+
44
+ ### 同一用户多房间
45
+
46
+ 同一客户端 / 同一 SDK 实例调用 `joinRoom` 进入新房间时,若已存在会议类型房间,会退出最早加入的房间(单设备同时加入房间数上限为 1)。
47
+
48
+ ## 4. 标准用法
49
+
50
+ 业务需评估并发房间需求时,按以下步骤确认:
51
+
52
+ 1. 确认开通的 TUIRoomKit 套餐版本,查阅 [功能与计费说明](https://cloud.tencent.com/document/product/269/104946) 中的房间数限制与单房间人数。
53
+ 2. 评估单场会议人数是否超过套餐上限;超大房间需求可提工单扩容。
54
+ 3. 业务需同时承载多场会议时,评估房间数限制(峰值群组数)是否足够,并结合 IM 套餐与 TRTC 资源。
55
+ 4. 业务需同一用户多端同会时,确认套餐是否支持多端登录;否则为不同端分配不同 userId。
56
+
57
+ ## 5. 结果判定
58
+
59
+ - 并发会议数量受套餐房间数限制与单房间人数约束。
60
+ - 同一 SDK 实例同时加入多个会议房间时,超过 1 个会退出最早加入的房间。
61
+ - 同一 userId 多设备进同一房间会互踢(后进踢先进)。
62
+ - 多端同会需套餐支持多端登录,或为不同端分配不同 userId。
63
+
64
+ ## 6. 常见误区
65
+
66
+ - 误区 1:认为房间数限制(峰值群组数)意味着可以"任意时刻无限开房"(按自然月最高峰值结算,非并发无限)。
67
+ - 误区 2:认为同一 SDK 实例可以同时待多个会议房间(单设备上限 1)。
68
+ - 误区 3:认为同一 userId 多设备可以同时进同一房间(默认互踢)。
69
+ - 误区 4:忽略套餐版本差异(多端登录仅更高版本支持)。
70
+
71
+ ## 7. 问题定义(检索辅助,极简)
72
+
73
+ TUIRoomKit 同时进行的会议室是否有上限,以及同一个用户是否可以同时进入不同房间。
74
+
75
+ ## 8. 同义问法覆盖(检索召回,极简)
76
+
77
+ - TUIRoomKit 并发房间数上限是多少?
78
+ - 可以同时开多少场会议?
79
+ - 同一个用户能同时进两个房间吗?
80
+ - 单房间最多多少人?
81
+ - TUIRoomKit 多端登录支持吗?
82
+ - 同一 userId 多设备会互踢吗?
83
+ - 会议室人数上限怎么扩容?
84
+
85
+ ## 9. 参考来源(可选)
86
+
87
+ - 开通服务 / 功能与计费说明:`https://cloud.tencent.com/document/product/269/104946`
88
+ - 单房间扩容提工单方式:`https://console.cloud.tencent.com/workorder/category`
@@ -0,0 +1,87 @@
1
+ ---
2
+ title: TUIRoomKit 屏幕共享本地预览与避免无限套娃
3
+ product: room
4
+ frameworks: [react, vue, web]
5
+ scope: platform_common
6
+ tags: [TUIRoomKit, 屏幕共享, 本地预览, startScreenSharing, startScreenShare, 整屏共享, 无限套娃, 无限镜像, 窗口共享, 外接显示器, useDeviceState, view参数]
7
+ version_range: ">=2.0.0"
8
+ ---
9
+
10
+ # TUIRoomKit 屏幕共享本地预览与避免无限套娃
11
+
12
+ ## 1. 核心结论
13
+
14
+ - `view` 参数可以本地显示正在共享的内容:传入有效 `view` 会在本地容器渲染分享画面(本地预览);不传或传 `null` 则不渲染本地预览。
15
+ - 整屏共享时本地预览会出现"无限套娃/无限镜像":原因在于本地预览区域也在被采集的整屏/当前页里,预览画面再次进入采集产生递归镜像。
16
+ - **优先方案:改为分享"窗口"而非整屏**,从源头避免会议页被采进画面导致的套娃。
17
+ - **分享 WPS 注意事项**:通常无法单独拿到"放映窗口"(放映态与编辑窗在采集列表里表现受限)。此时可让用户接**外接显示器**:把放映画面放到外接屏,再分享该显示器/对应窗口,会议主屏继续操作、预览也不易套娃。
18
+ - **兜底方案**:无法改分享窗口、也无法使用外接显示器时,将本地预览窗口尽量做小(缩小 `view` 容器),可明显降低递归镜像的影响面;或本地不传 `view` / 传 `null`,仅用"正在共享"状态提示。
19
+
20
+ ## 2. 字段语义对照
21
+
22
+ | 字段/能力 | 作用 | 说明 |
23
+ |---|---|---|
24
+ | `view` | 本地屏幕分享预览容器 | 传入有效 DOM(元素或 id)则渲染本地预览;传 `null` 不渲染 |
25
+ | `startScreenSharing` | 屏幕共享接口 | TRTC Web / Room 屏幕共享,`view` 指定本地预览 |
26
+ | `startScreenShare` | 底层屏幕共享 | TRTC `startScreenShare`,与 Atomicx 一致 |
27
+ | `useDeviceState().startScreenShare` | Atomicx 无 UI 路径 | 屏幕共享入口,本地预览由预览视图/容器决定 |
28
+
29
+ ## 3. 机制/时序
30
+
31
+ ### 本地预览
32
+
33
+ 调用屏幕共享接口并传入有效 `view` -> 本地容器渲染正在分享的画面(本地预览)-> 不传或传 `null` 则不渲染本地预览。
34
+
35
+ ## 4. 标准用法
36
+
37
+ ### 带本地预览的屏幕共享
38
+
39
+ ```javascript
40
+ // TRTC Web / Room 屏幕共享,view 指定本地预览容器(元素或 id)
41
+ startScreenShare({
42
+ view: 'local-preview-container', // 传入有效 view,本地渲染分享画面
43
+ // 传 null 则不渲染本地预览
44
+ });
45
+ ```
46
+
47
+ ### 避免无限套娃
48
+
49
+ ```javascript
50
+ // 方案 1:优先分享窗口而非整屏,从源头避免套娃
51
+ startScreenShare({ view: 'local-preview-container' }); // 选择窗口采集源
52
+
53
+ // 方案 2(兜底):无法分享窗口时,缩小本地预览容器或本地不传 view
54
+ startScreenShare({ view: null }); // 不渲染本地预览,仅用"正在共享"状态提示
55
+ ```
56
+
57
+ ## 5. 结果判定
58
+
59
+ - 传入有效 `view`:本地容器渲染分享画面,实现本地预览。
60
+ - 不传 / 传 `null`:不渲染本地预览,仅共享画面给远端。
61
+ - 整屏共享 + 本地预览:可能出现无限套娃,需改为窗口共享或缩小预览。
62
+ - 分享 WPS 放映:需用外接显示器方案避免套娃。
63
+
64
+ ## 6. 常见误区
65
+
66
+ - 误区 1:认为 `view` 是远端渲染参数(`view` 指定的是本地屏幕分享预览)。
67
+ - 误区 2:整屏共享时本地预览必然套娃就放弃本地预览(可改为窗口共享或缩小预览)。
68
+ - 误区 3:分享 WPS 时以为能单独拿到放映窗口(通常受限,需外接显示器)。
69
+ - 误区 4:混淆 `startScreenSharing` 与 `startScreenShare`(底层一致,均通过 `view` 指定本地预览)。
70
+
71
+ ## 7. 问题定义(检索辅助,极简)
72
+
73
+ TUIRoomKit 屏幕共享时 `view` 参数能否本地预览正在共享的内容,以及整屏共享时本地预览如何避免无限套娃/无限镜像。
74
+
75
+ ## 8. 同义问法覆盖(检索召回,极简)
76
+
77
+ - 屏幕共享能本地预览吗?
78
+ - TUIRoomKit 屏幕共享 startScreenShare view 参数是什么?
79
+ - 整屏共享怎么避免无限镜像?
80
+ - 屏幕共享出现套娃怎么办?
81
+ - 分享窗口还是整屏更合适?
82
+ - 本地预览窗口怎么缩小?
83
+ - 屏幕共享怎么隐藏本地预览?
84
+
85
+ ## 9. 参考来源(可选)
86
+
87
+ - TRTC Web `startScreenShare`:`https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/TRTC.html`
@@ -0,0 +1,73 @@
1
+ ---
2
+ title: TUIRoomKit 所有人离开后房间状态与计费说明
3
+ product: room
4
+ frameworks: [react, vue, web, android, ios, flutter]
5
+ scope: platform_common
6
+ tags: [TUIRoomKit, 所有人离开, 房间销毁, 回收房间, 解散房间, 计费, 会议结束, 房间存在, 房间数量]
7
+ version_range: ">=2.0.0"
8
+ ---
9
+
10
+ # TUIRoomKit 所有人离开后房间状态与计费说明
11
+
12
+ ## 1. 核心结论
13
+
14
+ - 房间**不会**因为"所有人离开"就立刻自动销毁。
15
+ - 会议结束后,业务侧应**主动调用解散房间接口**结束本场会议。
16
+ - 若未手动解散:后台会在会议结束时间 **6 小时以后**尝试回收房间,回收条件是**房间内成员数为 0**。
17
+ - 计费按实际推拉流/通话消耗;成员都离开且无媒体占用后一般不再产生音视频时长,但房间对象在未解散、未回收前仍占用房间数量。
18
+
19
+ ## 2. 字段语义对照
20
+
21
+ | 字段/能力 | 作用 | 说明 |
22
+ |---|---|---|
23
+ | 解散房间接口 | 主动结束会议 | 业务侧会议结束后主动调用 |
24
+ | 后台回收 | 自动清理房间 | 会议结束 6 小时后尝试回收,条件为成员数 0 |
25
+ | 房间内成员数 | 房间成员统计 | 回收的条件:成员数为 0 |
26
+ | 音视频时长计费 | 通话消耗计费 | 按实际推拉流/通话消耗计费 |
27
+ | 房间数量占用 | 房间对象占用 | 未解散、未回收前仍占用房间数量 |
28
+
29
+ ## 3. 机制/时序
30
+
31
+ 所有人离开房间 -> 房间不会立刻自动销毁 -> 业务侧主动调用解散房间接口(推荐),或等待后台自动回收 -> 后台在会议结束 6 小时后尝试回收(条件为成员数 0)-> 房间回收。
32
+
33
+ 计费维度:
34
+
35
+ - 音视频时长按实际推拉流/通话消耗计费。
36
+ - 成员都离开且无媒体占用后,一般不再产生该房间的音视频时长。
37
+ - 房间对象在未解散、未回收前仍占用房间数量。
38
+
39
+ ## 4. 标准用法
40
+
41
+ 1. 会议结束后,业务侧主动调用解散房间接口结束会议,避免房间残留。
42
+ 2. 若忘记手动解散,后台会在 6 小时后自动回收(成员数为 0 时)。
43
+ 3. 评估房间数量占用时,注意未解散、未回收的房间对象仍占用配额。
44
+
45
+ ## 5. 结果判定
46
+
47
+ - 主动解散后,房间立即结束。
48
+ - 未主动解散时,后台在会议结束 6 小时后、成员数为 0 时回收房间。
49
+ - 成员都离开且无媒体占用后,不再产生音视频时长计费。
50
+ - 未解散、未回收的房间对象仍占用房间数量。
51
+
52
+ ## 6. 常见误区
53
+
54
+ - 误区 1:认为所有人离开后房间会自动销毁(需主动解散或等待 6 小时后台回收)。
55
+ - 误区 2:认为未解散的房间不产生任何费用(房间对象仍占用房间数量,可能影响并发配额)。
56
+ - 误区 3:忽略业务侧主动解散(推荐主动调用解散接口,而非依赖后台回收)。
57
+
58
+ ## 7. 问题定义(检索辅助,极简)
59
+
60
+ TUIRoomKit 房间内所有人离开后房间是否还存在、是否会继续计费,以及如何主动解散房间。
61
+
62
+ ## 8. 同义问法覆盖(检索召回,极简)
63
+
64
+ - 所有人离开后房间会自动销毁吗?
65
+ - TUIRoomKit 房间空了还会计费吗?
66
+ - 会议结束后怎么解散房间?
67
+ - 房间回收要等多久?
68
+ - 房间成员数为 0 会怎样?
69
+ - 房间对象还占房间数量吗?
70
+
71
+ ## 9. 参考来源(可选)
72
+
73
+ - 开通服务 / 功能与计费说明:`https://cloud.tencent.com/document/product/269/104946`
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: tuikit-atomicx-vue3/room 与 roomkit-web-vue3 定位对比
3
+ product: room
4
+ frameworks: [vue, web]
5
+ scope: platform_specific
6
+ tags: [TUIRoomKit, Atomicx, UIKit, tuikit-atomicx-vue3, roomkit-web-vue3, useRoomState, conference, 层级对比, 无UI, 预制UI, 自定义集成, 依赖关系, vue3]
7
+ version_range: ">=2.0.0"
8
+ ---
9
+
10
+ # tuikit-atomicx-vue3/room 与 roomkit-web-vue3 定位对比
11
+
12
+ ## 1. 核心结论
13
+
14
+ - `tuikit-atomicx-vue3/room`(Atomicx)是**原子能力层**,无 UI / 强自定义集成主路径,把房间、设备、成员等拆成响应式 State。
15
+ - `@tencentcloud/roomkit-web-vue3`(RoomKit / UIKit)是**含 UI 低代码层**,开箱即用的会议套件与页面级组件。
16
+ - 依赖关系:**RoomKit(含 UI)建在 Atomicx/Room 能力之上的产品化封装**,业务上可理解为 RoomKit 复用/对接 Atomicx 能力,而非两套互不相干的房间协议。
17
+ - API 入口:Atomicx 用 `useRoomState()`,UIKit 用 `conference`。
18
+
19
+ ## 2. 字段语义对照
20
+
21
+ | 字段/能力 | 作用 | 说明 |
22
+ |---|---|---|
23
+ | `useRoomState` | Atomicx 房间状态入口 | `createAndJoinRoom` / `joinRoom` / `leaveRoom` / `endRoom` / `currentRoom` |
24
+ | `useDeviceState` | Atomicx 设备状态 | 设备开关、屏幕共享等 |
25
+ | `useRoomParticipantState` | Atomicx 成员状态 | 成员管控、事件订阅 |
26
+ | `useLoginState` | Atomicx 登录状态 | 登录能力,UIKit 会中可复用 |
27
+ | `conference` | UIKit 会议门面 API | 推荐 `createAndJoinRoom` / `joinRoom` / `leaveRoom` / `endRoom` |
28
+ | `ConferenceMainView` | UIKit 预制视图 | 登录进房、会控、布局、麦位等完整会议 UI |
29
+
30
+ ## 3. 机制/时序
31
+
32
+ ### 定位对比
33
+
34
+ | 对比项 | `tuikit-atomicx-vue3/room`(Atomicx) | `@tencentcloud/roomkit-web-vue3`(RoomKit / UIKit) |
35
+ |---|---|---|
36
+ | **层级** | Atomicx(原子能力层):State Hooks + 可选原子 UI 组件 | UIKit / 含 UI 低代码层:开箱即用的会议套件与页面级组件 |
37
+ | **包定位** | 无 UI / 强自定义集成主路径;把房间、设备、成员等拆成响应式 State | 含 UI 快速集成主路径;提供完整会议 UI 与 `conference` 门面 API |
38
+ | **核心能力** | `useRoomState` / `useDeviceState` / `useRoomParticipantState` / `useLoginState`:创房、入会、设备、屏幕共享、成员管控、事件订阅;可自拼 UI | `conference` + 预制视图(如 `ConferenceMainView`):登录进房、会控、布局、麦位等会议完整体验;支持部分组件显隐/自定义 Widget |
39
+ | **适用场景** | 把音视频嵌进自有业务 UI(医联、OA、教育后台等),要 100% 控交互与品牌 | 要最快上线标准会议/研讨会,少写 UI,接受官方会议交互 |
40
+ | **依赖关系** | 底层基于 RoomEngine / TRTC / IM;是原子化接入方案 | 含 UI 方案复用/对接 Atomicx 能力(如登录用 `useLoginState`,会中逻辑走 Room 能力);业务上可理解为 RoomKit(含 UI)建在 Atomicx/Room 能力之上的产品化封装 |
41
+ | **API 入口** | `useRoomState()`:`createAndJoinRoom` / `joinRoom` / `leaveRoom` / `endRoom`、`currentRoom`、事件订阅等 | `conference`:推荐 `createAndJoinRoom` / `joinRoom` / `leaveRoom` / `endRoom` |
42
+ | **UI 形态** | 预制原子组件可选用 + 自定义模块自拼为主 | 预制完整会议 UI 为主,可通过 Widget/显隐配置做有限定制 |
43
+
44
+ ## 4. 标准用法
45
+
46
+ ### Atomicx 方式(无 UI,自定义集成)
47
+
48
+ ```javascript
49
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
50
+
51
+ const { createAndJoinRoom } = useRoomState();
52
+
53
+ createAndJoinRoom({
54
+ roomId: 'YOUR_ROOM_ID', // 必填:建议由业务后台生成的唯一标识
55
+ options: {
56
+ roomName: '项目进度周会',
57
+ },
58
+ });
59
+ // 通过 useDeviceState / useRoomParticipantState 等获取响应式状态自拼 UI
60
+ ```
61
+
62
+ ### UIKit 方式(含 UI,快速集成)
63
+
64
+ ```javascript
65
+ import { conference, ConferenceMainView, ConferenceMainViewH5, RoomEvent, genTestUserSig } from '@tencentcloud/roomkit-web-vue3';
66
+ const SDKAppID = 0; // 替换为您在开通服务阶段获取的 SDKAppID
67
+ const SDKSecretKey = ''; // 替换为您在开通服务阶段获取的 SDKSecretKey
68
+ const handleEnterRoom = async () => {
69
+ if (!SDKAppID || !SDKSecretKey) {
70
+ return;
71
+ }
72
+ try {
73
+ const { userSig } = genTestUserSig({ userId: 'test01', sdkAppId: SDKAppID, secretKey: SDKSecretKey });
74
+ await conference.login({ sdkAppId: SDKAppID, userId: 'test01', userSig });
75
+ await conference.setSelfInfo({ userName: 'test', avatarUrl: '' });
76
+ await conference.createAndJoinRoom({ roomId: '123456', options: { roomName: `test01 的会议` } });
77
+ inRoom.value = true;
78
+ } catch (error) {
79
+ console.error('进入会议失败:', error);
80
+ }
81
+ };
82
+ // 使用预制 ConferenceMainView 渲染完整会议 UI
83
+ ```
84
+
85
+ ## 5. 结果判定
86
+
87
+ - 无 UI / 强自定义需求:选 Atomicx,用 `useRoomState()` + State Hooks 自拼 UI。
88
+ - 快速上线标准会议:选 UIKit,用 `conference` + `ConferenceMainView`。
89
+ - 依赖关系:UIKit 复用 Atomicx 能力,非两套独立协议。
90
+ - API 入口:Atomicx 为 `useRoomState()`,UIKit 为 `conference`。
91
+
92
+ ## 6. 常见误区
93
+
94
+ - 误区 1:认为 Atomicx 和 UIKit 是两套互不相干的房间协议(UIKit 建在 Atomicx/Room 能力之上)。
95
+ - 误区 2:用 Atomicx 时误以为自带完整会议 UI(Atomicx 是 State Hooks + 可选原子组件,UI 需自拼)。
96
+ - 误区 3:用 UIKit 时误以为无法自定义(支持部分组件显隐 / 自定义 Widget)。
97
+ - 误区 4:混淆两套的 API 入口(Atomicx 用 `useRoomState()`,UIKit 用 `conference`)。
98
+
99
+ ## 7. 问题定义(检索辅助,极简)
100
+
101
+ 对比 TUIRoomKit Vue3 两种集成方案的定位差异:`tuikit-atomicx-vue3/room`(Atomicx Core SDK,无 UI,State Hooks 自拼)与 `@tencentcloud/roomkit-web-vue3`(RoomKit UIKit,含 UI,conference 低代码)在层级、能力、适用场景、依赖关系与 API 入口(useRoomState vs conference)方面的差异。
102
+
103
+ ## 8. 同义问法覆盖(检索召回,极简)
104
+
105
+ - Atomicx 和 RoomKit 有什么区别?
106
+ - `tuikit-atomicx-vue3/room` 和 `roomkit-web-vue3` 怎么选?
107
+ - TUIRoomKit 无 UI 和含 UI 方案怎么选?
108
+ - `useRoomState` 和 `conference` 区别?
109
+ - RoomKit 基于 Atomicx 吗?
110
+ - 自定义会议室 UI 用哪个包?
111
+ - 快速集成会议用 Atomicx 还是 UIKit?
112
+
113
+ ## 9. 参考来源(可选)
114
+
115
+ - 房间管理 Web:`https://cloud.tencent.com/document/product/647/126919`
@@ -21,8 +21,6 @@
21
21
 
22
22
  ### 步骤1:组件集成
23
23
 
24
- 请参考 接入概览 集成 **AtomicXCore SDK**,并已完成 实现登录逻辑 部分接入。
25
-
26
24
  ### 步骤2:呼叫方功能
27
25
 
28
26
  #### **1. 发起呼叫**
@@ -27,8 +27,6 @@
27
27
 
28
28
  ### 步骤1:组件集成
29
29
 
30
- 请参考 接入概览 集成 **AtomicXCore SDK**,并已完成 实现登录逻辑 部分接入。
31
-
32
30
  ### 步骤2:获取参与者列表
33
31
 
34
32
  在加入房间后,调用 `RoomParticipantStore` 的 `getParticipantList` 接口获取到房间内参与者列表。