@tencentcloud/sdk-mcp 1.6.4 → 1.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/knowledge/build-index.js +1 -1
  2. package/knowledge/chunker.js +81 -52
  3. package/knowledge/path-meta.js +181 -21
  4. package/knowledge/search/exact-lookup.js +245 -43
  5. package/knowledge/search/filter-pool.js +73 -19
  6. package/knowledge/search/product-scope-intent.js +2 -2
  7. package/knowledge/search/requires-framework.js +1 -1
  8. package/knowledge/search/search-knowledge.js +246 -60
  9. package/package.json +1 -1
  10. package/resource/_schema/feature-aliases.yaml +1 -0
  11. package/resource/integration/callkit/preset/android/integration.md +3 -5
  12. package/resource/integration/callkit/preset/flutter/integration.md +2 -3
  13. package/resource/integration/callkit/preset/ios/integration.md +2 -5
  14. package/resource/integration/callkit/preset/react/integration.md +12 -26
  15. package/resource/integration/callkit/preset/vue/integration.md +17 -33
  16. package/resource/integration/chat/preset/android/integration.md +44 -14
  17. package/resource/integration/chat/preset/flutter/integration.md +54 -13
  18. package/resource/integration/chat/preset/ios/integration.md +42 -6
  19. package/resource/integration/chat/preset/react/integration.md +30 -28
  20. package/resource/integration/chat/preset/uni-app/integration.md +101 -40
  21. package/resource/integration/chat/preset/vue/integration.md +62 -28
  22. package/resource/integration/livekit/preset/live/android/live-audience-integration.md +133 -0
  23. package/resource/integration/livekit/preset/live/android/live-host-integration.md +225 -0
  24. package/resource/integration/livekit/preset/live/android/live-list-integration.md +278 -0
  25. package/resource/integration/livekit/preset/live/android/prepare-integration.md +271 -0
  26. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +207 -0
  27. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +358 -0
  28. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +246 -0
  29. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +218 -0
  30. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +4 -7
  31. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +5 -12
  32. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +4 -11
  33. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +250 -482
  34. package/resource/integration/roomkit/preset/vue/integration.md +399 -106
  35. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
  36. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +20 -0
  37. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
  38. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +11 -15
  39. package/resource/knowledge/callkit/core-sdk/android/make-call.md +10 -13
  40. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +2 -4
  41. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +10 -17
  42. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +11 -17
  43. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +11 -20
  44. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +10 -15
  45. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +9 -14
  46. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +12 -18
  47. package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +390 -0
  48. package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +317 -0
  49. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +16 -22
  50. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +17 -23
  51. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +39 -0
  52. package/resource/knowledge/callkit/core-sdk/web/call-event.md +341 -0
  53. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +39 -0
  54. package/resource/knowledge/callkit/faq/android.md +1 -5
  55. package/resource/knowledge/callkit/faq/common.md +10 -12
  56. package/resource/knowledge/callkit/faq/ios.md +5 -7
  57. package/resource/knowledge/callkit/faq/uniapp-app.md +7 -7
  58. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +9 -12
  59. package/resource/knowledge/callkit/faq/web.md +2 -12
  60. package/resource/knowledge/callkit/preset/android/api.md +5 -8
  61. package/resource/knowledge/callkit/preset/ios/api.md +4 -6
  62. package/resource/knowledge/callkit/preset/miniprogram/api.md +295 -0
  63. package/resource/knowledge/callkit/preset/react/api.md +622 -0
  64. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +475 -0
  65. package/resource/knowledge/callkit/preset/vue/api.md +622 -0
  66. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +587 -0
  67. package/resource/knowledge/callkit/preset/web/api.md +1 -1
  68. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
  69. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
  70. package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -1
  71. package/resource/knowledge/chat/preset/android/features/language.md +2 -4
  72. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
  73. package/resource/knowledge/chat/preset/android/features/message-list.md +1 -2
  74. package/resource/knowledge/chat/preset/android/features/search.md +0 -1
  75. package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
  76. package/resource/knowledge/chat/preset/android-view/integration.md +35 -10
  77. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
  78. package/resource/knowledge/chat/preset/flutter/features/language.md +1 -1
  79. package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -1
  80. package/resource/knowledge/chat/preset/flutter/features/search.md +4 -5
  81. package/resource/knowledge/chat/preset/flutter/features/theme.md +1 -1
  82. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
  83. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -1
  84. package/resource/knowledge/chat/preset/ios/features/language.md +2 -5
  85. package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -1
  86. package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
  87. package/resource/knowledge/chat/preset/ios/features/theme.md +1 -1
  88. package/resource/knowledge/chat/preset/ios-uikit/integration.md +57 -166
  89. package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -1
  90. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +3 -3
  91. package/resource/knowledge/chat/preset/react/features/conversation-list.md +3 -3
  92. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +1 -1
  93. package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
  94. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  95. package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -1
  96. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -4
  97. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +4 -4
  98. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +1 -1
  99. package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -2
  100. package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -2
  101. package/resource/knowledge/chat/preset/vue/features/search.md +0 -1
  102. package/resource/knowledge/chat/preset/vue/features/theme.md +4 -4
  103. package/resource/knowledge/chat/urls/sdk/android.md +3 -3
  104. package/resource/knowledge/chat/urls/sdk/flutter.md +3 -3
  105. package/resource/knowledge/chat/urls/sdk/ios.md +3 -3
  106. package/resource/knowledge/chat/urls/sdk/web.md +3 -3
  107. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
  108. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +2 -5
  109. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +12 -15
  110. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
  111. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
  112. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
  113. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
  114. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +2 -4
  115. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
  116. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
  117. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
  118. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +2 -4
  119. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +1 -3
  120. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
  121. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +3 -6
  122. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
  123. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +12 -15
  124. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
  125. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
  126. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
  127. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +2 -4
  128. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
  129. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
  130. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
  131. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +2 -4
  132. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
  133. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
  134. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +2 -5
  135. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
  136. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +3 -6
  137. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
  138. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
  139. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
  140. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +2 -4
  141. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
  142. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
  143. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
  144. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +2 -4
  145. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +1 -3
  146. package/resource/knowledge/livekit/core-sdk/api-reference/vue/capability-matrix.md +82 -0
  147. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +2 -4
  148. package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +1 -1
  149. package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +1 -1
  150. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-gift.md → features/android/gift.md} +2 -3
  151. package/resource/knowledge/livekit/core-sdk/{live/android/live-live-list.md → features/android/live-list.md} +1 -1
  152. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
  153. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +3 -3
  154. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-gift.md → features/flutter/gift.md} +2 -2
  155. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
  156. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -1
  157. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
  158. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-barrage.md → features/ios/barrage.md} +2 -2
  159. package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +1 -1
  160. package/resource/knowledge/livekit/core-sdk/{live/ios/live-gift.md → features/ios/gift.md} +8 -9
  161. package/resource/knowledge/livekit/core-sdk/{live/ios/live-live-list.md → features/ios/live-list.md} +2 -2
  162. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audio-effect.md → features/uni-app/audio-effect.md} +2 -3
  163. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-barrage.md → features/uni-app/barrage.md} +2 -2
  164. package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +145 -0
  165. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-gift.md → features/uni-app/gift.md} +6 -7
  166. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-room-list.md → features/uni-app/live-list.md} +1 -1
  167. package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
  168. package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +2 -4
  169. package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +6 -9
  170. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +1 -3
  171. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -6
  172. package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
  173. package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +3 -5
  174. package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +7 -10
  175. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +561 -0
  176. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +323 -0
  177. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +312 -0
  178. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
  179. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +2 -4
  180. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +11 -14
  181. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  182. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +1 -4
  183. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
  184. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +2 -4
  185. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +7 -10
  186. package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-co-guest-interaction.md → co-guest-interaction.md} +6 -6
  187. package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-integration.md → integration.md} +6 -7
  188. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
  189. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
  190. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +1 -1
  191. package/resource/knowledge/push/api-reference/android.md +337 -0
  192. package/resource/knowledge/push/api-reference/donut.md +190 -0
  193. package/resource/knowledge/push/api-reference/flutter.md +176 -0
  194. package/resource/knowledge/push/api-reference/harmonyos.md +140 -0
  195. package/resource/knowledge/push/api-reference/ios.md +537 -0
  196. package/resource/knowledge/push/api-reference/react-native.md +154 -0
  197. package/resource/knowledge/push/api-reference/uni-app.md +148 -0
  198. package/resource/knowledge/push/api-reference/unity.md +119 -0
  199. package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
  200. package/resource/knowledge/push/config/android/fcm.md +1 -8
  201. package/resource/knowledge/push/config/android/honor.md +3 -7
  202. package/resource/knowledge/push/config/android/huawei.md +0 -5
  203. package/resource/knowledge/push/config/android/meizu.md +0 -5
  204. package/resource/knowledge/push/config/android/oppo.md +0 -4
  205. package/resource/knowledge/push/config/android/vivo.md +0 -4
  206. package/resource/knowledge/push/config/android/xiaomi.md +0 -2
  207. package/resource/knowledge/push/config/donut.md +33 -46
  208. package/resource/knowledge/push/config/harmonyos.md +6 -9
  209. package/resource/knowledge/push/config/ios.md +2 -9
  210. package/resource/knowledge/push/config/react-native.md +17 -25
  211. package/resource/knowledge/push/config/unity.md +16 -24
  212. package/resource/knowledge/push/config/unreal-engine.md +16 -24
  213. package/resource/knowledge/push/integration/android.md +21 -21
  214. package/resource/knowledge/push/integration/donut.md +24 -34
  215. package/resource/knowledge/push/integration/flutter.md +12 -1
  216. package/resource/knowledge/push/integration/harmonyos.md +2 -1
  217. package/resource/knowledge/push/integration/ios.md +16 -10
  218. package/resource/knowledge/push/integration/react-native.md +10 -14
  219. package/resource/knowledge/push/integration/uni-app.md +10 -6
  220. package/resource/knowledge/push/integration/unity.md +19 -22
  221. package/resource/knowledge/push/integration/unreal-engine.md +7 -9
  222. package/resource/knowledge/push/overview/prepare.md +2 -2
  223. package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
  224. package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +82 -0
  225. package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
  226. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
  227. package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +82 -0
  228. package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
  229. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +1 -1
  230. package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +82 -0
  231. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
  232. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -4
  233. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +2 -5
  234. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -3
  235. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -2
  236. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +2 -6
  237. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -1
  238. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +1 -1
  239. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +2 -4
  240. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +2 -3
  241. package/resource/knowledge/roomkit/preset/android/integration.md +14 -16
  242. package/resource/knowledge/roomkit/preset/flutter/integration.md +9 -17
  243. package/resource/knowledge/roomkit/preset/ios/integration.md +9 -17
  244. package/resource/knowledge/roomkit/preset/react/integration.md +0 -4
  245. package/resource/knowledge/trtc/android/TRTCCloud.md +97 -180
  246. package/resource/knowledge/trtc/android/TRTCCloudDef.md +20 -20
  247. package/resource/knowledge/trtc/android/TRTCCloudListener.md +43 -77
  248. package/resource/knowledge/trtc/android/TRTCStatistics.md +1 -1
  249. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +4 -24
  250. package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
  251. package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
  252. package/resource/knowledge/trtc/c++/ITRTCCloud.md +96 -189
  253. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +1 -1
  254. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +1 -21
  255. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -6
  256. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +42 -76
  257. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +18 -19
  258. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
  259. package/resource/knowledge/trtc/ios/TRTCCloud.md +95 -181
  260. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +43 -78
  261. package/resource/knowledge/trtc/ios/TRTCStatistics.md +1 -1
  262. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +1 -20
  263. package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -6
  264. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
  265. package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +20 -20
  266. package/server.js +2 -2
  267. package/tools/common/finalize_answer.js +1 -1
  268. package/tools/common/present_framework_choice.js +2 -2
  269. package/tools/common/search_trtc_knowledge.js +3 -3
  270. package/tools/common/submit_feedback.js +1 -1
  271. package/tools/definitions/get_native_live_uikit_integration_def.js +60 -0
  272. package/tools/definitions/get_native_livekit_core_integration_def.js +1 -1
  273. package/tools/definitions/present_framework_choice_def.js +2 -2
  274. package/tools/definitions/search_trtc_knowledge_def.js +5 -5
  275. package/tools/index.js +2 -0
  276. package/tools/live/get_native_live_uikit_integration.js +69 -0
  277. package/tools/live/get_native_livekit_core_integration.js +6 -6
  278. package/utils/report-cls-client.js +1 -1
  279. package/utils/report-es-client.js +1 -1
  280. package/resource/index/component-slugs.json +0 -1
  281. package/resource/index/doc-source-urls.json +0 -1
  282. package/resource/index/manifest.json +0 -1
  283. package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -229
  284. package/resource/knowledge/livekit/core-sdk/live/android/live-gift.md +0 -459
  285. package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -506
  286. package/resource/knowledge/livekit/core-sdk/live/flutter/live-gift.md +0 -427
  287. package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
  288. package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -265
  289. package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -214
  290. package/resource/knowledge/livekit/core-sdk/live/ios/live-barrage.md +0 -427
  291. package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -272
  292. package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -486
  293. package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +0 -523
  294. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -262
  295. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -600
  296. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-gift.md +0 -411
  297. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +0 -404
  298. /package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +0 -0
  299. /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
  300. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
  301. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
  302. /package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audience-list.md → features/uni-app/audience-list.md} +0 -0
  303. /package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -0
