@tencent-rtc/mcp 1.6.3 → 1.6.5

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 (250) hide show
  1. package/index.js +0 -4
  2. package/knowledge/chunker.js +83 -54
  3. package/knowledge/path-meta.js +179 -26
  4. package/knowledge/search/exact-lookup.js +153 -0
  5. package/knowledge/search/filter-pool.js +73 -19
  6. package/knowledge/search/product-scope-intent.js +2 -2
  7. package/knowledge/search/requires-framework.js +2 -2
  8. package/knowledge/search/search-knowledge.js +235 -58
  9. package/package.json +1 -1
  10. package/resource/index/manifest.json +1 -1
  11. package/resource/integration/callkit/preset/android/integration.md +2 -4
  12. package/resource/integration/callkit/preset/flutter/integration.md +4 -5
  13. package/resource/integration/callkit/preset/ios/integration.md +1 -4
  14. package/resource/integration/callkit/preset/react/integration.md +13 -20
  15. package/resource/integration/callkit/preset/vue/integration.md +14 -21
  16. package/resource/integration/chat/preset/android/integration.md +6 -9
  17. package/resource/integration/chat/preset/flutter/integration.md +9 -12
  18. package/resource/integration/chat/preset/ios/integration.md +2 -4
  19. package/resource/integration/chat/preset/react/integration.md +0 -10
  20. package/resource/integration/livekit/preset/live/android/live-audience-integration.md +129 -0
  21. package/resource/integration/livekit/preset/live/android/live-host-integration.md +219 -0
  22. package/resource/integration/livekit/preset/live/android/live-list-integration.md +261 -0
  23. package/resource/integration/livekit/preset/live/android/prepare-integration.md +254 -0
  24. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +202 -0
  25. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +369 -0
  26. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +229 -0
  27. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +204 -0
  28. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -3
  29. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +0 -5
  30. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +0 -6
  31. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +5 -10
  32. package/resource/integration/roomkit/preset/vue/integration.md +0 -4
  33. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
  34. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +24 -0
  35. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
  36. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +7 -8
  37. package/resource/knowledge/callkit/core-sdk/android/make-call.md +5 -7
  38. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +3 -5
  39. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -6
  40. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -6
  41. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +4 -9
  42. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1 -4
  43. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +8 -11
  44. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +17 -23
  45. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +33 -0
  46. package/resource/knowledge/callkit/core-sdk/web/call-event.md +327 -0
  47. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +33 -0
  48. package/resource/knowledge/callkit/faq/android.md +0 -2
  49. package/resource/knowledge/callkit/faq/error-code.md +0 -2
  50. package/resource/knowledge/callkit/faq/flutter.md +2 -2
  51. package/resource/knowledge/callkit/faq/ios.md +3 -5
  52. package/resource/knowledge/callkit/faq/web.md +2 -3
  53. package/resource/knowledge/callkit/preset/android/api.md +2 -5
  54. package/resource/knowledge/callkit/preset/ios/api.md +0 -2
  55. package/resource/knowledge/callkit/preset/react/api.md +445 -0
  56. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +445 -0
  57. package/resource/knowledge/callkit/preset/vue/api.md +465 -0
  58. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +465 -0
  59. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
  60. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
  61. package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -1
  62. package/resource/knowledge/chat/preset/android/features/language.md +0 -1
  63. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
  64. package/resource/knowledge/chat/preset/android/features/message-list.md +2 -3
  65. package/resource/knowledge/chat/preset/android/features/search.md +0 -1
  66. package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
  67. package/resource/knowledge/chat/preset/android-view/integration.md +3 -11
  68. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
  69. package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -2
  70. package/resource/knowledge/chat/preset/flutter/features/search.md +5 -6
  71. package/resource/knowledge/chat/preset/flutter/features/theme.md +2 -2
  72. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
  73. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -2
  74. package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -2
  75. package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
  76. package/resource/knowledge/chat/preset/ios-uikit/integration.md +13 -15
  77. package/resource/knowledge/chat/preset/react/features/conversation-list.md +5 -5
  78. package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
  79. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  80. package/resource/knowledge/chat/preset/react/features/theme.md +0 -1
  81. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +7 -14
  82. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +5 -8
  83. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +15 -18
  84. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +1 -2
  85. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +15 -20
  86. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +10 -13
  87. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +2 -4
  88. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +4 -6
  89. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +2 -4
  90. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +2 -4
  91. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +1 -2
  92. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +8 -10
  93. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +5 -7
  94. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +7 -14
  95. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +6 -9
  96. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +1 -2
  97. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +15 -18
  98. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +15 -20
  99. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +10 -13
  100. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +2 -4
  101. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +4 -6
  102. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +2 -4
  103. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +2 -4
  104. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +1 -2
  105. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +8 -10
  106. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +3 -5
  107. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +7 -14
  108. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +5 -8
  109. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +1 -2
  110. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +6 -9
  111. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +5 -10
  112. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +3 -6
  113. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +2 -4
  114. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +4 -6
  115. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +2 -4
  116. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +2 -4
  117. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +1 -2
  118. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +4 -6
  119. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +3 -5
  120. package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +24 -24
  121. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +1 -2
  122. package/resource/knowledge/livekit/core-sdk/{live/android/live-gift.md → features/android/gift.md} +2 -3
  123. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-room-list.md → features/android/live-list.md} +2 -4
  124. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
  125. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +2 -2
  126. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-gift.md → features/flutter/gift.md} +2 -3
  127. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
  128. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -2
  129. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
  130. package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +2 -2
  131. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-gift.md → features/ios/gift.md} +2 -3
  132. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-room-list.md → features/ios/live-list.md} +2 -4
  133. package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  134. package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +5 -7
  135. package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +3 -6
  136. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +1 -1
  137. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +0 -2
  138. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -4
  139. package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  140. package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +2 -4
  141. package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +2 -5
  142. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +3 -5
  143. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +3 -6
  144. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +1 -2
  145. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +6 -9
  146. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +2 -2
  147. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +4 -6
  148. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +1 -4
  149. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +0 -2
  150. package/resource/knowledge/push/api-reference/android.md +123 -0
  151. package/resource/knowledge/push/api-reference/flutter.md +176 -0
  152. package/resource/knowledge/push/api-reference/harmonyos.md +138 -0
  153. package/resource/knowledge/push/api-reference/ios.md +176 -0
  154. package/resource/knowledge/push/api-reference/react-native.md +147 -0
  155. package/resource/knowledge/push/api-reference/uni-app.md +147 -0
  156. package/resource/knowledge/push/api-reference/unity.md +119 -0
  157. package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
  158. package/resource/knowledge/push/config/android.md +4 -7
  159. package/resource/knowledge/push/config/harmonyos.md +0 -3
  160. package/resource/knowledge/push/config/ios.md +12 -20
  161. package/resource/knowledge/push/config/react-native.md +18 -26
  162. package/resource/knowledge/push/config/unity.md +20 -28
  163. package/resource/knowledge/push/config/unreal-engine.md +21 -29
  164. package/resource/knowledge/push/integration/android.md +6 -8
  165. package/resource/knowledge/push/integration/flutter.md +6 -9
  166. package/resource/knowledge/push/integration/harmonyos.md +1 -0
  167. package/resource/knowledge/push/integration/ios.md +7 -9
  168. package/resource/knowledge/push/integration/react-native.md +9 -13
  169. package/resource/knowledge/push/integration/uni-app.md +7 -7
  170. package/resource/knowledge/push/integration/unity.md +10 -13
  171. package/resource/knowledge/push/integration/unreal-engine.md +6 -9
  172. package/resource/knowledge/push/overview/prepare.md +2 -2
  173. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +3 -3
  174. package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
  175. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +1 -1
  176. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +2 -2
  177. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +6 -6
  178. package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +79 -0
  179. package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
  180. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
  181. package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +79 -0
  182. package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
  183. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +1 -1
  184. package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +79 -0
  185. package/resource/knowledge/roomkit/preset/android/integration.md +5 -7
  186. package/resource/knowledge/roomkit/preset/flutter/integration.md +2 -7
  187. package/resource/knowledge/roomkit/preset/ios/integration.md +3 -9
  188. package/resource/knowledge/roomkit/preset/react/integration.md +12 -16
  189. package/resource/knowledge/trtc/android/TRTCCloud.md +154 -238
  190. package/resource/knowledge/trtc/android/TRTCCloudDef.md +133 -134
  191. package/resource/knowledge/trtc/android/TRTCCloudListener.md +86 -120
  192. package/resource/knowledge/trtc/android/TRTCStatistics.md +10 -10
  193. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +10 -30
  194. package/resource/knowledge/trtc/android/TXBeautyManager.md +25 -25
  195. package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
  196. package/resource/knowledge/trtc/android/TXLiteAVCode.md +12 -12
  197. package/resource/knowledge/trtc/c++/ITRTCCloud.md +166 -261
  198. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +12 -12
  199. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +10 -30
  200. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +9 -11
  201. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +96 -130
  202. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +122 -123
  203. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +12 -12
  204. package/resource/knowledge/trtc/ios/TRTCCloud.md +168 -255
  205. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +124 -125
  206. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +89 -124
  207. package/resource/knowledge/trtc/ios/TRTCStatistics.md +10 -10
  208. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +9 -28
  209. package/resource/knowledge/trtc/ios/TXBeautyManager.md +25 -25
  210. package/resource/knowledge/trtc/ios/TXDeviceManager.md +9 -11
  211. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +12 -12
  212. package/server-config.js +7 -4
  213. package/server.js +21 -21
  214. package/tools/common/finalize_answer.js +1 -1
  215. package/tools/common/present_framework_choice.js +2 -2
  216. package/tools/common/search_trtc_knowledge.js +3 -3
  217. package/tools/common/submit_feedback.js +1 -1
  218. package/tools/definitions/get_native_live_uikit_integration_def.js +61 -0
  219. package/tools/definitions/get_native_livekit_core_integration_def.js +3 -3
  220. package/tools/definitions/present_framework_choice_def.js +2 -2
  221. package/tools/definitions/search_trtc_knowledge_def.js +5 -5
  222. package/tools/index.js +2 -0
  223. package/tools/live/get_native_live_uikit_integration.js +69 -0
  224. package/tools/live/get_native_livekit_core_integration.js +6 -6
  225. package/utils/is-valid-sdkappid.js +4 -0
  226. package/utils/report-cls-client.js +1 -1
  227. package/utils/report-es-client.js +1 -1
  228. package/resource/knowledge/callkit/preset/web/api.md +0 -83
  229. package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -226
  230. package/resource/knowledge/livekit/core-sdk/live/android/live-live-list.md +0 -438
  231. package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -490
  232. package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
  233. package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -264
  234. package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -216
  235. package/resource/knowledge/livekit/core-sdk/live/ios/live-gift.md +0 -407
  236. package/resource/knowledge/livekit/core-sdk/live/ios/live-live-list.md +0 -349
  237. package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -269
  238. package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -456
  239. package/resource/knowledge/livekit/core-sdk/voice/android/voice-gift.md +0 -455
  240. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -260
  241. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -598
  242. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +0 -424
  243. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-barrage.md +0 -408
  244. /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
  245. /package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +0 -0
  246. /package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +0 -0
  247. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
  248. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
  249. /package/resource/knowledge/livekit/core-sdk/{live/ios/live-barrage.md → features/ios/barrage.md} +0 -0
  250. /package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -0
