@tencentcloud/sdk-mcp 1.4.7 → 1.6.0-beta.1

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 (556) hide show
  1. package/index.js +0 -1
  2. package/knowledge/bm25-cache.js +73 -0
  3. package/knowledge/bm25.js +147 -0
  4. package/knowledge/build-index.js +65 -0
  5. package/knowledge/chunker.js +167 -0
  6. package/knowledge/content-loader.js +44 -0
  7. package/knowledge/extractors.js +25 -0
  8. package/knowledge/path-meta.js +175 -0
  9. package/knowledge/search/exact-lookup.js +330 -0
  10. package/knowledge/search/filter-pool.js +86 -0
  11. package/knowledge/search/requires-framework.js +72 -0
  12. package/knowledge/search/search-knowledge.js +226 -0
  13. package/package.json +9 -9
  14. package/resource/_schema/feature-aliases.yaml +10 -0
  15. package/resource/_schema/goal-tags.yaml +72 -0
  16. package/resource/_schema/products.yaml +16 -0
  17. package/resource/_schema/trtc-intents.yaml +27 -0
  18. package/resource/_schema/types.yaml +44 -0
  19. package/resource/index/component-slugs.json +1 -0
  20. package/resource/index/manifest.json +1 -0
  21. package/resource/{doc → integration}/callkit/preset/android/integration.md +32 -28
  22. package/resource/{doc → integration}/callkit/preset/flutter/integration.md +109 -54
  23. package/resource/integration/callkit/preset/ios/integration.md +411 -0
  24. package/resource/integration/callkit/preset/react/integration.md +499 -0
  25. package/resource/integration/callkit/preset/vue/integration.md +768 -0
  26. package/resource/{doc/chatkit → integration/chat/preset}/android/integration.md +11 -11
  27. package/resource/{doc/chatkit → integration/chat/preset}/flutter/integration.md +59 -37
  28. package/resource/integration/chat/preset/ios/integration.md +568 -0
  29. package/resource/{doc/chatkit → integration/chat/preset}/react/integration.md +127 -95
  30. package/resource/integration/chat/preset/uni-app/integration.md +494 -0
  31. package/resource/{doc/chatkit → integration/chat/preset}/vue/integration.md +163 -143
  32. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +15 -15
  33. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +25 -13
  34. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-h5-integration.md +15 -9
  35. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +31 -26
  36. package/resource/integration/roomkit/preset/vue/integration.md +571 -0
  37. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +852 -0
  38. package/resource/knowledge/callkit/core-sdk/android/make-call.md +929 -0
  39. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +364 -0
  40. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1150 -0
  41. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1216 -0
  42. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +412 -0
  43. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1191 -0
  44. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1292 -0
  45. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +537 -0
  46. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  47. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  48. package/resource/knowledge/callkit/faq/android.md +168 -0
  49. package/resource/knowledge/callkit/faq/common.md +180 -0
  50. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  51. package/resource/knowledge/callkit/faq/ios.md +116 -0
  52. package/resource/knowledge/callkit/faq/uniapp-app.md +89 -0
  53. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +217 -0
  54. package/resource/knowledge/callkit/faq/web.md +363 -0
  55. package/resource/knowledge/callkit/preset/android/api.md +413 -0
  56. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  57. package/resource/knowledge/callkit/preset/ios/api.md +256 -0
  58. package/resource/knowledge/callkit/preset/web/api.md +79 -0
  59. package/resource/knowledge/chat/preset/android/features/chat-setting.md +72 -0
  60. package/resource/knowledge/chat/preset/android/features/contact-list.md +41 -0
  61. package/resource/knowledge/chat/preset/android/features/conversation-list.md +123 -0
  62. package/resource/knowledge/chat/preset/android/features/language.md +142 -0
  63. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  64. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  65. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  66. package/resource/{doc/chatkit → knowledge/chat/preset}/android/features/theme.md +21 -18
  67. package/resource/knowledge/chat/preset/android-view/integration.md +448 -0
  68. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +62 -0
  69. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  70. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  71. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  72. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  73. package/resource/knowledge/chat/preset/flutter/features/message-list.md +163 -0
  74. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  75. package/resource/{doc/chatkit → knowledge/chat/preset}/flutter/features/theme.md +47 -19
  76. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +92 -0
  77. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  78. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  79. package/resource/knowledge/chat/preset/ios/features/language.md +105 -0
  80. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  81. package/resource/knowledge/chat/preset/ios/features/message-list.md +164 -0
  82. package/resource/knowledge/chat/preset/ios/features/search.md +94 -0
  83. package/resource/{doc/chatkit → knowledge/chat/preset}/ios/features/theme.md +54 -51
  84. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +157 -94
  85. package/resource/knowledge/chat/preset/react/features/chat-setting.md +123 -0
  86. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +256 -104
  87. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +217 -0
  88. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/conversation-list.md +86 -79
  89. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +99 -0
  90. package/resource/knowledge/chat/preset/react/features/conversation-search.md +58 -0
  91. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +30 -83
  92. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-list.md +22 -25
  93. package/resource/knowledge/chat/preset/react/features/search.md +531 -0
  94. package/resource/knowledge/chat/preset/react/features/theme.md +16 -0
  95. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  96. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/chat-setting.md +0 -4
  97. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/contact-list.md +59 -53
  98. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-actions.md +49 -43
  99. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-list.md +61 -49
  100. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-preview.md +43 -40
  101. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +1 -1
  102. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-input.md +128 -105
  103. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-list.md +108 -195
  104. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +74 -68
  105. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  106. package/resource/knowledge/chat/urls/error-code.md +16 -0
  107. package/resource/knowledge/chat/urls/product.md +61 -0
  108. package/resource/knowledge/chat/urls/restapi.md +226 -0
  109. package/resource/knowledge/chat/urls/sdk/android.md +84 -0
  110. package/resource/knowledge/chat/urls/sdk/flutter.md +73 -0
  111. package/resource/knowledge/chat/urls/sdk/ios.md +84 -0
  112. package/resource/knowledge/chat/urls/sdk/web.md +88 -0
  113. package/resource/knowledge/chat/urls/webhook.md +73 -0
  114. package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/AudioEffectStore.md +79 -76
  115. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  116. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  117. package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/CameraView.md +7 -6
  118. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  119. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  120. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  121. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  122. package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/LikeStore.md +12 -10
  123. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  124. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  125. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +439 -0
  126. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +221 -0
  127. package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/AudioEffectStore.md +79 -76
  128. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  129. package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/BaseBeautyStore.md +43 -45
  130. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +420 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  135. package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LikeStore.md +12 -11
  136. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  137. package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LiveCoreView.md +49 -42
  138. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +397 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +183 -0
  140. package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/AudioEffectStore.md +79 -75
  141. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  148. package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/LikeStore.md +12 -10
  149. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +434 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +187 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +780 -0
  154. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +59 -51
  155. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +37 -34
  156. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +68 -38
  157. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +18 -15
  158. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +17 -17
  159. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +86 -80
  160. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +53 -49
  161. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +47 -45
  162. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +26 -22
  163. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +16 -13
  164. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +28 -24
  165. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +33 -21
  166. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +29 -25
  167. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +21 -20
  168. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +78 -69
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-host-interaction.md +47 -43
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +48 -45
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +27 -23
  172. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +15 -12
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +39 -36
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +42 -29
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +19 -16
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +20 -19
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +55 -49
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +50 -46
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +48 -46
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +26 -22
  181. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +59 -51
  182. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +41 -38
  183. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +67 -37
  184. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +53 -46
  185. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +86 -80
  186. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +45 -40
  187. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +43 -42
  188. package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +523 -0
  189. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audience-list.md +16 -13
  190. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audio-effect.md +54 -50
  191. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-barrage.md +33 -21
  192. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +34 -28
  193. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-gift.md +73 -64
  194. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +46 -43
  195. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-room-list.md +165 -148
  196. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +19 -16
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +40 -37
  198. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +41 -28
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +54 -47
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +52 -46
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +55 -50
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +47 -45
  203. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +404 -0
  204. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audience-list.md +40 -57
  205. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audio-effect.md +38 -49
  206. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-barrage.md +53 -53
  207. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-co-guest-interaction.md +106 -116
  208. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-gift.md +49 -59
  209. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-integration.md +52 -45
  210. package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-room-list.md +38 -46
  211. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +915 -0
  212. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +179 -0
  213. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +419 -0
  214. package/resource/knowledge/push/config/android/fcm.md +133 -0
  215. package/resource/knowledge/push/config/android/honor.md +111 -0
  216. package/resource/knowledge/push/config/android/huawei.md +106 -0
  217. package/resource/knowledge/push/config/android/meizu.md +121 -0
  218. package/resource/knowledge/push/config/android/oppo.md +108 -0
  219. package/resource/knowledge/push/config/android/vivo.md +101 -0
  220. package/resource/knowledge/push/config/android/xiaomi.md +99 -0
  221. package/resource/knowledge/push/integration/android.md +1028 -0
  222. package/resource/knowledge/push/integration/donut.md +271 -0
  223. package/resource/knowledge/push/integration/flutter.md +363 -0
  224. package/resource/knowledge/push/integration/harmonyos.md +72 -0
  225. package/resource/knowledge/push/integration/ios.md +705 -0
  226. package/resource/knowledge/push/integration/react-native.md +337 -0
  227. package/resource/knowledge/push/integration/uni-app.md +461 -0
  228. package/resource/knowledge/push/integration/unity.md +357 -0
  229. package/resource/knowledge/push/integration/unreal-engine.md +353 -0
  230. package/resource/knowledge/push/overview/prepare.md +30 -0
  231. package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/call-user-to-room.md +22 -20
  232. package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-participant-state.md +22 -193
  233. package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-state.md +33 -32
  234. package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/schedule-room.md +30 -29
  235. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  236. package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-participant-state.md +22 -21
  237. package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-state.md +29 -28
  238. package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/schedule-room.md +17 -16
  239. package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/call-user-to-room.md +22 -20
  240. package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-participant-state.md +49 -218
  241. package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-state.md +37 -37
  242. package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/schedule-room.md +28 -28
  243. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/call-user-to-room.md +122 -7
  244. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +318 -3
  245. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +1504 -0
  246. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/free-beauty-panel.md +4 -3
  247. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +709 -0
  248. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1105 -0
  249. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +635 -0
  250. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +529 -0
  251. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/schedule-room.md +256 -13
  252. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/screen-share.md +218 -25
  253. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/virtual-background.md +4 -3
  254. package/resource/{doc/roomkit → knowledge/roomkit/preset}/android/integration.md +50 -64
  255. package/resource/{doc/roomkit → knowledge/roomkit/preset}/flutter/integration.md +34 -31
  256. package/resource/{doc/roomkit → knowledge/roomkit/preset}/ios/integration.md +45 -53
  257. package/resource/knowledge/roomkit/preset/react/integration.md +571 -0
  258. package/resource/{doc → knowledge}/rtcengine/web/how_to_run_web_sdk_demo.md +31 -15
  259. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +9 -3
  260. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +1 -1
  261. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  262. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +6 -6
  263. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  264. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -4
  265. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +4 -4
  266. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  267. package/resource/{doc → knowledge}/trtc/android/TRTCCloud.md +547 -495
  268. package/resource/{doc → knowledge}/trtc/android/TRTCCloudDef.md +434 -403
  269. package/resource/{doc → knowledge}/trtc/android/TRTCCloudListener.md +394 -348
  270. package/resource/{doc → knowledge}/trtc/android/TRTCStatistics.md +17 -15
  271. package/resource/{doc → knowledge}/trtc/android/TXAudioEffectManager.md +227 -197
  272. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  273. package/resource/{doc → knowledge}/trtc/android/TXDeviceManager.md +70 -63
  274. package/resource/{doc → knowledge}/trtc/android/TXLiteAVCode.md +19 -17
  275. package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCCloud.md +599 -544
  276. package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCStatistics.md +17 -15
  277. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  278. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +403 -0
  279. package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCCloudCallback.md +439 -387
  280. package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCTypeDef.md +417 -387
  281. package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TXLiteAVCode.md +19 -17
  282. package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloud.md +619 -559
  283. package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloudDelegate.md +409 -360
  284. package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCStatistics.md +17 -15
  285. package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXAudioEffectManager.md +187 -164
  286. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  287. package/resource/knowledge/trtc/ios/TXDeviceManager.md +399 -0
  288. package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiteAVCode.md +19 -17
  289. package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiveSDKTypeDef.md +422 -396
  290. package/server-config.js +0 -1
  291. package/server.js +22 -12
  292. package/streamable-http.js +0 -1
  293. package/tools/call/get_native_call_uikit_integration.js +2 -4
  294. package/tools/call/get_native_callkit_core_integration.js +2 -6
  295. package/tools/call/get_web_call_uikit_integration.js +2 -4
  296. package/tools/chat/get_native_chat_uikit_integration.js +2 -4
  297. package/tools/chat/get_web_chat_uikit_integration.js +2 -4
  298. package/tools/common/get_usersig.js +0 -1
  299. package/tools/common/present_framework_choice.js +9 -4
  300. package/tools/common/record_answer.js +19 -26
  301. package/tools/common/record_feedback.js +17 -31
  302. package/tools/common/search_trtc_knowledge.js +44 -0
  303. package/tools/definitions/get_native_call_uikit_integration_def.js +2 -1
  304. package/tools/definitions/get_native_callkit_core_integration_def.js +2 -1
  305. package/tools/definitions/get_native_chat_uikit_integration_def.js +3 -2
  306. package/tools/definitions/get_native_livekit_core_integration_def.js +2 -1
  307. package/tools/definitions/get_usersig_def.js +0 -1
  308. package/tools/definitions/get_web_call_uikit_integration_def.js +2 -1
  309. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
  310. package/tools/definitions/get_web_live_uikit_integration_def.js +4 -3
  311. package/tools/definitions/get_web_room_core_integration_def.js +46 -0
  312. package/tools/definitions/get_web_room_uikit_integration_def.js +3 -1
  313. package/tools/definitions/integration-boundary.js +5 -0
  314. package/tools/definitions/present_framework_choice_def.js +11 -10
  315. package/tools/definitions/record_answer_def.js +6 -5
  316. package/tools/definitions/record_feedback_def.js +4 -3
  317. package/tools/definitions/search_trtc_knowledge_def.js +69 -0
  318. package/tools/index.js +5 -37
  319. package/tools/live/get_native_livekit_core_integration.js +1 -4
  320. package/tools/live/get_web_live_uikit_integration.js +2 -5
  321. package/tools/room/get_web_room_core_integration.js +47 -0
  322. package/tools/room/get_web_room_uikit_integration.js +2 -4
  323. package/utils/generate-structured-result.js +4 -11
  324. package/utils/generate-usersig.js +0 -1
  325. package/utils/get-device-identifier.js +0 -1
  326. package/utils/get-doc-content.js +14 -9
  327. package/utils/http-get.js +0 -1
  328. package/utils/http-post.js +0 -1
  329. package/utils/report-cls-client.js +22 -21
  330. package/utils/report-es-client.js +1 -2
  331. package/utils/report-runtime-error-cls-client.js +0 -1
  332. package/index.js.map +0 -1
  333. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  334. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -942
  335. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -876
  336. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -368
  337. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1132
  338. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1206
  339. package/resource/doc/callkit/core-sdk/flutter/offline-push.md +0 -357
  340. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1009
  341. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1154
  342. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -470
  343. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -1146
  344. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1267
  345. package/resource/doc/callkit/faq/android-faq.md +0 -767
  346. package/resource/doc/callkit/faq/flutter-faq.md +0 -749
  347. package/resource/doc/callkit/faq/ios-faq.md +0 -759
  348. package/resource/doc/callkit/faq/web-faq.md +0 -753
  349. package/resource/doc/callkit/preset/android/api.md +0 -330
  350. package/resource/doc/callkit/preset/flutter/api.md +0 -401
  351. package/resource/doc/callkit/preset/ios/api.md +0 -282
  352. package/resource/doc/callkit/preset/ios/integration.md +0 -188
  353. package/resource/doc/callkit/preset/react/api.md +0 -600
  354. package/resource/doc/callkit/preset/react/integration.md +0 -86
  355. package/resource/doc/callkit/preset/vue/api.md +0 -600
  356. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  357. package/resource/doc/chatkit/android/faq.md +0 -109
  358. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -280
  359. package/resource/doc/chatkit/faq/common/product.md +0 -82
  360. package/resource/doc/chatkit/faq/common/server.md +0 -53
  361. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  362. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -183
  363. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -54
  364. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -279
  365. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  366. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -292
  367. package/resource/doc/chatkit/flutter/faq.md +0 -22
  368. package/resource/doc/chatkit/ios/faq.md +0 -109
  369. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  370. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  371. package/resource/doc/chatkit/react/components/chat-setting.md +0 -117
  372. package/resource/doc/chatkit/react/components/chat.md +0 -38
  373. package/resource/doc/chatkit/react/components/component-list.md +0 -35
  374. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  375. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -116
  376. package/resource/doc/chatkit/react/components/conversation-search.md +0 -57
  377. package/resource/doc/chatkit/react/components/search.md +0 -282
  378. package/resource/doc/chatkit/react/components/tuikit.md +0 -43
  379. package/resource/doc/chatkit/react/faq.md +0 -26
  380. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  381. package/resource/doc/chatkit/vue/components/chat-header.md +0 -149
  382. package/resource/doc/chatkit/vue/components/chat.md +0 -42
  383. package/resource/doc/chatkit/vue/components/component-list.md +0 -89
  384. package/resource/doc/chatkit/vue/components/tuikit.md +0 -45
  385. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  386. package/resource/doc/chatkit/vue/faq.md +0 -35
  387. package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +0 -148
  388. package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +0 -316
  389. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +0 -419
  390. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +0 -325
  391. package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +0 -436
  392. package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +0 -165
  393. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +0 -239
  394. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +0 -74
  395. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +0 -417
  396. package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +0 -207
  397. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +0 -158
  398. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +0 -304
  399. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +0 -394
  400. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +0 -303
  401. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +0 -410
  402. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +0 -160
  403. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +0 -231
  404. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +0 -375
  405. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +0 -170
  406. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +0 -165
  407. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +0 -143
  408. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +0 -298
  409. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +0 -349
  410. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +0 -297
  411. package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +0 -471
  412. package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +0 -179
  413. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +0 -238
  414. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +0 -74
  415. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +0 -412
  416. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +0 -173
  417. package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +0 -365
  418. package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +0 -336
  419. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  420. package/resource/doc/livekit/preset/live/vue/components/barrage.md +0 -291
  421. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -88
  422. package/resource/doc/livekit/preset/live/vue/components/live-audience-list.md +0 -164
  423. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -130
  424. package/resource/doc/livekit/preset/live/vue/components/live-view.md +0 -203
  425. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -211
  426. package/resource/doc/livekit/preset/live/vue/faq.md +0 -1
  427. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  428. package/resource/doc/roomkit/flutter/features/call-user-to-room.md +0 -228
  429. package/resource/doc/roomkit/vue/faq.md +0 -1
  430. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  431. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  432. package/resource/doc/roomkit/vue/features/room-participant-state.md +0 -385
  433. package/resource/doc/roomkit/vue/features/room-state.md +0 -280
  434. package/resource/doc/roomkit/vue/features/room-view.md +0 -241
  435. package/resource/doc/roomkit/vue/integration.md +0 -315
  436. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  437. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -472
  438. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -388
  439. package/resource/doc/trtc/android/TXBeautyManager.md +0 -403
  440. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -404
  441. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -382
  442. package/server-config.js.map +0 -1
  443. package/server.js.map +0 -1
  444. package/streamable-http.js.map +0 -1
  445. package/tools/call/get_callkit_api.js +0 -33
  446. package/tools/call/get_callkit_api.js.map +0 -1
  447. package/tools/call/get_native_call_uikit_integration.js.map +0 -1
  448. package/tools/call/get_native_callkit_core_integration.js.map +0 -1
  449. package/tools/call/get_web_call_uikit_integration.js.map +0 -1
  450. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  451. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  452. package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
  453. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  454. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  455. package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
  456. package/tools/common/get_faq.js +0 -266
  457. package/tools/common/get_faq.js.map +0 -1
  458. package/tools/common/get_usersig.js.map +0 -1
  459. package/tools/common/present_framework_choice.js.map +0 -1
  460. package/tools/common/record_answer.js.map +0 -1
  461. package/tools/common/record_feedback.js.map +0 -1
  462. package/tools/common/record_skill_session.js +0 -69
  463. package/tools/common/record_skill_session.js.map +0 -1
  464. package/tools/definitions/get_callkit_api_def.js +0 -28
  465. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  466. package/tools/definitions/get_faq_def.js +0 -40
  467. package/tools/definitions/get_faq_def.js.map +0 -1
  468. package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
  469. package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
  470. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  471. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  472. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
  473. package/tools/definitions/get_native_livekit_core_features_def.js +0 -33
  474. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  475. package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
  476. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  477. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  478. package/tools/definitions/get_usersig_def.js.map +0 -1
  479. package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
  480. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  481. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  482. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
  483. package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
  484. package/tools/definitions/get_web_livekit_api_def.js +0 -27
  485. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  486. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -29
  487. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  488. package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
  489. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -30
  490. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  491. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -25
  492. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  493. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -25
  494. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  495. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -25
  496. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  497. package/tools/definitions/present_framework_choice_def.js.map +0 -1
  498. package/tools/definitions/record_answer_def.js.map +0 -1
  499. package/tools/definitions/record_feedback_def.js.map +0 -1
  500. package/tools/definitions/record_skill_session_def.js +0 -31
  501. package/tools/definitions/record_skill_session_def.js.map +0 -1
  502. package/tools/index.js.map +0 -1
  503. package/tools/live/get_native_livekit_core_features.js +0 -68
  504. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  505. package/tools/live/get_native_livekit_core_integration.js.map +0 -1
  506. package/tools/live/get_web_live_uikit_integration.js.map +0 -1
  507. package/tools/live/get_web_livekit_api.js +0 -33
  508. package/tools/live/get_web_livekit_api.js.map +0 -1
  509. package/tools/live/get_web_livekit_component_detail.js +0 -35
  510. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  511. package/tools/room/get_web_room_uikit_integration.js.map +0 -1
  512. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  513. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  514. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  515. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  516. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  517. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  518. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  519. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  520. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  521. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  522. package/utils/build-session-directives.js +0 -122
  523. package/utils/build-session-directives.js.map +0 -1
  524. package/utils/generate-structured-result.js.map +0 -1
  525. package/utils/generate-usersig.js.map +0 -1
  526. package/utils/get-device-identifier.js.map +0 -1
  527. package/utils/get-doc-content.js.map +0 -1
  528. package/utils/handle-framework.js +0 -9
  529. package/utils/handle-framework.js.map +0 -1
  530. package/utils/handle-state-name.js +0 -29
  531. package/utils/handle-state-name.js.map +0 -1
  532. package/utils/http-get.js.map +0 -1
  533. package/utils/http-post.js.map +0 -1
  534. package/utils/report-cls-client.js.map +0 -1
  535. package/utils/report-es-client.js.map +0 -1
  536. package/utils/report-runtime-error-cls-client.js.map +0 -1
  537. /package/resource/{doc/callkit/faq/common → knowledge/callkit/faq}/error-code.md +0 -0
  538. /package/resource/{doc/livekit/faq/common → knowledge/livekit/faq}/error-code.md +0 -0
  539. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  540. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  541. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  542. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/38-advanced-basic-beauty.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  553. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  554. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  555. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
  556. /package/resource/{doc/rtcengine/faq/common → knowledge/share}/userSig.md +0 -0
