@tencent-rtc/mcp 1.4.6 → 1.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cursor-setting.png +0 -0
- package/knowledge/bm25-cache.js +74 -0
- package/knowledge/bm25-cache.js.map +1 -0
- package/knowledge/bm25.js +148 -0
- package/knowledge/bm25.js.map +1 -0
- package/knowledge/build-index.js +70 -0
- package/knowledge/build-index.js.map +1 -0
- package/knowledge/chunker.js +168 -0
- package/knowledge/chunker.js.map +1 -0
- package/knowledge/content-loader.js +40 -0
- package/knowledge/content-loader.js.map +1 -0
- package/knowledge/doc-url-resolver.js +143 -0
- package/knowledge/doc-url-resolver.js.map +1 -0
- package/knowledge/extractors.js +26 -0
- package/knowledge/extractors.js.map +1 -0
- package/knowledge/path-meta.js +185 -0
- package/knowledge/path-meta.js.map +1 -0
- package/knowledge/search/exact-lookup.js +498 -0
- package/knowledge/search/exact-lookup.js.map +1 -0
- package/knowledge/search/filter-pool.js +105 -0
- package/knowledge/search/filter-pool.js.map +1 -0
- package/knowledge/search/product-scope-intent.js +41 -0
- package/knowledge/search/product-scope-intent.js.map +1 -0
- package/knowledge/search/requires-framework.js +82 -0
- package/knowledge/search/requires-framework.js.map +1 -0
- package/knowledge/search/search-knowledge.js +230 -0
- package/knowledge/search/search-knowledge.js.map +1 -0
- package/mcp-server-prompt.png +0 -0
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +19 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +43 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/doc-source-urls.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
- package/resource/integration/callkit/preset/flutter/integration.md +346 -0
- package/resource/integration/callkit/preset/ios/integration.md +408 -0
- package/resource/integration/callkit/preset/react/integration.md +362 -0
- package/resource/integration/callkit/preset/vue/integration.md +356 -0
- package/resource/integration/chat/preset/android/integration.md +500 -0
- package/resource/integration/chat/preset/flutter/integration.md +370 -0
- package/resource/integration/chat/preset/ios/integration.md +566 -0
- package/resource/integration/chat/preset/react/integration.md +490 -0
- package/resource/integration/chat/preset/vue/integration.md +504 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
- package/resource/integration/roomkit/preset/vue/integration.md +562 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
- package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
- package/resource/knowledge/callkit/faq/android.md +92 -0
- package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
- package/resource/knowledge/callkit/faq/error-code.md +67 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +104 -0
- package/resource/knowledge/callkit/faq/web.md +74 -0
- package/resource/knowledge/callkit/preset/android/api.md +412 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +234 -0
- package/resource/knowledge/callkit/preset/web/api.md +83 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
- package/resource/knowledge/chat/preset/android/features/language.md +136 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
- package/resource/knowledge/chat/preset/android/features/search.md +64 -0
- package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
- package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
- package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
- package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
- package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
- package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
- package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
- package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
- package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +17 -0
- package/resource/knowledge/chat/urls/product.md +43 -0
- package/resource/knowledge/chat/urls/restapi.md +204 -0
- package/resource/knowledge/chat/urls/sdk/android.md +80 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
- package/resource/knowledge/chat/urls/sdk/web.md +80 -0
- package/resource/knowledge/chat/urls/webhook.md +68 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
- package/resource/knowledge/livekit/faq/error-code.md +193 -0
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
- package/resource/knowledge/push/config/android.md +92 -0
- package/resource/knowledge/push/config/harmonyos.md +83 -0
- package/resource/knowledge/push/config/ios.md +254 -0
- package/resource/knowledge/push/config/react-native.md +254 -0
- package/resource/knowledge/push/config/unity.md +209 -0
- package/resource/knowledge/push/config/unreal-engine.md +194 -0
- package/resource/knowledge/push/integration/android.md +404 -0
- package/resource/knowledge/push/integration/flutter.md +465 -0
- package/resource/knowledge/push/integration/harmonyos.md +63 -0
- package/resource/knowledge/push/integration/ios.md +246 -0
- package/resource/knowledge/push/integration/react-native.md +366 -0
- package/resource/knowledge/push/integration/uni-app.md +208 -0
- package/resource/knowledge/push/integration/unity.md +389 -0
- package/resource/knowledge/push/integration/unreal-engine.md +390 -0
- package/resource/knowledge/push/overview/prepare.md +60 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
- package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
- package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
- package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
- package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
- package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
- package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
- package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
- package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
- package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
- package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
- package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
- package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
- package/server.js +35 -10
- package/server.js.map +1 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -3
- package/tools/call/get_native_call_uikit_integration.js.map +1 -1
- package/tools/call/get_native_callkit_core_integration.js +2 -5
- package/tools/call/get_native_callkit_core_integration.js.map +1 -1
- package/tools/call/get_web_call_uikit_integration.js +2 -3
- package/tools/call/get_web_call_uikit_integration.js.map +1 -1
- package/tools/chat/get_native_chat_uikit_integration.js +2 -3
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -1
- package/tools/chat/get_web_chat_uikit_integration.js +2 -3
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -1
- package/tools/common/present_framework_choice.js +19 -13
- package/tools/common/present_framework_choice.js.map +1 -1
- package/tools/common/record_answer.js +19 -25
- package/tools/common/record_answer.js.map +1 -1
- package/tools/common/record_feedback.js +17 -30
- package/tools/common/record_feedback.js.map +1 -1
- package/tools/common/search_trtc_knowledge.js +45 -0
- package/tools/common/search_trtc_knowledge.js.map +1 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +3 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +5 -3
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -2
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js +6 -5
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +4 -2
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -0
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +5 -5
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_room_core_integration_def.js +50 -0
- package/tools/definitions/get_web_room_core_integration_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +5 -4
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/integration-boundary.js +6 -0
- package/tools/definitions/integration-boundary.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +12 -10
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/definitions/record_answer_def.js +19 -17
- package/tools/definitions/record_answer_def.js.map +1 -1
- package/tools/definitions/record_feedback_def.js +14 -13
- package/tools/definitions/record_feedback_def.js.map +1 -1
- package/tools/definitions/search_trtc_knowledge_def.js +40 -0
- package/tools/definitions/search_trtc_knowledge_def.js.map +1 -0
- package/tools/index.js +5 -36
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_integration.js +1 -3
- package/tools/live/get_native_livekit_core_integration.js.map +1 -1
- package/tools/live/get_web_live_uikit_integration.js +2 -4
- package/tools/live/get_web_live_uikit_integration.js.map +1 -1
- package/tools/room/get_web_room_core_integration.js +48 -0
- package/tools/room/get_web_room_core_integration.js.map +1 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -3
- package/tools/room/get_web_room_uikit_integration.js.map +1 -1
- package/utils/generate-structured-result.js +24 -30
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/get-doc-content.js +14 -8
- package/utils/get-doc-content.js.map +1 -1
- package/utils/report-cls-client.js +18 -20
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
- package/resource/doc/callkit/faq/common/error-code.md +0 -47
- package/resource/doc/callkit/faq/flutter-faq.md +0 -115
- package/resource/doc/callkit/faq/ios-faq.md +0 -115
- package/resource/doc/callkit/faq/web-faq.md +0 -36
- package/resource/doc/callkit/preset/android/api.md +0 -296
- package/resource/doc/callkit/preset/flutter/api.md +0 -410
- package/resource/doc/callkit/preset/flutter/integration.md +0 -164
- package/resource/doc/callkit/preset/ios/api.md +0 -80
- package/resource/doc/callkit/preset/ios/integration.md +0 -187
- package/resource/doc/callkit/preset/react/api.md +0 -501
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -501
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -111
- package/resource/doc/chatkit/android/features/theme.md +0 -219
- package/resource/doc/chatkit/android/integration.md +0 -490
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
- package/resource/doc/chatkit/faq/common/product.md +0 -7
- package/resource/doc/chatkit/faq/common/server.md +0 -44
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
- package/resource/doc/chatkit/flutter/faq.md +0 -23
- package/resource/doc/chatkit/flutter/features/theme.md +0 -235
- package/resource/doc/chatkit/flutter/integration.md +0 -344
- package/resource/doc/chatkit/ios/faq.md +0 -111
- package/resource/doc/chatkit/ios/features/theme.md +0 -267
- package/resource/doc/chatkit/react/components/avatar.md +0 -104
- package/resource/doc/chatkit/react/components/chat-header.md +0 -148
- package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -37
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
- package/resource/doc/chatkit/react/components/message-list.md +0 -293
- package/resource/doc/chatkit/react/components/tuikit.md +0 -34
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/react/integration.md +0 -416
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
- package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
- package/resource/doc/chatkit/vue/components/chat.md +0 -45
- package/resource/doc/chatkit/vue/components/component-list.md +0 -87
- package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
- package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
- package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
- package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
- package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
- package/resource/doc/chatkit/vue/components/message-list.md +0 -433
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -36
- package/resource/doc/chatkit/vue/integration.md +0 -428
- package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
- package/resource/doc/livekit/faq/common/error-code.md +0 -88
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-state.md +0 -282
- package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
- package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
- package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
- package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
- package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
- package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
- package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
- package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
- package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
- package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
- package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
- package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
- package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
- package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
- package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.js.map +0 -1
- package/tools/common/record_skill_session.js +0 -69
- package/tools/common/record_skill_session.js.map +0 -1
- package/tools/definitions/get_callkit_api_def.js +0 -29
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -49
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -30
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/record_skill_session_def.js +0 -31
- package/tools/definitions/record_skill_session_def.js.map +0 -1
- package/tools/live/get_native_livekit_core_features.js +0 -68
- package/tools/live/get_native_livekit_core_features.js.map +0 -1
- package/tools/live/get_web_livekit_api.js +0 -33
- package/tools/live/get_web_livekit_api.js.map +0 -1
- package/tools/live/get_web_livekit_component_detail.js +0 -35
- package/tools/live/get_web_livekit_component_detail.js.map +0 -1
- package/tools/room/get_web_roomkit_feature_detail.js +0 -69
- package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
- package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
- package/utils/build-session-directives.js +0 -120
- package/utils/build-session-directives.js.map +0 -1
- package/utils/handle-framework.js +0 -9
- package/utils/handle-framework.js.map +0 -1
- package/utils/handle-state-name.js +0 -29
- package/utils/handle-state-name.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js +0 -91
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
- /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
- /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
`GiftStore` is a dedicated module within **AtomicXCore** for managing live room gifting features. It enables you to build a complete gifting system for your live streaming application, supporting robust monetization and interactive experiences.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
|**Gift Panel**|**Barrage Gift**|**Full-Screen Gift**|
|
|
4
|
+
|---------|---------|---------|
|
|
5
|
+
||||
|
|
5
6
|
|
|
6
7
|
## Core Features
|
|
7
8
|
- **Gift List Retrieval**: Retrieve gift panel data from the server, including gift categories and details.
|
|
@@ -11,13 +12,14 @@
|
|
|
11
12
|
- **Gift Event Broadcast:** Receive real-time gift events in the room for displaying gift animations and barrage notifications.
|
|
12
13
|
|
|
13
14
|
## Core Concepts
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
|
|
16
|
+
|**Core Concept**|**Type**|**Core Responsibilities & Description**|
|
|
17
|
+
|---------|---------|---------|
|
|
18
|
+
|`Gift`|`data class`|Represents a gift data model, including ID, name, icon URL, animation resource URL (resourceURL), price (coins), and more.|
|
|
19
|
+
|`GiftCategory`|`data class`|Represents a gift category (e.g., "Popular", "Luxury"). Contains the category name and a list of Gift objects.|
|
|
20
|
+
|`GiftState`|`data class`|Represents the current state of the gift module. The core property, usableGifts, is a StateFlow containing the full gift list from the server.|
|
|
21
|
+
|`GiftEvent`|`abstract class`|Defines the event listener for gift events in the live room. Currently, only onReceiveGift is available; all users in the room receive this event when any user sends a gift.|
|
|
22
|
+
|`GiftStore`|`abstract class`|The core management class for gift features. Use it to fetch the gift list, send gifts, and receive gift events via listeners.|
|
|
21
23
|
|
|
22
24
|
## Implementation
|
|
23
25
|
|
|
@@ -66,6 +68,11 @@ class GiftManager(
|
|
|
66
68
|
// Expose gift list externally
|
|
67
69
|
private val _giftList = MutableStateFlow<List<GiftCategory>>(emptyList())
|
|
68
70
|
val giftList: StateFlow<List<GiftCategory>> = _giftList.asStateFlow()
|
|
71
|
+
private val giftListener = object : GiftListener() {
|
|
72
|
+
override fun onReceiveGift(liveID: String, gift: Gift, count: Int, sender: LiveUserInfo) {
|
|
73
|
+
// Forward event to UI layer for processing
|
|
74
|
+
}
|
|
75
|
+
}
|
|
69
76
|
|
|
70
77
|
init {
|
|
71
78
|
setupGiftListener()
|
|
@@ -74,11 +81,7 @@ class GiftManager(
|
|
|
74
81
|
|
|
75
82
|
// Subscribe to gift events
|
|
76
83
|
private fun setupGiftListener() {
|
|
77
|
-
giftStore.addGiftListener(
|
|
78
|
-
override fun onReceiveGift(liveID: String, gift: Gift, count: Int, sender: LiveUserInfo) {
|
|
79
|
-
// Forward event to UI layer for processing
|
|
80
|
-
}
|
|
81
|
-
})
|
|
84
|
+
giftStore.addGiftListener(giftListener)
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
// Subscribe to gift list state
|
|
@@ -95,26 +98,26 @@ class GiftManager(
|
|
|
95
98
|
#### Gift List Structure Parameters
|
|
96
99
|
- **GiftCategory Parameter Description**
|
|
97
100
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
|**Parameter**|**Type**|**Description**|
|
|
102
|
+
|---------|---------|---------|
|
|
103
|
+
|`categoryID`|`String`|Unique ID of the gift category.|
|
|
104
|
+
|`name`|`String`|Display name of the gift category.|
|
|
105
|
+
|`desc`|`String`|Description of the gift category.|
|
|
106
|
+
|`extensionInfo`|`Map<String, String>`|Extension information field.|
|
|
107
|
+
|`giftList`|`List`|Array of Gift objects in this category.|
|
|
105
108
|
|
|
106
109
|
- **Gift Parameter Description**
|
|
107
110
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
111
|
+
|**Parameter**|**Type**|**Description**|
|
|
112
|
+
|---------|---------|---------|
|
|
113
|
+
|`giftID`|`String`|Unique ID of the gift.|
|
|
114
|
+
|`name`|`String`|Display name of the gift.|
|
|
115
|
+
|`desc`|`String`|Description of the gift.|
|
|
116
|
+
|`iconURL`|`String`|Gift icon URL.|
|
|
117
|
+
|`resourceURL`|`String`|Gift animation resource URL.|
|
|
118
|
+
|`level`|`Long`|Gift level.|
|
|
119
|
+
|`coins`|`Long`|Gift price.|
|
|
120
|
+
|`extensionInfo`|`Map<String, String>`|Extension information field.|
|
|
118
121
|
|
|
119
122
|
### Step 3: Retrieve Gift List
|
|
120
123
|
|
|
@@ -186,11 +189,12 @@ class GiftManager(
|
|
|
186
189
|
```
|
|
187
190
|
|
|
188
191
|
#### **sendGift API Parameters**
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
|
|
193
|
+
|**Parameter Name**|**Type**|**Description**|
|
|
194
|
+
|---------|---------|---------|
|
|
195
|
+
|`giftID`|`String`|Unique ID of the gift to send.|
|
|
196
|
+
|`count`|`Int`|Number of gifts to send.|
|
|
197
|
+
|`completion`|`CompletionHandler?`|Callback invoked after sending completes.|
|
|
194
198
|
|
|
195
199
|
## Advanced Features
|
|
196
200
|
|
|
@@ -210,18 +214,18 @@ Customize available gift types, categories, names, icons, prices, and animation
|
|
|
210
214
|
#### Configuration Sequence Diagram
|
|
211
215
|
|
|
212
216
|
#### Related REST API Interfaces Overview
|
|
213
|
-
|
|
|
217
|
+
| <strong>Interface Category</strong> | <strong>Interface</strong> | <strong>Request Example</strong> |
|
|
214
218
|
| --- | --- | --- |
|
|
215
|
-
|
|
|
219
|
+
| <strong>Gift Management</strong> | Add Gift Information | Example |
|
|
216
220
|
| Delete Gift Information | Example | |
|
|
217
221
|
| Query Gift Information | Example | |
|
|
218
|
-
|
|
|
222
|
+
| <strong>Gift Category Management</strong> | Add Gift Category Information | Example |
|
|
219
223
|
| Delete Specific Gift Category Information | Example | |
|
|
220
224
|
| Get Specific Gift Category Information | Example | |
|
|
221
|
-
|
|
|
225
|
+
| <strong>Gift Relationship Management</strong> | Add Relationship between a Specific Gift Category and Gift | Example |
|
|
222
226
|
| Delete Relationship between a Specific Gift Category and Gift | Example | |
|
|
223
227
|
| Get Gift Relationships under a Specific Gift Category | Example | |
|
|
224
|
-
|
|
|
228
|
+
| <strong>Gift Multi-language Management</strong> | Add Gift Multi-language Information | Example |
|
|
225
229
|
| Delete Specific Gift Multi-language Information | Example | |
|
|
226
230
|
| Get Gift Multi-language Information | Example | |
|
|
227
231
|
| Add Gift Category Multi-language Information | Example | |
|
|
@@ -244,9 +248,10 @@ When a viewer sends a gift, ensure their account balance is sufficient and compl
|
|
|
244
248
|
#### Call Flow
|
|
245
249
|
|
|
246
250
|
#### Related REST API Interfaces Overview
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
251
|
+
|
|
252
|
+
|**Interface**|**Description**|**Request Example**|
|
|
253
|
+
|---------|---------|---------|
|
|
254
|
+
|**Callback Configuration - Callback before sending a gift**|The customer's backend can use this callback to decide whether to pass pre-gifting checks, etc.|Example|
|
|
250
255
|
|
|
251
256
|
### Implement Full-Screen Gift Animation Playback
|
|
252
257
|
|
|
@@ -255,15 +260,16 @@ When a user sends a luxury gift (e.g., "Rocket", "Carnival"), play a full-screen
|
|
|
255
260
|
#### Implementation
|
|
256
261
|
|
|
257
262
|
**AtomicXCore** does not include a built-in gift animation player. Integrate a third-party library based on your requirements. Below is a comparison of two options:
|
|
258
|
-
| **Comparison Item** | **Basic Solution (SVGAPlayer)** | **Gift AR (TCEffectPlayerKit)** |
|
|
259
|
-
| --- | --- | --- |
|
|
260
|
-
| Billing | Free (open source) | Paid (requires license). See [Billing Guide](https://trtc.io/document/69949?product=beautyar&menulabel=core%20sdk&platform=android#X-Series-Capabilities) |
|
|
261
|
-
| Integration Method | Manual integration via Gradle | Requires additional integration and authentication |
|
|
262
|
-
| Supported Animation Formats | SVGA only | SVGA, PAG, WebP, Lottie, MP4, and more |
|
|
263
|
-
| Performance | Recommended SVGA file size ≤ 10MB | Supports larger files, better performance for complex/multiple/low-end scenarios |
|
|
264
|
-
| Recommended Scenario | Uniform SVGA format, controllable file size | Multiple formats or higher performance/device compatibility needs |
|
|
265
263
|
|
|
266
|
-
|
|
264
|
+
|**Comparison Item**|**Basic Solution (SVGAPlayer)**|**Gift AR (TCEffectPlayerKit)**|
|
|
265
|
+
|---------|---------|---------|
|
|
266
|
+
|Billing|Free (open source)|Paid (requires license). See [Billing Guide](https://trtc.io/document/69949)|
|
|
267
|
+
|Integration Method|Manual integration via Gradle|Requires additional integration and authentication|
|
|
268
|
+
|Supported Animation Formats|SVGA only|SVGA, PAG, WebP, Lottie, MP4, and more|
|
|
269
|
+
|Performance|Recommended SVGA file size ≤ 10MB|Supports larger files, better performance for complex/multiple/low-end scenarios|
|
|
270
|
+
|Recommended Scenario|Uniform SVGA format, controllable file size|Multiple formats or higher performance/device compatibility needs|
|
|
271
|
+
|
|
272
|
+
This section demonstrates the basic solution. For the **Gift AR** see the [TCEffectPlayer Integration Guide](https://trtc.io/document/70531).
|
|
267
273
|
|
|
268
274
|
#### Basic Solution: Using SVGAPlayer
|
|
269
275
|
1. **Integrate SVGAPlayer**: Add the SVGAPlayer dependency to your build.gradle and sync the project.
|
|
@@ -282,6 +288,7 @@ This section demonstrates the basic solution. For the **Gift AR** see the [TCEff
|
|
|
282
288
|
``` kotlin
|
|
283
289
|
import android.os.Bundle
|
|
284
290
|
import androidx.appcompat.app.AppCompatActivity
|
|
291
|
+
import com.opensource.svgaplayer.SVGACallback
|
|
285
292
|
import com.opensource.svgaplayer.SVGAParser
|
|
286
293
|
import com.opensource.svgaplayer.SVGAVideoEntity
|
|
287
294
|
import com.opensource.svgaplayer.SVGAImageView
|
|
@@ -300,17 +307,9 @@ class LiveRoomActivity : AppCompatActivity() {
|
|
|
300
307
|
super.onCreate(savedInstanceState)
|
|
301
308
|
setContentView(R.layout.activity_live_room)
|
|
302
309
|
setupSVGAPlayer()
|
|
303
|
-
}
|
|
304
310
|
|
|
305
|
-
private fun setupSVGAPlayer() {
|
|
306
|
-
svgaImageView = findViewById(R.id.svga_player)
|
|
307
|
-
svgaParser = SVGAParser(this)
|
|
308
|
-
svgaImageView.visibility = android.view.View.GONE
|
|
309
|
-
|
|
310
|
-
// Set the gift animation to play only once.
|
|
311
311
|
svgaImageView.loops = 1
|
|
312
312
|
|
|
313
|
-
// Set a completion callback to hide and clean up resources after playback.
|
|
314
313
|
svgaImageView.callback = object : SVGACallback {
|
|
315
314
|
override fun onFinished() {
|
|
316
315
|
svgaImageView.visibility = android.view.View.GONE
|
|
@@ -320,23 +319,32 @@ private fun setupSVGAPlayer() {
|
|
|
320
319
|
override fun onRepeat() {}
|
|
321
320
|
override fun onStep(frame: Int, percentage: Double) {}
|
|
322
321
|
}
|
|
322
|
+
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
private fun setupSVGAPlayer() {
|
|
326
|
+
svgaImageView = findViewById(R.id.svga_player)
|
|
327
|
+
svgaParser = SVGAParser(this)
|
|
328
|
+
svgaImageView.visibility = android.view.View.GONE
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
private val giftListener = object : GiftListener() {
|
|
332
|
+
override fun onReceiveGift(liveID: String, gift: Gift, count: Int, sender: LiveUserInfo) {
|
|
333
|
+
if (gift.resourceURL.isNotEmpty()) {
|
|
334
|
+
try {
|
|
335
|
+
val url = URL(gift.resourceURL)
|
|
336
|
+
playAnimation(url)
|
|
337
|
+
} catch (e: Exception) {
|
|
338
|
+
println("Invalid animation URL: ${gift.resourceURL}")
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
323
342
|
}
|
|
324
343
|
|
|
325
344
|
fun setupGiftSubscription(liveId: String) {
|
|
326
345
|
giftStore = GiftStore.create(liveId)
|
|
327
346
|
|
|
328
|
-
giftStore.addGiftListener(
|
|
329
|
-
override fun onReceiveGift(liveID: String, gift: Gift, count: Int, sender: LiveUserInfo) {
|
|
330
|
-
if (gift.resourceURL.isNotEmpty()) {
|
|
331
|
-
try {
|
|
332
|
-
val url = URL(gift.resourceURL)
|
|
333
|
-
playAnimation(url)
|
|
334
|
-
} catch (e: Exception) {
|
|
335
|
-
println("Invalid animation URL: ${gift.resourceURL}")
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
})
|
|
347
|
+
giftStore.addGiftListener(giftListener)
|
|
340
348
|
}
|
|
341
349
|
|
|
342
350
|
private fun playAnimation(url: URL) {
|
|
@@ -389,19 +397,23 @@ class LiveRoomManager(
|
|
|
389
397
|
private val giftStore: GiftStore = GiftStore.create(liveId)
|
|
390
398
|
private val barrageStore: BarrageStore = BarrageStore.create(liveId)
|
|
391
399
|
|
|
400
|
+
private val giftListener = object : GiftListener() {
|
|
401
|
+
override fun onReceiveGift(liveID: String, gift: Gift, count: Int, sender: LiveUserInfo) {
|
|
402
|
+
|
|
403
|
+
val tipText = "${sender.userName} sent ${gift.name} x $count"
|
|
404
|
+
val giftTip = Barrage(
|
|
405
|
+
liveID = liveID,
|
|
406
|
+
messageType = BarrageType.TEXT,
|
|
407
|
+
textContent = tipText
|
|
408
|
+
sender = sender
|
|
409
|
+
)
|
|
410
|
+
barrageStore.appendLocalTip(giftTip)
|
|
411
|
+
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
392
415
|
private fun setupGiftToBarrageFlow() {
|
|
393
|
-
giftStore.addGiftListener(
|
|
394
|
-
override fun onReceiveGift(liveID: String, gift: Gift, count: Int, sender: LiveUserInfo) {
|
|
395
|
-
val tipText = "sent ${gift.name} x $count"
|
|
396
|
-
val giftTip = Barrage(
|
|
397
|
-
liveID = liveID,
|
|
398
|
-
messageType = BarrageType.TEXT,
|
|
399
|
-
textContent = tipText
|
|
400
|
-
sender = sender
|
|
401
|
-
)
|
|
402
|
-
barrageStore.appendLocalTip(giftTip)
|
|
403
|
-
}
|
|
404
|
-
})
|
|
416
|
+
giftStore.addGiftListener(giftListener)
|
|
405
417
|
}
|
|
406
418
|
}
|
|
407
419
|
```
|
|
@@ -409,10 +421,11 @@ class LiveRoomManager(
|
|
|
409
421
|
## API Documentation
|
|
410
422
|
|
|
411
423
|
For complete details on all public interfaces, properties, and methods of [GiftStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html) and related classes, see the official API documentation for [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Android/index.html). Key stores referenced in this guide include:
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
|
424
|
+
|
|
425
|
+
|**Store/Component**|**Feature Description**|**API Documentation**|
|
|
426
|
+
|---------|---------|---------|
|
|
427
|
+
|GiftStore|Gift interactions: fetch gift list, send/receive gifts, listen for gift events (including sender and gift details).|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html)|
|
|
428
|
+
|BarrageStore|Barrage features: send text/custom barrage, maintain barrage list, listen to barrage status in real time.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.barrage/-barrage-store/index.html)|
|
|
416
429
|
|
|
417
430
|
## FAQs
|
|
418
431
|
|
|
@@ -317,7 +317,7 @@ Use the slot capability in the `VideoViewAdapter` interface to overlay custom vi
|
|
|
317
317
|
> **Note:**
|
|
318
318
|
>
|
|
319
319
|
|
|
320
|
-
> For a complete implementation, refer to the [widgets](https://github.com/Tencent-RTC/TUIKit_Android/tree/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/
|
|
320
|
+
> For a complete implementation, refer to the [widgets](https://github.com/Tencent-RTC/TUIKit_Android/tree/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/anchorview/view/cohost/widgets) directory in the open-source TUILiveKit project.
|
|
321
321
|
>
|
|
322
322
|
|
|
323
323
|
``` kotlin
|
|
@@ -429,15 +429,15 @@ Use the slot capability in the `VideoViewAdapter` interface to overlay custom vi
|
|
|
429
429
|
```
|
|
430
430
|
|
|
431
431
|
#### Parameter Description:
|
|
432
|
-
|
|
|
432
|
+
| <strong>Parameter</strong> | <strong>Type</strong> | <strong>Description</strong> |
|
|
433
433
|
| --- | --- | --- |
|
|
434
|
-
|
|
|
435
|
-
|
|
|
436
|
-
|
|
|
437
|
-
|
|
|
438
|
-
|
|
|
439
|
-
|
|
|
440
|
-
|
|
|
434
|
+
| <code>seatInfo</code> | <code>SeatFullInfo?</code> | Seat information object containing user details |
|
|
435
|
+
| <code>seatInfo.userId</code> | <code>String?</code> | User ID on the seat |
|
|
436
|
+
| <code>seatInfo.userName</code> | <code>String?</code> | User nickname on the seat |
|
|
437
|
+
| <code>seatInfo.userAvatar</code> | <code>String?</code> | User avatar URL |
|
|
438
|
+
| <code>seatInfo.userMicrophoneStatus</code> | <code>DeviceStatus</code> | User microphone status |
|
|
439
|
+
| <code>seatInfo.userCameraStatus</code> | <code>DeviceStatus</code> | User camera status |
|
|
440
|
+
| <code>viewLayer</code> | <code>ViewLayer</code> | View layer enum<br>- <code>FOREGROUND</code>: Foreground widget view, always displayed on top of the video<br>- <code>BACKGROUND</code>: Background widget view, under the foreground view, displayed only when the user has no video stream (e.g., camera off), typically used for the user's default avatar or a placeholder image |
|
|
441
441
|
|
|
442
442
|
### Displaying PK User Score on Video View
|
|
443
443
|
|
|
@@ -446,7 +446,7 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
446
446
|
#### Implementation Example
|
|
447
447
|
|
|
448
448
|
#### Implementation
|
|
449
|
-
- **Step 1**: Create a custom PK user view. For a complete implementation, see [BattleMemberInfoView.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/
|
|
449
|
+
- **Step 1**: Create a custom PK user view. For a complete implementation, see [BattleMemberInfoView.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/anchorview/view/battle/widgets/BattleMemberInfoView.kt) in the open-source TUILiveKit project.
|
|
450
450
|
|
|
451
451
|
``` kotlin
|
|
452
452
|
import android.content.Context
|
|
@@ -535,21 +535,22 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
535
535
|
```
|
|
536
536
|
|
|
537
537
|
#### Parameter Description:
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
538
|
+
|
|
539
|
+
|**Parameter**|**Type**|**Description**|
|
|
540
|
+
|---------|---------|---------|
|
|
541
|
+
|`battleUser`|`BattleUser?`|PK user info object|
|
|
542
|
+
|`battleUser.roomId`|`String`|PK room ID|
|
|
543
|
+
|`battleUser.userId`|`String`|PK user ID|
|
|
544
|
+
|`battleUser.userName`|`String`|PK user nickname|
|
|
545
|
+
|`battleUser.avatarUrl`|`String`|PK user avatar URL|
|
|
546
|
+
|`battleUser.score`|`UInt`|PK score|
|
|
546
547
|
|
|
547
548
|
### Displaying PK Status on Video Stream
|
|
548
549
|
|
|
549
550
|
#### Implementation Example
|
|
550
551
|
|
|
551
552
|
#### Implementation
|
|
552
|
-
- **Step 1**: Create a custom PK global view (CustomBattleContainerView). For a complete implementation, see [BattleInfoView.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/
|
|
553
|
+
- **Step 1**: Create a custom PK global view (CustomBattleContainerView). For a complete implementation, see [BattleInfoView.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/anchorview/view/battle/widgets/BattleInfoView.kt) in the open-source TUILiveKit project.
|
|
553
554
|
|
|
554
555
|
- **Step 2**: Implement the `VideoViewAdapter.createBattleContainerView `method.
|
|
555
556
|
|
|
@@ -573,12 +574,13 @@ In typical** live host PK scenarios,** the value of gifts received by the host i
|
|
|
573
574
|
|
|
574
575
|
> The PK score system in the `LiveKit` backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
575
576
|
>
|
|
576
|
-
|
|
577
|
-
|
|
|
578
|
-
|
|
579
|
-
|
|
|
580
|
-
|
|
|
581
|
-
|
|
|
577
|
+
|
|
578
|
+
|Gift Type|Score Calculation Rule|Example|
|
|
579
|
+
|---------|---------|---------|
|
|
580
|
+
|Basic Gift|Gift value × 5|10 RMB gift → 50 points|
|
|
581
|
+
|Intermediate Gift|Gift value × 8|50 RMB gift → 400 points|
|
|
582
|
+
|Advanced Gift|Gift value × 12|100 RMB gift → 1200 points|
|
|
583
|
+
|Special Effect Gift|Fixed high score|520 RMB gift → 1314 points|
|
|
582
584
|
|
|
583
585
|
#### REST API Call Flow
|
|
584
586
|
|
|
@@ -596,22 +598,24 @@ In typical** live host PK scenarios,** the value of gifts received by the host i
|
|
|
596
598
|
4. **LiveKit Backend Syncs to Client**: The backend automatically synchronizes the updated PK score to all clients.
|
|
597
599
|
|
|
598
600
|
#### Involved REST API Endpoints
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
|
603
|
-
|
|
|
604
|
-
|
|
|
601
|
+
|
|
602
|
+
|**API**|**Function Description**|**Request Example**|
|
|
603
|
+
|---------|---------|---------|
|
|
604
|
+
|Active API - Query PK Status|Check whether the current room is in PK|Example|
|
|
605
|
+
|Active API - Update PK Score|Update the calculated PK score|Example|
|
|
606
|
+
|Callback Configuration - PK Start Callback|Receive real-time notification when PK starts|Example|
|
|
607
|
+
|Callback Configuration - PK End Callback|Receive real-time notification when PK ends|Example|
|
|
605
608
|
|
|
606
609
|
## API Documentation
|
|
607
610
|
|
|
608
611
|
For detailed information on all public interfaces, properties, and methods of [CoHostStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html) and related classes, refer to the official API documentation included with the [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Android/index.html) framework. The relevant stores used in this guide are as follows:
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
612
|
+
|
|
613
|
+
|**Store/Component**|**Description**|**API Reference**|
|
|
614
|
+
|---------|---------|---------|
|
|
615
|
+
|`LiveCoreView`|Core view component for displaying and interacting with live video streams. Handles video rendering and view widgets, supports host streaming, audience co-hosting, host connections, and more.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-live-core-view/index.html)|
|
|
616
|
+
|`DeviceStore`|Controls audio/video devices: microphone (on/off, volume), camera (on/off, switch, quality), screen sharing, and real-time device status monitoring.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-device-store/index.html)|
|
|
617
|
+
|`CoHostStore`|Handles host cross-room connections: supports multiple layout templates (dynamic grid, etc.), initiates/accepts/rejects connections, and manages co-host interactions.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html)|
|
|
618
|
+
|`BattleStore`|Manages host PK battles: initiate PK (set duration/opponent), manage PK status (start/end), synchronize scores, and listen for battle results.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-battle-store/index.html)|
|
|
615
619
|
|
|
616
620
|
## FAQs
|
|
617
621
|
|
|
@@ -7,11 +7,11 @@ This document guides you through building a basic live streaming app with host b
|
|
|
7
7
|
The following view hierarchy diagram illustrates the position and role of **LiveCoreView** within the live streaming interface:
|
|
8
8
|
|
|
9
9
|
## Core Concepts
|
|
10
|
-
|
|
|
10
|
+
| <strong>Core Concept</strong> | <strong>Core Responsibility</strong> | <strong>Key API / Property</strong> |
|
|
11
11
|
| --- | --- | --- |
|
|
12
|
-
| LiveCoreView | Handles publishing, playing, and rendering audio/video streams. Provides adapter interfaces for integrating custom UI components (e.g., user info, PK progress bar). | -
|
|
13
|
-
| LiveListStore | Manages the complete live room lifecycle (create, join, leave), synchronizes state, and listens for passive events (e.g., live ended, kicked out). | -
|
|
14
|
-
| LiveInfo | Defines room parameters before going live, such as room ID, seat layout mode, max co-hosts, etc. | -
|
|
12
|
+
| LiveCoreView | Handles publishing, playing, and rendering audio/video streams. Provides adapter interfaces for integrating custom UI components (e.g., user info, PK progress bar). | - <code>viewType</code>:<br>- <code>CoreViewType.PUSH_VIEW</code> (host publishing view)<br>- <code>CoreViewType.PLAY_VIEW</code> (audience playback view)<br>- <code>setLiveId()</code>: Binds the live room ID for this view.<br>- <code>setVideoViewAdapter():</code> Adapter for custom video display UI slots. |
|
|
13
|
+
| LiveListStore | Manages the complete live room lifecycle (create, join, leave), synchronizes state, and listens for passive events (e.g., live ended, kicked out). | - <code>createLive()</code>: Start live stream as host.<br>- <code>endLive()</code>: End live stream as host.<br>- <code>joinLive()</code>: Audience joins live room.<br>- <code>leaveLive()</code>: Leave live room. |
|
|
14
|
+
| LiveInfo | Defines room parameters before going live, such as room ID, seat layout mode, max co-hosts, etc. | - <code>liveID</code>: Unique room identifier.<br>- seatTemplate: Layout template. |
|
|
15
15
|
|
|
16
16
|
## Preparation
|
|
17
17
|
|
|
@@ -83,9 +83,9 @@ class MainActivity : AppCompatActivity() {
|
|
|
83
83
|
**Login API Parameter Description**
|
|
84
84
|
| Parameter | Type | Description |
|
|
85
85
|
| --- | --- | --- |
|
|
86
|
-
| SDKAppID | Int | Get this from
|
|
86
|
+
| SDKAppID | Int | Get this from <a href="https://console.trtc.io/app">TRTC console > Application management</a>. |
|
|
87
87
|
| UserID | String | The unique ID for the current user. Must contain only English letters, numbers, hyphens, and underscores. |
|
|
88
|
-
| userSig | String | A ticket for Tencent Cloud authentication. Please note:<br>-
|
|
88
|
+
| userSig | String | A ticket for Tencent Cloud authentication. Please note:<br>- <strong>Development Environment</strong>: You can use the local <code>GenerateTestUserSig.genTestSig</code> function to generate a UserSig or generate a temporary UserSig via the <a href="https://console.trtc.io/usersig">UserSig Generation Tool</a>.<br>- <strong>Production Environment</strong>: To prevent key leakage, you must use a server-side method to generate UserSig. For details, see Generating UserSig on the Server.<br>- For more information, see How to Calculate and Use UserSig. |
|
|
89
89
|
|
|
90
90
|
## Building a Basic Live Room
|
|
91
91
|
|
|
@@ -197,20 +197,20 @@ Follow these steps to quickly set up host video streaming:
|
|
|
197
197
|
|
|
198
198
|
`LiveInfo`** Parameter Description:**
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
200
|
+
|**Parameter Name**|**Type**|**Required**|**Description**|
|
|
201
|
+
|---------|---------|---------|---------|
|
|
202
|
+
|`liveID`|`String`|Yes|Unique identifier for the live room.|
|
|
203
|
+
|`liveName`|`String`|No|Title of the live room.|
|
|
204
|
+
|`notice`|`String`|No|Announcement message for the live room.|
|
|
205
|
+
|`isMessageDisable`|`Boolean`|No|Disable chat (true = yes, false = no).|
|
|
206
|
+
|`isPublicVisible`|`Boolean`|No|Room is publicly visible (true = yes, false = no).|
|
|
207
|
+
|`seatMode`|[TakeSeatMode](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-take-seat-mode/index.html)|No|Seat mode (FREE: free to take seat, APPLY: apply to take seat).|
|
|
208
|
+
|`seatTemplate`|SeatLayoutTemplate|Yes|Seat layout template.|
|
|
209
|
+
|`coverURL`|`String`|No|Cover image URL for the live room.|
|
|
210
|
+
|`backgroundURL`|`String`|No|Background image URL for the live room.|
|
|
211
|
+
|`categoryList`|`List`<br>|No|List of category tags for the live room.|
|
|
212
|
+
|`activityStatus`|`Int`|No|Live activity status.|
|
|
213
|
+
|`isGiftEnabled`|`Boolean`|No|Whether to enable gift functionality (true: yes, false: no).|
|
|
214
214
|
|
|
215
215
|
4. **End Live Streaming**
|
|
216
216
|
|
|
@@ -439,9 +439,9 @@ class YourAudienceActivity : AppCompatActivity() {
|
|
|
439
439
|
After integrating `LiveCoreView`, you will have a pure video rendering view with full live streaming capabilities, but without any interactive UI. To add interactive features, see Enriching the Live Streaming Scene.
|
|
440
440
|
| | Dynamic Grid Layout | Floating Window Layout | Fixed Grid Layout | Fixed Window Layout |
|
|
441
441
|
| --- | --- | --- | --- | --- |
|
|
442
|
-
|
|
|
443
|
-
|
|
|
444
|
-
|
|
|
442
|
+
| <strong>Template</strong> | VideoDynamicGrid9Seats | VideoDynamicFloat7Seats | VideoFixedGrid9Seats | VideoFixedFloat7Seats |
|
|
443
|
+
| <strong>Description</strong> | Default layout; grid size adjusts dynamically based on number of co-hosts. | Co-hosts are displayed as floating windows. | Fixed number of co-hosts; each occupies a fixed grid. | Fixed number of co-hosts; guests are displayed as fixed windows. |
|
|
444
|
+
| <strong>Example</strong> | | | | |
|
|
445
445
|
|
|
446
446
|
## Advanced Features
|
|
447
447
|
|
|
@@ -509,28 +509,30 @@ private fun subscribeToDataUpdates() {
|
|
|
509
509
|
## Enriching the Live Streaming Scene
|
|
510
510
|
|
|
511
511
|
Once the basic live streaming functionality is in place, refer to the following guides to add interactive features to your live stream:
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
512
|
+
|
|
513
|
+
|**Feature**|**Description**|**Store**|**Implementation Guide**|
|
|
514
|
+
|---------|---------|---------|---------|
|
|
515
|
+
|**Enable Audience Audio/Video Co-hosting**|Audience can apply to join the host on stage for real-time video interaction.|[CoGuestStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html)|Implementation Guide|
|
|
516
|
+
|**Enable Host Cross-room PK**|Hosts from different rooms can connect for interaction or PK.|[CoHostStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html)<br>[BattleStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-battle-store/index.html)|Implementation Guide|
|
|
517
|
+
|**Add Bullet Chat Feature**|Audience can send and receive real-time text messages in the live room.|[BarrageStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.barrage/-barrage-store/index.html)|Implementation Guide|
|
|
518
|
+
|**Build a Gift Giving System**|Audience can send virtual gifts to the host, increasing engagement and fun.|[GiftStore](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html)|Implementation Guide|
|
|
518
519
|
|
|
519
520
|
## API Documentation
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
|
524
|
-
|
|
|
525
|
-
|
|
|
526
|
-
|
|
|
527
|
-
|
|
|
528
|
-
|
|
|
529
|
-
|
|
|
530
|
-
|
|
|
531
|
-
|
|
|
532
|
-
|
|
|
533
|
-
|
|
|
521
|
+
|
|
522
|
+
|**Store/Component**|**Description**|**API Reference**|
|
|
523
|
+
|---------|---------|---------|
|
|
524
|
+
|LiveCoreView|Core view component for displaying and interacting with live video streams. Handles video rendering and view widgets, supports host streaming, audience co-hosting, host connections, and more.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-live-core-view/index.html)|
|
|
525
|
+
|LiveListStore|Manages the full lifecycle of live rooms: create/join/leave/destroy rooms, query room list, modify live info (name, announcement, etc.), and listen to live status events (e.g., kicked out, ended).|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-list-store/index.html)|
|
|
526
|
+
|DeviceStore|Controls audio/video devices: microphone (on/off, volume), camera (on/off, switch, quality), screen sharing, and real-time device status monitoring.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-device-store/index.html)|
|
|
527
|
+
|CoGuestStore|Manages audience co-hosting: apply/invite/accept/reject co-host requests, member permission control (microphone/camera), and status synchronization.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-guest-store/index.html)|
|
|
528
|
+
|CoHostStore|Handles host cross-room connections: supports multiple layout templates (dynamic grid, etc.), initiates/accepts/rejects connections, and manages co-host interactions.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-co-host-store/index.html)|
|
|
529
|
+
|BattleStore|Manages host PK battles: initiate PK (set duration/opponent), manage PK status (start/end), synchronize scores, and listen for battle results.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-battle-store/index.html)|
|
|
530
|
+
|GiftStore|Handles gift interactions: get gift list, send/receive gifts, and listen for gift events (including sender and gift details).|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.gift/-gift-store/index.html)|
|
|
531
|
+
|BarrageStore|Supports live chat: send text/custom danmaku, maintain danmaku list, and monitor danmaku status in real time.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.barrage/-barrage-store/index.html)|
|
|
532
|
+
|LikeStore|Handles like interactions: send likes, listen for like events, and synchronize total like count.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-like-store/index.html)|
|
|
533
|
+
|LiveAudienceStore|Manages audience: get real-time audience list (ID/name/avatar), count audience, and listen for join/leave events.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.live/-live-audience-store/index.html)|
|
|
534
|
+
|AudioEffectStore|Audio effects: voice change (child/male), reverb (KTV, etc.), ear return adjustment, and real-time effect switching.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-effect-store/index.html)|
|
|
535
|
+
|BaseBeautyStore|Basic beauty filters: adjust smoothing/whitening/rosiness (0-9), reset beauty status, and synchronize effect parameters.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-base-beauty-store/index.html)|
|
|
534
536
|
|
|
535
537
|
## FAQs
|
|
536
538
|
|