@@ -0,0 +1,465 @@
1
+ The TUICallKit API is the **audio and video call component that includes a UI interface**. With the TUICallKit API, you can swiftly develop audio and video call scenarios reminiscent of WeChat through simple interfaces. For further comprehensive steps to access this, please refer to: [Integrating TUICallKit](https://trtc.io/document/50993).
2
+
3
+ ## API Overview
4
+
5
+ |API|Description|
6
+ |---------|---------|
7
+ |[<TUICallKit/>](https://www.tencentcloud.com/document/product/647/51015#TUICallKit)|The core UI call component.|
8
+ |[init](https://www.tencentcloud.com/document/product/647/51015#init)|Initialize TUICallKit.|
9
+ |[calls](https://www.tencentcloud.com/document/product/647/51015#calls)|Initiate a one-to-one or multi-person call.|
10
+ |[join](https://www.tencentcloud.com/document/product/647/51015#join)|Proactively join a call.|
11
+ |[setCallingBell](https://www.tencentcloud.com/document/product/647/51015#setCallingBell)|Customize user's ringtone.|
12
+ |[setSelfInfo](https://www.tencentcloud.com/document/product/647/51015#setSelfInfo)|Set your own nickname and avatar.|
13
+ |[enableMuteMode](https://www.tencentcloud.com/document/product/647/51015#enableMuteMode)|Turn on/off ringtone.|
14
+ |[enableFloatWindow](https://www.tencentcloud.com/document/product/647/51015#enableFloatWindow)|Turn on/off the floating window function.|
15
+ |[enableVirtualBackground](https://www.tencentcloud.com/document/product/647/51015#enableVirtualBackground)|Turn on/off the blurred background function button.|
16
+ |[setLanguage](https://www.tencentcloud.com/document/product/647/51015#setLanguage)|Set the call language for the TUICallKit component.|
17
+ |[hideFeatureButton](https://www.tencentcloud.com/document/product/647/51015#hideFeatureButton)|Hidden Button.|
18
+ |[setLocalViewBackgroundImage](https://www.tencentcloud.com/document/product/647/51015#setLocalViewBackgroundImage)|Set the background image for the local user's call interface.|
19
+ |[setRemoteViewBackgroundImage](https://www.tencentcloud.com/document/product/647/51015#setRemoteViewBackgroundImage)|Set the background image for the remote user's call interface.|
20
+ |[setLayoutMode](https://www.tencentcloud.com/document/product/647/51015#setLayoutMode)|Set the call interface layout mode.|
21
+ |[setCameraDefaultState](https://www.tencentcloud.com/document/product/647/51015#setCameraDefaultState)|et whether the camera is opened by default.|
22
+ |[destroyed](https://www.tencentcloud.com/document/product/647/51015#destroyed)|Destroy TUICallKit.|
23
+ |[getTUICallEngineInstance](https://www.tencentcloud.com/document/product/647/51015#getTUICallEngineInstance)|Get TUICallEngine instance.|
24
+
25
+ ## `<TUICallKit/>` attributes
26
+
27
+ ### Attribute Overview
28
+
29
+ |Attribute|Description|Type|Required|Default Value|Vue|React|
30
+ |---------|---------|---------|---------|---------|---------|---------|
31
+ |allowedMinimized|Is the floating window permitted?|boolean|No|false|<br>√|√|
32
+ |allowedFullScreen|Whether to permit full screen mode for the call interface|boolean|No|true|√|√|
33
+ |[videoDisplayMode](https://www.tencentcloud.com/document/product/647/51015#videoDisplayMode)|Display mode for the call interface|VideoDisplayMode|No|VideoDisplayMode.COVER|√|√|
34
+ |[videoResolution](https://www.tencentcloud.com/document/product/647/51015#videoResolution)|Call Resolution|VideoResolution|No|VideoResolution.RESOLUTION_480P|√|√|
35
+ |beforeCalling|This function will be executed prior to making a call and before receiving an invitation to talk|function(type, error)|No|-|√|√|
36
+ |afterCalling|This function will be executed after the termination of the call|function()|No|-|√|√|
37
+ |onMinimized|This function will be executed when the component switches to a minimized state. The explanation for the STATUS value is|function(oldStatus, newStatus)|No|-|√|√|
38
+ |kickedOut|The events thrown by the component occur when the current logged-in user is ejected. The call will also automatically terminate|function()|No|-|√|×|
39
+ |statusChanged|Event thrown by the component; this event is triggered when the call status changes. For detailed types of call status, refer to STATUS value description|function({oldStatus, newStatus})|No|-|√|×|
40
+
41
+ ### Sample code
42
+
43
+ 【Vue3】
44
+ ``` bash
45
+ <template>
46
+ <TUICallKit
47
+ :allowedMinimized="true"
48
+ :allowedFullScreen="true"
49
+ :videoDisplayMode="VideoDisplayMode.CONTAIN"
50
+ :videoResolution="VideoResolution.RESOLUTION_1080P"
51
+ :beforeCalling="beforeCalling"
52
+ :afterCalling="afterCalling"
53
+ :onMinimized="onMinimized"
54
+ :kickedOut="handleKickedOut"
55
+ :statusChanged="handleStatusChanged"
56
+ />
57
+ </template>
58
+ <script lang="ts" setup>
59
+ import { TUICallKit, TUICallKitAPI, VideoDisplayMode, VideoResolution, STATUS } from "@trtc/calls-uikit-vue";
60
+
61
+ function beforeCalling(type: string, error: any) {
62
+ console.log("[TUICallkit Demo] beforeCalling:", type, error);
63
+ }
64
+ function afterCalling() {
65
+ console.log("[TUICallkit Demo] afterCalling");
66
+ }
67
+ function onMinimized(oldStatus: string, newStatus: string) {
68
+ console.log("[TUICallkit Demo] onMinimized: " + oldStatus + " -> " + newStatus);
69
+ }
70
+ function kickedOut() {
71
+ console.log("[TUICallkit Demo] kickedOut");
72
+ }
73
+ function statusChanged(args: { oldStatus: string; newStatus: string; }) {
74
+ const { oldStatus, newStatus } = args;
75
+ if (newStatus === STATUS.CALLING_C2C_VIDEO) {
76
+ console.log(`[TUICallkit Demo] statusChanged: ${oldStatus} -> ${newStatus}`);
77
+ }
78
+ }
79
+ </script>
80
+ ```
81
+
82
+ ## Detailed information on TUICallKitAPI API
83
+
84
+ 【Vue3】
85
+ ``` javascript
86
+ import { TUICallKitAPI } from "@trtc/calls-uikit-vue";
87
+ ```
88
+
89
+ ### init
90
+
91
+ Initialize TUICallKit.
92
+ ``` javascript
93
+ try {
94
+ await TUICallKitAPI.init({ SDKAppID, userID, userSig });
95
+ // If you already have a tim instance in your project, you need to pass it in here
96
+ // await TUICallKitAPI.init({ tim, SDKAppID, userID, userSig});
97
+ console.log("[TUICallKit] Initialization succeeds.");
98
+ } catch (error: any) {
99
+ console.error(`[TUICallKit] Initialization failed. Reason: ${error}`);
100
+ }
101
+ ```
102
+
103
+ The parameters are described below:
104
+ | Parameter | Type | Required | Meaning |
105
+ | --- | --- | --- | --- |
106
+ | SDKAppID | Number | Yes | The SDKAppID of your app, you can find your SDKAppID in the Live Audio and Video console. For details, see Activating Services |
107
+ | userID | String | Yes | The current user's ID is of string type, only allowing for the inclusion of English letters (a-z and A-Z), digits (0-9), hyphens (-) and underscores (_) |
108
+ | userSig | String | Yes | Use SDKSecretKey to encrypt SDKAppID, UserID and other information to obtain userSig.<br>It is an authentication ticket used by Tencent Cloud to identify whether the current user can use TRTC services. For how to obtain it, please refer to How to Calculate UserSig |
109
+ | tim | TencentCloudChat | No | tim is an instance of <a href="https://www.npmjs.com/package/@tencentcloud/chat">TencentCloudChat</a> SDK. |
110
+
111
+ ### calls
112
+
113
+ Initiate a one-to-one or multi-person call.
114
+ ``` javascript
115
+ try {
116
+ await TUICallKitAPI.calls({
117
+ userIDList: ['jack', 'tom'],
118
+ type: CallMediaType.VIDEO
119
+ });
120
+ } catch (error: any) {
121
+ console.error(`[TUICallKit] Failed to call the groupCall API. Reason:${error}`);
122
+ }
123
+ ```
124
+
125
+ The parameters are described below:
126
+ | <strong>Parameter</strong> | <strong>Type</strong> | <strong>Required</strong> | <strong>Meaning</strong> |
127
+ | --- | --- | --- | --- |
128
+ | userIDList | Array<String> | Yes | List of called users |
129
+ | type | <a href="https://www.tencentcloud.com/document/product/647/51015#Type">CallMediaType</a> | Yes | The type of media for the call, you can refer to CallMediaType for the explanation of parameter values |
130
+ | chatGroupID | String | Yes | chat group Id. |
131
+ | roomID | Number | No | Numerical Room ID, range [1, 2147483647] |
132
+ | strRoomID | String | No | String room ID. <strong>v3.3.1+ supported</strong><br><strong>range:</strong><br>Limited to 64 bytes in length. The supported character set range is as follows (a total of 89 characters):<br>- Lowercase and uppercase English letters.(a-zA-Z);<br>- Number(0-9);<br>- <code>Spaces</code>、<code>!</code>、<code>#</code>、<code>$</code>、<code>%</code>、<code>&</code>、<code>(</code>、<code>)</code>、<code>+</code>、<code>-</code>、<code>:</code>、<code>;</code>、<code><</code>、<code>=</code>、<code>.</code>、<code>></code>、<code>?</code>、<code>@</code>、<code>[</code>、<code>]</code>、<code>^</code>、<code>_</code>、<code>{</code>、<code>}</code>、<code>\\|</code>、<code>~</code>、<code>,</code>。<br>1. roomID and strRoomID are mutually exclusive, if you use strRoomID, then roomID should be 0. If you use both, the SDK will prioritize the roomID. 2.<br>2. don't mix roomID and strRoomID, because they are not interchangeable, for example, the number 123 and the string "123" are two completely different rooms. |
133
+ | timeout | Number | No | Call timeout, default: 30s, unit: seconds. timeout = 0, set to no timeout |
134
+ | userData | String | No | Customize the extended fields when initiating a call. The called user has this parameter in the ON_CALL_RECEIVED event. |
135
+ | <a href="https://www.tencentcloud.com/document/product/647/51015#offlinePushInfo">offlinePushInfo</a> | Object | No | Customize offline message push parameters |
136
+
137
+ ### join
138
+
139
+ Proactively join a call.
140
+ ``` javascript
141
+ try {
142
+ await TUICallKitAPI.join({
143
+ callId: 'xx'
144
+ });
145
+ } catch (error: any) {
146
+ console.error(`[TUICallKit] Failed to call the join API. Reason:${error}`);
147
+ }
148
+ ```
149
+
150
+ The parameters are described below:
151
+
152
+ |**Parameter**|**Type**|**Required**|**Meaning**|
153
+ |---------|---------|---------|---------|
154
+ |callId|String|Yes|Unique ID for this call|
155
+
156
+ ### setLanguage
157
+
158
+ Set language, currently supports: Chinese, English, Japanese.
159
+ ``` javascript
160
+ TUICallKitAPI.setLanguage("zh-cn"); // "en" | "zh-cn" | "ja_JP"
161
+ ```
162
+
163
+ The parameters are described below:
164
+
165
+ |Parameter|Type|Required|Meaning|
166
+ |---------|---------|---------|---------|
167
+ |lang|String|Yes|Language type `en`,`zh-cn` and `ja_JP`. |
168
+
169
+ ### setSelfInfo
170
+
171
+ Set your own nickname and avatar.
172
+
173
+ > **Note:**
174
+ >
175
+ > **If you use this interface to modify user information during a call, the UI will not be updated immediately, and you will need to wait until the next call to see the changes.**
176
+ >
177
+
178
+ ``` javascript
179
+ try {
180
+ await TUICallKitAPI.setSelfInfo({ nickName: "xxx", avatar: "http://xxx" });
181
+ } catch (error: any) {
182
+ console.error(`[TUICallKit] Failed to call the setSelfInfo API. Reason: ${error}`;
183
+ }
184
+ ```
185
+
186
+ The parameters are described below:
187
+
188
+ |Parameter|Type|Required|Meaning|
189
+ |---------|---------|---------|---------|
190
+ |nickName|String|Yes|own nickname|
191
+ |avatar|String|Yes|own avatar address|
192
+
193
+ ### setCallingBell
194
+ - Customize the user's incoming call ringtone.
195
+
196
+ - The input is restricted to the local MP3 format file address. It is imperative to ensure that the application has access to this file directory.
197
+
198
+ - Use the import method to import the ringtone file.
199
+
200
+ - If you need to restore the default ringtone, just pass empty filePath.
201
+
202
+ ``` javascript
203
+ import filePath from '../assets/phone_ringing.mp3';
204
+ try {
205
+ await TUICallKitAPI.setCallingBell(filePath);
206
+ } catch (error: any) {
207
+ console.error(`[TUICallKit] Failed to call the setCallingBell API. Reason: ${error}`);
208
+ }
209
+ ```
210
+
211
+ The parameters are described below:
212
+
213
+ |Parameter|Type|Required|Meaning|
214
+ |---------|---------|---------|---------|
215
+ |filePath|String|Yes|Ringtone file path|
216
+
217
+ ### enableFloatWindow
218
+
219
+ Turn on/off the floating window function. The default is false. The floating window button in the upper left corner of the call interface is hidden. It will be displayed after setting it to true.
220
+ ``` javascript
221
+ try {
222
+ const enable = true;
223
+ await TUICallKitAPI.enableFloatWindow(enable);
224
+ } catch (error: any) {
225
+ console.error(`[TUICallKit] Failed to call the enableFloatWindow API. Reason: ${error}`);
226
+ }
227
+ ```
228
+
229
+ The parameters are described below:
230
+
231
+ |Parameter|Type|Required|Meaning|
232
+ |---------|---------|---------|---------|
233
+ |enable|Boolean|Yes|Turn on/off the floating window function. default false.|
234
+
235
+ ### enableMuteMode
236
+
237
+ Turn on/off the ringtone for incoming calls. When turned on, the incoming call ringtone will not be played when a call request is received.
238
+ ``` javascript
239
+ try {
240
+ const enable = true;
241
+ await TUICallKitAPI.enableMuteMode(enable);
242
+ } catch (error: any) {
243
+ console.error(`[TUICallKit] Failed to call the enableMuteMode API. Reason: ${error}`);
244
+ }
245
+ ```
246
+
247
+ ### enableVirtualBackground
248
+
249
+ Turn on/off the blurred background function. If you want to set the picture background to be blurry see Web. By calling the interface, you can display the blurred background function button on the UI, and click the button to directly enable the blurred background function.
250
+ ``` javascript
251
+ import { TUICallKitAPI } from "@trtc/calls-uikit-react";
252
+ const enable = true;
253
+ TUICallKitAPI.enableVirtualBackground(enable);
254
+ ```
255
+
256
+ The parameters are described below:
257
+ | Parameter | Type | Required | Meaning |
258
+ | --- | --- | --- | --- |
259
+ | enable | boolean | Yes | - enable = true, show blur background button<br>- enable = false, don't show blur background button |
260
+
261
+ ### destroyed
262
+ - Terminate the TUICallKit instance.
263
+
264
+ - This method won't automatically log out of `tim`, manual logging out is required: `tim.logout();`.
265
+
266
+ ``` javascript
267
+ try {
268
+ await TUICallKitAPI.destroyed();
269
+ } catch (error: any) {
270
+ console.error(`[TUICallKit] Failed to call the destroyed API. Reason: ${error}`);
271
+ }
272
+ ```
273
+
274
+ ### hideFeatureButton
275
+
276
+ Hidden feature buttons, currently only support Camera, Microphone, and Switch Camera Button.
277
+ ``` typescript
278
+ TUICallKitAPI.hideFeatureButton(buttonName: FeatureButton);
279
+ ```
280
+
281
+ The parameters are described below:
282
+
283
+ |**Parameter**|**Type**|**Required**|**Meaning**|
284
+ |---------|---------|---------|---------|
285
+ |buttonName|[FeatureButton](https://www.tencentcloud.com/document/product/647/51015#FeatureButton)|Yes|Button Name|
286
+
287
+ ### setLocalViewBackgroundImage
288
+
289
+ Set the background image for the local user's call interface.
290
+ ``` typescript
291
+ TUICallKitAPI.setLocalViewBackgroundImage(url: string);
292
+ ```
293
+
294
+ The parameters are described below:
295
+
296
+ |**Parameter**|**Type**|**Required**|**Meaning**|
297
+ |---------|---------|---------|---------|
298
+ |url|string|Yes|Image Address (supports Local Path and Network Address)|
299
+
300
+ ### setRemoteViewBackgroundImage
301
+
302
+ Set the background image for the remote user's call interface.
303
+ ``` typescript
304
+ TUICallKitAPI.setRemoteViewBackgroundImage(userId: string, url: string);
305
+ ```
306
+
307
+ The parameters are described below:
308
+
309
+ |**Parameter**|**Type**|**Required**|**Meaning**|
310
+ |---------|---------|---------|---------|
311
+ |userId|string|Yes|Remote User userId, setting to '*' means it applies to all Remote Users|
312
+ |url|string|Yes|Image Address (supports Local Path and Network Address)|
313
+
314
+ ### setLayoutMode
315
+
316
+ Set the call interface layout mode.
317
+
318
+ 【Vue】
319
+ ``` javascript
320
+ import { TUICallKitAPI, LayoutMode } from "@trtc/calls-uikit-vue";
321
+ TUICallKitAPI.setLayoutMode(LayoutMode.LocalInLargeView);
322
+ ```
323
+
324
+ Parameter list:
325
+
326
+ |**Parameter**|**Type**|**Required**|**Meaning**|
327
+ |---------|---------|---------|---------|
328
+ |layoutMode|[LayoutMode](https://www.tencentcloud.com/document/product/647/51015#LayoutMode)|Yes|User flow layout mode|
329
+
330
+ ### setCameraDefaultState
331
+
332
+ Set whether the camera is on by default.
333
+ ``` javascript
334
+ TUICallKitAPI.setCameraDefaultState(true);
335
+ ```
336
+
337
+ Parameter list:
338
+
339
+ |Parameter|Type|Required|Meaning|
340
+ |---------|---------|---------|---------|
341
+ |isOpen|boolean|Yes|Whether to enable the camera|
342
+
343
+ ### getTUICallEngineInstance
344
+
345
+ Get TUICallEngine instance.
346
+ ``` javascript
347
+ TUICallKitAPI.getTUICallEngineInstance();
348
+ ```
349
+
350
+ ## TUICallKit Type Definition
351
+
352
+ ### videoDisplayMode
353
+
354
+ There are three values for the `videoDisplayMode` display mode:
355
+ - `VideoDisplayMode.CONTAIN`
356
+
357
+ - `VideoDisplayMode.COVER`
358
+
359
+ - `VideoDisplayMode.FILL`, the default value is `VideoDisplayMode.COVER`.
360
+
361
+ | Attribute | Value | Description |
362
+ | --- | --- | --- |
363
+ | videoDisplayMode | VideoDisplayMode.CONTAIN | - Ensuring the full display of video content is our top priority.<br>- The dimensions of the video are scaled proportionally until one side aligns with the frame of the viewing window.<br>- In case of discrepancy in sizes between the video and the display window, the video is scaled - on the premise of maintaining the aspect ratio - to fill the window, resulting in a black border around the scaled video. |
364
+ | VideoDisplayMode.COVER | - Priority is given to ensure that the viewing window is filled.<br>- The video size is scaled proportionally until the entire window is filled.<br>- If the video's dimensions are different from those of the display window, the video stream will be cropped or stretched to match the window's ratio. | |
365
+ | VideoDisplayMode.FILL | - Ensuring that the entire video content is displayed while filling the window does not guarantee preservation of the original video's proportion.<br>- The dimensions of the video will be stretched to match those of the window. | |
366
+
367
+ ### videoResolution
368
+
369
+ The resolution `videoResolution` has three possible values:
370
+ - `VideoResolution.RESOLUTION_480P`
371
+
372
+ - `VideoResolution.RESOLUTION_720P`
373
+
374
+ - `VideoResolution.RESOLUTION_1080P`, the default value is `VideoResolution.RESOLUTION_480P`.
375
+
376
+ **Resolution Explanation:**
377
+
378
+ |Video Profile|Resolution (W x H)|Frame Rate (fps)|Bitrate (Kbps)|
379
+ |---------|---------|---------|---------|
380
+ |480p|640 × 480|15|900|
381
+ |720p|1280 × 720|15|1500|
382
+ |1080p|1920 × 1080|15|2000|
383
+
384
+ **Frequently Asked Questions:**
385
+
386
+ - iOS 13&14 does not support encoding videos higher than 720P. It is suggested to limit the highest collection to 720P on these two system versions. Refer to [iOS Safari known issue case 12](https://web.sdk.qcloud.com/trtc/webrtc/doc/en/tutorial-02-info-webrtc-issues.html#h2-4).
387
+
388
+ - Firefox does not permit the customization of video frame rates (default is set to 30fps).
389
+
390
+ - Due to the influence of system performance usage, camera collection capabilities, browser restrictions, and other factors, the actual values of video resolution, frame rate, and bit rate may not necessarily match the set values exactly. In such scenarios, the browser will automatically adjust the Profile to get as close to the set values as feasible.
391
+
392
+ ### STATUS
393
+
394
+ |STATUS attribute value|Description|
395
+ |---------|---------|
396
+ |STATUS.IDLE|Idle status|
397
+ |STATUS.BE_INVITED|Received an Audio/Video Call Invite|
398
+ |STATUS.DIALING_C2C|Initiating a one-to-one call|
399
+ |STATUS.DIALING_GROUP|Initiating a group call|
400
+ |STATUS.CALLING_C2C_AUDIO|Engaged in a 1v1 Audio Call|
401
+ |STATUS.CALLING_C2C_VIDEO|In the midst of a one-to-one video call|
402
+ |STATUS.CALLING_GROUP_AUDIO|Engaged in Group Audio Communication|
403
+ |STATUS.CALLING_GROUP_VIDEO|Engaged in group video call|
404
+
405
+ ### **CallMediaType**
406
+
407
+ |CallMediaType Type|Description|
408
+ |---------|---------|
409
+ |CallMediaType.AUDIO_CALL |Audio Call|
410
+ |CallMediaType.VIDEO |Video Call|
411
+
412
+ ### **offlinePushInfo**
413
+
414
+ |Parameter|Type|Required|Meaning|
415
+ |---------|---------|---------|---------|
416
+ |offlinePushInfo.title|String|No|Offline Push Title (Optional)|
417
+ |offlinePushInfo.description|String|No|Offline Push Content (Optional)|
418
+ |offlinePushInfo.androidOPPOChannelID|String|No|Setting the channel ID for OPPO phones with 8.0 system and above for offline pushes (Optional)|
419
+ |offlinePushInfo.extension|String|No|Offline push through content. Can be used to set Android [Notification mode]( mode) and [VoIP mode]( mode). **Default**: Notification mode, it will be a notification from the system; VoIP mode is required to pass the field.|
420
+ |offlinePushInfo.ignoreIOSBadge|Boolean|No|Ignore badge count for offline push (only for iOS), if set to true, the message will not increase the unread count of the app icon on the iOS receiver's side.|
421
+ |offlinePushInfo.iOSSound|String|No|Offline push sound setting (only for iOS).|
422
+ |offlinePushInfo.androidSound|String|No|Offline push sound setting.|
423
+ |offlinePushInfo.androidVIVOClassification|Number|No|Classification of VIVO push messages (deprecated interface, VIVO push service will optimize message classification rules on April 3, 2023. It is recommended to use setAndroidVIVOCategory to set the message category). 0: Operational messages, 1: System messages. The default value is 1. |
424
+ |offlinePushInfo.androidXiaoMiChannelID|String|No|Set the channel ID for Xiaomi phones with Android 8.0 and above systems. |
425
+ |offlinePushInfo.androidFCMChannelID|String|No|Set the channel ID for google phones with Android 8.0 and above systems.|
426
+ |offlinePushInfo.androidHuaWeiCategory|String|No|Classification of Huawei push messages. |
427
+ |offlinePushInfo.isDisablePush|Boolean|No|Whether to turn off push notifications (default is on). |
428
+ |offlinePushInfo.iOSPushType|Number|No|iOS offline push type,default is 0。0-APNs;1-VoIP. |
429
+
430
+ #### Android Notification Mode
431
+ ``` javascript
432
+ const extension = {
433
+ timPushFeatures: {
434
+ fcmPushType: 0, // 0, VoIP; 1, notification
435
+ }
436
+ };
437
+ offlinePushInfo.extension = JSON.stringify(extension);
438
+ ```
439
+
440
+ #### Android VoIP Mode
441
+ ``` javascript
442
+ const extension = {
443
+ timPushFeatures: {
444
+ fcmPushType: 0, // 0, data; 1, notification
445
+ fcmNotificationType: 1, // 0, TIMPush implementation; 1, business implementation after transparent transmission
446
+ }
447
+ };
448
+ offlinePushInfo.extension = JSON.stringify(extension);
449
+ ```
450
+
451
+ ### FeatureButton
452
+
453
+ |FeatureButton Type|Description|
454
+ |---------|---------|
455
+ |FeatureButton.Camera|Camera Button|
456
+ |FeatureButton.Microphone|Microphone Button|
457
+ |FeatureButton.SwitchCamera|Switches between the front and rear cameras.|
458
+ |FeatureButton.InviteUser|Invite users button|
459
+
460
+ ### LayoutMode
461
+
462
+ |LayoutMode type|Description|
463
+ |---------|---------|
464
+ |LayoutMode.LocalInLargeView|Local user in large window display|
465
+ |LayoutMode.RemoteInLargeView|Remote user in large window display|
@@ -0,0 +1,16 @@
1
+ ---
2
+ product: 'Chat'
3
+ tech_stack: 'chat'
4
+ framework: 'web'
5
+ title: 'Image Message URL Handling (blob vs imageUrl)'
6
+ keywords: ['sendMessage', 'imageInfoArray', 'imageUrl', 'blob URL', 'image message', 'sending flow']
7
+ ---
8
+
9
+ # Image Message URL Handling (blob vs imageUrl) and Sending Flow
10
+
11
+ 1. When sending an image message, `imageInfoArray[x].url` returns a `blob:` local preview address. After the message is sent successfully, `imageInfoArray[x].url` still remains an in-memory URL and is not updated to the server-side URL.
12
+ 2. If you need a server-accessible URL, use the `imageInfoArray[x].imageUrl` field from the message returned upon successful sending. Both `url` and `imageUrl` exist on the `imageInfoArray[x]` object at the same time.
13
+ 3. When you re-login after a refresh and enter a conversation to pull roaming messages, `imageInfoArray[x].url` is the server-side URL by default.
14
+ 4. Image message sending flow: `createImageMessage` -> `sendMessage` -> `internal upload process` -> `send message to the IM backend after a successful upload`.
15
+ 5. If you need to listen for the file upload progress, you can pass an `onProgress` callback function when calling `createImageMessage`.
16
+ 6. SDK Message structure reference: [Message](https://trtc.io/document/47990).
@@ -34,7 +34,7 @@ ChatSetting consists of two main components: C2CChatSetting (C2C Chat Settings)
34
34
  | <code>GroupChatSetting</code> | <code>groupID: String</code> | Group ID. Used to identify the group chat. |
35
35
  | <code>modifier: Modifier</code> | Jetpack Compose modifier for setting the component's style, layout, behavior, and appearance. | |
36
36
  | <code>onSendMessageClick: () -> Unit</code> | Webhook triggered when the Send Message button is clicked. Optional parameter. | |
37
- | <code>onGroupMemberClick: (GroupMember) -> Unit </code> | Webhook triggered when a group member is clicked. Optional parameter. | |
37
+ | <code>onGroupMemberClick: (GroupMember) -> Unit</code> | Webhook triggered when a group member is clicked. Optional parameter. | |
38
38
  | <code>onGroupDelete: () -> Unit</code> | Webhook triggered when the Dissolve/Leave Group button is clicked. Optional parameter. | |
39
39
  | <code>groupChatSettingViewModelFactory: GroupChatSettingViewModelFactory</code> | Factory for creating the internal GroupChatSettingViewModel. Typically, you do not need to provide this manually, as the component supplies a default implementation. | |
40
40
 
@@ -112,6 +112,6 @@ ConversationList() {
112
112
  ```
113
113
 
114
114
  The following images show the customization effects:
115
- | <strong>Conversation Actions</strong><br><strong> (Default Options)</strong> | <strong>Conversation Actions</strong><br><strong> (Delete Option Hidden)</strong> | <strong>Conversation Actions </strong><br><strong>(Share Option Added)</strong> |
115
+ | <strong>Conversation Actions</strong><br><strong>(Default Options)</strong> | <strong>Conversation Actions</strong><br><strong>(Delete Option Hidden)</strong> | <strong>Conversation Actions</strong><br><strong>(Share Option Added)</strong> |
116
116
  | --- | --- | --- |
117
117
  | | | |
@@ -30,7 +30,6 @@ AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags("zh"))
30
30
 
31
31
  > **Notice:**
32
32
  >
33
-
34
33
  > The `setApplicationLocales` method requires a dependency on androidx.appcompat:appcompat, version 1.6.0 or higher.
35
34
  >
36
35
 
@@ -16,7 +16,7 @@ MessageInput consists of the main input component and a style configuration prot
16
16
  #### Public Methods
17
17
  | Method | Parameter | Description |
18
18
  | --- | --- | --- |
19
- | <code> MessageInput</code> | <code>conversationID: String</code> | Conversation ID that identifies the current chat session.<br>- For C2C Chat, use the format c2c_userID.<br>- For group chat, use group_groupID. |
19
+ | <code>MessageInput</code> | <code>conversationID: String</code> | Conversation ID that identifies the current chat session.<br>- For C2C Chat, use the format c2c_userID.<br>- For group chat, use group_groupID. |
20
20
  | <code>modifier: Modifier</code> | Jetpack Compose modifier for configuring style, layout, behavior, and appearance. | |
21
21
  | <code>config: MessageInputConfigProtocol</code> | Input style configuration that controls which function buttons are displayed. | |
22
22
  | <code>messageInputViewModelFactory: MessageInputViewModelFactory</code> | Factory for creating the internal MessageInputViewModel. Typically, you do not need to provide this manually, as a default implementation is available. | |
@@ -23,7 +23,7 @@ MessageList exposes only its initialization method; all other logic is handled i
23
23
  | Method | Parameter | Description |
24
24
  | --- | --- | --- |
25
25
  | <code>MessageList</code> | <code>conversationID: String</code> | Initializes the component and sets the conversation ID.<br>- For C2C Chat, use the format c2c_userID.<br>- For group chat, use group_groupID. |
26
- | <code>modifier: Modifier </code> | Jetpack Compose modifier for setting style, layout, behavior, and appearance. | |
26
+ | <code>modifier: Modifier</code> | Jetpack Compose modifier for setting style, layout, behavior, and appearance. | |
27
27
  | <code>config: MessageListConfigProtocol</code> | Initializes the component and applies message list styles. | |
28
28
  | <code>customActions: List</code> | Initializes the component and adds custom message menu actions. | |
29
29
  | <code>locateMessage: MessageInfo?</code> | Initializes the component and sets the message to locate. Typically used to jump from message search results to the target message. | |
@@ -132,11 +132,10 @@ MessageList(
132
132
 
133
133
  > **Note:**
134
134
  >
135
-
136
135
  > Local configuration takes precedence over global configuration.
137
136
  >
138
137
 
139
138
  Customization examples:
140
- | <strong>Message List Actions</strong><br><strong> (Default Options)</strong> | <strong>Message List Actions</strong><br><strong> (Copy Option Hidden)</strong> | <strong>Message List Actions </strong><br><strong>(Share Option Added)</strong> |
139
+ | <strong>Message List Actions</strong><br><strong>(Default Options)</strong> | <strong>Message List Actions</strong><br><strong>(Copy Option Hidden)</strong> | <strong>Message List Actions</strong><br><strong>(Share Option Added)</strong> |
141
140
  | --- | --- | --- |
142
141
  | | | |
@@ -4,7 +4,6 @@ Search component provides users with a complete set of features, including a sea
4
4
 
5
5
  > **Note:**
6
6
  >
7
-
8
7
  > Search function is available in the Pro edition or Enterprise edition. You can use this feature after purchasing the Pro edition or Enterprise edition package. For details, see [Pricing Information](https://trtc.io/document/67650).
9
8
  >
10
9
 
@@ -176,7 +176,7 @@ Column {
176
176
  }
177
177
  ```
178
178
 
179
- > **Usage Recommendations****:**
179
+ > **Usage Recommendations:**
180
180
  >
181
181
  > - For most apps, using the JSON configuration file is recommended. It’s simple, reliable, and ensures cross-platform consistency.
182
182
  > - Use colors from themeState.colors throughout your app to maintain a consistent look when switching themes.
@@ -24,17 +24,12 @@ TUIKit provides a complete set of instant messaging UI components. It depends on
24
24
 
25
25
  - SDKSecretKey: The application secret key.
26
26
 
27
+ > **Version Compatibility Notice:**
27
28
  >
28
-
29
- > **Version Compatibility Notice:**
30
- >
31
- >
32
-
33
29
  > To ensure a stable build environment, strictly follow the official compatibility requirements:
34
30
  >
35
- > - For compatibility between Gradle, Android Gradle Plugin, JDK, and Android Studio, see the Android official documentation: [Release Notes](https://developer.android.com/build/releases/gradle-plugin#updating-gradle)
36
- > - For the mapping between Kotlin, Android Gradle Plugin, and Gradle versions, see the Kotlin official documentation: [Kotlin-Gradle Plugin Compatibility](https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin)
37
-
31
+ > - For compatibility between Gradle, Android Gradle Plugin, JDK, and Android Studio, see the Android official documentation: [Release Notes](https://developer.android.com/build/releases/gradle-plugin#updating-gradle)
32
+ > - For the mapping between Kotlin, Android Gradle Plugin, and Gradle versions, see the Kotlin official documentation: [Kotlin-Gradle Plugin Compatibility](https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin)
38
33
  > We recommend selecting a version combination that fully matches your project requirements according to these guidelines.
39
34
  >
40
35
 
@@ -140,7 +135,6 @@ In [Console > Development Tools > UserSig Tools](https://console.trtc.io/usersig
140
135
 
141
136
  > **Description:**
142
137
  >
143
-
144
138
  > For more UserSig operations, see UserSig Generation & Verification.
145
139
  >
146
140
 
@@ -169,7 +163,6 @@ LoginStore.shared.login(
169
163
 
170
164
  > **Note:**
171
165
  >
172
-
173
166
  > In a production environment, we recommend generating UserSig on your server. When needed, your app should request a dynamic UserSig from your business server for authentication. For details, see [Generating UserSig on the Server](https://intl.cloud.tencent.com/document/product/1047/34385).
174
167
  >
175
168
 
@@ -240,7 +233,6 @@ class ChatActivity : AppCompatActivity() {
240
233
 
241
234
  > **Note:**
242
235
  >
243
-
244
236
  > The Activity that hosts the chat page **must** use a Material Components theme, such as `setTheme(com.google.android.material.R.style.Theme_MaterialComponents_Light_NoActionBar)`. Otherwise, Material controls used inside `ChatPageView` may crash at runtime because required theme attributes are missing.
245
237
  >
246
238
 
@@ -119,7 +119,6 @@ Expanded(
119
119
 
120
120
  > **Note:**
121
121
  >
122
-
123
122
  > Local configuration takes precedence over global configuration.
124
123
  >
125
124
 
@@ -149,10 +149,9 @@ MessageList(
149
149
 
150
150
  > **Note:**
151
151
  >
152
-
153
152
  > Local configurations override global configuration settings.
154
153
  >
155
154
 
156
- | <strong>Message List Actions </strong><br><strong>(Default Options)</strong> | <strong>Message List Actions</strong><br><strong> (Copy Option Hidden)</strong> | <strong>Message List Actions </strong><br><strong>(Share Option Added)</strong> |
155
+ | <strong>Message List Actions</strong><br><strong>(Default Options)</strong> | <strong>Message List Actions</strong><br><strong>(Copy Option Hidden)</strong> | <strong>Message List Actions</strong><br><strong>(Share Option Added)</strong> |
157
156
  | --- | --- | --- |
158
157
  | | | |