@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.
Files changed (307) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +53 -39
  3. package/knowledge/build-index.js +31 -4
  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 +9 -227
  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 +3 -14
  25. package/resource/integration/callkit/preset/flutter/integration.md +1 -12
  26. package/resource/integration/callkit/preset/ios/integration.md +2 -12
  27. package/resource/integration/callkit/preset/react/integration.md +1 -14
  28. package/resource/integration/callkit/preset/vue/integration.md +1 -14
  29. package/resource/integration/chat/preset/android/integration.md +6 -13
  30. package/resource/integration/chat/preset/flutter/integration.md +1 -8
  31. package/resource/integration/chat/preset/ios/integration.md +4 -12
  32. package/resource/integration/chat/preset/react/integration.md +6 -16
  33. package/resource/integration/chat/preset/vue/integration.md +0 -9
  34. package/resource/integration/livekit/preset/live/android/live-audience-integration.md +2 -6
  35. package/resource/integration/livekit/preset/live/android/live-host-integration.md +1 -11
  36. package/resource/integration/livekit/preset/live/android/live-list-integration.md +2 -6
  37. package/resource/integration/livekit/preset/live/android/prepare-integration.md +2 -7
  38. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +2 -7
  39. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +1 -13
  40. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +2 -10
  41. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +3 -8
  42. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -4
  43. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +1 -5
  44. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +2 -7
  45. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +2 -8
  46. package/resource/integration/roomkit/preset/vue/integration.md +0 -11
  47. package/resource/knowledge/callkit/best-practice/callkit-miniprogram/uniapp-shrink.md +60 -0
  48. package/resource/knowledge/callkit/best-practice/common/call-autoplay-blocked.md +77 -0
  49. package/resource/knowledge/callkit/best-practice/common/call-message-in-chat.md +78 -0
  50. package/resource/knowledge/callkit/best-practice/common/call-vs-calls.md +110 -0
  51. package/resource/knowledge/callkit/best-practice/common/callengine-call-flow.md +123 -0
  52. package/resource/knowledge/callkit/best-practice/common/callengine-log-level.md +67 -0
  53. package/resource/knowledge/callkit/best-practice/common/callkit-get-engine-instance.md +81 -0
  54. package/resource/knowledge/callkit/best-practice/common/callkit-get-roomid.md +78 -0
  55. package/resource/knowledge/callkit/best-practice/common/callkit-limitations.md +37 -0
  56. package/resource/knowledge/callkit/best-practice/common/callkit-user-register-and-kicked.md +98 -0
  57. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +0 -7
  58. package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -8
  59. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -9
  60. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -8
  61. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -8
  62. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -16
  63. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -8
  64. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -8
  65. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -11
  66. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +178 -200
  67. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +195 -217
  68. package/resource/knowledge/callkit/faq/android.md +4 -14
  69. package/resource/knowledge/callkit/faq/common.md +0 -2
  70. package/resource/knowledge/callkit/faq/error-code.md +2 -4
  71. package/resource/knowledge/callkit/faq/ios.md +1 -4
  72. package/resource/knowledge/callkit/preset/android/api.md +0 -6
  73. package/resource/knowledge/callkit/preset/ios/api.md +0 -4
  74. package/resource/knowledge/callkit/preset/react/api.md +3 -4
  75. package/resource/knowledge/callkit/preset/vue/api.md +3 -4
  76. package/resource/knowledge/chat/best-practice/common/avchatroom-message-loss-diagnosis.md +65 -0
  77. package/resource/knowledge/chat/best-practice/common/group-conversation-cleanup-on-system-notice.md +62 -0
  78. package/resource/knowledge/chat/best-practice/common/image-message-url-lifecycle.md +59 -0
  79. package/resource/knowledge/chat/best-practice/common/login-repeat-2025-diagnosis.md +61 -0
  80. package/resource/knowledge/chat/best-practice/common/message-read-report-and-receipt.md +64 -0
  81. package/resource/knowledge/chat/best-practice/common/message-receive-event.md +65 -0
  82. package/resource/knowledge/chat/best-practice/common/message-risk-error-and-render.md +65 -0
  83. package/resource/knowledge/chat/best-practice/common/message-unread-count.md +71 -0
  84. package/resource/knowledge/chat/best-practice/miniprogram/audio-message-send.md +113 -0
  85. package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +63 -0
  86. package/resource/knowledge/chat/best-practice/miniprogram/media-upload-fail-diagnosis.md +64 -0
  87. package/resource/knowledge/chat/best-practice/web/audio-message-send.md +118 -0
  88. package/resource/knowledge/chat/preset/android/features/chat-setting.md +0 -5
  89. package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -7
  90. package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -6
  91. package/resource/knowledge/chat/preset/android/features/language.md +0 -8
  92. package/resource/knowledge/chat/preset/android/features/message-input.md +0 -6
  93. package/resource/knowledge/chat/preset/android/features/message-list.md +0 -8
  94. package/resource/knowledge/chat/preset/android/features/search.md +0 -7
  95. package/resource/knowledge/chat/preset/android/features/theme.md +0 -4
  96. package/resource/knowledge/chat/preset/android-view/integration.md +0 -6
  97. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +0 -4
  98. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +0 -9
  99. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -7
  100. package/resource/knowledge/chat/preset/flutter/features/language.md +0 -5
  101. package/resource/knowledge/chat/preset/flutter/features/message-input.md +0 -6
  102. package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -8
  103. package/resource/knowledge/chat/preset/flutter/features/search.md +0 -5
  104. package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -4
  105. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +0 -5
  106. package/resource/knowledge/chat/preset/ios/features/contact-list.md +0 -5
  107. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -7
  108. package/resource/knowledge/chat/preset/ios/features/language.md +1 -8
  109. package/resource/knowledge/chat/preset/ios/features/message-input.md +0 -6
  110. package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -8
  111. package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
  112. package/resource/knowledge/chat/preset/ios/features/theme.md +0 -4
  113. package/resource/knowledge/chat/preset/ios-uikit/integration.md +0 -6
  114. package/resource/knowledge/chat/preset/react/features/contact-list.md +0 -23
  115. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +2 -11
  116. package/resource/knowledge/chat/preset/react/features/conversation-list.md +4 -26
  117. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -6
  118. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  119. package/resource/knowledge/chat/preset/react/features/theme.md +0 -1
  120. package/resource/knowledge/chat/preset/vue/features/contact-list.md +3 -9
  121. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +0 -3
  122. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +2 -13
  123. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +2 -3
  124. package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
  125. package/resource/knowledge/chat/preset/vue/features/search.md +4 -3
  126. package/resource/knowledge/chat/urls/sdk/web.md +1 -1
  127. package/resource/knowledge/livekit/best-practice/android/voice-room-anchor-start.md +120 -0
  128. package/resource/knowledge/livekit/best-practice/common/admin-take-seat.md +73 -0
  129. package/resource/knowledge/livekit/best-practice/common/audience-leave-live.md +81 -0
  130. package/resource/knowledge/livekit/best-practice/common/voice-room-no-audio-troubleshoot.md +100 -0
  131. package/resource/knowledge/livekit/best-practice/common/voice-room-seat-list-change.md +65 -0
  132. package/resource/knowledge/livekit/best-practice/flutter/voice-room-anchor-start.md +122 -0
  133. package/resource/knowledge/livekit/best-practice/ios/voice-room-anchor-start.md +126 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
  135. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +0 -3
  136. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +0 -3
  137. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
  138. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
  139. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
  140. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
  141. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +0 -2
  142. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
  143. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
  144. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
  145. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +0 -2
  146. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +0 -2
  147. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
  148. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +0 -3
  149. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
  150. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +0 -3
  151. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
  152. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
  153. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
  154. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +0 -2
  155. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
  156. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
  157. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
  158. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +0 -2
  159. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
  160. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
  161. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +0 -3
  162. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
  163. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +0 -3
  164. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
  165. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
  166. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
  167. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +0 -2
  168. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
  169. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
  170. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
  171. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +0 -2
  172. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +0 -2
  173. package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
  174. package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +2 -3
  175. package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
  176. package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +2 -2
  177. package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
  178. package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +3 -4
  179. package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
  180. package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +2 -4
  181. package/resource/knowledge/livekit/core-sdk/features/flutter/barrage.md +2 -2
  182. package/resource/knowledge/livekit/core-sdk/features/flutter/base-beauty.md +0 -2
  183. package/resource/knowledge/livekit/core-sdk/features/flutter/gift.md +2 -7
  184. package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -2
  185. package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +2 -2
  186. package/resource/knowledge/livekit/core-sdk/features/ios/audio-effect.md +2 -4
  187. package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
  188. package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +2 -2
  189. package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
  190. package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +3 -4
  191. package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +0 -3
  192. package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +0 -4
  193. package/resource/knowledge/livekit/core-sdk/live/android/integration.md +1 -4
  194. package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +1 -3
  195. package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -1
  196. package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -4
  197. package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +0 -3
  198. package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +0 -3
  199. package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +1 -4
  200. package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +0 -2
  201. package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +0 -5
  202. package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +1 -4
  203. package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +1 -4
  204. package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +3 -6
  205. package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +0 -2
  206. package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +0 -4
  207. package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +1 -4
  208. package/resource/knowledge/livekit/faq/error-code.md +0 -1
  209. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
  210. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +3 -3
  211. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +3 -3
  212. package/resource/knowledge/push/api-reference/android.md +0 -1
  213. package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
  214. package/resource/knowledge/push/api-reference/react-native.md +3 -5
  215. package/resource/knowledge/push/api-reference/uni-app.md +3 -5
  216. package/resource/knowledge/push/api-reference/unity.md +0 -1
  217. package/resource/knowledge/push/api-reference/unreal-engine.md +0 -1
  218. package/resource/knowledge/push/config/android.md +0 -24
  219. package/resource/knowledge/push/config/harmonyos.md +0 -1
  220. package/resource/knowledge/push/config/ios.md +0 -3
  221. package/resource/knowledge/push/config/react-native.md +0 -29
  222. package/resource/knowledge/push/config/unity.md +1 -24
  223. package/resource/knowledge/push/config/unreal-engine.md +1 -24
  224. package/resource/knowledge/push/integration/android.md +0 -14
  225. package/resource/knowledge/push/integration/flutter.md +0 -19
  226. package/resource/knowledge/push/integration/harmonyos.md +0 -2
  227. package/resource/knowledge/push/integration/ios.md +0 -3
  228. package/resource/knowledge/push/integration/react-native.md +0 -24
  229. package/resource/knowledge/push/integration/uni-app.md +1 -11
  230. package/resource/knowledge/push/integration/unity.md +0 -9
  231. package/resource/knowledge/push/integration/unreal-engine.md +1 -17
  232. package/resource/knowledge/roomkit/best-practice/common/room-ghost-member.md +70 -0
  233. package/resource/knowledge/roomkit/best-practice/common/room-limit-and-multi.md +83 -0
  234. package/resource/knowledge/roomkit/best-practice/common/room-screen-share-preview.md +83 -0
  235. package/resource/knowledge/roomkit/best-practice/common/room-status-after-all-leave.md +69 -0
  236. package/resource/knowledge/roomkit/best-practice/vue/room-uikit-vs-atomicx.md +111 -0
  237. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -4
  238. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -4
  239. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +0 -4
  240. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +1 -5
  241. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -4
  242. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -4
  243. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +0 -4
  244. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +1 -5
  245. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
  246. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -6
  247. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -9
  248. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -11
  249. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1 -5
  250. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -8
  251. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -3
  252. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -3
  253. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -5
  254. package/resource/knowledge/roomkit/preset/android/integration.md +0 -4
  255. package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -13
  256. package/resource/knowledge/roomkit/preset/ios/integration.md +0 -6
  257. package/resource/knowledge/roomkit/preset/react/integration.md +0 -16
  258. package/resource/knowledge/rtcengine/web/api.md +1 -8
  259. package/resource/knowledge/rtcengine/web/faq.md +3 -5
  260. package/resource/knowledge/rtcengine/web/how_to_integrated_web_sdk.md +0 -6
  261. package/resource/knowledge/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -1
  262. package/resource/knowledge/rtcengine/web/plugin/21-advanced-auto-play-policy.md +1 -1
  263. package/resource/knowledge/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +1 -1
  264. package/resource/knowledge/rtcengine/web/plugin/27-advanced-small-stream.md +1 -1
  265. package/resource/knowledge/rtcengine/web/plugin/30-advanced-cross-room-link.md +2 -0
  266. package/resource/knowledge/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -3
  267. package/resource/knowledge/rtcengine/web/plugin/34-advanced-proxy.md +2 -4
  268. package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
  269. package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -1
  270. package/resource/knowledge/trtc/android/TRTCCloud.md +8 -56
  271. package/resource/knowledge/trtc/android/TRTCCloudDef.md +6 -7
  272. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1 -18
  273. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +0 -14
  274. package/resource/knowledge/trtc/android/TXDeviceManager.md +0 -1
  275. package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
  276. package/resource/knowledge/trtc/c++/ITRTCCloud.md +7 -59
  277. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +0 -14
  278. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +0 -4
  279. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1 -19
  280. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +6 -7
  281. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
  282. package/resource/knowledge/trtc/ios/TRTCCloud.md +9 -60
  283. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +6 -7
  284. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1 -19
  285. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +0 -13
  286. package/resource/knowledge/trtc/ios/TXDeviceManager.md +0 -4
  287. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
  288. package/server.js +27 -22
  289. package/tools/common/finalize_answer.js +9 -1
  290. package/tools/common/search_trtc_knowledge.js +3 -1
  291. package/tools/definitions/finalize_answer_def.js +2 -2
  292. package/tools/definitions/integration-boundary.js +2 -1
  293. package/tools/definitions/search_trtc_knowledge_def.js +2 -1
  294. package/utils/report-cls-client.js +3 -3
  295. package/utils/report-es-client.js +1 -1
  296. package/cursor-setting.png +0 -0
  297. package/mcp-server-prompt.png +0 -0
  298. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +0 -80
  299. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +0 -24
  300. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +0 -116
  301. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +0 -445
  302. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +0 -465
  303. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +0 -16
  304. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -230
  305. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -797
  306. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +0 -325
  307. 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. For details, see:
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 refer to the method in Manufacturer Configuration - Generate App Group ID - Step 4 to configure your App Group ID. Then, enable the Notification Service Extension Target in `Editor - Add Target` in the Xcode project.
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?