@@ -0,0 +1,246 @@
1
+ ## 功能预览
2
+
3
+ 本文对 TUILiveKit 中的**直播列表页面**进行了详细的介绍,您可以在已有项目中直接参考本文档集成我们开发好的直播列表页面,也可以根据您的需求按照文档中的内容对页面的样式,布局以及功能项进行深度的定制。
4
+ - **双列瀑布流**:默认同时预览2个直播间的画面。
5
+
6
+ - **单列瀑布流**:默认同时预览1个直播间的画面(**仅视频直播支持单列预览**)。
7
+
8
+ | 双列瀑布流 | 单列瀑布流 |
9
+ | --- | --- |
10
+ | | ### |
11
+
12
+ > **注意:**
13
+ >
14
+ > 预览直播间画面时,预览时长都会被计入观众的音视频时长,组件详细计费相关内容请参考 计费说明。
15
+ >
16
+
17
+ ## 快速接入
18
+
19
+ ### 步骤1:开通服务
20
+
21
+ 参考 开通服务 文档开通「体验版」或「大规模直播版」套餐。
22
+
23
+ ### 步骤2:代码集成
24
+
25
+ 参考 准备工作 接入 `TUILiveKit`。
26
+
27
+ ### 步骤3:添加直播列表瀑布流视图
28
+
29
+ 您可以根据需要选择使用单列或双列瀑布流。
30
+
31
+ 【Swift】
32
+ ``` swift
33
+ // 示例: YourLiveListViewController 代表您直播列表瀑布流的视图控制器
34
+ class YourLiveListViewController: UIViewController {
35
+
36
+ // 1. 声明 liveListView 作为成员变量
37
+ // - style: .doubleColumn // 双列瀑布流
38
+ // - style: .singleColumn // 单列瀑布流
39
+ // 示例为双列瀑布流,如需单列传入 .singleColumn即可
40
+ private let liveListView = LiveListView(style: .doubleColumn)
41
+
42
+ public override func viewDidLoad() {
43
+ super.viewDidLoad()
44
+ // 2. 将 liveListView 添加到视图上
45
+ view.addSubview(liveListView)
46
+ liveListView.snp.makeConstraints { make in
47
+ make.edges.equalToSuperview()
48
+ }
49
+ // 3. 设置列表的点击事件代理
50
+ liveListView.itemClickDelegate = self
51
+ }
52
+ }
53
+ ```
54
+
55
+ ### 步骤4:实现直播列表页到观众观看页的路由跳转
56
+
57
+ **双列瀑布流直播列表** 和 **单列瀑布流** 均会通过 `OnItemClickDelegate`回调点击事件,您只需在直播列表视图控制器中实现 `OnItemClickDelegate` 来响应用户的点击事件,并在 `onItemClick` 中实现跳转进入观众观看页的功能,观众观看页的实现可参考 观众观看:
58
+
59
+ **交互示例:**
60
+
61
+ **代码示例**:
62
+
63
+ 【Swift】
64
+ ``` swift
65
+ // 在您的直播瀑布流列表视图控制器中实现 OnItemClickDelegate, 示例:YourLiveListViewController
66
+ extension YourLiveListViewController: OnItemClickDelegate {
67
+
68
+ func onItemClick(liveInfo: LiveInfo, frame: CGRect) {
69
+ // 1. 实例化您的观众观看视图控制器
70
+ let audienceVC = YourAudienceViewController(roomId: liveInfo.roomId)
71
+ audienceVC.modalPresentationStyle = .fullScreen
72
+ // 2. 跳转到您的观众观看视图控制器
73
+ present(audienceVC, animated: false)
74
+ }
75
+
76
+ }
77
+ ```
78
+
79
+ ### 步骤5:直播列表的页面跳转交互优化
80
+
81
+ 为了让您在页面跳转过程中获得更加完整与流畅的体验,结合 iOS 页面路由的系统特性,`LiveListView` 组件提供了 `refreshLiveList` 和 `onRouteToNextPage` 方法,方便您仅通过简单的一行代码调用,就能优化直播列表展示与视频流播放体验。具体优化方式如下:
82
+
83
+ 【Swift】
84
+ ``` swift
85
+ // 在您的直播瀑布流列表视图控制器中实现,示例:YourLiveListViewController
86
+ class YourLiveListViewController: UIViewController {
87
+
88
+ override func viewDidAppear(_ animated: Bool) {
89
+ super.viewDidAppear(animated)
90
+ // refreshLiveList: 在viewDidAppear时调用此方法,以确保每次回到当前页面都能拿到最新的列表
91
+ liveListView.refreshLiveList()
92
+ }
93
+
94
+ override func viewWillDisappear(_ animated: Bool) {
95
+ super.viewWillDisappear(animated)
96
+ // onRouteToNextPage: 在viewWillDisappear时调用此方法,当您进入别的页面时停止当前直播列表页播放的视频流
97
+ liveListView.onRouteToNextPage()
98
+ }
99
+ }
100
+ ```
101
+
102
+ ## 自定义您的界面布局
103
+
104
+ TUILiveKit 提供了灵活的接口定制直播列表瀑布流组件,您可以根据业务需求自定义数据源和列表项样式。
105
+
106
+ ### 自定义数据源
107
+
108
+ 如果您的后台有单独的直播列表数据,可以通过实现 `LiveListDataSource` 接口来自定义数据源,而不使用组件默认的列表数据。
109
+
110
+ 【Swift】
111
+ ``` swift
112
+ // 示例:YourLiveListViewController 代表您直播列表瀑布流的视图控制器
113
+ class YourLiveListViewController: UIViewController {
114
+
115
+ private let liveListView: LiveListView = LiveListView(style: .doubleColumn)
116
+
117
+ public override func viewDidLoad() {
118
+ super.viewDidLoad()
119
+ view.addSubview(liveListView)
120
+ liveListView.snp.makeConstraints { make in
121
+ make.edges.equalToSuperview()
122
+ }
123
+ liveListView.itemClickDelegate = self
124
+ // 1. 设置自定义数据源代理
125
+ liveListView.dataSource = self
126
+ }
127
+ }
128
+
129
+ // 2. 实现自定义数据源代理: LiveListDataSource
130
+ extension YourLiveListViewController: LiveListDataSource {
131
+
132
+ public func fetchLiveList(cursor: String, onSuccess: @escaping LiveListBlock, onError: @escaping TUIErrorBlock) {
133
+ // 3. 对接自己的业务后台,按照下面的格式返回数据给UI组件
134
+ var liveInfoList: [LiveInfo] = []
135
+ var liveInfo = LiveInfo()
136
+ liveInfo.roomId = "live_123456"
137
+ liveInfo.name = "live_123456"
138
+ liveInfoList.append(liveInfo)
139
+ let cursor = "aabbccdd"
140
+ onSuccess(cursor, liveInfoList)
141
+ }
142
+ }
143
+ ```
144
+
145
+ ### 自定义挂件
146
+
147
+ 瀑布流列表项底部默认显示视频流画面或直播封面。如果您需要自定义列表项顶部的 UI 元素(例如主播头像、直播标题等),可以通过实现 `LiveListViewAdapter` 接口来完成。
148
+
149
+ 【Swift】
150
+ ``` swift
151
+ // 示例:YourLiveListViewController 代表您直播列表瀑布流的视图控制器
152
+ class YourLiveListViewController: UIViewController {
153
+
154
+ private let liveListView: LiveListView = LiveListView(style: .doubleColumn)
155
+
156
+ public override func viewDidLoad() {
157
+ super.viewDidLoad()
158
+ view.addSubview(liveListView)
159
+ liveListView.snp.makeConstraints { make in
160
+ make.edges.equalToSuperview()
161
+ }
162
+ liveListView.itemClickDelegate = self
163
+ liveListView.dataSource = self
164
+ // 1. 设置自定义挂件代理
165
+ liveListView.adapter = self
166
+ }
167
+ }
168
+
169
+ // 2. 实现自定义挂件代理
170
+ extension YourLiveListViewController: LiveListViewAdapter {
171
+ public func createLiveInfoView(info: LiveInfo) -> UIView {
172
+ // 自定义挂件view
173
+ return YourCustomView(liveInfo: info)
174
+ }
175
+
176
+ public func updateLiveInfoView(view: UIView, info: LiveInfo) {
177
+ if let infoView = view as? YourCustomView {
178
+ // 更新挂件view中绑定的数据
179
+ infoView.updateView(liveInfo: info)
180
+ }
181
+ }
182
+ }
183
+ ```
184
+
185
+ ### 自定义转场动画
186
+
187
+ 在**双列瀑布流直播列表**和**单列瀑布流**中跳转到观众观看页,为了转场效果更好,往往需要自定义转场动画。 `TUILiveKit` 在 `GitHub` 仓库开源了直播转场动画 [LiveTransitioningDelegate](https://github.com/Tencent-RTC/TUILiveKit/blob/main/iOS/TUILiveKit/Sources/TUILiveListViewController.swift#L193) ,您只需设置 `audienceVC.transitioningDelegate` 即可实现跟 TUILiveKit 一样的转场动画:
188
+
189
+ 【Swift】
190
+ ``` swift
191
+ // 在您的直播瀑布流列表视图控制器中的 OnItemClickDelegate 回调中, 示例:YourLiveListViewController
192
+ extension YourLiveListViewController: OnItemClickDelegate {
193
+
194
+ func onItemClick(liveInfo: LiveInfo, frame: CGRect) {
195
+ let audienceVC = YourAudienceViewController(roomId: liveInfo.roomId)
196
+ audienceVC.modalPresentationStyle = .fullScreen
197
+ // 设置过渡动画代理
198
+ audienceVC.transitioningDelegate = LiveTransitioningDelegate(originFrame: frame)
199
+ present(audienceVC, animated: false)
200
+ }
201
+
202
+ }
203
+ ```
204
+
205
+ |**双列瀑布流直播列表转场动画**|**单列瀑布流转场动画**|
206
+ |---------|---------|
207
+ |||
208
+
209
+ ## 下一步
210
+
211
+ 恭喜您,现在您已经成功集成了 **直播列表** 功能。接下来,您可以根据您的业务场景实现**主播开播、观众观看**等功能
212
+
213
+ **视频直播场景:**
214
+ | <strong>功能</strong> | <strong>描述</strong> | <strong>集成指引</strong> |
215
+ | --- | --- | --- |
216
+ | <strong>主播开播</strong> | 实现主播开播全流程功能,包括开播前的准备和开播后的各种互动 | 主播开播 |
217
+ | <strong>观众观看</strong> | 实现观众进入主播的直播间后观看直播,实现观众连麦 、直播间信息、在线观众、弹幕显示等功能 | 观众观看 |
218
+
219
+ **语聊房场景:**
220
+ | <strong>功能</strong> | <strong>描述</strong> | <strong>集成指引</strong> |
221
+ | --- | --- | --- |
222
+ | <strong>主播开播</strong> | 实现主播开播语聊房全流程功能,包括开播前的准备和开播后的各种互动。 | 主播开播 |
223
+ | <strong>观众观看</strong> | 实现观众进入主播的语聊房后进行互动,如上麦、收发弹幕等功能。 | 观众观看 |
224
+
225
+ ## 常见问题
226
+
227
+ ### 集成直播列表功能后页面没有任何直播怎么办?
228
+
229
+ 如果您看到空白页面,需要检查您是否已完成 登录步骤。为了测试该功能,您可以使用两台设备:一台设备用于开播,另一台设备在直播列表页面,就能拉取到已开播的直播间。
230
+
231
+ ### 单列瀑布流和双列瀑布流有什么区别?
232
+
233
+ 单列瀑布流一次预览一个直播间画面,而双列瀑布流则同时预览两个直播间画面。您可以根据自己的设计需求选择合适的布局。
234
+
235
+ ### 预览直播画面是否收费?
236
+
237
+ 是的,预览直播间画面时长会计入观众的音视频时长,这部分是需要付费的。详细的 计费说明 可以参考文档中的相关内容。
238
+
239
+ ### 我使用了自定义数据源 (LiveListDataSource),但列表不显示/不刷新怎么办?
240
+
241
+ 请确保您正确实现了 `LiveListDataSource` 接口。重点检查以下几点:
242
+ - 检查 `fetchLiveList` 方法是否被正确调用。
243
+
244
+ - 确保在获取数据后(无论成功或失败)都调用了 `callback.onSuccess` 或 `callback.onFailure`。
245
+
246
+ - 检查您的业务后台接口是否返回了正确的数据格式。
@@ -0,0 +1,218 @@
1
+ 本章节主要指导您完成 `TUILiveKit` **UI 组件库接入**的环境配置。
2
+
3
+ > **集成方案说明:**
4
+ >
5
+ > 本文档提供的是 **UI 组件库接入方案**,包含视频直播、语聊房的完整 UI 界面与全套业务逻辑。如果您有极高的 UI 定制需求,需要采用 无 UI(Core SDK) 集成方式,请直接参考 Core SDK 快速开始。
6
+ >
7
+
8
+ ## 功能预览
9
+
10
+ `TUILiveKit` 是一个功能全面的直播组件,集成后可快速实现以下场景功能。
11
+
12
+ ### **视频直播**
13
+
14
+ |**主播准备页**|**主播开播页**|**直播列表**|**观众观看页**|
15
+ |---------|---------|---------|---------|
16
+ |||||
17
+
18
+ ### **语聊房**
19
+
20
+ |**主播准备页**|**主播开播页**|**直播列表**|**观众观看页**|
21
+ |---------|---------|---------|---------|
22
+ |||||
23
+
24
+ ## 准备工作
25
+
26
+ ### 开通服务
27
+
28
+ 在使用 **TUILiveKit** 前,请先参考 开通服务,领取 TUILiveKit 体验版或者开通付费版。
29
+
30
+ ### 环境要求
31
+ - **Xcode**:需使用 **Xcode 15** 或更高版本。
32
+
33
+ - **iOS 系统**:支持 **iOS 14.0** 或更高版本的设备。
34
+
35
+ - **CocoaPods 环境**:已安装 CocoaPods 环境。如果您尚未安装,请参见 [CocoaPods 官网安装](https://guides.cocoapods.org/using/getting-started.html),或按以下步骤操作:
36
+
37
+ - **使用 gem 安装 CocoaPods**:在终端中执行 `sudo gem install cocoapods` 命令进行安装。
38
+
39
+ > **提示:**
40
+ >
41
+ > `sudo gem install cocoapods` 安装过程中可能需要输入电脑密码,按提示输入管理员密码即可。
42
+ >
43
+
44
+ ## 代码集成
45
+
46
+ ### 步骤 1:通过 CocoaPods 导入组件
47
+ 1. **添加 Pod 依赖:**
48
+
49
+ - **若项目已有 Podfile 文件。**
50
+
51
+ 在您项目的 `Podfile` 文件中添加 `pod 'TUILiveKit'` 依赖。例如:
52
+
53
+ ``` ruby
54
+ target 'YourProjectTarget' do
55
+ # 其他已有的 Pod 依赖...
56
+ # 添加 pod 'TUILiveKit' 依赖
57
+ pod 'TUILiveKit'
58
+
59
+ end
60
+ ```
61
+ - **若项目没有 Podfile 文件。**
62
+
63
+ 在终端中通过 `cd` 命令切换到您的 `.xcodeproj` 目录下,然后执行 `pod init` 命令创建 `Podfile` 文件,创建完成后,在您的 `Podfile` 文件中添加 `pod 'TUILiveKit'` 依赖。例如:
64
+
65
+ ``` bash
66
+ // 如果您的项目目录是 /Users/yourusername/Projects/YourProject
67
+
68
+ // 1. cd 到您的.xcodeproj 工程目录下
69
+ cd /Users/yourusername/Projects/YourProject
70
+
71
+ // 2. 执行 pod init,此命令运行完后,会在您的工程目录下生成一个 Podfile 文件。
72
+ pod init
73
+
74
+ // 3. 在生成的 Podfile 文件中添加 pod 'TUILiveKit' 依赖
75
+ target 'YourProjectTarget' do
76
+ # 添加 pod 'TUILiveKit' 依赖
77
+ pod 'TUILiveKit'
78
+
79
+ end
80
+ ```
81
+ 2. **安装组件**:
82
+
83
+ 在终端中 `cd` 到 `Podfile` 文件所在的目录,然后执行以下命令安装组件。
84
+
85
+ ``` bash
86
+ pod install
87
+ ```
88
+
89
+ ### 步骤 2:工程配置
90
+
91
+ 为了使用音视频功能,您的应用需要获取麦克风和摄像头的权限。请在应用的 `Info.plist` 文件中添加以下两项,并填写对应的使用说明,这些说明将在系统请求权限时向用户显示:
92
+ ``` bash
93
+ <key>NSCameraUsageDescription</key>
94
+ <string>TUILiveKit需要访问你的相机权限,开启后录制的视频才会有画面</string>
95
+ <key>NSMicrophoneUsageDescription</key>
96
+ <string>TUILiveKit需要访问您的麦克风权限,开启后录制的视频才会有声音</string>
97
+ ```
98
+
99
+ ## 完成登录
100
+
101
+ 代码集成完成后,您需要完成登录,这是**使用 TUILiveKit 的关键步骤**,因为只有在登录成功后才能正常使用 TUILiveKit 的各项功能,故请您耐心检查相关参数是否配置正确:
102
+
103
+ > **说明:**
104
+ >
105
+ > 在示例代码中,登录操作是在 `didFinishLaunchingWithOptions` 方法内完成的。但在实际项目场景下,强烈推荐 **您在完成自己的用户身份验证等相关登录操作后,再调用 TUILiveKit 的登录服务**。这样可以避免因过早调用登录服务,导致业务逻辑混乱或数据不一致的问题,同时也能更好地适配您项目中现有的用户管理和权限控制体系。
106
+ >
107
+
108
+ 【Swift】
109
+ ``` swift
110
+ //
111
+ // AppDelegate.swift
112
+ //
113
+
114
+ // 1. 导入 AtomicXCore
115
+ import AtomicXCore
116
+
117
+ // 2. 示例代码在 didFinishLaunchingWithOptions 完成登录,推荐您在自己登录业务完成后再调用登录服务
118
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
119
+
120
+ // 3. 调用登录接口
121
+ LoginStore.shared.login(sdkAppID: 1400000001, // 请替换为开通服务控制台的 SDKAppID
122
+ userID: "denny", // 请替换为您的 UserID
123
+ userSig: "xxxxxxxxxxx") { [weak self] result in // 您可以在控制台中计算一个 UserSig 并填在这个位置
124
+ guard let self = self else { return }
125
+ switch result {
126
+ case .success():
127
+ print("login success")
128
+ case .failure(let err):
129
+ print("login failed. code: \(err.code), error:\(err.message)")
130
+ }
131
+ }
132
+
133
+ return true
134
+ }
135
+ ```
136
+
137
+ **登录接口参数说明**
138
+ | 参数 | 类型 | 说明 |
139
+ | --- | --- | --- |
140
+ | SDKAppID | Int | 从 <a href="https://console.cloud.tencent.com/trtc">TRTC 控制台 > 应用管理</a> 获取。 |
141
+ | UserID | String | 当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。 |
142
+ | userSig | String | 用于腾讯云鉴权的票据。请注意:<br>- 开发环境:您可以采用本地 <code>GenerateTestUserSig.genTestSig</code> 函数生成 UserSig 或者通过 <a href="https://console.cloud.tencent.com/im/tool-usersig">UserSig 辅助工具</a> 生成临时的 UserSig。<br>- 生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参见 <a href="https://cloud.tencent.com/document/product/647/17275#formal">服务端生成 UserSig</a>。<br>更多信息请参见 <a href="https://cloud.tencent.com/document/product/647/17275">如何计算及使用 UserSig</a>。 |
143
+
144
+ ## 登录异常状态处理【可选】
145
+
146
+ `LoginStore` 提供了登录状态回调机制,方便您处理可能出现的登录异常情况,主要包括 **“被踢下线”** 和 **“签名过期”** 这两种异常状态的回调:
147
+ - 被踢下线:用户在线情况下被踢,SDK 会通过 `onKickedOffline` 回调通知给您,此时可以在 UI 提示用户,并调用 `LoginStore.shared.login` 重新登录。
148
+
149
+ - 签名过期:用户在线期间收到 `onUserSigExpired` 回调,说明您之前给该用户签发的 userSig 已经过期了,这个时候如果当前用户在您后台的登录态依然有效,您可以让您的 APP 向您的后台请求新的 userSig,并调用 `LoginStore.shared.login` 续签登录态。
150
+
151
+ ``` swift
152
+ // YourLoginService 代表您负责登录的业务模块
153
+ class YourLoginService: NSObject {
154
+ private var cancelableSet: Set<AnyCancellable> = []
155
+
156
+ // 监听登录状态回调
157
+ func subscribeLoginStatus() {
158
+ LoginStore.shared.loginEventPublisher
159
+ .receive(on: RunLoop.main)
160
+ .sink { [weak self] loginEvent in
161
+ guard let self = self else { return }
162
+ switch loginEvent {
163
+ case .kickedOffline: // 用户被踢下线回调
164
+
165
+ // 您的业务代码:UI 交互提示用户,然后重新登录
166
+ break
167
+ case .loginExpired: // 用户签名过期回调
168
+ // 您的业务代码:如果当前用户在您后台的登录态依然有效,
169
+ // 您可以让您的 app 向您的后台请求新的 userSig,
170
+ // 并调用 LoginStore.shared.login 续签登录态。
171
+ break
172
+ default:
173
+ break
174
+ }
175
+ }
176
+ .store(in: &self.cancelableSet)
177
+ }
178
+ }
179
+
180
+ ```
181
+
182
+ ## 下一步
183
+
184
+ 恭喜您,现在您已经成功集成了**直播**组件并完成了登录。接下来,您可以根据您的业务场景实现**主播开播**、**观众观看**、**直播列表**等功能。
185
+ | <strong>业务场景</strong> | <strong>描述</strong> | <strong>集成指引</strong> |
186
+ | --- | --- | --- |
187
+ | <strong>视频直播</strong> | 包含主播开播、观众观看、连麦互动、美颜设置、礼物弹幕等全套功能。 | - 主播开播<br>- 观众观看 |
188
+ | <strong>语聊房</strong> | 包含麦位管理、背景音乐、礼物互动、语聊控场等完整业务逻辑。 | - 主播开播<br>- 观众观看 |
189
+ | <strong>直播列表</strong> | 展示直播间/语聊房列表,支持封面、人数、房间标题等信息展示。 | - 直播列表 |
190
+
191
+ ## 常见问题
192
+
193
+ ### pod install 执行后本地安装找不到 TUILiveKit 最新版本?
194
+
195
+ 如果无法安装 TUILiveKit 最新版本,请按以下步骤操作:
196
+ 1. 在 Podfile 所在目录下删除 `Podfile.lock` 和 `Pods`,您可以选择手动删除或终端执行以下命令
197
+
198
+ ``` bash
199
+ // cd 到 Podfile 所在目录下
200
+
201
+ rm -rf Pods/
202
+ rm Podfile.lock
203
+ ```
204
+ 2. 在 Podfile 所在目录下执行 `pod install --repo-update`
205
+
206
+ ``` bash
207
+ // cd 到 Podfile 所在目录下
208
+
209
+ pod install --repo-update
210
+ ```
211
+
212
+ ### 每次进房都需要调用登录吗?
213
+
214
+ 不需要。通常您只需要完成一次 `LoginStore.shared.login` 调用即可,我们建议您将 `LoginStore.shared.login` 和 `LoginStore.shared.logout` 与自己的登录业务关联。
215
+
216
+ ### Podfile 文件有没有示例配置可以参考?
217
+
218
+ 您可以参考 [GitHub TUILiveKit Example](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/application/Podfile) 工程 `Podfile` 示例文件。
@@ -33,11 +33,10 @@ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
33
33
 
34
34
  ### 步骤3: 直播列表页面接入
35
35
 
36
- 在您的项目下创建 **live-list.vue **文件,可直接复制如下代码至您的项目中集成**直播列表页面**。
36
+ 在您的项目下创建 **live-list.vue** 文件,可直接复制如下代码至您的项目中集成**直播列表页面**。
37
37
 
38
38
  > **注意:**
39
39
  >
40
-
41
40
  > 您可以直接复制如下代码至您的工程中集成示例工程,也可以访问 [直播列表](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/TUILiveKit/LiveListView.vue) 地址,查看更加详细的源码内容。
42
41
  >
43
42
 
@@ -84,7 +83,6 @@ onMounted(async () => {
84
83
 
85
84
  > **注意:**
86
85
  >
87
-
88
86
  > 若您需要实现直播列表到进入直播间的跳转逻辑,可参考本文中 指定直播间 部分内容。
89
87
  >
90
88
 
@@ -96,8 +94,7 @@ onMounted(async () => {
96
94
 
97
95
  > **说明:**
98
96
  >
99
-
100
- > 上述命令执行成功后,请在浏览器地址栏输入本地访问地址(您可以根据项目参考,例如` http://localhost:5173/live-list`,具体端口号可能因您的项目配置而有所不同),即可看到直播列表页面。
97
+ > 上述命令执行成功后,请在浏览器地址栏输入本地访问地址(您可以根据项目参考,例如 `http://localhost:5173/live-list`,具体端口号可能因您的项目配置而有所不同),即可看到直播列表页面。
101
98
  >
102
99
 
103
100
  ``` bash
@@ -106,7 +103,7 @@ onMounted(async () => {
106
103
 
107
104
  ### 指定直播间
108
105
 
109
- 由于涉及到直播列表(或首页)到观看页面的跳转逻辑,您需要配置 Vue Router 来实现页面跳转 。您可以在项目 `src` 目录下新建 `router` 文件夹,并创建 `index.ts` 文件。然后,在您的主文件(例如 **main.ts **或 **index.ts**)中引入并使用路由。可参见 [GitHub 代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts)。
106
+ 由于涉及到直播列表(或首页)到观看页面的跳转逻辑,您需要配置 Vue Router 来实现页面跳转 。您可以在项目 `src` 目录下新建 `router` 文件夹,并创建 `index.ts` 文件。然后,在您的主文件(例如 **main.ts** 或 **index.ts**)中引入并使用路由。可参见 [GitHub 代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts)。
110
107
 
111
108
  #### 步骤1:配置页面路由
112
109
 
@@ -210,7 +207,7 @@ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
210
207
 
211
208
  ### 按钮 Button 和 图标 Icon
212
209
 
213
- 您可以对按钮、图标等控件进行自定义。以` live-list.vue` 为例,对` Button`、`Icon` 控件执行增删改等操作都可以满足您的自定义需求。除布局调整外,我们还支持对颜色、字体、圆角以及输入框、弹框等内容进行全面修改,充分满足您的 UI 定制需求。
210
+ 您可以对按钮、图标等控件进行自定义。以 `live-list.vue` 为例,对 `Button`、`Icon` 控件执行增删改等操作都可以满足您的自定义需求。除布局调整外,我们还支持对颜色、字体、圆角以及输入框、弹框等内容进行全面修改,充分满足您的 UI 定制需求。
214
211
  | <strong>类别</strong> | <strong>功能</strong> | <strong>描述</strong> |
215
212
  | --- | --- | --- |
216
213
  | <strong>素材管理</strong> | 自定义素材管理区域展示 | 支持调整 Icon 的大小、颜色或对 Icon 进行替换。 |
@@ -1,8 +1,7 @@
1
1
  本文对 TUILiveKit Demo 中的**观看页面**进行了详细的介绍,您可以在已有项目中直接参考本文档集成我们开发好的观看页面,也可以根据您的需求按照文档中的内容对页面的样式,布局以及功能项进行深度的定制。
2
2
 
3
- > **集成提示****:**
3
+ > **集成提示:**
4
4
  >
5
-
6
5
  > 本文档介绍基于 **UI 组件** 的观众观看方式(含完整交互 UI)。若您需通过 **Core SDK** 自行搭建观众端界面,请参考 观众观看 (Core SDK)。
7
6
  >
8
7
 
@@ -21,7 +20,6 @@
21
20
 
22
21
  > **说明:**
23
22
  >
24
-
25
23
  > 本文档主要介绍观众端的核心功能逻辑。如果您需要修改观众端的界面样式(如修改某些默认控件、修改图标和颜色、调整弹窗风格),请直接前往 调整界面风格 指南进行配置。
26
24
  >
27
25
 
@@ -52,11 +50,10 @@ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
52
50
 
53
51
  ### 步骤3:观看页面接入
54
52
 
55
- 在您的项目下创建 `live-player.vue`文件,可直接复制如下代码至您的项目中集成**观看页面**。
53
+ 在您的项目下创建 `live-player.vue` 文件,可直接复制如下代码至您的项目中集成**观看页面**。
56
54
 
57
55
  > **注意:**
58
56
  >
59
-
60
57
  > 您可以直接复制如下代码至您的工程中集成示例工程,也可以访问 [观众观看](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/TUILiveKit/component/LivePlayer/LivePlayerPC.vue) 地址,查看更加详细的源码内容。
61
58
  >
62
59
 
@@ -149,8 +146,7 @@ onMounted(async () => {
149
146
 
150
147
  > **说明:**
151
148
  >
152
-
153
- > 上述命令执行成功后,请在浏览器地址栏输入本地访问地址(您可以根据项目参考,例如` http://localhost:5173/live-player`,具体端口号可能因您的项目配置而有所不同),即可看到观看页面。
149
+ > 上述命令执行成功后,请在浏览器地址栏输入本地访问地址(您可以根据项目参考,例如 `http://localhost:5173/live-player`,具体端口号可能因您的项目配置而有所不同),即可看到观看页面。
154
150
  >
155
151
 
156
152
  ``` bash
@@ -170,7 +166,6 @@ npm run dev
170
166
 
171
167
  > **重要提示:**
172
168
  >
173
-
174
169
  > 请使用不同的**用户 ID** 开播和观看,否则后登录的设备会强制先登录的设备下线(即**被踢下线**)。
175
170
  >
176
171
 
@@ -180,11 +175,10 @@ npm run dev
180
175
 
181
176
  ### 步骤3:路由配置
182
177
 
183
- 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 **src** 目录下新建 **router **文件夹,并创建 **index.ts **文件。然后,在您的主文件(例如 **main.ts** 或 **index.ts**)中引入并使用路由。可参见 [GitHub 代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts),如果需要直播列表,可参见文档 直播列表。
178
+ 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 **src** 目录下新建 **router** 文件夹,并创建 **index.ts** 文件。然后,在您的主文件(例如 **main.ts** 或 **index.ts**)中引入并使用路由。可参见 [GitHub 代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts),如果需要直播列表,可参见文档 直播列表。
184
179
 
185
180
  > **注意:**
186
181
  >
187
-
188
182
  > 如下代码示例中的 `live-player.vue` 文件即代表 步骤3 中创建的示例文件。
189
183
  >
190
184
 
@@ -241,7 +235,7 @@ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
241
235
 
242
236
  ### 按钮 Button 和图标 Icon
243
237
 
244
- 若您需要对按钮 Button 或图标 Icon 等其他控件进行新增或替换等 UI 定制,您可以通过如下方式实现,以 `live-player.vue `文件中的按钮和图标为例,您可以参考下图找到对应按钮或图标的指定位置源码,对当前部分的控件进行**增加、删除、替换**等 UI 定制操作。
238
+ 若您需要对按钮 Button 或图标 Icon 等其他控件进行新增或替换等 UI 定制,您可以通过如下方式实现,以 `live-player.vue` 文件中的按钮和图标为例,您可以参考下图找到对应按钮或图标的指定位置源码,对当前部分的控件进行**增加、删除、替换**等 UI 定制操作。
245
239
 
246
240
  根据上述示例,我们同样支持您根据项目需求对**观众观看页面**进行 UI 定制的能力。除了页面 UI 布局调整,我们也支持您对**颜色主题、字体、圆角、按钮、图标、输入框、弹框等**内容进行**增加、删除、修改**等操作,满足您的 UI 定制需要。
247
241
  | <strong>类别</strong> | <strong>功能</strong> | <strong>描述</strong> |
@@ -299,7 +293,6 @@ export { useCustomizedAutoPlayDialog };
299
293
 
300
294
  > **说明:**
301
295
  >
302
-
303
296
  > 您需要安装对应的 `@tencentcloud/tuiroom-engine-js。`
304
297
  >
305
298
 
@@ -1,8 +1,7 @@
1
1
  本文对 TUILiveKit Demo 中的**观看页面**进行了详细的介绍,您可以在已有项目中直接参考本文档集成我们开发好的观看页面,也可以根据您的需求按照文档中的内容对页面的样式,布局以及功能项进行深度的定制。
2
2
 
3
- > **集成提示****:**
3
+ > **集成提示:**
4
4
  >
5
-
6
5
  > 本文档介绍基于 **UI 组件** 的观众观看方式(含完整交互 UI)。若您需通过 **Core SDK** 自行搭建观众端界面,请参考 观众观看 (Core SDK)。
7
6
  >
8
7
 
@@ -46,11 +45,10 @@ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
46
45
 
47
46
  ### 步骤3:观看页面接入
48
47
 
49
- 在您的项目下创建 **live-player.vue **文件,可直接复制如下代码至您的项目中集成**观看页面**。
48
+ 在您的项目下创建 **live-player.vue** 文件,可直接复制如下代码至您的项目中集成**观看页面**。
50
49
 
51
50
  > **注意:**
52
51
  >
53
-
54
52
  > 您可以直接复制如下代码至您的工程中集成示例工程,也可以访问 [观众观看](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/TUILiveKit/component/LivePlayer/LivePlayerH5.vue) 地址,查看更加详细的源码内容。
55
53
  >
56
54
 
@@ -143,8 +141,7 @@ onMounted(async () => {
143
141
 
144
142
  > **说明:**
145
143
  >
146
-
147
- > 上述命令执行成功后,请在浏览器地址栏输入本地访问地址(您可以根据项目配置参考,例如` http://localhost:5173/live-player`,具体端口号可能因您的项目配置而有所不同),即可看到观看页面。
144
+ > 上述命令执行成功后,请在浏览器地址栏输入本地访问地址(您可以根据项目配置参考,例如 `http://localhost:5173/live-player`,具体端口号可能因您的项目配置而有所不同),即可看到观看页面。
148
145
  >
149
146
 
150
147
  ``` bash
@@ -164,7 +161,6 @@ npm run dev
164
161
 
165
162
  > **重要提示:**
166
163
  >
167
-
168
164
  > 请使用不同的**用户 ID** 开播和观看,否则后登录的设备会强制先登录的设备下线(即“被踢下线”)。
169
165
  >
170
166
 
@@ -174,17 +170,15 @@ npm run dev
174
170
 
175
171
  > **说明:**
176
172
  >
177
-
178
173
  > 另外,若您需要修改个人信息,请参考 步骤 3 示例代码中的 `setSelfInfo` 进行个人信息的设置。
179
174
  >
180
175
 
181
176
  ### 步骤3:路由配置
182
177
 
183
- 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 **src** 目录下新建 **router **文件夹,并创建 **index.ts **文件。然后,在您的主文件(例如 **main.ts** 或 **index.ts**)中引入并使用路由。可参见 [GitHub 上的代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts),如果需要直播列表,可参见文档 直播列表。
178
+ 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 **src** 目录下新建 **router** 文件夹,并创建 **index.ts** 文件。然后,在您的主文件(例如 **main.ts** 或 **index.ts**)中引入并使用路由。可参见 [GitHub 上的代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts),如果需要直播列表,可参见文档 直播列表。
184
179
 
185
180
  > **注意:**
186
181
  >
187
-
188
182
  > 如下代码示例中的 `live-player.vue` 文件即代表 步骤3 中创建的示例文件。
189
183
  >
190
184
 
@@ -299,7 +293,6 @@ export { useCustomizedAutoPlayDialog };
299
293
 
300
294
  > **说明:**
301
295
  >
302
-
303
296
  > 您需要安装对应的 `@tencentcloud/tuiroom-engine-js。`
304
297
  >
305
298