@tencentcloud/sdk-mcp 1.6.6 → 1.6.8

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 (272) hide show
  1. package/knowledge/build-index.js +4 -1
  2. package/knowledge/content-loader.js +3 -1
  3. package/knowledge/search/filter-pool.js +12 -4
  4. package/knowledge/search/query-normalizer.js +76 -0
  5. package/knowledge/search/search-knowledge.js +104 -5
  6. package/package.json +1 -1
  7. package/resource/_schema/feature-aliases.yaml +1 -0
  8. package/resource/_schema/query-normalization.yaml +9 -0
  9. package/resource/index/component-slugs.json +1 -0
  10. package/resource/index/doc-source-urls.json +1 -0
  11. package/resource/index/manifest.json +1 -0
  12. package/resource/integration/callkit/preset/android/integration.md +0 -14
  13. package/resource/integration/callkit/preset/flutter/integration.md +0 -9
  14. package/resource/integration/callkit/preset/ios/integration.md +2 -15
  15. package/resource/integration/callkit/preset/react/integration.md +0 -21
  16. package/resource/integration/callkit/preset/vue/integration.md +0 -27
  17. package/resource/integration/chat/preset/android/integration.md +3 -10
  18. package/resource/integration/chat/preset/flutter/integration.md +11 -13
  19. package/resource/integration/chat/preset/ios/integration.md +9 -16
  20. package/resource/integration/chat/preset/react/integration.md +1 -9
  21. package/resource/integration/chat/preset/uni-app/integration.md +0 -9
  22. package/resource/integration/chat/preset/vue/integration.md +3 -13
  23. package/resource/integration/livekit/preset/live/android/live-host-integration.md +0 -4
  24. package/resource/integration/livekit/preset/live/android/prepare-integration.md +8 -21
  25. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +0 -1
  26. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +0 -5
  27. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +0 -4
  28. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +0 -9
  29. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +1 -5
  30. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +36 -147
  31. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +1 -6
  32. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +432 -286
  33. package/resource/integration/roomkit/preset/vue/integration.md +18 -31
  34. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +1 -20
  35. package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -12
  36. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -12
  37. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +0 -19
  38. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +0 -13
  39. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -17
  40. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -13
  41. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -13
  42. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -12
  43. package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +0 -1
  44. package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +0 -2
  45. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +0 -15
  46. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +0 -15
  47. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +0 -1
  48. package/resource/knowledge/callkit/core-sdk/web/call-event.md +0 -1
  49. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +0 -1
  50. package/resource/knowledge/callkit/faq/android.md +5 -15
  51. package/resource/knowledge/callkit/faq/common.md +0 -1
  52. package/resource/knowledge/callkit/faq/ios.md +1 -4
  53. package/resource/knowledge/callkit/faq/uniapp-app.md +0 -2
  54. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +0 -5
  55. package/resource/knowledge/callkit/faq/web.md +1 -5
  56. package/resource/knowledge/callkit/preset/android/api.md +0 -6
  57. package/resource/knowledge/callkit/preset/ios/api.md +0 -4
  58. package/resource/knowledge/callkit/preset/miniprogram/api.md +0 -2
  59. package/resource/knowledge/callkit/preset/react/api.md +2 -4
  60. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +2 -8
  61. package/resource/knowledge/callkit/preset/vue/api.md +2 -4
  62. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +2 -8
  63. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -4
  64. package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -5
  65. package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -10
  66. package/resource/knowledge/chat/preset/android/features/language.md +1 -12
  67. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -9
  68. package/resource/knowledge/chat/preset/android/features/message-list.md +1 -11
  69. package/resource/knowledge/chat/preset/android/features/search.md +0 -7
  70. package/resource/knowledge/chat/preset/android/features/theme.md +0 -6
  71. package/resource/knowledge/chat/preset/android-view/integration.md +3 -5
  72. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +1 -4
  73. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +1 -6
  74. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +1 -10
  75. package/resource/knowledge/chat/preset/flutter/features/language.md +0 -3
  76. package/resource/knowledge/chat/preset/flutter/features/message-input.md +1 -9
  77. package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -11
  78. package/resource/knowledge/chat/preset/flutter/features/search.md +0 -7
  79. package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -6
  80. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -4
  81. package/resource/knowledge/chat/preset/ios/features/contact-list.md +1 -8
  82. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -10
  83. package/resource/knowledge/chat/preset/ios/features/language.md +0 -11
  84. package/resource/knowledge/chat/preset/ios/features/message-input.md +1 -9
  85. package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -11
  86. package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
  87. package/resource/knowledge/chat/preset/ios/features/theme.md +0 -6
  88. package/resource/knowledge/chat/preset/ios-uikit/integration.md +5 -17
  89. package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -2
  90. package/resource/knowledge/chat/preset/react/features/contact-list.md +0 -23
  91. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +2 -11
  92. package/resource/knowledge/chat/preset/react/features/conversation-list.md +2 -23
  93. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -6
  94. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  95. package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -3
  96. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -5
  97. package/resource/knowledge/chat/preset/vue/features/contact-list.md +3 -9
  98. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +0 -3
  99. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +2 -13
  100. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +2 -5
  101. package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
  102. package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -4
  103. package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -4
  104. package/resource/knowledge/chat/preset/vue/features/search.md +4 -1
  105. package/resource/knowledge/chat/preset/vue/features/theme.md +4 -6
  106. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
  107. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +0 -3
  108. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +0 -3
  109. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
  110. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
  111. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
  112. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
  113. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +0 -2
  114. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
  115. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
  116. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
  117. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +0 -2
  118. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +1 -3
  119. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
  120. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +0 -3
  121. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
  122. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +0 -3
  123. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
  124. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
  125. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
  126. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +0 -2
  127. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
  128. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
  129. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
  130. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +0 -2
  131. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
  132. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
  133. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +0 -3
  134. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
  135. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +0 -3
  136. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
  137. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
  138. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
  139. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +0 -2
  140. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
  141. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
  142. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
  143. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +0 -2
  144. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +1 -3
  145. package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
  146. package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +1 -3
  147. package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
  148. package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +0 -2
  149. package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
  150. package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +2 -2
  151. package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
  152. package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +0 -4
  153. package/resource/knowledge/livekit/core-sdk/features/flutter/barrage.md +2 -2
  154. package/resource/knowledge/livekit/core-sdk/features/flutter/base-beauty.md +0 -2
  155. package/resource/knowledge/livekit/core-sdk/features/flutter/gift.md +3 -7
  156. package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -2
  157. package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +2 -2
  158. package/resource/knowledge/livekit/core-sdk/features/ios/audio-effect.md +1 -3
  159. package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
  160. package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +0 -2
  161. package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
  162. package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +2 -2
  163. package/resource/knowledge/livekit/core-sdk/features/uni-app/audience-list.md +2 -2
  164. package/resource/knowledge/livekit/core-sdk/features/uni-app/audio-effect.md +1 -2
  165. package/resource/knowledge/livekit/core-sdk/features/uni-app/barrage.md +2 -2
  166. package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +0 -2
  167. package/resource/knowledge/livekit/core-sdk/features/uni-app/gift.md +4 -8
  168. package/resource/knowledge/livekit/core-sdk/features/uni-app/live-list.md +2 -2
  169. package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +0 -3
  170. package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +0 -2
  171. package/resource/knowledge/livekit/core-sdk/live/android/integration.md +0 -7
  172. package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +0 -2
  173. package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -2
  174. package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -7
  175. package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +0 -3
  176. package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +0 -2
  177. package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +0 -7
  178. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +0 -2
  179. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +0 -2
  180. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +0 -5
  181. package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +1 -3
  182. package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +4 -13
  183. package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +5 -5
  184. package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +0 -3
  185. package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +18 -21
  186. package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +0 -2
  187. package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +2 -11
  188. package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +8 -8
  189. package/resource/knowledge/livekit/core-sdk/voice/uni-app/co-guest-interaction.md +0 -2
  190. package/resource/knowledge/livekit/core-sdk/voice/uni-app/integration.md +1 -4
  191. package/resource/knowledge/livekit/faq/error-code.md +1 -1
  192. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +0 -5
  193. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
  194. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +0 -3
  195. package/resource/knowledge/push/api-reference/donut.md +1 -6
  196. package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
  197. package/resource/knowledge/push/api-reference/react-native.md +0 -3
  198. package/resource/knowledge/push/api-reference/uni-app.md +3 -5
  199. package/resource/knowledge/push/api-reference/unity.md +0 -1
  200. package/resource/knowledge/push/api-reference/unreal-engine.md +0 -1
  201. package/resource/knowledge/push/config/android/fcm.md +0 -6
  202. package/resource/knowledge/push/config/android/honor.md +1 -7
  203. package/resource/knowledge/push/config/android/huawei.md +1 -9
  204. package/resource/knowledge/push/config/android/meizu.md +1 -7
  205. package/resource/knowledge/push/config/android/oppo.md +1 -3
  206. package/resource/knowledge/push/config/android/vivo.md +1 -12
  207. package/resource/knowledge/push/config/android/xiaomi.md +0 -5
  208. package/resource/knowledge/push/config/donut.md +0 -12
  209. package/resource/knowledge/push/config/harmonyos.md +18 -7
  210. package/resource/knowledge/push/config/ios.md +26 -33
  211. package/resource/knowledge/push/config/react-native.md +0 -31
  212. package/resource/knowledge/push/config/unity.md +0 -31
  213. package/resource/knowledge/push/config/unreal-engine.md +0 -31
  214. package/resource/knowledge/push/integration/android.md +137 -46
  215. package/resource/knowledge/push/integration/donut.md +5 -21
  216. package/resource/knowledge/push/integration/flutter.md +1 -3
  217. package/resource/knowledge/push/integration/harmonyos.md +17 -16
  218. package/resource/knowledge/push/integration/ios.md +27 -15
  219. package/resource/knowledge/push/integration/react-native.md +9 -59
  220. package/resource/knowledge/push/integration/uni-app.md +3 -25
  221. package/resource/knowledge/push/integration/unity.md +8 -77
  222. package/resource/knowledge/push/integration/unreal-engine.md +37 -96
  223. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -2
  224. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -2
  225. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +3 -5
  226. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +4 -6
  227. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -2
  228. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -2
  229. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +2 -4
  230. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +4 -6
  231. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -2
  232. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -2
  233. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +3 -5
  234. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +4 -6
  235. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -5
  236. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -3
  237. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -5
  238. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -3
  239. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -7
  240. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +1 -2
  241. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -1
  242. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -3
  243. package/resource/knowledge/roomkit/preset/android/integration.md +202 -6
  244. package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -16
  245. package/resource/knowledge/roomkit/preset/ios/integration.md +201 -7
  246. package/resource/knowledge/roomkit/preset/react/integration.md +205 -4
  247. package/resource/knowledge/rtcengine/web/api.md +0 -2
  248. package/resource/knowledge/rtcengine/web/plugin/22-advanced-audio-mixer.md +2 -2
  249. package/resource/knowledge/rtcengine/web/plugin/23-advanced-support-detection.md +3 -3
  250. package/resource/knowledge/rtcengine/web/plugin/28-advanced-beauty.md +1 -1
  251. package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
  252. package/resource/knowledge/share/userSig.md +2 -2
  253. package/resource/knowledge/trtc/android/TRTCCloud.md +16 -16
  254. package/resource/knowledge/trtc/android/TRTCCloudDef.md +5 -5
  255. package/resource/knowledge/trtc/android/TRTCCloudListener.md +3 -3
  256. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +2 -2
  257. package/resource/knowledge/trtc/android/TXDeviceManager.md +1 -1
  258. package/resource/knowledge/trtc/c++/ITRTCCloud.md +14 -14
  259. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +2 -2
  260. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -4
  261. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +3 -3
  262. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +5 -5
  263. package/resource/knowledge/trtc/ios/TRTCCloud.md +14 -14
  264. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +3 -3
  265. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +2 -2
  266. package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -4
  267. package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +5 -5
  268. package/server.js +1 -1
  269. package/tools/common/search_trtc_knowledge.js +2 -0
  270. package/tools/definitions/search_trtc_knowledge_def.js +1 -0
  271. package/utils/report-cls-client.js +3 -3
  272. package/utils/report-es-client.js +1 -1
