@tencent-rtc/mcp 1.6.4 → 1.6.6

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 (251) hide show
  1. package/knowledge/chunker.js +83 -54
  2. package/knowledge/path-meta.js +179 -26
  3. package/knowledge/search/exact-lookup.js +168 -10
  4. package/knowledge/search/filter-pool.js +73 -19
  5. package/knowledge/search/product-scope-intent.js +2 -2
  6. package/knowledge/search/requires-framework.js +2 -2
  7. package/knowledge/search/search-knowledge.js +247 -61
  8. package/package.json +1 -1
  9. package/resource/index/manifest.json +1 -1
  10. package/resource/integration/callkit/preset/android/integration.md +2 -4
  11. package/resource/integration/callkit/preset/flutter/integration.md +4 -5
  12. package/resource/integration/callkit/preset/ios/integration.md +1 -4
  13. package/resource/integration/callkit/preset/react/integration.md +13 -20
  14. package/resource/integration/callkit/preset/vue/integration.md +14 -21
  15. package/resource/integration/chat/preset/android/integration.md +6 -9
  16. package/resource/integration/chat/preset/flutter/integration.md +9 -12
  17. package/resource/integration/chat/preset/ios/integration.md +2 -4
  18. package/resource/integration/chat/preset/react/integration.md +0 -10
  19. package/resource/integration/livekit/preset/live/android/live-audience-integration.md +129 -0
  20. package/resource/integration/livekit/preset/live/android/live-host-integration.md +219 -0
  21. package/resource/integration/livekit/preset/live/android/live-list-integration.md +261 -0
  22. package/resource/integration/livekit/preset/live/android/prepare-integration.md +254 -0
  23. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +202 -0
  24. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +369 -0
  25. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +229 -0
  26. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +204 -0
  27. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -3
  28. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +0 -5
  29. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +0 -6
  30. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +5 -10
  31. package/resource/integration/roomkit/preset/vue/integration.md +0 -4
  32. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
  33. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +24 -0
  34. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
  35. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +7 -8
  36. package/resource/knowledge/callkit/core-sdk/android/make-call.md +5 -7
  37. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +3 -5
  38. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -6
  39. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -6
  40. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +4 -9
  41. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1 -4
  42. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +8 -11
  43. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +17 -23
  44. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +33 -0
  45. package/resource/knowledge/callkit/core-sdk/web/call-event.md +327 -0
  46. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +33 -0
  47. package/resource/knowledge/callkit/faq/android.md +0 -2
  48. package/resource/knowledge/callkit/faq/error-code.md +0 -2
  49. package/resource/knowledge/callkit/faq/flutter.md +2 -2
  50. package/resource/knowledge/callkit/faq/ios.md +3 -5
  51. package/resource/knowledge/callkit/faq/web.md +2 -3
  52. package/resource/knowledge/callkit/preset/android/api.md +2 -5
  53. package/resource/knowledge/callkit/preset/ios/api.md +0 -2
  54. package/resource/knowledge/callkit/preset/react/api.md +445 -0
  55. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +445 -0
  56. package/resource/knowledge/callkit/preset/vue/api.md +465 -0
  57. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +465 -0
  58. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
  59. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
  60. package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -1
  61. package/resource/knowledge/chat/preset/android/features/language.md +0 -1
  62. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
  63. package/resource/knowledge/chat/preset/android/features/message-list.md +2 -3
  64. package/resource/knowledge/chat/preset/android/features/search.md +0 -1
  65. package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
  66. package/resource/knowledge/chat/preset/android-view/integration.md +3 -11
  67. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
  68. package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -2
  69. package/resource/knowledge/chat/preset/flutter/features/search.md +5 -6
  70. package/resource/knowledge/chat/preset/flutter/features/theme.md +2 -2
  71. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
  72. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -2
  73. package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -2
  74. package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
  75. package/resource/knowledge/chat/preset/ios-uikit/integration.md +13 -15
  76. package/resource/knowledge/chat/preset/react/features/conversation-list.md +5 -5
  77. package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
  78. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  79. package/resource/knowledge/chat/preset/react/features/theme.md +0 -1
  80. package/resource/knowledge/chat/urls/sdk/android.md +3 -3
  81. package/resource/knowledge/chat/urls/sdk/flutter.md +3 -3
  82. package/resource/knowledge/chat/urls/sdk/ios.md +3 -3
  83. package/resource/knowledge/chat/urls/sdk/web.md +3 -3
  84. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +7 -14
  85. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +5 -8
  86. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +15 -18
  87. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +1 -2
  88. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +15 -20
  89. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +10 -13
  90. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +2 -4
  91. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +4 -6
  92. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +2 -4
  93. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +2 -4
  94. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +1 -2
  95. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +8 -10
  96. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +5 -7
  97. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +7 -14
  98. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +6 -9
  99. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +1 -2
  100. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +15 -18
  101. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +15 -20
  102. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +10 -13
  103. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +2 -4
  104. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +4 -6
  105. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +2 -4
  106. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +2 -4
  107. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +1 -2
  108. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +8 -10
  109. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +3 -5
  110. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +7 -14
  111. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +5 -8
  112. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +1 -2
  113. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +6 -9
  114. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +5 -10
  115. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +3 -6
  116. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +2 -4
  117. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +4 -6
  118. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +2 -4
  119. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +2 -4
  120. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +1 -2
  121. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +4 -6
  122. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +3 -5
  123. package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +24 -24
  124. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +1 -2
  125. package/resource/knowledge/livekit/core-sdk/{live/android/live-gift.md → features/android/gift.md} +2 -3
  126. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-room-list.md → features/android/live-list.md} +2 -4
  127. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
  128. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +2 -2
  129. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-gift.md → features/flutter/gift.md} +2 -3
  130. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
  131. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -2
  132. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
  133. package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +2 -2
  134. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-gift.md → features/ios/gift.md} +2 -3
  135. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-room-list.md → features/ios/live-list.md} +2 -4
  136. package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  137. package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +5 -7
  138. package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +3 -6
  139. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +1 -1
  140. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +0 -2
  141. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -4
  142. package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  143. package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +2 -4
  144. package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +2 -5
  145. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +3 -5
  146. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +3 -6
  147. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +1 -2
  148. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +6 -9
  149. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +2 -2
  150. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +4 -6
  151. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +1 -4
  152. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +0 -2
  153. package/resource/knowledge/push/api-reference/android.md +123 -0
  154. package/resource/knowledge/push/api-reference/flutter.md +176 -0
  155. package/resource/knowledge/push/api-reference/harmonyos.md +138 -0
  156. package/resource/knowledge/push/api-reference/ios.md +176 -0
  157. package/resource/knowledge/push/api-reference/react-native.md +147 -0
  158. package/resource/knowledge/push/api-reference/uni-app.md +147 -0
  159. package/resource/knowledge/push/api-reference/unity.md +119 -0
  160. package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
  161. package/resource/knowledge/push/config/android.md +4 -7
  162. package/resource/knowledge/push/config/harmonyos.md +0 -3
  163. package/resource/knowledge/push/config/ios.md +12 -20
  164. package/resource/knowledge/push/config/react-native.md +18 -26
  165. package/resource/knowledge/push/config/unity.md +20 -28
  166. package/resource/knowledge/push/config/unreal-engine.md +21 -29
  167. package/resource/knowledge/push/integration/android.md +6 -8
  168. package/resource/knowledge/push/integration/flutter.md +6 -9
  169. package/resource/knowledge/push/integration/harmonyos.md +1 -0
  170. package/resource/knowledge/push/integration/ios.md +7 -9
  171. package/resource/knowledge/push/integration/react-native.md +9 -13
  172. package/resource/knowledge/push/integration/uni-app.md +7 -7
  173. package/resource/knowledge/push/integration/unity.md +10 -13
  174. package/resource/knowledge/push/integration/unreal-engine.md +6 -9
  175. package/resource/knowledge/push/overview/prepare.md +2 -2
  176. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +3 -3
  177. package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
  178. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +1 -1
  179. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +2 -2
  180. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +6 -6
  181. package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +79 -0
  182. package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
  183. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
  184. package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +79 -0
  185. package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
  186. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +1 -1
  187. package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +79 -0
  188. package/resource/knowledge/roomkit/preset/android/integration.md +5 -7
  189. package/resource/knowledge/roomkit/preset/flutter/integration.md +2 -7
  190. package/resource/knowledge/roomkit/preset/ios/integration.md +3 -9
  191. package/resource/knowledge/roomkit/preset/react/integration.md +12 -16
  192. package/resource/knowledge/trtc/android/TRTCCloud.md +154 -238
  193. package/resource/knowledge/trtc/android/TRTCCloudDef.md +133 -134
  194. package/resource/knowledge/trtc/android/TRTCCloudListener.md +86 -120
  195. package/resource/knowledge/trtc/android/TRTCStatistics.md +10 -10
  196. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +10 -30
  197. package/resource/knowledge/trtc/android/TXBeautyManager.md +25 -25
  198. package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
  199. package/resource/knowledge/trtc/android/TXLiteAVCode.md +12 -12
  200. package/resource/knowledge/trtc/c++/ITRTCCloud.md +166 -261
  201. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +12 -12
  202. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +10 -30
  203. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +9 -11
  204. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +96 -130
  205. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +122 -123
  206. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +12 -12
  207. package/resource/knowledge/trtc/ios/TRTCCloud.md +168 -255
  208. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +124 -125
  209. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +89 -124
  210. package/resource/knowledge/trtc/ios/TRTCStatistics.md +10 -10
  211. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +9 -28
  212. package/resource/knowledge/trtc/ios/TXBeautyManager.md +25 -25
  213. package/resource/knowledge/trtc/ios/TXDeviceManager.md +9 -11
  214. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +12 -12
  215. package/server.js +21 -21
  216. package/tools/common/finalize_answer.js +1 -1
  217. package/tools/common/present_framework_choice.js +2 -2
  218. package/tools/common/search_trtc_knowledge.js +3 -3
  219. package/tools/common/submit_feedback.js +1 -1
  220. package/tools/definitions/get_native_live_uikit_integration_def.js +61 -0
  221. package/tools/definitions/get_native_livekit_core_integration_def.js +3 -3
  222. package/tools/definitions/present_framework_choice_def.js +2 -2
  223. package/tools/definitions/search_trtc_knowledge_def.js +5 -5
  224. package/tools/index.js +2 -0
  225. package/tools/live/get_native_live_uikit_integration.js +69 -0
  226. package/tools/live/get_native_livekit_core_integration.js +6 -6
  227. package/utils/report-cls-client.js +1 -1
  228. package/utils/report-es-client.js +1 -1
  229. package/resource/knowledge/callkit/preset/web/api.md +0 -83
  230. package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -226
  231. package/resource/knowledge/livekit/core-sdk/live/android/live-live-list.md +0 -438
  232. package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -490
  233. package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
  234. package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -264
  235. package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -216
  236. package/resource/knowledge/livekit/core-sdk/live/ios/live-gift.md +0 -407
  237. package/resource/knowledge/livekit/core-sdk/live/ios/live-live-list.md +0 -349
  238. package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -269
  239. package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -456
  240. package/resource/knowledge/livekit/core-sdk/voice/android/voice-gift.md +0 -455
  241. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -260
  242. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -598
  243. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +0 -424
  244. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-barrage.md +0 -408
  245. /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
  246. /package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +0 -0
  247. /package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +0 -0
  248. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
  249. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
  250. /package/resource/knowledge/livekit/core-sdk/{live/ios/live-barrage.md → features/ios/barrage.md} +0 -0
  251. /package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -0