@@ -0,0 +1,705 @@
1
+ 本文将介绍如何在 iOS 工程中集成 TIMPush。
2
+
3
+ ## 前提条件
4
+
5
+ 请确认已 开通 Push 服务 并完成 iOS 厂商配置,获取到了下列信息:
6
+
7
+ |资源|获取位置|用途|
8
+ |---------|---------|---------|
9
+ |`SDKAppID`|腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **概览**|调用 `registerPush`。创建 Push 应用后,腾讯云控制台会自动创建相同 `SDKAppID` 的 Chat 应用。|
10
+ |Push Key|腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **概览** > **客户端密钥**|独立 Push 场景下,作为 `registerPush` 的 `appKey` 参数。|
11
+ |Chat Key|腾讯云控制台 > 即时通信 IM > **消息服务 Chat** > **概览 **> **密钥**|Chat 登录使用。不要把 Chat Key 当作 `registerPush` 的 `appKey` 传入。|
12
+ |证书 ID|腾讯云控制台上传 APNs 证书后生成|证书 ID 即 `businessID`,在 AppDelegate 中返回给 TIMPush。|
13
+ |App Group ID|Apple Developer Center / **Xcode Capabilities**|仅在需要推送触达统计时使用。|
14
+ |Push 服务开通状态|腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **概览**|创建 Push 应用不等于已开通 Push 服务,请确认 Push 服务已开通。|
15
+ |TIMPush iOS `VERSION`|[更新日志](https://cloud.tencent.com/document/product/269/114289)|`VERSION` 是 Podfile 中 TIMPush 依赖的版本号占位符,例如 `8.9.7537`、`8.8.7357`、`8.7.7201` 等,请以实际接入版本为准。|
16
+
17
+ 本文示例中的 `VERSION`、`SDKAppID`、`AppKey`、`businessID`、App Group ID 均为占位符,请勿在代码仓库中提交真实密钥。
18
+
19
+ ## 集成 TIMPush
20
+
21
+ 请按顺序完成本文配置。
22
+
23
+ ### 主 App target 集成
24
+
25
+ TIMPush 通过 CocoaPods 集成。请在 `Podfile` 中为主 App target 添加 TIMPush 依赖。Podfile 示例:
26
+ ``` ruby
27
+ target 'YourAppName' do
28
+ use_frameworks!
29
+ use_modular_headers!
30
+
31
+ pod 'TIMPush', 'VERSION'
32
+ end
33
+ ```
34
+
35
+ 如果您的工程已显式依赖 IMSDK,请保持 `TIMPush` 与 `TXIMSDK_Plus_iOS_XCFramework` 版本一致,否则执行 `pod install` 时可能出现依赖冲突:
36
+ ``` ruby
37
+ target 'YourAppName' do
38
+ use_frameworks!
39
+ use_modular_headers!
40
+
41
+ pod 'TXIMSDK_Plus_iOS_XCFramework', 'VERSION'
42
+ pod 'TIMPush', 'VERSION'
43
+ end
44
+ ```
45
+
46
+ 保存 `Podfile` 后,在工程目录执行:
47
+ ``` bash
48
+ pod install
49
+ ```
50
+
51
+ 如果无法安装 TIMPush 最新版本,可先执行 `pod repo update` 更新本地 CocoaPods 仓库列表后再 `pod install`。仓库更新可能耗时较长且影响依赖解析结果,建议在确认版本后执行。
52
+
53
+ > **注意:**
54
+ >
55
+
56
+ > 无论 Swift 还是 Objective-C 项目,都请集成 TXIMSDK_Plus_iOS_XCFramework。
57
+ >
58
+
59
+ **验证**:`pod install` 输出 `Installing TIMPush (VERSION)`,工程内可以 `import TIMPush` / `#import <TIMPush/TIMPushManager.h>` 且编译通过。
60
+
61
+ ### 配置推送参数
62
+
63
+ #### 配置 `businessID`
64
+
65
+ `businessID` 是腾讯云控制台上传 APNs 证书后生成的证书 ID。TIMPush 通过该 ID 识别当前 App 使用控制台中的哪一份 iOS 推送证书。
66
+
67
+ 请在 AppDelegate 中实现 businessID() 方法,并返回控制台生成的证书 ID。
68
+
69
+ 【Swift】
70
+ ``` swift
71
+ // 在 AppDelegate.swift 中添加
72
+ import TIMPush
73
+
74
+ // 注意:Swift 端需要添加 @objc 标注
75
+ @objc func businessID() -> Int32 {
76
+ // TODO: Replace <#YOUR_BUSINESS_ID#> with the certificate ID generated in the Tencent Cloud console.
77
+ return <#YOUR_BUSINESS_ID#>
78
+ }
79
+ ```
80
+
81
+ 【Objective-C】
82
+ ``` objectivec
83
+ // 在 AppDelegate.m 中添加
84
+ #import <TIMPush/TIMPushManager.h>
85
+
86
+ - (int)businessID {
87
+ // TODO: Replace <#YOUR_BUSINESS_ID#> with the certificate ID generated in the Tencent Cloud console.
88
+ return <#YOUR_BUSINESS_ID#>;
89
+ }
90
+ ```
91
+
92
+ **验证**:在 `businessID` 方法内打 log,启动 App 后观察该方法是否被调用,且返回值与腾讯云控制台显示的证书 ID 一致。
93
+
94
+ #### 配置 `applicationGroupID`(可选)
95
+
96
+ 如果您需要统计推送触达率,需要配置 App Group ID 并实现 applicationGroupID() 方法 ,该 ID 应与您在厂商配置阶段准备的 App Group ID 保持一致。如果不需要推送触达统计,可以跳过本节。
97
+
98
+ 【Swift】
99
+ ``` swift
100
+ // 在 AppDelegate.swift 中添加
101
+ import TIMPush
102
+
103
+ @objc func applicationGroupID() -> String {
104
+ // TODO: Replace <#YOUR_APP_GROUP_ID#> with the App Group ID configured in Apple Developer Center / Xcode.
105
+ return "group.<#YOUR_APP_GROUP_ID#>"
106
+ }
107
+ ```
108
+
109
+ 【Objective-C】
110
+ ``` objectivec
111
+ // 在 AppDelegate.m 中添加
112
+ #import <TIMPush/TIMPushManager.h>
113
+
114
+ - (NSString *)applicationGroupID {
115
+ // TODO: Replace <#YOUR_APP_GROUP_ID#> with the App Group ID configured in Apple Developer Center / Xcode.
116
+ return @"group.<#YOUR_APP_GROUP_ID#>";
117
+ }
118
+ ```
119
+
120
+ **验证**:在 Apple Developer Center 和 Xcode 中确认主 App 与 Notification Service Extension 已绑定到同一个 App Group ID,且 AppDelegate 返回的 `group.<#YOUR_APP_GROUP_ID#>` 与之一致。
121
+
122
+ ## 注册推送
123
+
124
+ ### registerPush
125
+
126
+ registerPush 用于注册当前设备的推送 token。注册成功后,后台才能根据 `registrationID` 或 `userID` 向该设备下发离线推送。其中 `appKey` 的取值会影响注册方式:
127
+ - `appKey = Push Key`:注册 TIMPush 独立推送能力。Push Key 为腾讯云控制台 > 即时通信 IM > 推送服务 Push > 概览中的客户端密钥。
128
+
129
+ - `appKey = nil`:复用 IM 登录态注册推送,必须在 IM `login` 成功后调用。
130
+
131
+ 请先根据业务场景确认调用顺序:
132
+
133
+ | <strong>场景</strong> | <strong>调用顺序</strong> | <strong>后台可用推送标识</strong> | <strong>说明</strong> |
134
+ | --- | --- | --- | --- |
135
+ | 仅使用 TIMPush | App 每次冷启动后调用<br><code>registerPush(appKey = Push Key)</code> | <code>registrationID</code> | 适用于营销 / 活动 / 通知推送,不接入 IM SDK。 |
136
+ | IM SDK + TIMPush<br>先注册 Push 再登录 | <code>registerPush(appKey = Push Key)</code><br>→ IM <code>login</code> | 登录前:<code>registrationID</code>;<br>登录后:<code>registrationID</code> + <code>userID</code> | 适用于希望用户未登录时也能收到营销推送的场景。 |
137
+ | IM SDK + TIMPush<br>先登录再注册 Push | IM <code>login</code><br>→ <code>registerPush(appKey = null)</code> | 登录后:<code>userID</code><br>注册后:<code>userID</code> + <code>registrationID</code>,<br>此时 <code>registrationID</code> = <code>userID</code> | 适用于希望用户登录后能收到 Chat 离线消息和营销推送的场景。 |
138
+
139
+ > **注意:**
140
+ >
141
+ > - 如果用户退出 IM SDK,同时集成了 IM SDK + TIMPush 的场景下已建立的 `userID` 与 `registrationID` 推送关系都会失效,需要重新完成对应注册。
142
+ > - Chat 应用的密钥仅用于 IM 登录,不能作为 `registerPush` 的 `appKey`。
143
+
144
+ 【App 冷启动注册 TIMPush(appKey 传 Push Key)】
145
+
146
+ App 冷启动、用户同意隐私政策后调用 `registerPush(appKey = Push Key)`。
147
+
148
+ 【Swift】
149
+ ``` swift
150
+ import TIMPush
151
+
152
+ func registerTIMPush() {
153
+ // TODO: Replace 0 with your SDKAppID.
154
+ let sdkAppID: Int32 = 0
155
+ // TODO: Replace "<#YOUR_PUSH_KEY#>" with your Push Key.
156
+ let appKey = "<#YOUR_PUSH_KEY#>"
157
+
158
+ TIMPushManager.registerPush(sdkAppID, appKey: appKey, succ: { deviceToken in
159
+ print(">>>>> TIMPush register success")
160
+ }, fail: { code, desc in
161
+ print(">>>>> TIMPush register failed, code:\(code), desc:\(desc)")
162
+ })
163
+ }
164
+ ```
165
+
166
+ 【Objective-C】
167
+ ``` objectivec
168
+ #import <TIMPush/TIMPushManager.h>
169
+
170
+ - (void)registerTIMPush {
171
+ // TODO: Replace 0 with your SDKAppID.
172
+ int sdkAppID = 0;
173
+ // TODO: Replace @"<#YOUR_PUSH_KEY#>" with your Push Key.
174
+ NSString *appKey = @"<#YOUR_PUSH_KEY#>";
175
+
176
+ [TIMPushManager registerPush:sdkAppID
177
+ appKey:appKey
178
+ succ:^(NSData * _Nonnull deviceToken) {
179
+ NSLog(@">>>>> TIMPush register success");
180
+ } fail:^(int code, NSString * _Nonnull desc) {
181
+ NSLog(@">>>>> TIMPush register failed, code:%d, desc:%@", code, desc);
182
+ }];
183
+ }
184
+
185
+ ```
186
+
187
+ 【IM 登录后注册推送(appKey 传 null)】
188
+
189
+ 请在 IM `login` 成功回调中调用 `registerPush(appKey = nil)`。
190
+
191
+ 【Swift】
192
+ ``` swift
193
+ import TIMPush
194
+ import ImSDK_Plus
195
+
196
+ func loginIMAndRegisterPush() {
197
+ // TODO: Replace 0 with your SDKAppID.
198
+ let sdkAppID: Int32 = 0
199
+ let userID = "<#YOUR_USER_ID#>"
200
+ let userSig = "<#YOUR_USER_SIG#>"
201
+
202
+ V2TIMManager.sharedInstance().login(userID: userID, userSig: userSig) {
203
+ // Swift 桥接下 appKey 类型为非可选 String,IM 登录场景传空字符串等同于 OC 接口传 nil。
204
+ TIMPushManager.registerPush(sdkAppID, appKey: "", succ: { deviceToken in
205
+ print(">>>>> TIMPush register success")
206
+ }, fail: { code, desc in
207
+ print(">>>>> TIMPush register failed, code:\(code), desc:\(desc)")
208
+ })
209
+ } fail: { code, msg in
210
+ print(">>>>> IM login failed, code:\(code), msg:\(msg ?? "")")
211
+ }
212
+ }
213
+ ```
214
+
215
+ 【Objective-C】
216
+ ``` objectivec
217
+ #import <TIMPush/TIMPushManager.h>
218
+ #import <ImSDK_Plus/ImSDK_Plus.h>
219
+
220
+ - (void)loginIMAndRegisterPush {
221
+ // TODO: Replace 0 with your SDKAppID.
222
+ int sdkAppID = 0;
223
+ NSString *userID = @"<#YOUR_USER_ID#>";
224
+ NSString *userSig = @"<#YOUR_USER_SIG#>";
225
+
226
+ [[V2TIMManager sharedInstance] login:userID userSig:userSig succ:^{
227
+ [TIMPushManager registerPush:sdkAppID
228
+ appKey:nil
229
+ succ:^(NSData * _Nonnull deviceToken) {
230
+ NSLog(@">>>>> TIMPush register success");
231
+ } fail:^(int code, NSString * _Nonnull desc) {
232
+ NSLog(@">>>>> TIMPush register failed, code:%d, desc:%@", code, desc);
233
+ }];
234
+ } fail:^(int code, NSString *msg) {
235
+ NSLog(@">>>>> IM login failed, code:%d, msg:%@", code, msg);
236
+ }];
237
+ }Objective-C
238
+ ```
239
+
240
+ **验证**:
241
+
242
+ 1. `registerPush` 的 `onSuccess` 回调被触发。
243
+
244
+ 2. 登录腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **推送排查**,按当前场景输入 `registrationID` 或 `userID`,确认 token 已上传。
245
+
246
+ 3. 如触发 `onError`,可按 错误码 查询 `code` 含义。
247
+
248
+ ### 自定义 registrationID(可选)
249
+
250
+ 如需自定义推送标识(如使用业务侧用户 ID),可在 `registerPush`**前**调用 setRegistrationID。
251
+
252
+ > **注意:**
253
+ >
254
+
255
+ > 混用场景下,自定义 `registrationID` 必须与 IM 登录使用的 `userID` 完全一致,否则会产生账号互踢导致推送丢失。
256
+ >
257
+
258
+ ## 配置消息触达统计(可选)
259
+
260
+ 仅当您需要统计推送触达率时,才需要完成本节配置;如果只需要接收普通离线推送,可跳过本节。
261
+
262
+ 完整流程包含:
263
+ 1. 在 Xcode 中创建并配置 Notification Service Extension target
264
+
265
+ 2. 确保 APNs payload 开启 `mutable-content`
266
+
267
+ 3. 在 Extension 中调用 TIMPush 处理通知。
268
+
269
+ ### 创建并配置 Notification Service Extension target
270
+ 1. 在 Xcode 中选择 **File** > **New** > **Target**。
271
+
272
+ 2. 选择 **Notification Service Extension**。
273
+
274
+ 3. 输入 Extension 名称。
275
+
276
+ 4. 创建完成后,确认工程中出现新的 Extension target。
277
+
278
+ 5. 在 Extension target 的 **Signing & Capabilities** 中配置与主 App 相同的 App Groups。
279
+
280
+ 6. 在 `Podfile` 中为 Extension target 添加 TIMPush 依赖:
281
+
282
+ ``` ruby
283
+ target 'YourNotificationServiceExtensionTarget' do
284
+ use_frameworks!
285
+ use_modular_headers!
286
+
287
+ pod 'TIMPush', 'VERSION'
288
+ end
289
+ ```
290
+ 7. 执行 `pod install`。
291
+
292
+ > **注意:**
293
+ >
294
+
295
+ > Extension target 是独立 target,不能复用主 App target 的 Pod 依赖。若未在 Extension target 中添加 `TIMPush`,在 `NotificationService` 中 `import TIMPush` 或 `#import <TIMPush/TIMPushManager.h>` 会失败。
296
+ >
297
+
298
+ ### 开启 `mutable-content`
299
+
300
+ `mutable-content` 是 APNs payload 字段,由发送方在推送内容中设置。只有 payload 中开启 `mutable-content`,iOS 10 及以上系统才会在送达前调用 Notification Service Extension,触达统计才能生效。
301
+
302
+ 请确保通过以下任一方式开启 `mutable-content`:
303
+ - **腾讯云控制台推送**:在控制台推送测试或发送页面,勾选 `mutable-content` 相关选项。
304
+
305
+ - **服务端 REST API**:在 APNs payload 中设置 `"mutable-content": 1`。
306
+
307
+ - **Chat SDK 发送**:以 Chat SDK 离线推送配置文档为准。
308
+
309
+ ### 在 Extension 中处理通知
310
+
311
+ 请将 `group.<#YOUR_APP_GROUP_ID#>` 替换为您在 Apple Developer Center 和 Xcode 中配置的 App Group ID。主 App 和 Extension 必须使用同一个 App Group ID。以下 Swift 写法基于 OC 接口自动桥接,参数命名可能随 SDK 版本调整,请以 SDK 头文件 `TIMPushManager.h` 为准。
312
+
313
+ 【Swift】
314
+ ``` swift
315
+ // 在 NotificationService.swift 中添加
316
+
317
+ import UserNotifications
318
+ import TIMPush
319
+
320
+ class NotificationService: UNNotificationServiceExtension {
321
+ var contentHandler: ((UNNotificationContent) -> Void)?
322
+ var bestAttemptContent: UNMutableNotificationContent?
323
+
324
+ override func didReceive(
325
+ _ request: UNNotificationRequest,
326
+ withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
327
+ ) {
328
+ self.contentHandler = contentHandler
329
+ self.bestAttemptContent = request.content.mutableCopy() as? UNMutableNotificationContent
330
+
331
+ let appGroupID = "group.<#YOUR_APP_GROUP_ID#>"
332
+ TIMPushManager.handleNotificationServiceRequest(request: request, appGroupID: appGroupID) { [weak self] content in
333
+ guard let self = self else {
334
+ contentHandler(content)
335
+ return
336
+ }
337
+ self.bestAttemptContent = content.mutableCopy() as? UNMutableNotificationContent
338
+ contentHandler(self.bestAttemptContent ?? content)
339
+ }
340
+ }
341
+
342
+ override func serviceExtensionTimeWillExpire() {
343
+ if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
344
+ contentHandler(bestAttemptContent)
345
+ }
346
+ }
347
+ }
348
+ ```
349
+
350
+ 【Objective-C】
351
+ ``` objectivec
352
+ // 在 NotificationService.m 中添加
353
+ #import "NotificationService.h"
354
+ #import <TIMPush/TIMPushManager.h>
355
+
356
+ @implementation NotificationService
357
+
358
+ - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request
359
+ withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
360
+ NSString *appGroupID = @"group.<#YOUR_APP_GROUP_ID#>";
361
+
362
+ [TIMPushManager handleNotificationServiceRequest:request
363
+ appGroupID:appGroupID
364
+ callback:^(UNNotificationContent *content) {
365
+ contentHandler(content);
366
+ }];
367
+ }
368
+
369
+ @end
370
+ ```
371
+
372
+ **验证**:发送一条带 `mutable-content` 的测试推送,在 `didReceive` 内打断点或 log 确认 Extension 被调用;后续在腾讯云控制台触达统计页面应能看到上报数据。
373
+
374
+ ## 测试推送
375
+
376
+ 完成上述集成步骤后,需要通过发送测试消息验证整体链路是否打通。发送消息前请确认:
377
+ 1. App 已获得系统通知权限;
378
+
379
+ 2. Xcode 主 App target 已开启 Push Notifications,AppDelegate 已正确返回 `businessID`;
380
+
381
+ 3. App 已置于后台或杀掉进程(前台时离线推送可能不触发)。
382
+
383
+ 发送测试消息可以采用下面几种方法:
384
+
385
+ 【控制台发送】
386
+
387
+ 仅集成 TIMPush 的用户,建议优先使用腾讯云控制台接入测试能力验证离线推送。
388
+
389
+ 操作路径:腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **接入测试**。在接入测试页面,可以指定 `registrationID` 或 `userID` 发送离线推送测试。
390
+
391
+ 【REST API 发送】
392
+
393
+ 如果需要通过服务端发送推送,可参考 [REST API 接口 - 发起全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
394
+
395
+ 【SDK API 发送】
396
+
397
+ 如果您的项目已接入 IM SDK,可在调用 [sendMessage](https://cloud.tencent.com/document/product/269/75315) 发送消息时,通过 [`V2TIMOfflinePushInfo`](https://im.sdk.qcloud.com/doc/zh-cn/interfaceV2TIMOfflinePushInfo.html) 设置离线推送参数,再交由 `V2TIMManager` 发送消息。具体方法签名以您接入的 IMSDK 版本头文件为准。
398
+
399
+ 【Swift】
400
+ ``` swift
401
+ import ImSDK_Plus
402
+
403
+ let pushInfo = V2TIMOfflinePushInfo()
404
+ pushInfo.title = "推送标题"
405
+ pushInfo.desc = "推送内容"
406
+ pushInfo.ext = "{\"action\":\"open_chat\",\"conversationID\":\"c2c_userA\"}"
407
+
408
+ let message = V2TIMManager.sharedInstance().createTextMessage("Hello TIMPush")
409
+
410
+ V2TIMManager.sharedInstance().sendMessage(
411
+ message: message,
412
+ receiver: "<#TARGET_USER_ID#>",
413
+ groupID: nil,
414
+ priority: V2TIM_PRIORITY_DEFAULT,
415
+ onlineUserOnly: false,
416
+ offlinePushInfo: pushInfo,
417
+ progress: nil,
418
+ succ: { msg in
419
+ print(">>>>> sendMessage success, msgID = \(msg?.msgID ?? "")")
420
+ },
421
+ fail: { code, desc in
422
+ print(">>>>> sendMessage failed, code:\(code), desc:\(desc ?? "")")
423
+ }
424
+ )
425
+ ```
426
+
427
+ 【Objective-C】
428
+ ``` objectivec
429
+ #import <ImSDK_Plus/ImSDK_Plus.h>
430
+
431
+ V2TIMOfflinePushInfo *pushInfo = [[V2TIMOfflinePushInfo alloc] init];
432
+ pushInfo.title = @"推送标题";
433
+ pushInfo.desc = @"推送内容";
434
+ pushInfo.ext = @"{\"action\":\"open_chat\",\"conversationID\":\"c2c_userA\"}";
435
+
436
+ V2TIMMessage *message = [[V2TIMManager sharedInstance] createTextMessage:@"Hello TIMPush"];
437
+
438
+ [[V2TIMManager sharedInstance] sendMessage:message
439
+ receiver:@"<#TARGET_USER_ID#>"
440
+ groupID:nil
441
+ priority:V2TIM_PRIORITY_DEFAULT
442
+ onlineUserOnly:NO
443
+ offlinePushInfo:pushInfo
444
+ progress:nil
445
+ succ:^{
446
+ NSLog(@">>>>> sendMessage success");
447
+ } fail:^(int code, NSString *desc) {
448
+ NSLog(@">>>>> sendMessage failed, code:%d, desc:%@", code, desc);
449
+ }];
450
+ ```
451
+
452
+ `sendMessage` 属于 IMSDK 消息发送能力。仅集成 TIMPush 的用户不需要为了验证离线推送而额外接入完整 Chat 初始化、登录和消息发送流程。
453
+
454
+ **验证**:App 置于后台后发送测试消息,设备能收到离线推送通知。如果手机通知栏开启权限,通知栏会弹出离线推送消息弹框。如果收不到,请参见下文「收不到推送排障流程」逐步排查。
455
+
456
+ ## 处理通知点击跳转
457
+
458
+ 通知点击跳转需要三步配合完成:控制台配置点击动作、发送推送时携带跳转参数、客户端注册监听并解析参数。三步缺一则跳转不生效。
459
+
460
+ ### 配置控制台点击动作
461
+
462
+ 在腾讯云控制台配置推送证书的「点击后续动作」,勾选「打开应用内指定页面」:
463
+
464
+ 操作路径:腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **推送设置** > **厂商配置** > **iOS** > **对应 APNs 证书** > **编辑** > 点击后续动作 > 打开应用内指定页面。
465
+
466
+ ### 发送推送时携带 `ext`
467
+
468
+ 发送离线推送时,通过 `ext` 字段携带跳转所需的业务信息(如目标页面、会话 ID 等)。`ext` 是一个字符串,结构由业务自定义,推荐使用 JSON 格式便于客户端解析。下文示例统一使用如下结构演示:
469
+ ``` json
470
+ // conversationType 为 1 表示单聊(conversationID 填消息发送方 userID),为 2 表示群聊(conversationID 填 groupID)。
471
+ {"conversationID":"user_A","conversationType":1}
472
+ ```
473
+
474
+ 【REST API 发送】
475
+
476
+ 通过 REST API 发送推送时,在请求体的 `Ext` 字段中设置 JSON 字符串:
477
+ ``` json
478
+ {
479
+ "MsgBody": [],
480
+ "OfflinePushInfo": {
481
+ "PushFlag": 0,
482
+ "Title": "离线推送标题",
483
+ "Desc": "离线推送内容",
484
+ "Ext": "{\"conversationID\":\"user_A\",\"conversationType\":1}"
485
+ }
486
+ }
487
+ ```
488
+
489
+ 控制台接入测试页面同样支持设置 `Ext` 字段,填入 JSON 字符串即可。
490
+
491
+ 【SDK API 发送】
492
+
493
+ 通过 [`V2TIMOfflinePushInfo`](https://im.sdk.qcloud.com/doc/zh-cn/interfaceV2TIMOfflinePushInfo.html) 的 `ext` 属性携带跳转参数,再随消息一起发送。
494
+
495
+ 如果你接入了 TUIKit,TUIKit 内置的消息发送链路会自动用 `OfflinePushExtInfo` 组装 `ext`,无需手动设置。下方示例适用于自行调用 IM SDK 发送消息的场景。
496
+
497
+ 【Swift】
498
+ ``` swift
499
+ import ImSDK_Plus
500
+
501
+ let pushInfo = V2TIMOfflinePushInfo()
502
+ pushInfo.title = "推送标题"
503
+ pushInfo.desc = "推送内容"
504
+ // TODO: ext 由业务自定义,按需替换为您的目标页面、会话 ID 等参数。
505
+ pushInfo.ext = "{\"conversationID\":\"user_A\",\"conversationType\":1}"
506
+
507
+ let message = V2TIMManager.sharedInstance().createTextMessage("Hello TIMPush")
508
+ V2TIMManager.sharedInstance().sendMessage(
509
+ message: message,
510
+ receiver: "<#TARGET_USER_ID#>",
511
+ groupID: nil,
512
+ priority: V2TIM_PRIORITY_DEFAULT,
513
+ onlineUserOnly: false,
514
+ offlinePushInfo: pushInfo,
515
+ progress: nil,
516
+ succ: { msg in
517
+ print(">>>>> sendMessage success, msgID = \(msg?.msgID ?? "")")
518
+ },
519
+ fail: { code, desc in
520
+ print(">>>>> sendMessage failed, code:\(code), desc:\(desc ?? "")")
521
+ }
522
+ )
523
+ ```
524
+
525
+ 【Objective-C】
526
+ ``` objectivec
527
+ #import <ImSDK_Plus/ImSDK_Plus.h>
528
+
529
+ V2TIMOfflinePushInfo *pushInfo = [[V2TIMOfflinePushInfo alloc] init];
530
+ pushInfo.title = @"推送标题";
531
+ pushInfo.desc = @"推送内容";
532
+ // TODO: ext 由业务自定义,按需替换为您的目标页面、会话 ID 等参数。
533
+ pushInfo.ext = @"{\"conversationID\":\"user_A\",\"conversationType\":1}";
534
+
535
+ V2TIMMessage *message = [[V2TIMManager sharedInstance] createTextMessage:@"Hello TIMPush"];
536
+ [[V2TIMManager sharedInstance] sendMessage:message
537
+ receiver:@"<#TARGET_USER_ID#>"
538
+ groupID:nil
539
+ priority:V2TIM_PRIORITY_DEFAULT
540
+ onlineUserOnly:NO
541
+ offlinePushInfo:pushInfo
542
+ progress:nil
543
+ succ:^(V2TIMMessage *msg) {
544
+ NSLog(@">>>>> sendMessage success, msgID = %@", msg.msgID);
545
+ } fail:^(int code, NSString *desc) {
546
+ NSLog(@">>>>> sendMessage failed, code:%d, desc:%@", code, desc);
547
+ }];
548
+ ```
549
+
550
+ ### 客户端注册监听并解析 `ext`
551
+
552
+ 请在 AppDelegate 中遵循 TIMPushListener 协议,在 `didFinishLaunchingWithOptions` 中调用 addPushListener 注册监听器,并在 onNotificationClicked 中解析 `ext` 后跳转到业务页面。
553
+
554
+ 以下示例只演示解析 `ext` 的核心逻辑,跳转部分用 `TODO` 占位,请按自身业务补充。如果您接入了 TUIKit 并使用 `OfflinePushExtInfo` 组装的 `ext`,可改为 `OfflinePushExtInfo.create(withExtString:)` 解析后再跳转。
555
+
556
+ 【Swift】
557
+ ``` swift
558
+ import UIKit
559
+ import TIMPush
560
+
561
+ @main
562
+ class AppDelegate: UIResponder, UIApplicationDelegate, TIMPushListener {
563
+ var window: UIWindow?
564
+
565
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
566
+ ) -> Bool {
567
+ TIMPushManager.addPushListener(listener: self)
568
+ return true
569
+ }
570
+
571
+ // MARK: - TIMPushListener
572
+
573
+ @objc func onNotificationClicked(_ ext: String) {
574
+ print(">>>>> TIMPush notification clicked, ext:\(ext)")
575
+
576
+ // 1. 解析 ext。JSON 结构由业务自定义,需与发送端约定一致。
577
+ guard let data = ext.data(using: .utf8),
578
+ let dict = try? JSONSerialization.jsonObject(with: data) as? [String: Any] else {
579
+ return
580
+ }
581
+ let conversationID = dict["conversationID"] as? String ?? ""
582
+ let conversationType = dict["conversationType"] as? Int ?? 0
583
+
584
+ // 2. TODO: 根据业务字段跳转到目标页面。
585
+ // 若使用了 Chat / TUIKit,建议在用户登录成功后再跳转;
586
+ // 冷启动场景可先把参数缓存起来,登录回调中再跳转。
587
+ }
588
+
589
+ // 协议要求实现,与点击跳转无关;如需感知收到 / 撤回离线推送,可按需补充。
590
+ @objc func onRecvPushMessage(_ message: TIMPushMessage) {}
591
+ @objc func onRevokePushMessage(_ messageID: String) {}
592
+ }
593
+ ```
594
+
595
+ 【Objective-C】
596
+ ``` objectivec
597
+ // AppDelegate.h
598
+ #import <UIKit/UIKit.h>
599
+ #import <TIMPush/TIMPushManager.h>
600
+
601
+ @interface AppDelegate : UIResponder <UIApplicationDelegate, TIMPushListener>
602
+ @property (nonatomic, strong, nullable) UIWindow *window;
603
+ @end
604
+
605
+ // AppDelegate.m
606
+ #import "AppDelegate.h"
607
+ #import <TIMPush/TIMPushManager.h>
608
+
609
+ @implementation AppDelegate
610
+
611
+ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
612
+ [TIMPushManager addPushListener:self];
613
+ return YES;
614
+ }
615
+
616
+ #pragma mark - TIMPushListener
617
+
618
+ - (void)onNotificationClicked:(NSString *)ext {
619
+ NSLog(@">>>>> TIMPush notification clicked, ext:%@", ext);
620
+
621
+ // 1. 解析 ext。JSON 结构由业务自定义,需与发送端约定一致。
622
+ NSData *data = [ext dataUsingEncoding:NSUTF8StringEncoding];
623
+ if (data.length == 0) {
624
+ return;
625
+ }
626
+ NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
627
+ if (![dict isKindOfClass:[NSDictionary class]]) {
628
+ return;
629
+ }
630
+ NSString *conversationID = dict[@"conversationID"];
631
+ NSInteger conversationType = [dict[@"conversationType"] integerValue];
632
+
633
+ // 2. TODO: 根据业务字段跳转到目标页面。
634
+ // 若使用了 Chat / TUIKit,建议在用户登录成功后再跳转;
635
+ // 冷启动场景可先把参数缓存起来,登录回调中再跳转。
636
+ }
637
+
638
+ // 协议要求实现,与点击跳转无关;如需感知收到 / 撤回离线推送,可按需补充。
639
+ - (void)onRecvPushMessage:(TIMPushMessage *)message {}
640
+ - (void)onRevokePushMessage:(NSString *)messageID {}
641
+
642
+ @end
643
+ ```
644
+
645
+ **验证**:点击通知后 `onNotificationClicked` 被调用,且 `ext` 内容与发送时设置的一致。如果回调未触发,请检查:控制台点击动作是否选择了「打开应用内指定页面」、监听器是否在 `didFinishLaunchingWithOptions` 中注册、发送消息时是否设置了 `ext`。
646
+
647
+ ## 收不到推送排障流程
648
+
649
+ 如果发送测试消息后设备没有收到推送,请按以下流程逐步排查。每一步确认通过后再进入下一步,可以快速定位问题所在环节。不要只凭单条 APNs 配置成功日志判断接入成功;运行 App 后可过滤 `TIMPush` 关键字观察整体日志。
650
+
651
+ ### 步骤1:确认 APNs 权限和 Push Notifications 能力
652
+ - App 是否已获得系统通知权限。
653
+
654
+ - Xcode 主 App target 的 **Signing & Capabilities** 是否已开启 **Push Notifications**。
655
+
656
+ - Apple Developer Center 对应 App ID 的 **Capabilities** 是否已勾选 **Push Notifications**。
657
+
658
+ 通过后,进入第二步。
659
+
660
+ ### 步骤2:确认 `registerPush` 是否成功
661
+
662
+ 检查 `registerPush` 回调结果:
663
+ - `succ`** 已触发**:注册成功,进入第三步。
664
+
665
+ - `fail`** 触发**:注册失败。结合下文「错误码」表查询 `code` 含义,并按返回的 `desc` 排查 `SDKAppID`、`appKey` 取值(独立 Push 用 Push Key,Chat / TUIKit 用 `nil`)以及调用时机。
666
+
667
+ ### 步骤3:确认控制台排查工具能查到 token
668
+
669
+ 在腾讯云控制台 **即时通信 IM > 推送服务 Push** 的排查工具中输入 `registrationID` 或 `userID`:
670
+ - **能查到设备且 token 正常**:进入第四步。
671
+
672
+ - **查不到设备 / 显示「没有上传成功 token」**:常见原因是 Chat 场景未在 Chat 登录成功后调用 `registerPush`,或调用顺序错误。请重新核对调用时机。
673
+
674
+ ### 步骤4:确认 `businessID` / Bundle ID / APNs 环境匹配
675
+
676
+ 控制台显示「不允许向该主题推送」或仅部分设备能收到推送时,通常是这一层出了问题:
677
+ - Xcode 主 App target 的 Bundle Identifier 是否与 Apple App ID 一致。
678
+
679
+ - 腾讯云控制台上传的 APNs 证书是否绑定同一个 Bundle ID。
680
+
681
+ - AppDelegate 返回的 `businessID` 是否为该 Bundle ID 对应的证书 ID。
682
+
683
+ - APNs 环境(开发 / 生产)是否与 App 安装包环境匹配。
684
+
685
+ - p8 / p12 证书是否上传到正确应用。
686
+
687
+ ### 步骤5:确认 Chat / TUIKit 场景登录顺序
688
+
689
+ 仅 Chat / TUIKit 场景需要检查:
690
+ - `registerPush` 是否在 Chat 登录成功回调(或 `TUILogin.login` 成功回调)之后调用。
691
+
692
+ - `appKey` 参数是否传 `nil`,而不是 Push Key 或 Chat Key。
693
+
694
+ - 自定义 `registrationID` 是否与 Chat 登录使用的 `userID` 完全一致(不一致会产生账号互踢)。
695
+
696
+ ### 步骤6:确认测试消息发送目标和设备状态
697
+ - 测试消息发送给的 `registrationID` 或 `userID` 是否与 `getRegistrationID:` 返回值一致。
698
+
699
+ - App 是否处于后台或已杀进程(前台时离线推送可能不触发)。
700
+
701
+ - 设备是否处于可接收通知状态(勿扰模式、通知权限等)。
702
+
703
+ - 推送服务是否到期(试用到期后自动停止服务)。
704
+
705
+ ### 仍无法解决