@@ -1,7 +1,6 @@
1
1
  推送服务目前推送支持小米、华为、荣耀、OPPO、vivo、魅族、一加、realme、iQOO 、FCM 和 Apple 等厂商通道。
2
2
 
3
3
  > **注意:**
4
- >
5
4
  > 每个厂商仅支持配置 1 个证书。
6
5
  >
7
6
 
@@ -28,7 +27,6 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
28
27
  确认并生成密钥:在确认页面核对您的密钥信息,然后单击 **Register** 。接下来,您将看到一个页面提示您下载密钥。单击 **Download**,将生成的 .p8 文件保存到您的计算机上。
29
28
 
30
29
  > **说明:**
31
- >
32
30
  > - p8 证书只可以下载一次,请妥善保存。
33
31
  > - 请妥善保管下载的 p8 文件,因为您将无法再次下载该文件。您可以使用此 p8 证书配置您的 iOS 应用程序以接收推送通知。
34
32
 
@@ -42,7 +40,6 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
42
40
  4. 选择 .p8 证书
43
41
 
44
42
  > **说明:**
45
- >
46
43
  > - **Key ID**:这是您的 APNs Auth Key 的唯一标识符。当您在 Apple Developer Center 创建一个新的 APNs Auth Key 时,系统会为您生成一个 Key ID。您可以在 "Certificates, Identifiers & Profiles" 部分的 "Keys" 中找到它。
47
44
  > - **Team ID**:这是您的开发者账户的唯一标识符。您可以在 Apple Developer Center 的账户详情页面找到它。点击右上角的 "Membership",在 "Membership Details" 部分可以找到您的 Team ID。
48
45
  > - **Bundle ID**:这是您的应用程序的唯一标识符,也称为应用程序 ID。您可以在 Apple Developer Center 的 "Certificates, Identifiers & Profiles" 部分找到它。选择 "Identifiers",然后在您的应用程序列表中找到对应的 Bundle ID。
