@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
@@ -0,0 +1,98 @@
1
+ ---
2
+ title: "TUICallKit user registration and Multi-Instance Kick-Out Explained(TUICallKit 用户注册 / 多实例登录)"
3
+ product: call
4
+ frameworks: [react, vue, miniprogram, web]
5
+ scope: platform_common
6
+ tags: [TUICallKit, user registration, init, userSig, auto-create user, multi-instance login, kicked out, KICKED_OUT, troubleshooting, same browser, multi-instance, web multi-instance]
7
+ version_range: ">=4.0.0"
8
+ ---
9
+
10
+ # TUICallKit User Registration and Multi-Instance Kick-Out Explained
11
+
12
+ ## 1. Key Takeaways
13
+
14
+ ### User Registration
15
+
16
+ - TUICallKit **does not have a dedicated frontend registration API**. User registration is completed through the `init` API: passing `userID` and `userSig` completes authentication and login.
17
+ - When a `userID` and `userSig` issued by the backend are used to log in to TUICallKit for the first time, the system automatically creates the user if that `userID` does not yet exist in Tencent Cloud IM.
18
+ - Alternatively, users can be batch-imported via the IM Console, and then the imported `userID` with its corresponding `userSig` can be used to log in.
19
+
20
+ ### Multi-Instance Kick-Out
21
+
22
+ - When the same `userID` is logged in simultaneously across different browser tabs or devices, the earlier session is kicked offline (`KICKED_OUT`) by default, because the Chat SDK Web allows only one instance online per user by default.
23
+ - After enabling **Web Multi-Instance Login** in the Chat Console, the same `userID` can be online across multiple tabs or devices simultaneously without being kicked.
24
+ - Different `userID`s logged in within the same browser are not affected by this restriction and will not kick each other offline.
25
+
26
+ ## 2. Field / API Reference
27
+
28
+ | Field / API | Purpose | Notes |
29
+ |---|---|---|
30
+ | `init` | Initialize and register a user | Pass `SDKAppID`, `userID`, `userSig` to complete authentication |
31
+ | `userID` | User identifier | Issued or defined by the business backend; auto-creates the user on first login |
32
+ | `userSig` | User signature | Issued by the business backend for authentication |
33
+ | `KICKED_OUT` | Kicked offline event | Triggered during same-account / multi-instance login |
34
+ | Web Multi-Instance Login | Console configuration | Once enabled, the same browser can have multiple sessions online simultaneously |
35
+
36
+ ## 3. Mechanism & Sequence
37
+
38
+ ### User Registration Flow
39
+
40
+ Backend generates `userID` + `userSig` -> frontend calls `init({ SDKAppID, userID, userSig })` -> TUICallKit logs in via the Chat SDK -> if the user does not exist, it is auto-created -> login succeeds.
41
+
42
+ ### Multi-Instance Kick-Out Mechanism
43
+
44
+ Same `userID` logs in on tab A -> same browser opens tab B and logs in with the same `userID` -> Chat backend detects a multi-instance login -> kicks tab A offline -> tab A receives the `KICKED_OUT` event.
45
+
46
+ ## 4. Standard Usage
47
+
48
+ ### User Registration and Initialization
49
+
50
+ ```javascript
51
+ // React: @trtc/calls-uikit-react
52
+ // Vue 3: @trtc/calls-uikit-vue
53
+ // Vue 2.7: @trtc/calls-uikit-vue2
54
+ // Vue 2.6: @trtc/calls-uikit-vue2.6
55
+ // uniapp 小程序: @trtc/calls-uikit-wx-uniapp
56
+ // 微信原生小程序: @trtc/calls-uikit-wx (API 一致,仅包名不同)
57
+ import { TUICallKitAPI } from "@trtc/calls-uikit-react";
58
+
59
+ TUICallKitAPI.init({
60
+ SDKAppID: 0, // 控制台获取的 SDKAppID
61
+ userID: 'user_xxx', // 业务后端签发的用户 ID
62
+ userSig: 'xxx', // 业务后端签发的用户签名
63
+ });
64
+ ```
65
+
66
+ ### Enabling Web Multi-Instance Login (Resolving Kick-Out)
67
+
68
+ 1. Log in to the Tencent Cloud IM Console.
69
+ 2. Navigate to the target application's feature configuration page.
70
+ 3. Enable the **Web Multi-Instance Login** toggle.
71
+ 4. Save. The change takes effect immediately without restarting the client.
72
+
73
+ ## 5. Expected Results
74
+
75
+ - After calling `init`, login succeeds with no errors.
76
+ - With Web Multi-Instance enabled in the console, the same `userID` can be online across multiple tabs or devices simultaneously.
77
+ - Without the feature enabled, logging in with the same `userID` on a new tab causes the old tab to receive the `KICKED_OUT` event.
78
+
79
+ ## 6. Common Pitfalls
80
+
81
+ - Pitfall 1: Assuming TUICallKit has a dedicated frontend registration API (registration and login are actually done through `init`).
82
+ - Pitfall 2: Treating kick-out as a TUICallKit bug (it is actually the Chat SDK's multi-device login restriction).
83
+ - Pitfall 3: Assuming different origins also cause kick-out (different origins are treated as different instances and are unaffected).
84
+ - Pitfall 4: Assuming different `userID`s in the same browser kick each other out (the multi-instance restriction applies to the same `userID`; different `userID`s are independent).
85
+ - Pitfall 5: Thinking `KICKED_OUT` can only be resolved by closing other logins (enabling Web Multi-Instance Login avoids it).
86
+
87
+ ## 7. Problem Definition (retrieval hint)
88
+
89
+ Users ask about TUICallKit Web user registration (whether there is a dedicated registration API, whether users are auto-created), and the cause and solution for multi-account kick-out within the same browser.
90
+
91
+ ## 8. Alternative Queries (retrieval recall)
92
+
93
+ - What is the TUICallKit user registration API?
94
+ - Does first-time login auto-create a user?
95
+ - What to do when two accounts in the same browser get kicked out?
96
+ - How to troubleshoot `KICKED_OUT`?
97
+ - Does logging in from a different domain cause kick-out?
98
+ - How to let multiple users log in on the same page simultaneously?
@@ -616,9 +616,6 @@ Before starting a call, use [setSelfInfo](https://liteav.sdk.cloudcachetci.com/d
616
616
  ### Switch Layout Modes
617
617
 
618
618
  Use [setLayoutTemplate](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-call-core-view/set-layout-template.html) to switch layout modes. If not set, CallCoreView adapts automatically: **Float** mode for 1v1 calls, **Grid** mode for multi-party calls.
619
- | <strong>Float Mode</strong> | <strong>Grid Mode</strong> | <strong>PIP Mode</strong> |
620
- | --- | --- | --- |
621
- | | | |
622
619
  | - <strong>Layout Logic:</strong> Full screen shows own video while waiting; after answering, full screen shows the other party's video, own video floats as a small window.<br>- <strong>Interaction:</strong> Supports dragging and swapping windows. | - <strong>Layout Logic:</strong> All participant videos are tiled in a grid. Suitable for 2+ participants; supports click-to-enlarge.<br>- <strong>Interaction:</strong> Click to enlarge a participant's video. | - <strong>Layout Logic:</strong> In 1v1, always shows the other party's video; in multi-party, uses active speaker strategy.<br>- <strong>Interaction:</strong> Shows own video while waiting, displays call timer after answering. |
623
620
 
624
621
  - **setLayoutTemplate Sample Code:**
@@ -821,7 +818,3 @@ Congratulations! You have implemented the answer call feature. Next, see Make Yo
821
818
  ### Can an invitee receive a call event if they go offline and then come back online within the call timeout period?
822
819
 
823
820
  For one-on-one calls, if the callee comes online within the timeout, they will receive the incoming call invitation. For group calls, if the callee comes online within the timeout, up to 20 unprocessed group messages will be retrieved, and if there is a call invitation, the incoming call event will be triggered.
824
-
825
- ## Contact Us
826
-
827
- If you have any questions or suggestions during the integration or usage process, feel free to join our [Telegram technical group](https://t.me/+EPk6TMZEZMM5OGY1) or [contact us](https://trtc.io/contact) for support.
@@ -70,7 +70,6 @@ class MainActivity : ComponentActivity() {
70
70
  ## Implementation
71
71
 
72
72
  > **Note:**
73
- >
74
73
  > You must log in before making a call. The following steps show how to make a call.
75
74
  >
76
75
 
@@ -661,9 +660,6 @@ Before a call starts, use [setSelfInfo](https://liteav.sdk.cloudcachetci.com/doc
661
660
  ### Switch Layout Mode
662
661
 
663
662
  Use [setLayoutTemplate](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-call-core-view/set-layout-template.html) to switch between layout modes. If not set, **CallCoreView** adapts automatically: 1v1 calls use `Float` mode by default, while multi-party calls use `Grid` mode. Layout mode descriptions:
664
- | <strong>Float Mode</strong> | <strong>Grid Mode</strong> | <strong>PIP Mode</strong> |
665
- | --- | --- | --- |
666
- | | | |
667
663
  | - <strong>Layout:</strong> Full screen self-view while waiting; after connecting, full screen remote view with self-view as a floating window.<br>- <strong>Interaction:</strong> Floating window supports drag and click-to-swap with the main view. | - <strong>Layout:</strong> Grid layout for all participants, suitable for 2+ users. Supports click-to-enlarge.<br>- <strong>Interaction:</strong> Click any participant's view to enlarge. | - <strong>Layout:</strong> 1v1 shows fixed remote view; multi-party uses active speaker strategy with full screen for the current speaker.<br>- <strong>Interaction:</strong> Waiting state shows self-view; after connecting, call duration is displayed. |
668
664
 
669
665
  - **setLayoutTemplate Example:**
@@ -889,7 +885,3 @@ Congratulations! You've completed the "Make a Call" feature. Next, you can imple
889
885
  ### If the callee comes online before the call invitation times out, do they get the incoming call?
890
886
 
891
887
  For single calls, if the callee comes online within the timeout, they will receive an incoming call invitation. For group calls, up to 20 unhandled group messages are pulled when coming online within the timeout; if a call invitation exists, the incoming call event is triggered.
892
-
893
- ## Contact Us
894
-
895
- If you have any questions or suggestions during the integration or usage process, feel free to join our [Telegram technical group](https://t.me/+EPk6TMZEZMM5OGY1) or [contact us](https://trtc.io/contact) for support.
@@ -3,7 +3,6 @@ On Android, incoming audio/video call invitations won't trigger notifications wh
3
3
  To solve this, you need to integrate offline push notifications using FCM Data Messages. This allows critical signaling—like call invitations—to reach the device and wake up your app, even when it's completely closed, launching the call interface so users can answer incoming calls.
4
4
 
5
5
  > **Note:**
6
- >
7
6
  > Offline push is not required if users are only calling always-online web agents.
8
7
  >
9
8
 
@@ -14,7 +13,6 @@ This guide shows you how to integrate FCM Data Message push for audio/video call
14
13
  Go to the [Chat Console > App Push > Access settings](https://console.trtc.io/chat/push-plugin-push-identifier) , and click **Purchase Now** or **Free Trial** (each app is eligible for one free trial, valid for 7 days).
15
14
 
16
15
  > **Note:**
17
- >
18
16
  > When your push plugin trial or subscription expires, all push services (including offline push for regular messages, broadcast/tag push, etc.) will be automatically suspended. To ensure uninterrupted service, please [purchase](https://buy.intl.cloud.tencent.com/avc) or [renew](https://console.tencentcloud.com/expense/renewal) your subscription in advance.
19
17
  >
20
18
 
@@ -336,12 +334,10 @@ Listen for incoming call events. After a successful login (Step 1), if there are
336
334
 
337
335
  ### Demo Effect
338
336
 
339
- After completing all three steps above, the incoming call notification will appear as shown below:
340
-
341
337
  ## FAQs
342
338
 
343
339
  ### Unable to Display Incoming Call Interface After App Is Killed?
344
- - Check if push notifications are being received. If not, verify that the IM Console certificate was uploaded correctly. Refer to Step 1 of **Quick Integration** in this guide.
340
+ - Check if push notifications are being received. If not, verify that the IM Console certificate was uploaded correctly. .
345
341
 
346
342
  - Ensure that FCM Data Message is selected in the console, as described in Step 2 of **Prerequisites** above.
347
343
 
@@ -355,7 +351,3 @@ To force your app to always use the FCM channel, call the following method:
355
351
  ``` java
356
352
  TIMPushManager.getInstance().forceUseFCMPushChannel(true);
357
353
  ```
358
-
359
- ## Contact Us
360
-
361
- If you have any questions or suggestions during integration or use, join the [Telegram](https://t.me/+EPk6TMZEZMM5OGY1) technical group or [Contact Us](https://trtc.io/contact) for support.
@@ -43,6 +43,7 @@ flutter pub add atomic_x_core
43
43
  }
44
44
  }
45
45
  ```
46
+
46
47
  ``` java
47
48
  android {
48
49
  buildTypes {
@@ -297,6 +298,7 @@ Check audio/video permissions before starting a call. If permissions are missing
297
298
  ``` bash
298
299
  flutter pub add permission_handler
299
300
  ```
301
+
300
302
  ``` java
301
303
  import 'package:permission_handler/permission_handler.dart';
302
304
 
@@ -645,9 +647,6 @@ Before the call starts, use [setSelfInfo](https://liteav.sdk.qcloud.com/doc/prod
645
647
  ### Switch Layout Modes
646
648
 
647
649
  Use [setLayoutTemplate](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_view_call_call_core_view/CallCoreController/setLayoutTemplate.html) for flexible layout switching. If unset, **CallCoreView** adapts automatically: 1-on-1 calls use `Float` mode, group calls use `Grid` mode.
648
- | <strong>Float Mode</strong> | <strong>Grid Mode</strong> | <strong>PIP Mode</strong> |
649
- | --- | --- | --- |
650
- | | | |
651
650
  | - <strong>Layout:</strong> Full screen self-view while waiting; after connecting, full screen remote view with self-view as a floating window.<br>- <strong>Interaction:</strong> Floating window supports drag and click-to-swap with the main view. | - <strong>Layout:</strong> Grid layout for all participants, suitable for 2+ users. Supports click-to-enlarge.<br>- <strong>Interaction:</strong> Click any participant's view to enlarge. | - <strong>Layout:</strong> 1v1 shows fixed remote view; multi-party uses active speaker strategy with full screen for the current speaker.<br>- <strong>Interaction:</strong> Waiting state shows self-view; after connecting, call duration is displayed. |
652
651
 
653
652
  - **Sample Code:**
@@ -868,7 +867,6 @@ Picture-in-Picture requires Android 8.0 (API 26) or later.
868
867
  iOS supports system PiP with the underlying TRTC engine. When the app goes to background, the call view floats above other apps as a PiP window, letting users multitask.
869
868
 
870
869
  > **Note:**
871
- >
872
870
  > Add `Background Modes` in Xcode's `Signing & Capabilities` and check `Audio, AirPlay, and Picture in Picture`.
873
871
  >
874
872
  > Requires iOS 15.0 or later.
@@ -1101,7 +1099,3 @@ Since tencent_rtc_sdk uses Flutter FFI, Xcode's symbol stripping during Release
1101
1099
  ### If the callee goes offline and then comes online within the call invitation timeout, will they receive the incoming call event?
1102
1100
 
1103
1101
  For single calls, if the callee comes online within the timeout, they will receive the call invitation. For group calls, if the callee comes online within the timeout, up to 20 unprocessed group messages will be pulled; if there is a call invitation, the incoming call event is triggered.
1104
-
1105
- ## Contact Us
1106
-
1107
- If you have questions or suggestions during integration or usage, join our [Telegram](https://t.me/+Lmw2MSqW6ethMGM1) technical group or [Contact Us](https://trtc.io/contact) for support.
@@ -43,6 +43,7 @@ flutter pub add atomic_x_core
43
43
  }
44
44
  }
45
45
  ```
46
+
46
47
  ``` java
47
48
  android {
48
49
  buildTypes {
@@ -363,6 +364,7 @@ Check for audio/video permissions before starting a call. If permissions are mis
363
364
  ``` bash
364
365
  flutter pub add permission_handler
365
366
  ```
367
+
366
368
  ``` java
367
369
  import 'package:permission_handler/permission_handler.dart';
368
370
 
@@ -648,9 +650,6 @@ if (result.errorCode == 0) {
648
650
  ### Switch Layout Modes
649
651
 
650
652
  Switch layouts flexibly using [setLayoutTemplate](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_view_call_call_core_view/CallCoreController/setLayoutTemplate.html). If not set, **CallCoreView** adapts automatically: 1v1 defaults to `Float`, group calls use `Grid`.
651
- | <strong>Float Mode</strong> | <strong>Grid Mode</strong> | <strong>PIP Mode</strong> |
652
- | --- | --- | --- |
653
- | | | |
654
653
  | - <strong>Layout:</strong> Full screen self-view while waiting; after connecting, full screen remote view with self-view as a floating window.<br>- <strong>Interaction:</strong> Floating window supports drag and click-to-swap with the main view. | - <strong>Layout:</strong> Grid layout for all participants, suitable for 2+ users. Supports click-to-enlarge.<br>- <strong>Interaction:</strong> Click any participant's view to enlarge. | - <strong>Layout:</strong> 1v1 shows fixed remote view; multi-party uses active speaker strategy with full screen for the current speaker.<br>- <strong>Interaction:</strong> Waiting state shows self-view; after connecting, call duration is displayed. |
655
654
 
656
655
  - **Sample usage:**
@@ -863,7 +862,6 @@ Picture-in-Picture requires Android 8.0 (API 26) or above.
863
862
  iOS supports Picture-in-Picture outside the app using the underlying TRTC engine. When the app goes to background, the call interface floats over other apps as a system PiP window.
864
863
 
865
864
  > **Note:**
866
- >
867
865
  > In Xcode, add `Background Modes` under `Signing & Capabilities` and check `Audio, AirPlay, and Picture in Picture`.
868
866
  >
869
867
  > Requires iOS 15.0 or above.
@@ -1122,7 +1120,3 @@ If you see `symbol not found` errors in your iOS Release build, it’s likely be
1122
1120
  - For single calls: If the callee comes online within the timeout period, they will receive the incoming call invite.
1123
1121
 
1124
1122
  - For group calls: If the callee returns within the timeout, up to 20 unprocessed group messages will be pulled; if there is a call invite, the incoming call event will be triggered.
1125
-
1126
- ## Contact Us
1127
-
1128
- If you have any questions or suggestions during integration or use, join our [Telegram](https://t.me/+Lmw2MSqW6ethMGM1) technical group or [Contact Us](https://trtc.io/contact) for support.
@@ -2,16 +2,11 @@ This document provides step-by-step instructions for implementing offline push n
2
2
 
3
3
  ## Effect Preview
4
4
 
5
- |**Android (FCM)**|**iOS (APNs)**|
6
- |---------|---------|
7
- |||
8
-
9
5
  ## Activate the Service
10
6
 
11
7
  Navigate to [Chat Console > App Push > Integration Settings](https://console.trtc.io/chat/push-plugin-push-identifier), then click **Purchase Now** or **Free Trial** (each app can try the free trial once, valid for 7 days).
12
8
 
13
9
  > **Note:**
14
- >
15
10
  > After the push plugin trial or purchase expires, push services (including offline push for standard messages, broadcast/tag push, etc.) will be automatically disabled. To avoid business interruption, please [purchase](https://buy.intl.cloud.tencent.com/avc) or [renew](https://console.tencentcloud.com/expense/renewal) the service in advance.
16
11
  >
17
12
 
@@ -57,10 +52,6 @@ flutter pub add tencent_cloud_chat_push
57
52
 
58
53
  Once you complete the vendor push setup in the console, download and add the configuration files to your project. Place the downloaded `timpush-configs.json` in your app module's `assets` directory, and add `google-services.json` to your app directory.
59
54
 
60
- |**Select and download timpush-configs.json**|**Download google-services.json**|**Add to your project**|
61
- |---------|---------|---------|
62
- ||||
63
-
64
55
  ### Step 2: Integrate Android Push Plugin
65
56
 
66
57
  Add the following dependency to your project's `android/app/build.gradle` file:
@@ -73,7 +64,6 @@ implementation "com.tencent.timpush:fcm:latest.release"
73
64
  ```
74
65
 
75
66
  > **Note:**
76
- >
77
67
  > - TIMPush requires IM SDK version **7.9.5666** or higher. You can check version and update info in the [Changelog](https://pub.dev/packages/tencent_cloud_chat_push/changelog).
78
68
  > - The dependency version in `build.gradle` must match the version of `tencent_cloud_chat_push`.
79
69
 
@@ -96,7 +86,6 @@ public class MyApplication extends TencentCloudChatPushApplication {
96
86
  ```
97
87
 
98
88
  > **Note:**
99
- >
100
89
  > If you have an existing Application class, simply extend `TencentCloudChatPushApplication` and ensure `onCreate()` calls `super.onCreate();`.
101
90
  >
102
91
 
@@ -396,7 +385,7 @@ This is typically caused by APNs service instability. Try the following:
396
385
  4. Test on a different iOS device.
397
386
 
398
387
  ### Incoming call UI does not appear after app is killed?
399
- - Confirm that push notifications are received. If not, check if the IM console certificate was uploaded correctly. Refer to Step 1 of **Vendor Configuration.**
388
+ - Confirm that push notifications are received. If not, check if the IM console certificate was uploaded correctly. .**
400
389
 
401
390
  - Verify that FCM Data Message is selected in the console.
402
391
 
@@ -410,7 +399,3 @@ To enforce FCM channel usage, call:
410
399
  ``` java
411
400
  TIMPushManager.getInstance().forceUseFCMPushChannel(true);
412
401
  ```
413
-
414
- ## Contact Us
415
-
416
- If you have any questions or suggestions during integration or usage, join the [Telegram](https://t.me/+Lmw2MSqW6ethMGM1) technical discussion group or [contact us](https://trtc.io/contact) for support.
@@ -664,9 +664,6 @@ LoginStore.shared.setSelfInfo(userProfile: userProfile) { result in
664
664
  ### Switch Layout Modes
665
665
 
666
666
  **CallCoreView** supports three built-in layout modes. Use [setLayoutTemplate](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setlayouttemplate(_:)) to set the layout. If not set, **CallCoreView** will automatically use `Float` mode for 1v1 calls and `Grid` mode for multi-party calls.
667
- | <strong>Float Mode</strong> | <strong>Grid Mode</strong> | <strong>PIP Mode</strong> |
668
- | --- | --- | --- |
669
- | | | |
670
667
  | - <strong>Layout:</strong> While waiting, display your own video full screen. After answering, show the remote video full screen and your own video as a floating window.<br>- <strong>Interaction:</strong> Drag the small window or tap to swap big/small video. | - <strong>Layout:</strong> All participant videos are tiled in a grid. Best for 2+ participants. Tap to enlarge a video.<br>- <strong>Interaction:</strong> Tap a participant to enlarge their video. | - <strong>Layout:</strong> In 1v1, remote video is fixed; in multi-party, the active speaker is shown full screen.<br>- <strong>Interaction:</strong> Shows your own video while waiting, displays call timer after answering. |
671
668
 
672
669
  ``` swift
@@ -917,7 +914,6 @@ class CallViewController: UIViewController {
917
914
  AtomicXCore SDK supports system PiP via the underlying TRTC engine. When the app goes to the background, the call video can float as a system PiP window above other apps, allowing users to continue video calls while multitasking.
918
915
 
919
916
  > **Note:**
920
- >
921
917
  > 1. Add the `Background Modes` capability in Xcode's `Signing & Capabilities` and enable `Audio, AirPlay, and Picture in Picture`.
922
918
  > 2. Requires iOS 15.0 or later.
923
919
 
@@ -1075,7 +1071,3 @@ Congratulations! You have implemented the answer call feature. Next, see Making
1075
1071
  ### If the callee is offline and comes online within the call invitation timeout, will they receive the incoming call event?
1076
1072
 
1077
1073
  For one-on-one calls, if the callee comes online within the timeout, they will receive the incoming call invitation. For group calls, if the callee comes online within the timeout, up to 20 unprocessed group messages will be retrieved, and if there is a call invitation, the incoming call event will be triggered.
1078
-
1079
- ## Contact Us
1080
-
1081
- If you have any questions or suggestions during the integration or usage process, feel free to join our [Telegram technical group](https://t.me/+Lmw2MSqW6ethMGM1) or [contact us](https://trtc.io/contact) for support.
@@ -744,9 +744,6 @@ LoginStore.shared.setSelfInfo(userProfile: userProfile) { result in
744
744
  ### Switching Layout Modes
745
745
 
746
746
  **CallCoreView** supports three built-in layout modes. Use [setLayoutTemplate](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setlayouttemplate(_:)) to set the layout. If not set, **CallCoreView** will automatically use `Float` mode for 1-on-1 calls and `Grid` mode for multi-party calls.
747
- | <strong>Float Mode</strong> | <strong>Grid Mode</strong> | <strong>PIP Mode</strong> |
748
- | --- | --- | --- |
749
- | | | |
750
747
  | - <strong>Layout:</strong> While waiting, display your own video full screen. After answering, show the remote video full screen and your own video as a floating window.<br>- <strong>Interaction:</strong> Drag the small window or tap to swap big/small video. | - <strong>Layout:</strong> All participant videos are tiled in a grid. Best for 2+ participants. Tap to enlarge a video.<br>- <strong>Interaction:</strong> Tap a participant to enlarge their video. | - <strong>Layout:</strong> In 1v1, remote video is fixed; in multi-party, the active speaker is shown full screen.<br>- <strong>Interaction:</strong> Shows your own video while waiting, displays call timer after answering. |
751
748
 
752
749
  - **setLayoutTemplate Sample code:**
@@ -1012,7 +1009,6 @@ class CallViewController: UIViewController {
1012
1009
  AtomicXCore SDK supports system-level PiP via the underlying TRTC engine. When your app goes to the background, the call video can float above other apps as a system PiP window, so users can continue their video call while multitasking.
1013
1010
 
1014
1011
  > **Note:**
1015
- >
1016
1012
  > 1. In Xcode, add `Background Modes` under `Signing & Capabilities` and enable `Audio, AirPlay, and Picture in Picture`.
1017
1013
  > 2. Requires iOS 15.0 or later.
1018
1014
 
@@ -1243,7 +1239,3 @@ Congratulations! You’ve completed the "Make a Call" feature. Next, see Answer
1243
1239
  ### If the callee is offline and comes online within the call invitation timeout, will they receive the incoming call event?
1244
1240
 
1245
1241
  For one-on-one calls, if the callee comes online within the timeout, they will receive an incoming call invitation. For group calls, if the callee comes online within the timeout, up to 20 pending group messages will be retrieved. If there is a call invitation, the incoming call event will be triggered.
1246
-
1247
- ## Contact Us
1248
-
1249
- If you have any questions or suggestions during the integration or usage process, feel free to join our [Telegram technical group](https://t.me/+EPk6TMZEZMM5OGY1) or [contact us](https://trtc.io/contact) for support.
@@ -1,15 +1,11 @@
1
1
  This guide walks you through integrating VoIP Push functionality using the TIMPush service, designed for headless (UI-less) scenarios with AtomicXCore.
2
2
 
3
3
  > **Note:**
4
- >
5
4
  > - You must [activate the TIMPush service]( the Service) before using **VoIP** Push.
6
5
  > - LiveCommunicationKit requires iOS 17.4 or later.
7
6
  > - VoIP Push requires a dedicated certificate. Standard APNs push certificates cannot be reused. You must apply for a VoIP Push certificate separately through the Apple Developer portal.
8
7
 
9
8
  After following this guide to integrate Apple LiveCommunicationKit, your app will support native call experiences similar to WeChat. Even if your app is terminated or the device is locked, the system will present a full-screen incoming call interface automatically:
10
- | <strong>Before Answering</strong> | <strong>After Answering</strong> |
11
- | --- | --- |
12
- | | |
13
9
 
14
10
  # Prerequisites
15
11
 
@@ -18,7 +14,6 @@ After following this guide to integrate Apple LiveCommunicationKit, your app wil
18
14
  Go to the [Chat Console > Plugin Marketplace](https://console.trtc.io/) and click **Purchase Now** or **Free Trial** (each app is eligible for a one-time, 7-day free trial).
19
15
 
20
16
  > **Note:**
21
- >
22
17
  > The push plugin will stop providing push services (including offline message push and broadcast/tag push) when your trial or subscription expires. To prevent service interruption, please purchase or renew your subscription in advance.
23
18
  >
24
19
 
@@ -244,7 +239,6 @@ extension VoIPPushManager: PKPushRegistryDelegate {
244
239
  ```
245
240
 
246
241
  > **Note:**
247
- >
248
242
  > Only report the VoIP Token after the Chat SDK login is successful. Do not report immediately when the token is obtained.
249
243
  >
250
244
 
@@ -387,7 +381,6 @@ You can customize the caller information and call type shown on the incoming cal
387
381
  | capabilities | Conversation.Capabilities | Required | Call type:<br>- .video: video call (shows video icon)<br>- .playingTones: audio call (shows audio icon) |
388
382
 
389
383
  > **Note:**
390
- >
391
384
  > - After the user taps "Answer" or "Hang Up", the system will invoke the [ConversationManagerDelegate](https://developer.apple.com/documentation/livecommunicationkit/conversationmanagerdelegate) callback. Implement your answer/hang up logic in this callback (e.g., navigate to your call page, call the [CallStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstore/) API, etc.).
392
385
  > - Reference: [Apple LiveCommunicationKit](https://developer.apple.com/documentation/livecommunicationkit) Official Documentation
393
386
 
@@ -522,7 +515,3 @@ You can customize the incoming call notification using Conversation.Update, incl
522
515
  - Call type (capabilities: .video or .playingTones)
523
516
 
524
517
  - Other custom fields for more details, refer to the [Apple LiveCommunicationKit](https://developer.apple.com/documentation/livecommunicationkit) official documentation.
525
-
526
- # Contact Us
527
-
528
- If you have any questions or suggestions during integration or use, join the [Telegram](https://t.me/+Lmw2MSqW6ethMGM1) technical group or [Contact Us](https://trtc.io/contact) for support.