@@ -78,7 +78,7 @@ class MainActivity : ComponentActivity() {
78
78
  Create a call page that launches when an incoming call is received.
79
79
  1. **Create the call page:** Implement a new Activity to serve as the call interface, triggered upon incoming call.
80
80
 
81
- 2. **Bind the call page to **[CallCoreView](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/index.html)**:** The CallCoreView component automatically observes [CallStore](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.call/-call-store/index.html) data and renders video, supporting UI customization like layout switching, avatar, and icon configuration.
81
+ 2. **Bind the call page to** [CallCoreView](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/index.html)**:** The CallCoreView component automatically observes [CallStore](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.call/-call-store/index.html) data and renders video, supporting UI customization like layout switching, avatar, and icon configuration.
82
82
 
83
83
  ``` java
84
84
  import io.trtc.tuikit.atomicxcore.api.view.CallCoreView
@@ -581,7 +581,6 @@ Get call duration in real time from the `duration` field in [activeCall](https:/
581
581
 
582
582
  > **Note:**
583
583
  >
584
-
585
584
  > For more info on reactive call state data, see [CallState](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.call/-call-state/index.html).
586
585
  >
587
586
 
@@ -656,7 +655,7 @@ Implementing Picture-in-Picture (PiP) mode requires Android 8.0 (API level 26) o
656
655
  }
657
656
  }
658
657
  ```
659
- - **Handling the PiP Transition : **When the system successfully enters PiP mode, the `onPictureInPictureModeChanged` callback is triggered. You must update the **CallCoreView** layout to `CallLayoutTemplate.Pip` at this stage.
658
+ - **Handling the PiP Transition :** When the system successfully enters PiP mode, the `onPictureInPictureModeChanged` callback is triggered. You must update the **CallCoreView** layout to `CallLayoutTemplate.Pip` at this stage.
660
659
 
661
660
  ``` java
662
661
  val callCoreView = CallCoreView(context)
@@ -668,9 +667,9 @@ Implementing Picture-in-Picture (PiP) mode requires Android 8.0 (API level 26) o
668
667
  }
669
668
  }
670
669
  ```
671
- - **Restoring Full-Screen Layout : **When the user returns to the app from PiP (restoring full screen), the onResume callback will be triggered. You should reset the layout based on the current number of participants:
670
+ - **Restoring Full-Screen Layout :** When the user returns to the app from PiP (restoring full screen), the onResume callback will be triggered. You should reset the layout based on the current number of participants:
672
671
 
673
- - **1 v 1 Calls: **Use `CallLayoutTemplate.Float`.
672
+ - **1 v 1 Calls:** Use `CallLayoutTemplate.Float`.
674
673
 
675
674
  - **Group Calls:** Use `CallLayoutTemplate.Grid`.
676
675
 
@@ -712,7 +711,7 @@ class CallActivity : AppCompatActivity() {
712
711
  ### Enable Background Audio/Video Capture
713
712
 
714
713
  To maintain audio and video capture when the app is in the background, you must implement a Foreground Service. Starting from Android 9.0 (API 28), foreground service permissions are required, and Android 14 (API 34) mandates declaring specific service types for the camera and microphone.
715
- 1. **Configure Permissions and Service ( AndroidManifest.xml ) : **Declare the necessary foreground service permissions and specify the service types within the <application> tag.
714
+ 1. **Configure Permissions and Service ( AndroidManifest.xml ) :** Declare the necessary foreground service permissions and specify the service types within the <application> tag.
716
715
 
717
716
  ``` java
718
717
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
@@ -730,7 +729,7 @@ To maintain audio and video capture when the app is in the background, you must
730
729
  </application>
731
730
  </manifest>
732
731
  ```
733
- 2. **Create the Foreground Service Class ( CallForegroundService ) : **The service ensures the system does not kill the app's process while it is in the background by displaying a persistent notification.
732
+ 2. **Create the Foreground Service Class ( CallForegroundService ) :** The service ensures the system does not kill the app's process while it is in the background by displaying a persistent notification.
734
733
 
735
734
  ``` java
736
735
  import android.app.Notification
@@ -810,7 +809,7 @@ Congratulations! You have implemented the answer call feature. Next, see Make Yo
810
809
  ### Why does the UI appear distorted or show the wrong screen after navigating to another page while in PiP mode?
811
810
  - **Cause :** Android's Picture-in-Picture (PiP) mode operates based on the Task Stack. By default, all Activities in an app share the same task stack. If you launch a new Activity while the app is in PiP mode, that new page is pushed onto the current stack. Consequently, the new screen incorrectly attempts to render within the tiny PiP window, leading to UI anomalies.
812
811
 
813
- - **Solution : **Declare the Call Activity as a separate task with its own affinity in the AndroidManifest.xml. This ensures the call remains isolated in its own window regardless of other app navigation.
812
+ - **Solution :** Declare the Call Activity as a separate task with its own affinity in the AndroidManifest.xml. This ensures the call remains isolated in its own window regardless of other app navigation.
814
813
 
815
814
  ``` java
816
815
  <activity
@@ -71,7 +71,6 @@ class MainActivity : ComponentActivity() {
71
71
 
72
72
  > **Note:**
73
73
  >
74
-
75
74
  > You must log in before making a call. The following steps show how to make a call.
76
75
  >
77
76
 
@@ -80,7 +79,7 @@ class MainActivity : ComponentActivity() {
80
79
  Set up a dedicated call screen that appears when a call is initiated:
81
80
  1. **Create the call screen:** Implement a new Activity to host the call UI and handle navigation when a call is received.
82
81
 
83
- 2. **Attach **[CallCoreView](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/index.html)**:** This core view component observes **CallStore** data and renders the call UI. It supports layout switching, avatar, and icon customization.
82
+ 2. **Attach** [CallCoreView](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/index.html)**:** This core view component observes **CallStore** data and renders the call UI. It supports layout switching, avatar, and icon customization.
84
83
 
85
84
  ``` java
86
85
  class CallActivity : AppCompatActivity() {
@@ -117,7 +116,7 @@ Use the APIs from [DeviceStore](https://liteav.sdk.cloudcachetci.com/doc/product
117
116
  |**Icons**|||||||||
118
117
  |---------|---------|---------|---------|---------|---------|---------|---------|---------|
119
118
 
120
- - **Example: Adding****hang up, microphone, and camera buttons**
119
+ - **Example: Adding** **hang up, microphone, and camera buttons**
121
120
 
122
121
  1. **Create Bottom Bar Container:** Add a container at the bottom of the call screen to hold the hang up, microphone, and camera buttons.
123
122
 
@@ -418,8 +417,8 @@ After the [calls](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic
418
417
  | <strong>Parameter</strong> | <strong>Type</strong> | <strong>Required</strong> | <strong>Description</strong> |
419
418
  | --- | --- | --- | --- |
420
419
  | userIdList | List | Yes | List of target user <code>userId</code>s. |
421
- | mediaType | <a href="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.call/-call-media-type/index.html">CallMediaType</a> | Yes | Call media type: audio or video.<br>- <code>CallMediaType.Video</code>: Video call.<br>- <code>CallMediaType.Audio</code>: Audio call. |
422
- | params | <a href="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.call/-call-params/index.html">CallParams</a> | No | Optional call parameters, such as room ID, call invitation timeout, etc.<br>- <code>roomId</code> (String): Room ID, optional. If not specified, the server assigns one.<br>- <code>timeout</code> (Int): Call timeout (seconds).<br>- <code>userData</code> (String): Custom user data.<br>- <code>chatGroupId</code> (String): Chat group ID for group calls.<br>- <code>isEphemeralCall</code> (Boolean): If true, the call is encrypted and not logged. |
420
+ | mediaType | <a href="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.call/-call-media-type/index.html">CallMediaType</a> | Yes | Call media type: audio or video.<br>- <code>CallMediaType.Video</code>: Video call.<br>- <code>CallMediaType.Audio</code>: Audio call. |
421
+ | params | <a href="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.call/-call-params/index.html">CallParams</a> | No | Optional call parameters, such as room ID, call invitation timeout, etc.<br>- <code>roomId</code> (String): Room ID, optional. If not specified, the server assigns one.<br>- <code>timeout</code> (Int): Call timeout (seconds).<br>- <code>userData</code> (String): Custom user data.<br>- <code>chatGroupId</code> (String): Chat group ID for group calls.<br>- <code>isEphemeralCall</code> (Boolean): If true, the call is encrypted and not logged. |
423
422
 
424
423
  ### Step 5: End the Call
425
424
 
@@ -578,7 +577,7 @@ Use [setWaitingAnimation](https://liteav.sdk.cloudcachetci.com/doc/product/tuiki
578
577
 
579
578
  ### Add Call Duration Display
580
579
 
581
- You can display call duration in real time using the [activeCall](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.call/-call-state/active-call.html)`duration` field.
580
+ You can display call duration in real time using the [activeCall](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.call/-call-state/active-call.html) `duration` field.
582
581
  1. **Subscribe to the data layer:** Observe `CallStore.observerState.activeCall` for updates to the current call.
583
582
 
584
583
  2. **Bind duration data:** Bind `activeCall.duration` to a UI control. The UI updates automatically—no need to manage a timer manually.
@@ -627,7 +626,6 @@ You can display call duration in real time using the [activeCall](https://liteav
627
626
 
628
627
  > **Note:**
629
628
  >
630
-
631
629
  > For more reactive call status data, see [CallState](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.call/-call-state/index.html).
632
630
  >
633
631
 
@@ -4,7 +4,6 @@ To solve this, you need to integrate offline push notifications using FCM Data M
4
4
 
5
5
  > **Note:**
6
6
  >
7
-
8
7
  > Offline push is not required if users are only calling always-online web agents.
9
8
  >
10
9
 
@@ -16,7 +15,6 @@ Go to the [Chat Console > App Push > Access settings](https://console.trtc.io/ch
16
15
 
17
16
  > **Note:**
18
17
  >
19
-
20
18
  > 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.
21
19
  >
22
20
 
@@ -56,8 +54,8 @@ Over 90% of missed call notifications are due to users manually disabling app no
56
54
 
57
55
  > **Note:**
58
56
  >
59
- > - TIMPush requires IM SDK version **7.9.5666** or above.
60
- > - You can update the Chat SDK version in the `tuicallkit-kt/build.gradle` file.
57
+ > - TIMPush requires IM SDK version **7.9.5666** or above.
58
+ > - You can update the Chat SDK version in the `tuicallkit-kt/build.gradle` file.
61
59
 
62
60
  ### Step 3: Project Configuration
63
61
  1. Add the following to the `buildscript > dependencies` section of your project-level `build.gradle` file:
@@ -315,7 +313,7 @@ Listen for incoming call events. After a successful login (Step 1), if there are
315
313
  }
316
314
  }
317
315
  ```
318
- - **onCallReceived: **Triggered when an incoming call event is received.
316
+ - **onCallReceived:** Triggered when an incoming call event is received.
319
317
 
320
318
  | <strong>Parameter</strong> | <strong>Type</strong> | <strong>Description</strong> |
321
319
  | --- | --- | --- |
@@ -548,7 +548,7 @@ Use the [loadingAnimation](https://liteav.sdk.qcloud.com/doc/product/tuikit/atom
548
548
 
549
549
  ### Add Call Duration Indicator
550
550
 
551
- Call duration updates in real time via [activeCall](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState/activeCall.html)`duration`. To display call duration:
551
+ Call duration updates in real time via [activeCall](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState/activeCall.html) `duration`. To display call duration:
552
552
  1. **Subscribe to Data:** Listen to `CallStore.shared.state.activeCall` for the current active call.
553
553
 
554
554
  2. **Bind Call Duration:** Bind the `activeCall.duration` field to a UI widget. This is reactive and auto-updates the UI—no manual timer needed.
@@ -612,7 +612,6 @@ Call duration updates in real time via [activeCall](https://liteav.sdk.qcloud.co
612
612
 
613
613
  > **Note:**
614
614
  >
615
-
616
615
  > For more reactive call state data, see [CallState](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState-class.html).
617
616
  >
618
617
 
@@ -666,7 +665,7 @@ Use [setLayoutTemplate](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-
666
665
 
667
666
  ### Set Default Call Timeout
668
667
 
669
- When making a call via [calls](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallStore/calls.html), specify the timeout using [CallParams](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallParams-class.html)`timeout`.
668
+ When making a call via [calls](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallStore/calls.html), specify the timeout using [CallParams](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallParams-class.html) `timeout`.
670
669
  ``` java
671
670
  void startCall(List<String> userIdList, CallMediaType mediaType) {
672
671
  CallParams params = CallParams(
@@ -870,10 +869,8 @@ iOS supports system PiP with the underlying TRTC engine. When the app goes to ba
870
869
 
871
870
  > **Note:**
872
871
  >
873
-
874
872
  > Add `Background Modes` in Xcode's `Signing & Capabilities` and check `Audio, AirPlay, and Picture in Picture`.
875
873
  >
876
-
877
874
  > Requires iOS 15.0 or later.
878
875
  >
879
876
 
@@ -1089,7 +1086,6 @@ To ensure your app can capture audio/video while in the background (e.g., screen
1089
1086
 
1090
1087
  > **Note:**
1091
1088
  >
1092
-
1093
1089
  > Call `start()` via MethodChannel at the appropriate time in your app to enable background keep-alive.
1094
1090
  >
1095
1091
 
@@ -340,7 +340,7 @@ Customize your control buttons using [DeviceStore](https://liteav.sdk.qcloud.com
340
340
  ### Step 3: Request Microphone/Camera Permissions
341
341
 
342
342
  Check for audio/video permissions before starting a call. If permissions are missing, prompt users to grant them.
343
- 1. **Declare permissions for Android in **`AndroidManifest.xml`**:**
343
+ 1. **Declare permissions for Android in** `AndroidManifest.xml`**:**
344
344
 
345
345
  ``` xml
346
346
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
@@ -350,7 +350,7 @@ Check for audio/video permissions before starting a call. If permissions are mis
350
350
  <uses-permission android:name="android.permission.CAMERA" />
351
351
  </manifest>
352
352
  ```
353
- 2. **Declare permissions for iOS in **`Info.plist`**:**
353
+ 2. **Declare permissions for iOS in** `Info.plist`**:**
354
354
 
355
355
  ``` xml
356
356
  <key>NSCameraUsageDescription</key>
@@ -619,7 +619,6 @@ You can display call duration in real time using [activeCall](https://liteav.sdk
619
619
 
620
620
  > **Note :**
621
621
  >
622
-
623
622
  > For more reactive call state data, see [CallState](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState-class.html).
624
623
  >
625
624
 
@@ -865,10 +864,8 @@ iOS supports Picture-in-Picture outside the app using the underlying TRTC engine
865
864
 
866
865
  > **Note:**
867
866
  >
868
-
869
867
  > In Xcode, add `Background Modes` under `Signing & Capabilities` and check `Audio, AirPlay, and Picture in Picture`.
870
868
  >
871
-
872
869
  > Requires iOS 15.0 or above.
873
870
  >
874
871
 
@@ -1101,7 +1098,6 @@ Open your project in Xcode and:
1101
1098
 
1102
1099
  > **Note:**
1103
1100
  >
1104
-
1105
1101
  > Call `start()` via `MethodChannel` at the appropriate time to enable background keep-alive.
1106
1102
  >
1107
1103
 
@@ -12,7 +12,6 @@ Navigate to [Chat Console > App Push > Integration Settings](https://console.trt
12
12
 
13
13
  > **Note:**
14
14
  >
15
-
16
15
  > 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.
17
16
  >
18
17
 
@@ -98,7 +97,6 @@ public class MyApplication extends TencentCloudChatPushApplication {
98
97
 
99
98
  > **Note:**
100
99
  >
101
-
102
100
  > If you have an existing Application class, simply extend `TencentCloudChatPushApplication` and ensure `onCreate()` calls `super.onCreate();`.
103
101
  >
104
102
 
@@ -142,7 +140,6 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
142
140
 
143
141
  > **Note:**
144
142
  >
145
-
146
143
  > Your app's `Bundle ID` cannot use a wildcard `*`; otherwise, remote push will not work.
147
144
  >
148
145
 
@@ -175,7 +172,6 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
175
172
 
176
173
  > **Note:**
177
174
  >
178
-
179
175
  > The Production certificate is actually a combined certificate for both Sandbox (Development) and Production environments and can be used for both.
180
176
  >
181
177
 
@@ -185,7 +181,6 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
185
181
 
186
182
  > **Note:**
187
183
  >
188
-
189
184
  > Set a password when exporting the `.p12` file.
190
185
  >
191
186
 
@@ -198,10 +193,10 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
198
193
 
199
194
  > **Note:**
200
195
  >
201
- > - Use only English characters for certificate names (avoid brackets or special characters).
202
- > - You must set a password when uploading the certificate; otherwise, push notifications will not be received.
203
- > - Certificates for App Store release must be set to Production environment; otherwise, push notifications will not be received.
204
- > - The uploaded `.p12` certificate must be a valid certificate you applied for.
196
+ > - Use only English characters for certificate names (avoid brackets or special characters).
197
+ > - You must set a password when uploading the certificate; otherwise, push notifications will not be received.
198
+ > - Certificates for App Store release must be set to Production environment; otherwise, push notifications will not be received.
199
+ > - The uploaded `.p12` certificate must be a valid certificate you applied for.
205
200
 
206
201
  ### Step 2: Push Parameter Configuration
207
202
 
@@ -27,7 +27,6 @@ Visit [Activate the Service](https://trtc.io/document/59832) to obtain either a
27
27
 
28
28
  > **Tips:**
29
29
  >
30
-
31
30
  > **If your project does not have a Podfile:** In your terminal, navigate to your `.xcodeproj` directory and run `pod init` to generate a Podfile.
32
31
  >
33
32
 
@@ -39,7 +38,6 @@ Visit [Activate the Service](https://trtc.io/document/59832) to obtain either a
39
38
 
40
39
  > **Tips:**
41
40
  >
42
-
43
41
  > After installation, open your project using the `YourProjectName.xcworkspace` file.
44
42
  >
45
43
 
@@ -111,7 +109,7 @@ class ViewController: UIViewController {
111
109
  You need a call screen that appears when a call is received.
112
110
  1. **Create the call screen:** Implement a new UIViewController to serve as the call screen. This screen will be presented when an incoming call arrives.
113
111
 
114
- 2. **Attach **[CallCoreView](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/)** to the call screen:** This core component observes **CallStore** data, renders video, and supports UI customization for layout, avatars, and icons.
112
+ 2. **Attach** [CallCoreView](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/) **to the call screen:** This core component observes **CallStore** data, renders video, and supports UI customization for layout, avatars, and icons.
115
113
 
116
114
  ``` swift
117
115
  import UIKit
@@ -631,7 +629,6 @@ You can display the call duration in real time by subscribing to the [activeCall
631
629
 
632
630
  > **Note:**
633
631
  >
634
-
635
632
  > For more reactive call status data, see [CallState](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate).
636
633
  >
637
634
 
@@ -27,7 +27,6 @@ Follow the Activate the service guide to obtain either a trial or paid version o
27
27
 
28
28
  > **Tips:**
29
29
  >
30
-
31
30
  > If your project doesn’t have a Podfile, navigate to your `.xcodeproj` directory in the terminal and run `pod init` to create one.
32
31
  >
33
32
 
@@ -39,7 +38,6 @@ Follow the Activate the service guide to obtain either a trial or paid version o
39
38
 
40
39
  > **Tips:**
41
40
  >
42
-
43
41
  > After installation, open your project using the `YourProjectName.xcworkspace` file.
44
42
  >
45
43
 
@@ -111,7 +109,7 @@ class ViewController: UIViewController {
111
109
  You need to create a call screen that is displayed when a call is initiated.
112
110
  1. **Create the call screen:** Implement a new UIViewController to serve as the call interface. This will be used for both outgoing and incoming calls.
113
111
 
114
- 2. **Attach **[CallCoreView](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/)**:** Add the core call view component to your call screen. CallCoreView automatically observes **CallStore** data and renders video streams, with options for customizing layout, avatars, and icons.
112
+ 2. **Attach** [CallCoreView](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/)**:** Add the core call view component to your call screen. CallCoreView automatically observes **CallStore** data and renders video streams, with options for customizing layout, avatars, and icons.
115
113
 
116
114
  ``` swift
117
115
  import UIKit
@@ -559,7 +557,7 @@ After completing these five steps, the "Make a Call" feature will look like this
559
557
 
560
558
  ### Customizing Volume Indicator Icons
561
559
 
562
- Use the **CallCoreView**[setVolumeLevelIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setvolumelevelicons(icons:)) method to assign different icons for each volume level.
560
+ Use the **CallCoreView** [setVolumeLevelIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setvolumelevelicons(icons:)) method to assign different icons for each volume level.
563
561
 
564
562
  ``` swift
565
563
  // Set volume indicator icons
@@ -583,7 +581,7 @@ callCoreView.setVolumeLevelIcons(icons: volumeLevelIcons)
583
581
 
584
582
  ### Customizing Network Indicator Icons
585
583
 
586
- Use the **CallCoreView**[setNetworkQualityIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setnetworkqualityicons(icons:)) method to assign icons for different network states.
584
+ Use the **CallCoreView** [setNetworkQualityIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setnetworkqualityicons(icons:)) method to assign icons for different network states.
587
585
 
588
586
  ``` swift
589
587
  // Set network quality icons
@@ -598,7 +596,7 @@ callCoreView.setNetworkQualityIcons(icons: networkQualityIcons)
598
596
  | --- | --- | --- | --- |
599
597
  | icons | [NetworkQuality: String] | Yes | Network Quality Icon Mapping Table. The dictionary structure is defined as follows:<br>Key ( NetworkQuality ) : NetworkQuality<br><code>NetworkQuality.unknown</code> :Network status is undetermined.<br><code>NetworkQuality.excellent</code>:Outstanding network connection.<br><code>NetworkQuality.good</code> : Stable and good network connection.<br><code>NetworkQuality.poor</code> : Weak network signal.<br><code>NetworkQuality.bad</code> : Very weak or unstable network.<br><code>NetworkQuality.veryBad</code> :Extremely poor network, near disconnection.<br><code>NetworkQuality.down</code> :Network is disconnected.<br>Value ( String ) : The absolute path or resource name of the icon corresponding to the network status. |
600
598
 
601
- - **Network Warning Icon: **
599
+ - **Network Warning Icon:**
602
600
 
603
601
  | <strong>Icons</strong> | <strong>Description</strong> |
604
602
  | --- | --- |
@@ -606,7 +604,7 @@ callCoreView.setNetworkQualityIcons(icons: networkQualityIcons)
606
604
 
607
605
  ### Customizing Default Avatars
608
606
 
609
- Use the **CallCoreView**[setParticipantAvatars](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setparticipantavatars(avatars:)) API to set user avatars. Listen to the [allParticipants](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/allparticipants) reactive data: when you have a user's avatar, set and display it; if not, show the default avatar.
607
+ Use the **CallCoreView** [setParticipantAvatars](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setparticipantavatars(avatars:)) API to set user avatars. Listen to the [allParticipants](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/allparticipants) reactive data: when you have a user's avatar, set and display it; if not, show the default avatar.
610
608
  ``` swift
611
609
  // Set user avatars
612
610
  var avatars: [String: String] = [:]
@@ -630,7 +628,7 @@ callCoreView.setParticipantAvatars(avatars: avatars)
630
628
 
631
629
  ### Customizing Waiting Animations
632
630
 
633
- Use the **CallCoreView**[setWaitingAnimation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setwaitinganimation(path:)) API to set a waiting animation for users who are waiting to answer.
631
+ Use the **CallCoreView** [setWaitingAnimation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setwaitinganimation(path:)) API to set a waiting animation for users who are waiting to answer.
634
632
 
635
633
  ``` swift
636
634
  // Set waiting animation
@@ -651,7 +649,7 @@ callCoreView.setWaitingAnimation(path: waitingAnimationPath)
651
649
 
652
650
  ### Adding a Call Duration Indicator
653
651
 
654
- To display the call duration in real time, subscribe to the [activeCall](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/activecall)`duration` field.
652
+ To display the call duration in real time, subscribe to the [activeCall](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/activecall) `duration` field.
655
653
  1. **Subscribe to the data layer:** Observe `CallStore.observerState.activeCall` for changes.
656
654
 
657
655
  2. **Bind the duration to your UI:** The `activeCall.duration` field is reactive and will automatically update your UI.
@@ -714,7 +712,6 @@ To display the call duration in real time, subscribe to the [activeCall](https:/
714
712
 
715
713
  > **Note:**
716
714
  >
717
-
718
715
  > For more reactive call status data, see [CallState](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate).
719
716
  >
720
717
 
@@ -1064,7 +1061,7 @@ AtomicXCore SDK supports system-level PiP via the underlying TRTC engine. When y
1064
1061
  let params: PictureInPictureParams // Parameter payload
1065
1062
  }
1066
1063
  ```
1067
- 2. **Enable Picture-in-Picture: **You can enable or disable the PiP feature using the`configPictureInPicture` method.
1064
+ 2. **Enable Picture-in-Picture:** You can enable or disable the PiP feature using the `configPictureInPicture` method.
1068
1065
 
1069
1066
  ``` swift
1070
1067
  let params = PictureInPictureParams(
@@ -15,11 +15,10 @@ After following this guide to integrate Apple LiveCommunicationKit, your app wil
15
15
 
16
16
  ## Activate the Service
17
17
 
18
- 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).
18
+ 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
19
 
20
20
  > **Note:**
21
21
  >
22
-
23
22
  > 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.
24
23
  >
25
24
 
@@ -30,7 +29,7 @@ Go to the [Chat Console > Plugin Marketplace](https://console.trtc.io/) and clic
30
29
  Before applying for a VoIP Push certificate, log in to the [Apple Developer Center](https://developer.apple.com/account/) and enable remote push notifications for your app. Once your AppID has Push Notification capability, follow these steps to apply for and configure your VoIP Push certificate:
31
30
  1. Log in to the [Apple Developer Center](https://developer.apple.com/account/), click **Certificates, IDs & Profiles** to enter the Certificates, Identifiers & Profiles page.
32
31
 
33
- 2. Click the **+ **button next to Certificates.
32
+ 2. Click the **+** button next to Certificates.
34
33
 
35
34
  3. On the **Create a New Certificate** page, select **VoIP Services Certificate** and click **Continue**.
36
35
 
@@ -52,7 +51,6 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
52
51
 
53
52
  > **Note:**
54
53
  >
55
-
56
54
  > Be sure to set a password when saving the `P12` file.
57
55
  >
58
56
 
@@ -63,20 +61,19 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
63
61
 
64
62
  2. In **Manufacturer configuration**, switch to **iOS**, click the **Add Certificate** button, then select the certificate type in the floating page, upload the iOS certificate (p12), set the certificate password, and click **Confirm**.
65
63
 
66
- > **Description****:**
64
+ > **Description:**
67
65
  >
68
- > - When adding certificates, the push type defaults to APNs, which does not affect the upload and use of VoIP certificates.
69
- > - VoIP Push certificates themselves do not distinguish between production and testing environments. Production and development environments use the same VoIP Push certificate, please upload separately.
70
- > - Certificate names uploaded should preferably use all English (especially avoid special characters like parentheses).
71
- > - Uploaded certificates need to set a password, otherwise push notifications cannot be received.
72
- > - Certificates for App Store release need to be set to production environment, otherwise push notifications cannot be received.
73
- > - The uploaded p12 certificate must be a real and valid certificate you applied for yourself.
66
+ > - When adding certificates, the push type defaults to APNs, which does not affect the upload and use of VoIP certificates.
67
+ > - VoIP Push certificates themselves do not distinguish between production and testing environments. Production and development environments use the same VoIP Push certificate, please upload separately.
68
+ > - Certificate names uploaded should preferably use all English (especially avoid special characters like parentheses).
69
+ > - Uploaded certificates need to set a password, otherwise push notifications cannot be received.
70
+ > - Certificates for App Store release need to be set to production environment, otherwise push notifications cannot be received.
71
+ > - The uploaded p12 certificate must be a real and valid certificate you applied for yourself.
74
72
 
75
73
  3. After upload is complete, record the certificate IDs for different environments.
76
74
 
77
- > **Description****:**
75
+ > **Description:**
78
76
  >
79
-
80
77
  > Certificate IDs for development and production environments must be strictly distinguished, please fill in according to the actual environment.
81
78
  >
82
79
 
@@ -88,12 +85,12 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
88
85
  2. Under Background Modes, enable the **Voice over IP** option.
89
86
 
90
87
  ### Step 2: Add Dependencies
91
- 1. **Add Pod Dependency: **Add `pod 'TUICore'` to your `Podfile`.
88
+ 1. **Add Pod Dependency:** Add `pod 'TUICore'` to your `Podfile`.
92
89
 
93
90
  ``` ruby
94
91
  pod 'TUICore'
95
92
  ```
96
- 2. **Install Component: **In your terminal, navigate to your project directory and run:
93
+ 2. **Install Component:** In your terminal, navigate to your project directory and run:
97
94
 
98
95
  ``` bash
99
96
  pod install --repo-update
@@ -208,8 +205,8 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
208
205
 
209
206
  > **Note:**
210
207
  >
211
- > - certificateID is the ID you received after uploading your certificate in the Chat Console.
212
- > - Always use the correct certificate ID for your development or production environment.
208
+ > - certificateID is the ID you received after uploading your certificate in the Chat Console.
209
+ > - Always use the correct certificate ID for your development or production environment.
213
210
 
214
211
  ### Step 4: Obtain and Save VoIP Token
215
212
 
@@ -248,7 +245,6 @@ extension VoIPPushManager: PKPushRegistryDelegate {
248
245
 
249
246
  > **Note:**
250
247
  >
251
-
252
248
  > Only report the VoIP Token after the Chat SDK login is successful. Do not report immediately when the token is obtained.
253
249
  >
254
250
 
@@ -438,14 +434,12 @@ CallStore.shared.calls(
438
434
 
439
435
  > **Note:**
440
436
  >
441
-
442
437
  > **VoIP Push Downgrade Strategy**
443
438
  >
444
-
445
439
  > When using VoIP Push, the backend will intelligently select the certificate type to ensure users receive push notifications:
446
440
  >
447
- > - If a VoIP certificate is uploaded: VoIP Push will be sent.
448
- > - If only an APNs certificate is uploaded: the system will automatically downgrade to APNs Push.
441
+ > - If a VoIP certificate is uploaded: VoIP Push will be sent.
442
+ > - If only an APNs certificate is uploaded: the system will automatically downgrade to APNs Push.
449
443
 
450
444
  ## Answer a Call
451
445
 
@@ -514,7 +508,7 @@ class YourViewController: UIViewController {
514
508
 
515
509
  5. **Restart the test device to clear system cache and memory (this is important).**
516
510
 
517
- 6. **Use the **Chat** Console's Push Troubleshooting tool for diagnostics. For details, see: **[**Push Troubleshooting Tool**](https://www.tencentcloud.com/document/product/1047/60541)**. (highly recommended)**
511
+ 6. **Use the** Chat **Console's Push Troubleshooting tool for diagnostics. For details, see:** [**Push Troubleshooting Tool**](https://www.tencentcloud.com/document/product/1047/60541)**. (highly recommended)**
518
512
 
519
513
  ## Why does the app crash after receiving a VoIP Push?
520
514
 
@@ -0,0 +1,33 @@
1
+ ## TUICallEngine APIs
2
+
3
+ TUICallEngine API is the **No UI Interface** of the Audio and Video Call Components.
4
+
5
+ ## API Overview
6
+
7
+ |API|Description|
8
+ |---------|---------|
9
+ |[createInstance](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#.createInstance)|Creating a TUICallEngine Instance (Singleton Pattern)|
10
+ |[destroyInstance](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#destroyInstance)|Terminating a TUICallEngine Instance (Singleton Pattern)|
11
+ |[on](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#on)|Listening on events|
12
+ |[off](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#off)|Canceling Event Listening|
13
+ |[login](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#login)|Sign in Interface|
14
+ |[logout](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#logout)|Logout Interface|
15
+ |[setSelfInfo](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setSelfInfo)|Configure the user's nickname and profile photo|
16
+ |[calls](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#calls)|Initiate a one-on-one call|
17
+ |[accept](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#accept)|Answer Calls|
18
+ |[reject](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#reject)|Decline Call|
19
+ |[hangup](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#hangup)|End Calls|
20
+ |[startRemoteView](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#startRemoteView)|Initiate Remote Screen Rendering|
21
+ |[stopRemoteView](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#stopRemoteView)|Stop Remote Screen Rendering|
22
+ |[openCamera](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#openCamera)|Enable the camera|
23
+ |[closeCamera](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#closeCamera)|Turn Off Camera|
24
+ |[switchCamera](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#switchCamera)|Switch between front and rear cameras, note: only supported on mobile devices|
25
+ |[openMicrophone](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#openMicrophone)|Enable Microphone|
26
+ |[closeMicrophone](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#closeMicrophone)|Turn off the microphone|
27
+ |[setVideoQuality](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setVideoQuality)|Set video quality|
28
+ |[getDeviceList](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#getDeviceList)|Access device list|
29
+ |[switchDevice](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#switchDevice)|Switch camera or microphone devices|
30
+ |[enableAIVoice](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#enableAIVoice)|Enable/disable AI noise reduction|
31
+ |[enableMultiDeviceAbility](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#enableMultiDeviceAbility)|Turn on/off the multi-device login mode of TUICallEngine|
32
+ |[setBlurBackground](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setBlurBackground)|Switch/set background blur|
33
+ |[setVirtualBackground](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setVirtualBackground)|Switch/set image background blur|