@@ -74,8 +71,6 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
74
71
  #### 生成证书
75
72
  1. 选中您的 AppID,选择 **Configure**。
76
73
 
77
- 2. 可以看到在 **Apple Push Notification service SSL Certificates** 窗口中有两个 `SSL Certificate`,分别用于开发环境(Development)和生产环境(Production)的远程推送证书,如下图所示:
78
-
79
74
  3. 我们先选择开发环境(Development)的 **Create Certificate**,系统将提示我们需要一个 Certificate Signing Request(CSR)。
80
75
 
81
76
  4. 在 Mac 上打开**钥匙串访问工具(Keychain Access)**,在菜单中选择**钥匙串访问** > **证书助理** > **从证书颁发机构请求证书**(`Keychain Access - Certificate Assistant - Request a Certificate From a Certificate Authority`)。
@@ -114,7 +109,6 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
114
109
  4. 选择证书类型,上传 iOS 证书(.p12),设置证书密码,单击**确认**。
115
110
 
116
111
  > **说明:**
117
- >
118
112
  > - 上传证书名最好使用全英文(尤其不能使用括号等特殊字符)。
119
113
  > - 上传证书需要设置密码,无密码收不到推送。
120
114
  > - 发布 App Store 的证书需要设置为生产环境,否则无法收到推送。
@@ -139,7 +133,6 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
139
133
  登录腾讯云 [即时通信 IM 控制台](https://console.qcloud.com/avc) ,在**推送服务 Push > 推送设置 > 厂商配置**功能栏添加各个厂商推送证书,并将您在步骤一中获取的各厂商的 AppId、AppKey、AppSecret 等参数配置给添加的推送证书。
140
134
 
141
135
  > **注意:**
142
- >
143
136
  > 关于**点击后续动作**选项, 如需使用本插件提供的点击跳转能力, 请保持默认值不变, 即通常是 `打开应用内指定页面` 并带有默认配置.
144
137
  >
145
138
  > 如需使用上报统计功能, 也请保持此项默认值不变,
@@ -147,10 +140,6 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
147
140
 
148
141
  【小米】
149
142
 
150
- |厂商推送平台|IM 控制台配置|
151
- |---------|---------|
152
- |||
153
-
154
143
  【华为】
155
144
  | 厂商推送平台 | IM 控制台配置 |
156
145
  | --- | --- |
@@ -158,34 +147,14 @@ p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。
158
147
 
159
148
  【OPPO】
160
149
 
161
- |厂商推送平台|IM 控制台配置|
162
- |---------|---------|
163
- |||
164
-
165
150
  【vivo】
166
151
 
167
- |厂商推送平台|IM 控制台配置|
168
- |---------|---------|
169
- |||
170
-
171
152
  回执配置请参考:[消息触达统计配置-vivo](https://cloud.tencent.com/document/product/269/100626#daa658b0-1ac0-44a8-8a47-7ec8822ebe82)
172
153
 
173
154
  【魅族】
174
155
 
175
- |厂商推送平台|IM 控制台配置|
176
- |---------|---------|
177
- |||
178
-
179
156
  回执配置请参考:[消息触达统计配置 > 魅族](https://cloud.tencent.com/document/product/269/100626#daa658b0-1ac0-44a8-8a47-7ec8822ebe82)
180
157
 
181
158
  【荣耀】
182
159
 
183
- |厂商推送平台|IM 控制台配置|
184
- |---------|---------|
185
- |||
186
-
187
160
  【Google FCM】
188
-
189
- |厂商推送平台|IM 控制台配置|
190
- |---------|---------|
191
- |||
@@ -19,10 +19,9 @@
19
19
 
20
20
  ## AI 集成
21
21
 
22
- 通过 npm 安装 [@tencent-rtc/trtc-push-skill](https://www.npmjs.com/package/@tencent-rtc/trtc-push-skill/v/1.0.1#%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 到本地 AI IDE 中,辅助完成 TIMPush 离线推送集成。安装后,你可以直接向 AI 输入“集成 Android 离线推送”“帮我集成 Android TIMPush”等需求,AI 将根据项目类型引导你完成环境检测、厂商通道配置、凭据填写、代码接入和验证等步骤。
22
+ 通过 npx 安装 [@tencent-rtc/trtc-push-skill](https://www.npmjs.com/package/@tencent-rtc/trtc-push-skill/v/1.0.1#%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 到本地 AI IDE 中,辅助完成 TIMPush 离线推送集成。安装后,你可以直接向 AI 输入“集成 Android 离线推送”“帮我集成 Android TIMPush”等需求,AI 将根据项目类型引导你完成环境检测、厂商通道配置、凭据填写、代码接入和验证等步骤。
23
23
 
24
24
  > **注意:**
25
- >
26
25
  > 使用 Push Skill AI 集成不是全自动流程,依然需要开发者在厂商配置控制台、腾讯云控制台等配置 Push 相关信息。具体的配置方法请参考下文相关章节。
27
26
  >
28
27
 
@@ -32,12 +31,9 @@
32
31
 
33
32
  ### 下载并添加 TIMPush 配置文件
34
33
 
35
- 完成厂商配置后,在腾讯云控制台下载 `timpush-configs.json`,下载路径为:
36
-
37
34
  下载后,将该文件添加到应用模块的 `assets` 目录。推荐存储路径:`app/src/main/assets/timpush-configs.json`,其中 app 是你项目的应用模块,可替换成实际名称。如果工程中没有 `assets` 目录,请在 `src/main/` 下手动创建。
38
35
 
39
36
  > **注意:**
40
- >
41
37
  > TIMPush 注册推送时会读取该文件中的厂商证书配置,不要放在 MainActivity 同级目录、工程根目录或 res 目录。如果文件缺失或放错目录,SDK 无法获得对应厂商通道配置,可能导致注册或收消息失败。
42
38
  >
43
39
 
@@ -57,7 +53,6 @@ app/google-services.json # Google FCM
57
53
  ```
58
54
 
59
55
  > **注意:**
60
- >
61
56
  > 修改厂商平台项目、应用信息、证书指纹或开发服务设置后,厂商配置文件需要重新下载并替换。
62
57
  >
63
58
 
@@ -75,7 +70,6 @@ Android 工程可能使用 Groovy DSL 或 Kotlin DSL,请先根据文件后缀
75
70
  请根据工程使用的 Gradle 版本选择配置位置。如果不确定工程使用的 Gradle 版本,可在项目根目录 `gradle/wrapper/gradle-wrapper.properties` 中查看 `distributionUrl` 对应的版本号。
76
71
 
77
72
  > **注意:**
78
- >
79
73
  > 不要把 Groovy 示例直接复制到 `.kts` 文件中。Kotlin DSL 使用双引号、括号和 `uri(...)` 写法。
80
74
  >
81
75
 
@@ -84,10 +78,11 @@ Android 工程可能使用 Groovy DSL 或 Kotlin DSL,请先根据文件后缀
84
78
  在项目级 `settings.gradle`(Groovy DSL)或 `settings.gradle.kts`(Kotlin DSL)中,同时在 `pluginManagement > repositories` 和 `dependencyResolutionManagement > repositories` 中添加仓库。
85
79
 
86
80
  【Groovy DSL (settings.gradle)】
87
- ``` groovy
81
+ ``` java
88
82
  pluginManagement {
89
83
  repositories {
90
84
  gradlePluginPortal()
85
+ google()
91
86
  mavenCentral()
92
87
  maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }
93
88
  maven { url "https://developer.huawei.com/repo/" }
@@ -108,10 +103,11 @@ dependencyResolutionManagement {
108
103
  ```
109
104
 
110
105
  【Kotlin DSL (settings.gradle.kts)】
111
- ``` kotlin
106
+ ``` java
112
107
  pluginManagement {
113
108
  repositories {
114
109
  gradlePluginPortal()
110
+ google()
115
111
  mavenCentral()
116
112
  maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public/") }
117
113
  maven { url = uri("https://developer.huawei.com/repo/") }
@@ -136,9 +132,10 @@ dependencyResolutionManagement {
136
132
  Gradle 7.0 版本通常使用 Groovy DSL。如你的工程使用 Kotlin DSL,请将单引号改为双引号,`url "..."` 改为 `url = uri("...")`。
137
133
  1. 在项目级 `build.gradle` 的 `buildscript > repositories` 中添加插件仓库。
138
134
 
139
- ``` java
135
+ ``` groovy
140
136
  buildscript {
141
137
  repositories {
138
+ google()
142
139
  mavenCentral()
143
140
  maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }
144
141
  maven { url "https://developer.huawei.com/repo/" }
@@ -153,7 +150,7 @@ buildscript {
153
150
  ```
154
151
  2. 在 `settings.gradle` 的 `dependencyResolutionManagement > repositories` 中添加依赖仓库。
155
152
 
156
- ``` java
153
+ ``` groovy
157
154
  dependencyResolutionManagement {
158
155
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
159
156
  repositories {
@@ -174,6 +171,7 @@ Gradle 7.0 以下版本通常使用 Groovy DSL。如你的工程使用 Kotlin DS
174
171
  ``` groovy
175
172
  buildscript {
176
173
  repositories {
174
+ google()
177
175
  mavenCentral()
178
176
  maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }
179
177
  maven { url "https://developer.huawei.com/repo/" }
@@ -197,67 +195,144 @@ allprojects {
197
195
  }
198
196
  ```
199
197
 
198
+ > **说明:**
199
+ > - 如果旧工程已升级到 Gradle 8 / AGP 8,请不要继续使用 `com.huawei.agconnect:agcp:1.6.0.300`,建议改为 `com.huawei.agconnect:agcp:1.9.1.301` 或更高已验证版本。
200
+ > - 若使用 Google FCM,`com.google.gms:google-services:4.4.2` 要求 AGP 7.3.0 及以上;如果项目的 AGP 低于 7.3.0,请改用与当前 AGP 兼容的 Google Services Gradle Plugin 版本,例如 `4.3.15`。
201
+
200
202
  ### 配置厂商插件
201
203
 
202
- 华为、荣耀和 Google FCM 需要按厂商要求集成对应插件。插件的作用是在构建期读取上一步放置的厂商配置文件,并把厂商要求的资源、Manifest 信息或初始化配置合并进应用包。
203
- - **Gradle 7.0 / 7.0 以下**:上方仓库示例的 `buildscript > dependencies` 已包含 classpath,跳过本节。
204
+ 华为、荣耀和 Google FCM 需要按厂商要求集成对应 Gradle 插件。插件会在构建期读取上一步放置的厂商配置文件,并将厂商要求的资源、Manifest 信息或初始化配置合并进应用包。
205
+
206
+ 如果只集成某个厂商,只添加该厂商需要的插件和配置文件即可。例如未接入 FCM 时,不需要添加 `com.google.gms.google-services` 插件和 `google-services.json`。
207
+
208
+ #### 配置项目级插件依赖
204
209
 
205
- - **Gradle 7.1 及以上**:仓库已挪到 `settings.gradle`,需要在项目级 `build.gradle` / `build.gradle.kts` 中追加 `buildscript > dependencies` 声明 classpath。
210
+ 项目级插件依赖用于让 Gradle 在构建期找到并加载华为、荣耀、Google FCM 等厂商插件。请先根据项目使用的 Gradle 版本选择对应配置。
206
211
 
207
- 项目级插件依赖示例:
212
+ 【Gradle 7.1 及以上】
213
+
214
+ Gradle 7.1 及以上项目通常会在 `settings.gradle` 或 `settings.gradle.kts` 中配置依赖仓库。但如果厂商插件通过 `buildscript > dependencies > classpath` 声明,还需要在项目级 `build.gradle` 或 `build.gradle.kts` 的 `buildscript > repositories` 中同步配置插件仓库,否则可能出现厂商插件 classpath 依赖解析失败。
215
+
216
+ 如果项目级 `build.gradle.kts` 已通过 `plugins {}` 块声明 AGP(新建 Kotlin DSL 项目的默认方式),原有 `plugins {}` 块保留不动,不需要整体迁移到 `buildscript` 写法。由于荣耀官方示例统一使用 `buildscript > dependencies > classpath` 声明 `asplugin`,请在项目级 Gradle 文件中额外补充 `buildscript` 配置,并在 `dependencies` 中声明 `com.android.tools.build:gradle`。如果项目同时使用 Kotlin Android 插件,也请声明 `org.jetbrains.kotlin:kotlin-gradle-plugin`。
217
+
218
+ 请在 Android 工程的项目级 `build.gradle` 或 `build.gradle.kts` 中添加以下配置。
208
219
 
209
220
  【Groovy DSL(build.gradle)】
210
- ``` groovy
221
+ ``` java
211
222
  buildscript {
223
+ repositories {
224
+ google()
225
+ mavenCentral()
226
+ gradlePluginPortal()
227
+ maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }
228
+ maven { url "https://developer.huawei.com/repo/" }
229
+ maven { url "https://developer.hihonor.com/repo" }
230
+ }
212
231
  dependencies {
213
- classpath 'com.google.gms:google-services:4.3.15'
214
- classpath 'com.huawei.agconnect:agcp:1.6.0.300'
232
+ // 请与项目当前 Android Gradle Plugin 版本保持一致。
233
+ classpath 'com.android.tools.build:gradle:<AGP_VERSION>'
234
+ // 如果项目使用 Kotlin Android 插件,请与项目当前 Kotlin Gradle Plugin 版本保持一致。
235
+ classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:<KOTLIN_VERSION>'
236
+ // Google FCM。
237
+ classpath 'com.google.gms:google-services:4.4.2'
238
+ // 华为 AGConnect。Gradle 8 / AGP 8 项目不要继续使用 1.6.0.300。
239
+ classpath 'com.huawei.agconnect:agcp:1.9.1.301'
240
+ // 荣耀 Push。
215
241
  classpath 'com.hihonor.mcs:asplugin:2.0.1.300'
216
242
  }
217
243
  }
218
244
  ```
219
245
 
220
246
  【Kotlin DSL(build.gradle.kts)】
221
- ``` kotlin
247
+ ``` java
222
248
  buildscript {
249
+ repositories {
250
+ google()
251
+ mavenCentral()
252
+ gradlePluginPortal()
253
+ maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public/") }
254
+ maven { url = uri("https://developer.huawei.com/repo/") }
255
+ maven { url = uri("https://developer.hihonor.com/repo") }
256
+ }
223
257
  dependencies {
224
- classpath("com.google.gms:google-services:4.3.15")
225
- classpath("com.huawei.agconnect:agcp:1.6.0.300")
258
+ // 请与项目当前 Android Gradle Plugin 版本保持一致。
259
+ classpath("com.android.tools.build:gradle:<AGP_VERSION>")
260
+ // 如果项目使用 Kotlin Android 插件,请与项目当前 Kotlin Gradle Plugin 版本保持一致。
261
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:<KOTLIN_VERSION>")
262
+ // Google FCM。
263
+ classpath("com.google.gms:google-services:4.4.2")
264
+ // 华为 AGConnect。Gradle 8 / AGP 8 项目不要继续使用 1.6.0.300。
265
+ classpath("com.huawei.agconnect:agcp:1.9.1.301")
266
+ // 荣耀 Push。
226
267
  classpath("com.hihonor.mcs:asplugin:2.0.1.300")
227
268
  }
228
269
  }
229
270
  ```
271
+ 1. 请将`<AGP_VERSION>`替换为项目当前使用的 Android Gradle Plugin 版本,例如 `8.9.1`。如果项目级 `plugins {}` 块中已经声明了 `com.android.application` 版本,两个位置的 AGP 版本需要保持一致。
230
272
 
231
- 应用级插件配置示例:
273
+ 2. 请将`<KOTLIN_VERSION>` 替换为项目当前使用的 Kotlin Gradle Plugin 版本;如果项目未使用 Kotlin Android 插件,可删除该行。
232
274
 
233
- 【Groovy DSL(build.gradle)】
275
+ > **注意:**
276
+ > 对于 Gradle 8 / AGP 8 项目,请不要继续使用 `com.huawei.agconnect:agcp:1.6.0.300`。AGP 8.0 已移除 Transform API,旧版 AGC 插件存在兼容风险,建议使用 `com.huawei.agconnect:agcp:1.9.1.301` 或更高已验证版本。若使用 Google FCM,`com.google.gms:google-services:4.4.2` 要求 AGP 7.3.0 及以上。
277
+ >
278
+
279
+ 【Gradle 7.0 及以下】
280
+
281
+ 如果你已在上一节「配置 Gradle 仓库」中按照 Gradle 7.0 或 Gradle 7.0 以下示例配置了 `buildscript > repositories` 和 `buildscript > dependencies`,可以跳过本节的项目级插件依赖配置。
282
+
283
+ 如果尚未配置,请回到上一节,根据当前 Gradle 版本补充 `buildscript` 中的仓库和插件 classpath。
284
+
285
+ #### 在应用模块启用厂商插件
286
+
287
+ 完成项目级插件依赖配置后,还需要在应用模块的 `build.gradle` 或 `build.gradle.kts` 中启用厂商插件。应用模块通常为 `app`。
288
+
289
+ 如果应用模块中已经存在 `plugins` 块,请在现有 `plugins` 块中追加厂商插件,不要重复添加已有的 `com.android.application` 插件。
290
+
291
+ 【Groovy DSL(app/build.gradle)】
292
+ ``` groovy
293
+ plugins {
294
+ // Google FCM。
295
+ id 'com.google.gms.google-services'
296
+ // 华为 AGConnect。
297
+ id 'com.huawei.agconnect'
298
+ // 荣耀 Push。
299
+ id 'com.hihonor.mcs.asplugin'
300
+ }
301
+ ```
302
+
303
+ 如果你的应用级 `build.gradle` 使用 `apply plugin` 写法,也可以写成:
234
304
  ``` groovy
235
305
  apply plugin: 'com.google.gms.google-services'
236
306
  apply plugin: 'com.huawei.agconnect'
237
307
  apply plugin: 'com.hihonor.mcs.asplugin'
238
308
  ```
239
309
 
240
- 【Kotlin DSL(build.gradle.kts)】
310
+ 【Kotlin DSL(app/build.gradle.kts)】
241
311
  ``` kotlin
242
312
  plugins {
313
+ // Google FCM。
243
314
  id("com.google.gms.google-services")
315
+ // 华为 AGConnect。
244
316
  id("com.huawei.agconnect")
317
+ // 荣耀 Push。
245
318
  id("com.hihonor.mcs.asplugin")
246
319
  }
247
320
  ```
248
321
 
249
- 只集成某个厂商时,只添加该厂商需要的插件和配置文件即可。例如未接入 FCM 时,不需要添加 `com.google.gms.google-services` 插件。
322
+ 如果你的应用级 `build.gradle.kts` 使用 `apply` 写法,也可以写成:
323
+ ``` kotlin
324
+ apply(plugin = "com.google.gms.google-services")
325
+ apply(plugin = "com.huawei.agconnect")
326
+ apply(plugin = "com.hihonor.mcs.asplugin")
327
+ ```
250
328
 
251
- > **说明:**
252
- >
253
- > 荣耀官方示例统一使用 `buildscript > dependencies > classpath` 声明 `asplugin`,未提供 `plugins {}` 块写法。如果项目级 `build.gradle.kts` 用 `plugins {}` 块声明 AGP(新建 Kotlin DSL 项目的默认方式),请在 `buildscript > dependencies` 中**额外补上** `com.android.tools.build:gradle` 和 `org.jetbrains.kotlin:kotlin-gradle-plugin` 的 classpath(原 `plugins {}` 块保留不动)。应用级 `plugins { id(...) }` 可省略版本号(由项目级 classpath 提供),或改写为 `apply plugin: "..."`。
254
- >
329
+ 完成配置后,请在 Android Studio 中单击 **Sync Now**,或选择 **File > Sync Project with Gradle Files** 触发 Gradle 同步。同步成功后,再执行构建验证。
255
330
 
256
331
  ### 集成 TIMPush 依赖
257
332
 
258
333
  在应用模块的 `build.gradle` 或 `build.gradle.kts` 中添加 TIMPush 依赖。基础包提供 TIMPush 注册、监听和通用能力;厂商包用于对接对应厂商离线推送通道。只集成基础包而不集成目标厂商包时,设备可能无法通过该厂商通道收到离线推送。
259
334
 
260
- 下方示例中的 `VERSION` 均指 TIMPush SDK 的版本号(如 `8.9.7537`),不是 Android 系统版本或厂商 SDK 版本。获取最新版本号请查看[更新日志](https://trtc.io/zh/document/60545)。
335
+ 下方示例中的 `VERSION` 均指 TIMPush SDK 的版本号(如 `8.9.7537`),不是 Android 系统版本或厂商 SDK 版本。获取最新版本号请查看更新日志。
261
336
 
262
337
  【Groovy DSL】
263
338
  ``` groovy
@@ -306,7 +381,6 @@ dependencies {
306
381
  添加依赖后,请在 Android Studio 中单击 **Sync Now**,或选择 **File > Sync Project with Gradle Files** 触发 Gradle 同步。
307
382
 
308
383
  > **注意:**
309
- >
310
384
  > `TIMPush`、`TUICore` 和各厂商通道包建议使用相同 `VERSION`,避免依赖冲突。项目已接入 IM SDK 或 TUIKit 时,也需要确认相关 SDK 版本兼容。
311
385
  >
312
386
 
@@ -393,14 +467,16 @@ android {
393
467
 
394
468
  ### registerPush
395
469
 
396
- registerPush 用于注册当前设备的推送 token。注册成功后,后台才能根据 `registrationID` 或 `userID` 向该设备下发离线推送。其中 `appKey` 的取值会影响注册方式:
470
+ registerPush 用于向 TIMPush 注册当前设备的推送 token。推送 token 是厂商通道返回的设备凭证,通常由 SDK 自动处理。注册成功后,TIMPush 会为当前设备建立一个推送目标标识 `registrationID`;服务端、控制台接入测试和排查工具可以使用该标识向这台设备下发离线推送。若 App 同时接入 IM 并完成登录,也可以使用 `userID` 向该用户已建立推送关系的设备下发离线推送。
471
+
472
+ `appKey` 的取值会影响注册方式和可用的推送标识:
397
473
  - `appKey = Push Key`:注册 TIMPush 独立推送能力。Push Key 客户端密钥。
398
474
 
399
475
  - `appKey = null`:复用 IM 登录态注册推送,必须在 IM `login` 成功后调用。
400
476
 
401
477
  请先根据业务场景确认调用顺序:
402
478
 
403
- | <strong>场景</strong> | <strong>调用顺序</strong> | <strong>后台可用推送标识</strong> | <strong>说明</strong> |
479
+ | <strong>场景</strong> | <strong>调用顺序</strong> | <strong>服务端可用于发送推送的目标标识</strong> | <strong>说明</strong> |
404
480
  | --- | --- | --- | --- |
405
481
  | 仅使用 TIMPush | App 每次冷启动后调用<br><code>registerPush(appKey = Push Key)</code> | <code>registrationID</code> | 适用于营销 / 活动 / 通知推送,不接入 IM SDK。 |
406
482
  | 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> | 适用于希望用户未登录时也能收到营销推送的场景。 |
@@ -408,8 +484,8 @@ registerPush 用于注册当前设备的推送 token。注册成功后,后台
408
484
 
409
485
  > **注意:**
410
486
  >
411
- > 1. 如果用户退出 IM SDK,同时集成了 IM SDK + TIMPush 的场景下已建立的 `userID` 与 `registrationID` 推送关系都会失效,需要重新完成对应注册。
412
- > 2. Chat 应用的密钥仅用于 IM 登录,不能作为 `registerPush` 的 `appKey`。
487
+ > - 如果用户退出 IM SDK,同时集成了 IM SDK + TIMPush 的场景下已建立的 `userID` 与 `registrationID` 推送关系都会失效,需要重新完成对应注册。
488
+ > - Chat 应用的密钥仅用于 IM 登录,不能作为 `registerPush` 的 `appKey`。
413
489
 
414
490
  【App 冷启动注册 TIMPush(appKey 传 Push Key)】
415
491
 
@@ -500,14 +576,21 @@ import android.util.Log;
500
576
 
501
577
  import com.tencent.imsdk.v2.V2TIMCallback;
502
578
  import com.tencent.imsdk.v2.V2TIMManager;
503
- import com.tencent.timpush.TIMPushCallback;
504
- import com.tencent.timpush.TIMPushManager;
579
+ import com.tencent.imsdk.v2.V2TIMSDKConfig;
580
+ import com.tencent.qcloud.tim.push.TIMPushCallback;
581
+ import com.tencent.qcloud.tim.push.TIMPushManager;
505
582
 
506
583
  public void loginIMAndRegisterPush(Context context) {
507
584
  int sdkAppId = 0; // TODO: Replace with your SDKAppID.
508
585
  String userID = "<YOUR_USER_ID>";
509
586
  String userSig = "<YOUR_USER_SIG>";
510
587
 
588
+ boolean initSuccess = V2TIMManager.getInstance().initSDK(context, sdkAppId, new V2TIMSDKConfig());
589
+ if (!initSuccess) {
590
+ Log.e("TIMPush", ">>>>> IM SDK init failed");
591
+ return;
592
+ }
593
+
511
594
  V2TIMManager.getInstance().login(userID, userSig, new V2TIMCallback() {
512
595
  @Override
513
596
  public void onSuccess() {
@@ -539,17 +622,24 @@ import android.content.Context
539
622
  import android.util.Log
540
623
  import com.tencent.imsdk.v2.V2TIMCallback
541
624
  import com.tencent.imsdk.v2.V2TIMManager
542
- import com.tencent.timpush.TIMPushCallback
543
- import com.tencent.timpush.TIMPushManager
625
+ import com.tencent.imsdk.v2.V2TIMSDKConfig
626
+ import com.tencent.qcloud.tim.push.TIMPushCallback
627
+ import com.tencent.qcloud.tim.push.TIMPushManager
544
628
 
545
629
  fun loginIMAndRegisterPush(context: Context) {
546
630
  val sdkAppId = 0 // TODO: Replace with your SDKAppID.
547
631
  val userID = "<YOUR_USER_ID>"
548
632
  val userSig = "<YOUR_USER_SIG>"
549
633
 
634
+ val initSuccess = V2TIMManager.getInstance().initSDK(context, sdkAppId, V2TIMSDKConfig())
635
+ if (!initSuccess) {
636
+ Log.e("TIMPush", ">>>>> IM SDK init failed")
637
+ return
638
+ }
639
+
550
640
  V2TIMManager.getInstance().login(userID, userSig, object : V2TIMCallback {
551
641
  override fun onSuccess() {
552
- TIMPushManager.getInstance().registerPush(context, sdkAppId, null, object : TIMPushCallback<Any?>() {
642
+ TIMPushManager.getInstance().registerPush(context, sdkAppId, null, object : TIMPushCallback<Any>() {
553
643
  override fun onSuccess(data: Any?) {
554
644
  Log.d("TIMPush", ">>>>> registerPush success, data = $data")
555
645
  }
@@ -567,6 +657,11 @@ fun loginIMAndRegisterPush(context: Context) {
567
657
  }
568
658
  ```
569
659
 
660
+ > **警告:**
661
+ >
662
+ > 如果你的业务仅使用即时通信 IM 聊天能力,请勿在 IM 登录前先调用 `registerPush`。否则 SDK 可能会按独立推送场景注册 Push 类型账号,并产生对应的 Push DAU。Push DAU 超出套餐额度后,可能会产生额外费用。
663
+ >
664
+
570
665
  **验证**:
571
666
 
572
667
  1. `registerPush` 的 `onSuccess` 回调被触发。
@@ -580,7 +675,6 @@ fun loginIMAndRegisterPush(context: Context) {
580
675
  如需自定义推送标识(如使用业务侧用户 ID),可在 `registerPush` 前调用 setRegistrationID。
581
676
 
582
677
  > **注意:**
583
- >
584
678
  > 混用场景下,自定义 `registrationID` 必须与 IM 登录使用的 `userID` 完全一致,否则会产生账号互踢导致推送丢失。
585
679
  >
586
680
 
@@ -597,7 +691,6 @@ fun loginIMAndRegisterPush(context: Context) {
597
691
  |FCM|当前腾讯云快速接入文档说明 FCM 暂不支持推送统计功能。|
598
692
 
599
693
  > **注意:**
600
- >
601
694
  > 回执地址不配置或配置错误,都会影响触达统计。
602
695
  >
603
696
 
@@ -620,7 +713,7 @@ fun loginIMAndRegisterPush(context: Context) {
620
713
 
621
714
  【REST API 发送】
622
715
 
623
- 如果需要通过服务端发送推送,可参考 [REST API 接口 - 发起全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
716
+ 如果需要通过服务端发送推送,可参考 [全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
624
717
 
625
718
  【SDK API 发送】
626
719
 
@@ -658,7 +751,7 @@ V2TIMManager.getMessageManager().sendMessage(
658
751
 
659
752
  `sendMessage` 属于 IMSDK 消息发送能力。仅集成 TIMPush 的用户不需要为了验证离线推送而额外接入完整 Chat 初始化、登录和消息发送流程。
660
753
 
661
- **验证**:App 置于后台后发送测试消息,设备能收到离线推送通知。如果手机通知栏开启权限,通知栏会弹出离线推送消息弹框。如果收不到,请参见下文「收不到推送排障流程」逐步排查。
754
+ **验证**:App 置于后台后发送测试消息,设备能收到离线推送通知。如果手机通知栏开启权限,通知栏会弹出离线推送消息弹框。如果收不到。
662
755
 
663
756
  ## 处理通知点击跳转
664
757
 
@@ -876,7 +969,6 @@ class App : Application() {
876
969
  **验证**:点击通知后 `onNotificationClicked` 被调用,且 `ext` 内容与发送时设置的一致。如果回调未触发,请检查:控制台点击动作是否选择了「打开应用内指定界面」并保持默认填充值、监听器是否在 `Application.onCreate()` 中注册、发送消息时是否设置了 `ext`。
877
970
 
878
971
  > **说明:**
879
- >
880
972
  > 旧版本工程中可能仍使用 `TUICore.registerEvent` 回调或 `LocalBroadcastManager` 广播处理点击通知。这两种方式在当前版本仍可工作,但新接入用户建议优先使用 `addPushListener`。如需从旧方案迁移,删除旧的事件注册或广播注册代码,改为在 `Application.onCreate()` 中调用 `addPushListener` 即可,回调中获取到的 `ext` 内容与旧方案一致。
881
973
  >
882
974
 
@@ -885,7 +977,6 @@ class App : Application() {
885
977
  厂商离线通道通常有消息分类机制。消息分类会影响推送及时性、单设备每日接收数量、夜间展示、声音、横幅和厂商通道权限。
886
978
 
887
979
  > **注意:**
888
- >
889
980
  > 只有 IM 聊天、订单、交易、账号变更等用户预期强、需要及时触达的消息,才建议申请或使用高优先级分类。营销、广告、活动、资讯类消息不应滥用高优分类,否则可能被厂商降级、限频或冻结权限。
890
981
  >
891
982
 
@@ -1,22 +1,15 @@
1
- ## 前置条件
1
+ ## 前提条件
2
+ 1. 在 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/miniapp/intro/) 中开启推送服务,默认支持在线推送。
2
3
 
3
- ### 1. 厂商配置
4
+ 2. 如果您需要使用离线推送,请先完成对应原生平台的推送前提配置:请参见 [iOS 前提条件](https://cloud.tencent.com/document/product/269/100627#.E5.89.8D.E6.8F.90.E6.9D.A1.E4.BB.B6) 和 [Android 前提条件](https://cloud.tencent.com/document/product/269/100626#.E5.89.8D.E6.8F.90.E6.9D.A1.E4.BB.B6)。
4
5
 
5
- > **说明:**
6
- >
7
- > 在 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/miniapp/intro/) 中开启推送服务,默认支持在线推送。如果您需要使用离线推送,请您先完成厂商配置,具体操作方法可参见 厂商配置 > 微信小程序多端框架。
8
- >
6
+ 3. 微信开发者工具版本需 ≥ 1.06.2410152,您可进入 [下载地址](https://developers.weixin.qq.com/miniprogram/dev/devtools/nightly.html) 进行版本下载。
9
7
 
10
- ### 2. 微信开发者工具版本要求
11
-
12
- 微信开发者工具版本需 ≥ 1.06.2410152,您可进入 [下载地址](https://developers.weixin.qq.com/miniprogram/dev/devtools/nightly.html) 进行版本下载。
13
-
14
- ## 集成腾讯云消息推送服务
8
+ ## 操作步骤
15
9
 
16
10
  ### 步骤1: 推送插件配置
17
11
 
18
12
  > **说明:**
19
- >
20
13
  > 在 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/nightly.html) 中开启推送服务,默认支持在线推送。
21
14
  >
22
15
 
@@ -37,7 +30,6 @@
37
30
  ### 步骤2: 离线推送配置
38
31
 
39
32
  > **说明:**
40
- >
41
33
  > 如果只使用在线推送,则无需进行厂商离线推送配置。
42
34
  >
43
35
 
@@ -131,7 +123,6 @@
131
123
  当您准备好以上文件后,可以按照描述填入相关信息:
132
124
 
133
125
  > **说明:**
134
- >
135
126
  > **NSE 相关配置详细描述如下:**
136
127
  >
137
128
  > - 开启 NSE:借助 iOS 10 Service Extension 特性统计消息抵达率 及设置 APNs 离线推送的通知图片。
@@ -146,7 +137,6 @@
146
137
  ### 集成 JS API
147
138
 
148
139
  > **说明:**
149
- >
150
140
  > 如何使用 npm 请查阅[官方文档](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html),此处不再赘述。
151
141
  >
152
142
 
@@ -159,8 +149,6 @@
159
149
 
160
150
  ### 使用方法
161
151
 
162
- 将 SDKAppID 和 appKey 替换为您在 [IM 控制台 > 推送服务 Push > 概览](https://console.cloud.tencent.com/im/push-plugin-push-identifier) 获取的应用的信息。如图所示:
163
-
164
152
  ``` javascript
165
153
  import Push from "@tencentcloud/donut-push"
166
154
  const sdkAppID = 0; // 您的 SDKAppID
@@ -252,10 +240,6 @@ App({
252
240
 
253
241
  需要修改 project.miniapp.json 文件才能重新构建远程基座 App,改一下应用的 version code 再进行构建即可。
254
242
 
255
- ### **我可以从哪里查看推送服务 Push 的相关计费信息?**
256
-
257
- 价格及购买相关问题,请参见 [推送服务计费说明](https://cloud.tencent.com/document/product/269/110762#Push)。
258
-
259
243
  ### **iOS 在控制台上测试工具显示“上传 token 无效,请检查”,怎么办?**
260
244
 
261
245
  需要您检查下上传的 p12证书是否为推送证书、且 Bundle ID 应该是与主 App 一致。
@@ -4,10 +4,9 @@
4
4
 
5
5
  ## AI 集成
6
6
 
7
- 通过 npm 安装 [@tencent-rtc/trtc-push-skill](https://www.npmjs.com/package/@tencent-rtc/trtc-push-skill/v/1.0.1#%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 到本地 AI IDE 中,辅助完成 TIMPush 离线推送集成。安装后,你可以直接向 AI 输入“集成 Flutter 离线推送”“帮我集成 Flutter TIMPush”等需求,AI 将根据项目类型引导你完成环境检测、厂商通道配置、凭据填写、代码接入和验证等步骤。
7
+ 通过 npx 安装 [@tencent-rtc/trtc-push-skill](https://www.npmjs.com/package/@tencent-rtc/trtc-push-skill/v/1.0.1#%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 到本地 AI IDE 中,辅助完成 TIMPush 离线推送集成。安装后,你可以直接向 AI 输入“集成 Flutter 离线推送”“帮我集成 Flutter TIMPush”等需求,AI 将根据项目类型引导你完成环境检测、厂商通道配置、凭据填写、代码接入和验证等步骤。
8
8
 
9
9
  > **注意:**
10
- >
11
10
  > 使用 Push Skill AI 集成不是全自动流程,依然需要开发者在厂商配置控制台、腾讯云控制台等配置 Push 相关信息。具体的配置方法请参考下文相关章节。
12
11
  >
13
12
 
@@ -345,7 +344,6 @@ Future<void> removeTIMPushListener() async {
345
344
  ```
346
345
 
347
346
  > **注意:**
348
- >
349
347
  > - `TencentCloudChatPush().registerPush` 当前仍要求传入 `onNotificationClicked` 参数,但该参数待废弃。新接入业务请不要在 `registerPush` 的 `onNotificationClicked` 中处理跳转,统一使用 `addPushListener`。
350
348
  > - `ext` 是发送方写入的业务透传字段,建议使用 JSON 字符串,例如 `{"conversationID":"user_A","conversationType":1}`。
351
349
  > - 若 App 冷启动后需要立即处理点击事件,建议尽早注册 `listener`,例如在登录流程完成后、业务首页初始化前完成注册。
@@ -1,8 +1,22 @@
1
+ ## 前提条件
2
+
3
+ 请确认已 开通 Push 服务 并完成 厂商配置,获取到了下列信息:
4
+
5
+ |资源|获取位置|用途|
6
+ |---------|---------|---------|
7
+ |`SDKAppID`|腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **概览**|调用 `registerPush`。创建 Push 应用后,腾讯云控制台会自动创建相同 `SDKAppID` 的 Chat 应用。|
8
+ |Push Key|腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **概览** > **客户端密钥**|独立 Push 场景下,作为 `registerPush` 的 `appKey` 参数。|
9
+ |Chat Key|腾讯云控制台 > 即时通信 IM > **消息服务 Chat** > **概览** > **密钥**|Chat 登录使用。不要把 Chat Key 当作 `registerPush` 的 `appKey` 传入。|
10
+ |Push 服务开通状态|腾讯云控制台 > 即时通信 IM > **推送服务 Push** > **概览**|创建 Push 应用不等于已开通 Push 服务,请确认 Push 服务已开通。|
11
+ |TIMPush iOS `VERSION`|更新日志|`VERSION` 是 Podfile 中 TIMPush 依赖的版本号占位符,例如 `8.9.7537`、`8.8.7357`、`8.7.7201` 等,请以实际接入版本为准。|
12
+
13
+ 本文示例中的 `VERSION`、`SDKAppID`、`AppKey`、`businessID`、App Group ID 均为占位符,请勿在代码仓库中提交真实密钥。
14
+
1
15
  ## 操作步骤
2
16
 
3
17
  ### 步骤1:集成 TIMPush
4
18
 
5
- 完成 [厂商配置](https://cloud.tencent.com/document/product/269/108856) 后,集成 SDK:
19
+ 集成 SDK:
6
20
  ``` java
7
21
  // 版本号 “VERSION” 请前往 中获取配置。
8
22
  // oh-package.json5 中配置集成包
@@ -15,13 +29,6 @@ dependencies: {
15
29
  ### 步骤2:注册推送
16
30
 
17
31
  调用接口推送注册成功后,就可以收到离线推送通知了。
18
-
19
- > **说明:**
20
- >
21
- > 注册接口必填参数 SDKAppID 和客户端密钥 AppKey 的获取路径是 [IM 控制台 > 推送服务 Push > 概览](https://console.cloud.tencent.com/im/push-plugin-push-identifier),如下图所示:
22
- >
23
- >
24
-
25
32
  ``` java
26
33
  import { TIMPushListener, TIMPushManager, TIMPushMessage } from '@tencentcloud/timpush';
27
34
 
@@ -43,14 +50,13 @@ TIMPushManager.getInstance()
43
50
 
44
51
  ### 步骤4:发送推送消息
45
52
 
46
- 您可以在 [控制台 > 接入测试](https://console.cloud.tencent.com/im/push-plugin-push-check) 指定 `RegistrationID/userID` 进行离线推送测试。REST API 接口详细说明可参见:[REST API 接口 > 发起全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
53
+ 您可以在 [接入测试](https://console.cloud.tencent.com/im/push-plugin-push-check) 指定 `RegistrationID/userID` 进行离线推送测试。REST API 接口详细说明可参见:[全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
47
54
 
48
55
  ### 步骤5:解析离线推送消息
49
56
 
50
57
  收到推送消息后点击通知栏,组件会回调该点击事件和透传离线消息。
51
58
 
52
59
  > **注意:**
53
- >
54
60
  > 1. 注册回调时机必须放在应用 [UIAbility](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/uiability-lifecycle) 的 onCreate() 函数中。
55
61
  > 2. 控制台配置点击后续动作按如下配置,选择**打开应用内指定界面**,请勿修改默认值。
56
62
  >
@@ -65,9 +71,4 @@ let pushListener: TIMPushListener = {
65
71
  TIMPushManager.getInstance().addPushListener(pushListener);
66
72
  ```
67
73
 
68
- 恭喜您已经完成了推送插件的接入,需要提醒您:推送插件**试用或购买到期后,将自动停止提供推送服务(包括普通消息离线推送、全员/标签推送等服务)**。为避免影响您业务正常使用,请提前 [购买](https://buy.cloud.tencent.com/avc)/[续费](https://console.cloud.tencent.com/account/renewal)。
69
-
70
- > **说明:**
71
- >
72
- > - 接入完成收不到推送,请先自助使用 [排查工具](https://cloud.tencent.com/document/product/269/100629) 查看下具体原因。推送指标数据查看,请使用 [数据统计](https://cloud.tencent.com/document/product/269/100628) 查询。
73
- > - 全员/标签推送功能请参见:[REST API 接口 - 发起全员/标签推送](https://cloud.tencent.com/document/product/269/100634)。
74
+ 恭喜您已经完成了推送插件的接入。如果接入完成收不到推送,请使用 [排查工具](https://cloud.tencent.com/document/product/269/100629) 查看具体原因。