@tencent-rtc/mcp 1.4.7 → 1.6.0
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/index.js +0 -1
- package/knowledge/bm25-cache.js +73 -0
- package/knowledge/bm25.js +147 -0
- package/knowledge/build-index.js +69 -0
- package/knowledge/chunker.js +167 -0
- package/knowledge/content-loader.js +39 -0
- package/knowledge/doc-url-resolver.js +142 -0
- package/knowledge/extractors.js +25 -0
- package/knowledge/path-meta.js +184 -0
- package/knowledge/search/exact-lookup.js +497 -0
- package/knowledge/search/filter-pool.js +104 -0
- package/knowledge/search/product-scope-intent.js +40 -0
- package/knowledge/search/requires-framework.js +81 -0
- package/knowledge/search/search-knowledge.js +229 -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-config.js +0 -1
- package/server.js +35 -12
- package/streamable-http.js +0 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -4
- package/tools/call/get_native_callkit_core_integration.js +2 -6
- package/tools/call/get_web_call_uikit_integration.js +2 -4
- package/tools/chat/get_native_chat_uikit_integration.js +2 -4
- package/tools/chat/get_web_chat_uikit_integration.js +2 -4
- package/tools/common/get_usersig.js +0 -1
- package/tools/common/present_framework_choice.js +19 -14
- package/tools/common/record_answer.js +19 -26
- package/tools/common/record_feedback.js +17 -31
- package/tools/common/search_trtc_knowledge.js +44 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +3 -2
- package/tools/definitions/get_native_callkit_core_integration_def.js +5 -4
- package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -3
- package/tools/definitions/get_native_livekit_core_integration_def.js +6 -6
- package/tools/definitions/get_usersig_def.js +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +4 -3
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +5 -6
- package/tools/definitions/get_web_room_core_integration_def.js +49 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +5 -5
- package/tools/definitions/integration-boundary.js +5 -0
- package/tools/definitions/present_framework_choice_def.js +12 -11
- package/tools/definitions/record_answer_def.js +19 -18
- package/tools/definitions/record_feedback_def.js +14 -14
- package/tools/definitions/search_trtc_knowledge_def.js +39 -0
- package/tools/index.js +5 -37
- package/tools/live/get_native_livekit_core_integration.js +1 -4
- package/tools/live/get_web_live_uikit_integration.js +2 -5
- package/tools/room/get_web_room_core_integration.js +47 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -4
- package/utils/generate-structured-result.js +24 -31
- package/utils/generate-usersig.js +0 -1
- package/utils/get-device-identifier.js +0 -1
- package/utils/get-doc-content.js +14 -9
- package/utils/http-get.js +0 -1
- package/utils/http-post.js +0 -1
- package/utils/report-cls-client.js +18 -21
- package/utils/report-es-client.js +1 -2
- package/index.js.map +0 -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/server-config.js.map +0 -1
- package/server.js.map +0 -1
- package/streamable-http.js.map +0 -1
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/call/get_native_call_uikit_integration.js.map +0 -1
- package/tools/call/get_native_callkit_core_integration.js.map +0 -1
- package/tools/call/get_web_call_uikit_integration.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_native_chat_uikit_integration.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/chat/get_web_chat_uikit_integration.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.js.map +0 -1
- package/tools/common/get_usersig.js.map +0 -1
- package/tools/common/present_framework_choice.js.map +0 -1
- package/tools/common/record_answer.js.map +0 -1
- package/tools/common/record_feedback.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 -47
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_callkit_core_integration_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_chat_uikit_integration_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_livekit_core_integration_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_usersig_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_integration_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_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_integration_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_room_uikit_integration_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/present_framework_choice_def.js.map +0 -1
- package/tools/definitions/record_answer_def.js.map +0 -1
- package/tools/definitions/record_feedback_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/index.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_native_livekit_core_integration.js.map +0 -1
- package/tools/live/get_web_live_uikit_integration.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_room_uikit_integration.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/generate-structured-result.js.map +0 -1
- package/utils/generate-usersig.js.map +0 -1
- package/utils/get-device-identifier.js.map +0 -1
- package/utils/get-doc-content.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/http-get.js.map +0 -1
- package/utils/http-post.js.map +0 -1
- package/utils/report-cls-client.js.map +0 -1
- package/utils/report-es-client.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
package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md
RENAMED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
**AtomicXCore** provided the [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) module, specialized to manage the complete business process of audience mic connection. Developers do not need to
|
|
1
|
+
**AtomicXCore** provided the [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) module, specialized to manage the complete business process of audience mic connection. Developers do not need to handle complex state synchronization or signaling interactions; by simply calling a few straightforward methods, you can add powerful audience-host audio and video interaction capabilities to your live streaming experience.
|
|
2
2
|
|
|
3
|
-
## Core
|
|
3
|
+
## Core Scenarios
|
|
4
4
|
|
|
5
|
-
`CoGuestStore` supports the
|
|
6
|
-
- **Audience
|
|
5
|
+
`CoGuestStore` supports the two most common guest interaction scenarios:
|
|
6
|
+
- **Audience requests to join as a guest**: The audience member actively initiates a request to join. The host receives the request and can choose to accept or reject it.
|
|
7
7
|
|
|
8
|
-
- **
|
|
8
|
+
- **Host invites audience to join as a guest**: The host can proactively invite any audience member in the live room to join as a guest.
|
|
9
9
|
|
|
10
10
|
## Implementation Steps
|
|
11
11
|
|
|
12
|
-
### Step 1:
|
|
12
|
+
### Step 1: Integrate the Component
|
|
13
13
|
|
|
14
|
-
Refer to Quick
|
|
14
|
+
Refer to Quick Start to integrate `AtomicXCore` and `LiveCoreWidget`.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Once integration is complete, proceed to implement the guest interaction feature.
|
|
17
17
|
|
|
18
|
-
### Step 2:
|
|
18
|
+
### Step 2: Implement Audience Request to Join as Guest
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
**Audience Side Implementation**
|
|
21
21
|
|
|
22
22
|
As an audience member, your core task is to **initiate application, receive results** and **become a listener**.
|
|
23
|
-
1. **Initiate
|
|
23
|
+
1. **Initiate a guest request**
|
|
24
24
|
|
|
25
|
-
When the user clicks the
|
|
25
|
+
When the user clicks the **Request to Join** button in the UI, call the `applyForSeat` method.
|
|
26
26
|
|
|
27
27
|
``` java
|
|
28
28
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
@@ -45,9 +45,9 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
```
|
|
48
|
-
2. **Listen
|
|
48
|
+
2. **Listen for host response**
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Add a listener using `addGuestListener` to receive the host’s response.
|
|
51
51
|
|
|
52
52
|
``` java
|
|
53
53
|
late GuestListener _guestListener;
|
|
@@ -85,9 +85,9 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
85
85
|
super.dispose();
|
|
86
86
|
}
|
|
87
87
|
```
|
|
88
|
-
3. **Leave the
|
|
88
|
+
3. **Leave the guest seat**
|
|
89
89
|
|
|
90
|
-
When a
|
|
90
|
+
When a guest wants to end the interaction, call the `disconnect` method to return to the regular audience state.
|
|
91
91
|
|
|
92
92
|
``` java
|
|
93
93
|
// User clicks "leave mic" button
|
|
@@ -100,9 +100,9 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
```
|
|
103
|
-
4. **(Optional) Cancel
|
|
103
|
+
4. **(Optional) Cancel the request**
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
If the audience wants to withdraw the request before the host processes it, call `cancelApplication`.
|
|
106
106
|
|
|
107
107
|
``` java
|
|
108
108
|
// While waiting, the user clicks "Cancel Application"
|
|
@@ -116,10 +116,11 @@ As an audience member, your core task is to **initiate application, receive resu
|
|
|
116
116
|
}
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
**Host Side Implementation**
|
|
120
120
|
|
|
121
|
-
As
|
|
122
|
-
|
|
121
|
+
As a host, your core tasks are to receive requests, display the request list, and process requests.
|
|
122
|
+
|
|
123
|
+
1. **Listen for new guest requests**
|
|
123
124
|
|
|
124
125
|
By adding a listener through `addHostListener`, you can receive immediate notification when a new audience applies and get prompted.
|
|
125
126
|
|
|
@@ -154,9 +155,9 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
154
155
|
super.dispose();
|
|
155
156
|
}
|
|
156
157
|
```
|
|
157
|
-
2. **
|
|
158
|
+
2. **Display the request list**
|
|
158
159
|
|
|
159
|
-
`
|
|
160
|
+
The `coGuestState` in `CoGuestStore` maintains the current list of applicants in real time. You can listen to it to update your UI.
|
|
160
161
|
|
|
161
162
|
``` java
|
|
162
163
|
// Subscription status update
|
|
@@ -179,7 +180,7 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
179
180
|
super.dispose();
|
|
180
181
|
}
|
|
181
182
|
```
|
|
182
|
-
3. **
|
|
183
|
+
3. **Process guest requests**
|
|
183
184
|
|
|
184
185
|
When you select an audience from the list and click "Grant" or "Reject", call the appropriate method.
|
|
185
186
|
|
|
@@ -201,12 +202,12 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
201
202
|
}
|
|
202
203
|
```
|
|
203
204
|
|
|
204
|
-
### Step 3:
|
|
205
|
+
### Step 3: Host Invites Audience to Join as Guest
|
|
205
206
|
|
|
206
|
-
|
|
207
|
-
1. **
|
|
207
|
+
**Host Side Implementation**
|
|
208
|
+
1. I**nvite an audience member**
|
|
208
209
|
|
|
209
|
-
When the
|
|
210
|
+
When the host selects someone from the audience list and clicks “**Invite to Join**”, call the `inviteToSeat` method.
|
|
210
211
|
|
|
211
212
|
``` java
|
|
212
213
|
// Anchor selects audience and initiates invitation
|
|
@@ -224,9 +225,9 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
227
|
```
|
|
227
|
-
2. **Listen
|
|
228
|
+
2. **Listen for audience response**
|
|
228
229
|
|
|
229
|
-
|
|
230
|
+
Use `HostListener` to listen for invitation response events.
|
|
230
231
|
|
|
231
232
|
``` java
|
|
232
233
|
// Callback configured in HostListener
|
|
@@ -240,10 +241,11 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
240
241
|
);
|
|
241
242
|
```
|
|
242
243
|
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
**Audience Side Implementation**
|
|
245
|
+
|
|
246
|
+
1. **Receive host invitation**
|
|
245
247
|
|
|
246
|
-
Listen
|
|
248
|
+
Listen for the invitation events via `GuestListener`.
|
|
247
249
|
|
|
248
250
|
``` java
|
|
249
251
|
// Callback configured in GuestListener
|
|
@@ -278,19 +280,19 @@ As an Anchor, your core task is to **receive applications, show the Application
|
|
|
278
280
|
}
|
|
279
281
|
```
|
|
280
282
|
|
|
281
|
-
###
|
|
283
|
+
### Feature Demo
|
|
282
284
|
|
|
283
|
-
After integrating the above
|
|
285
|
+
After integrating the above functionality, test guest interaction using two audience members and a host. Audience A turns on both camera and microphone, while audience B only turns on the microphone. The resulting effect is shown below. You can refer to the next section to further customize your UI logic.
|
|
284
286
|
|
|
285
287
|
## Refine UI Details
|
|
286
288
|
|
|
287
|
-
You can
|
|
289
|
+
You can leverage the slot capability provided by the `VideoWidgetBuilder` parameter of `LiveCoreWidget` to add custom views on top of the guest video streams. This allows you to display nicknames, avatars, and other information, or provide placeholder images when the camera is off, enhancing the overall visual experience.
|
|
288
290
|
|
|
289
|
-
###
|
|
291
|
+
### Displaying Nicknames on Video Streams
|
|
290
292
|
|
|
291
|
-
|
|
293
|
+
**Demo Effect**
|
|
292
294
|
|
|
293
|
-
#### **Implementation
|
|
295
|
+
#### **Implementation **Steps
|
|
294
296
|
- **Step 1**: Create a foreground view (**CustomSeatForegroundView**) used for displaying user information above the video stream.
|
|
295
297
|
|
|
296
298
|
``` java
|
|
@@ -461,32 +463,33 @@ You can use the "slot" capacity provided by the `VideoWidgetBuilder` parameter o
|
|
|
461
463
|
```
|
|
462
464
|
|
|
463
465
|
#### **Parameter description:**
|
|
464
|
-
|
|
|
466
|
+
| <strong>Parameter</strong> | <strong>Type</strong> | <strong>Note</strong> |
|
|
465
467
|
| --- | --- | --- |
|
|
466
|
-
|
|
|
467
|
-
|
|
|
468
|
-
|
|
|
469
|
-
|
|
|
470
|
-
|
|
|
468
|
+
| <code>seatFullInfo</code> | <code>SeatFullInfo</code> | Seat information object, containing the Anchor's detailed information. |
|
|
469
|
+
| <code>seatFullInfo.userInfo.userId</code> | <code>String</code> | Anchor's user ID. |
|
|
470
|
+
| <code>seatFullInfo.userInfo.userName</code> | <code>String</code> | On-mic user's nickname. |
|
|
471
|
+
| <code>seatFullInfo.userInfo.avatarUrl</code> | <code>String</code> | On-mic user's profile photo URL. |
|
|
472
|
+
| <code>viewLayer</code> | <code>ViewLayer</code> | View layer enumeration:<br>- <code>ViewLayer.foreground</code> represents the pendant view, always displayed on top of the video image.<br>- <code>ViewLayer.background</code> means the background widget, below the foreground layer, only displayed when the user has no video stream (e.g., camera is off), usually used to show the user’s default avatar or placeholder image. |
|
|
471
473
|
|
|
472
|
-
## API
|
|
474
|
+
## API Documentation
|
|
473
475
|
|
|
474
|
-
For details about
|
|
475
|
-
|
|
476
|
-
|
|
|
477
|
-
|
|
478
|
-
|
|
|
479
|
-
|
|
|
480
|
-
|
|
|
481
|
-
|
|
|
476
|
+
For details about all public interfaces, properties, and methods of [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) and its related classes, see the official API documentation of the [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Flutter/index.html) framework. The related Stores used in this guide are as follows:
|
|
477
|
+
|
|
478
|
+
|Store/Component|Feature Description|API Documentation|
|
|
479
|
+
|---------|---------|---------|
|
|
480
|
+
|LiveCoreWidget|Core view component for live video stream display and interaction: responsible for video rendering and widget handling, supports host streaming, guest interaction, host connection, and other scenarios.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreWidget-class.html)|
|
|
481
|
+
|LiveCoreController|Controller for LiveCoreWidget: used to set the live ID, control preview, and other operations.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/LiveCoreController-class.html)|
|
|
482
|
+
|VideoWidgetBuilder|Video view adapter: used to customize video stream widgets for guest interaction, host connection, PK, and other scenarios.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_view_live_live_core_widget/VideoWidgetBuilder-class.html)|
|
|
483
|
+
|DeviceStore|Audio/video device control: microphone (on/off / volume), camera (on/off / switch / quality), screen sharing, real-time device status monitoring.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_device_store/DeviceStore-class.html)|
|
|
484
|
+
|CoGuestStore|Guest interaction management: guest request/invite/accept/reject, guest member permissions (microphone/camera), state synchronization.|[API Documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html)|
|
|
482
485
|
|
|
483
486
|
## FAQs
|
|
484
487
|
|
|
485
|
-
### How
|
|
488
|
+
### How do I manage the lifecycle and events of custom views added via VideoWidgetBuilder?
|
|
486
489
|
|
|
487
490
|
**LiveCoreWidget** will automatically manage the addition and removal of views returned by the `coGuestWidgetBuilder` callback, so you don't need to handle them manually. If necessary to process user interaction (such as click events) in a custom view, just add corresponding event handling when creating the view.
|
|
488
491
|
|
|
489
|
-
###
|
|
492
|
+
### What is the purpose of the ViewLayer parameter?
|
|
490
493
|
|
|
491
494
|
`ViewLayer` is used to distinguish between foreground and background widgets.
|
|
492
495
|
- `ViewLayer.foreground`: The foreground layer, always displayed on top of the video image.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
`GiftStore` is a module in `AtomicXCore` specialized in managing the gift function of live streaming rooms. With it, you can build a complete gift system for your live stream application to achieve various revenue and interactive scenarios.
|
|
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**: Obtain the required data for the gift panel from the server, including gift categories and gift details.
|
|
@@ -13,17 +14,18 @@
|
|
|
13
14
|
## Core Concepts
|
|
14
15
|
|
|
15
16
|
Before starting integration, let's learn about several core concepts related to `GiftStore` in the following table:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
17
|
+
|
|
18
|
+
|**Core Concepts**|**Type**|**Core Responsibilities and Description**|
|
|
19
|
+
|---------|---------|---------|
|
|
20
|
+
|[Gift](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/Gift-class.html)|`class`|Represents a specific gift data model. It contains the gift ID, name, icon address, animation resource URL and price (coins).|
|
|
21
|
+
|[GiftCategory](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftCategory-class.html)|`class`|Represents a gift category, such as "popular" and "luxury". It contains the category name as well as the **Gift** list under this category.|
|
|
22
|
+
|[GiftState](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftState-class.html)|`class`|Represents the current status of the gift module. Its core attribute `usableGifts` is a `ValueListenable<List<GiftCategory>>`, storing the complete gift list fetched from the server.|
|
|
23
|
+
|[GiftListener](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftListener-class.html)|`class`|Gift event listener, receive gift giveaway event through the `onReceiveGift` callback. When anyone (including itself) sends a gift, all people in the room will receive this event.|
|
|
24
|
+
|[GiftStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html)|`class`|This is the core management class for interacting with the gift function. Through it, you can fetch the gift list, send a gift, and receive gift events via `addGiftListener`.|
|
|
23
25
|
|
|
24
26
|
## Implementation Steps
|
|
25
27
|
|
|
26
|
-
### Step 1:
|
|
28
|
+
### Step 1: Integrate the Component
|
|
27
29
|
|
|
28
30
|
> **Note:**
|
|
29
31
|
>
|
|
@@ -31,15 +33,13 @@ Before starting integration, let's learn about several core concepts related to
|
|
|
31
33
|
> To use the gifting system, activate either the **Free Trial,** or **Pro **edition. The number of configurable gifts depends on the selected package. For details, see the **Gift System** section in Feature and Billing Description and choose the package that fits your needs.
|
|
32
34
|
>
|
|
33
35
|
|
|
34
|
-
- **Live streaming**: Refer to Quick
|
|
36
|
+
- **Live streaming**: Refer to Quick Integration for seamless integration with **AtomicXCore**.
|
|
35
37
|
|
|
36
|
-
- **Voice chat room**: Refer to Quick
|
|
38
|
+
- **Voice chat room**: Refer to Quick Integration for seamless integration with **AtomicXCore**.
|
|
37
39
|
|
|
38
40
|
### Step 2: Initialize and Listen for Gift Events
|
|
39
41
|
|
|
40
42
|
Get the `GiftStore` instance and set a listener for receiving gifts and list update events.
|
|
41
|
-
|
|
42
|
-
#### Implementation Approach
|
|
43
43
|
1. **Get instance**: Use `GiftStore.create(liveId)` to get the `GiftStore` instance bound to the current live streaming room.
|
|
44
44
|
|
|
45
45
|
2. **Subscribe to events**: Add a gift event listener via `giftStore.addGiftListener(listener)`.
|
|
@@ -101,39 +101,37 @@ class GiftManager {
|
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
#### Gift List Structure Parameter
|
|
104
|
-
- `GiftCategory`**
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- `Gift`**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
104
|
+
- `GiftCategory`**Parameters**
|
|
105
|
+
|
|
106
|
+
|**Parameter**|**Type**|**Description**|
|
|
107
|
+
|---------|---------|---------|
|
|
108
|
+
|`categoryID`|`String`|Unique ID of the gift category.|
|
|
109
|
+
|`name`|`String`|Display name of the gift category.|
|
|
110
|
+
|`desc`|`String`|Description of the gift category.|
|
|
111
|
+
|`extensionInfo`|`Map<String, String>`|Extended information field.|
|
|
112
|
+
|`giftList`|`List<Gift>`|Array of Gift objects under this category.|
|
|
113
|
+
|
|
114
|
+
- `Gift`**Parameters**
|
|
115
|
+
|
|
116
|
+
|**Parameter**|**Type**|**Description**|
|
|
117
|
+
|---------|---------|---------|
|
|
118
|
+
|`giftID`|`String`|Unique ID of the gift.|
|
|
119
|
+
|`name`|`String`|Display name of the gift.|
|
|
120
|
+
|`desc`|`String`|Description of the gift.|
|
|
121
|
+
|`iconURL`|`String`|Icon URL of the gift.|
|
|
122
|
+
|`resourceURL`|`String`|Resource URL of the gift animation.|
|
|
123
|
+
|`level`|`int`|Gift level.|
|
|
124
|
+
|`coins`|`int`|Gift price.|
|
|
125
|
+
|`extensionInfo`|`Map<String, String>`|Extended information.|
|
|
126
126
|
|
|
127
127
|
### Step 3: Obtain the Gift List
|
|
128
128
|
|
|
129
129
|
Call the `refreshUsableGifts` method to fetch gift data from the server.
|
|
130
|
-
|
|
131
|
-
#### Implementation Approach
|
|
132
130
|
1. **API call**: Call `giftStore.refreshUsableGifts()` at the appropriate timing (such as after entering the live room).
|
|
133
131
|
|
|
134
132
|
2. **Processing result**: Optionally process the returned results to fetch the pull results.
|
|
135
133
|
|
|
136
|
-
3. **Data
|
|
134
|
+
3. **Receive Data**: After the update, the gift list is automatically received by listening to `giftStore.giftState.usableGifts` in Step 2.
|
|
137
135
|
|
|
138
136
|
#### Sample code:
|
|
139
137
|
``` java
|
|
@@ -151,16 +149,14 @@ extension GiftManagerFetch on GiftManager {
|
|
|
151
149
|
}
|
|
152
150
|
```
|
|
153
151
|
|
|
154
|
-
### Step 4:
|
|
152
|
+
### Step 4: Send a Gift
|
|
155
153
|
|
|
156
154
|
When a user selects a gift in the gift panel and clicks send, call the `sendGift` API to send the gift.
|
|
157
|
-
|
|
158
|
-
#### Implementation Approach
|
|
159
|
-
1. **Get parameter**: Obtain the giftID selected by the user and the number of messages sent (count) from the UI.
|
|
155
|
+
1. **Get parameter**: Obtain the `giftID` selected by the user and the number of messages sent (`count`) from the UI.
|
|
160
156
|
|
|
161
157
|
2. **API call**: Call `giftStore.sendGift(giftID:, count:)`.
|
|
162
158
|
|
|
163
|
-
3. **
|
|
159
|
+
3. **Handle result**: Handle failure cases (such as insufficient account balance notification) in the returned result. UI updates (animation, bullet screen) after successful sending should be event-driven by `onReceiveGift`.
|
|
164
160
|
|
|
165
161
|
#### Sample code:
|
|
166
162
|
``` java
|
|
@@ -179,21 +175,20 @@ extension GiftManagerSend on GiftManager {
|
|
|
179
175
|
}
|
|
180
176
|
```
|
|
181
177
|
|
|
182
|
-
#### `SendGift` API
|
|
183
|
-
| **Parameter Name** | **Type** | **Description** |
|
|
184
|
-
| --- | --- | --- |
|
|
185
|
-
| `giftID` | `String` | Unique ID of the gift to send. |
|
|
186
|
-
| `count` | `int` | The number of sent. |
|
|
178
|
+
#### `SendGift` API Parameters
|
|
187
179
|
|
|
188
|
-
|
|
180
|
+
|**Parameter Name**|**Type**|**Description**|
|
|
181
|
+
|---------|---------|---------|
|
|
182
|
+
|`giftID`|`String`|Unique ID of the gift to send.|
|
|
183
|
+
|`count`|`int`|The number of sent.|
|
|
189
184
|
|
|
190
|
-
|
|
185
|
+
## Advanced Usage
|
|
191
186
|
|
|
192
|
-
|
|
187
|
+
`GiftStore` feature heavily depends on your business backend service. This chapter will guide you on how to build a feature-rich, outstanding experience interactive system through server configuration and client implementation.
|
|
193
188
|
|
|
194
|
-
|
|
189
|
+
### **Gift **Asset Configuration
|
|
195
190
|
|
|
196
|
-
|
|
191
|
+
Customize your live room's available gifts, categories, names, icons, prices, and animation effects to fit your operational and branding needs.
|
|
197
192
|
1. **Server-Side Configuration**: Use the LiveKit server REST API to manage gift information, categories, and multi-language support. See the Gift Configuration Guide.
|
|
198
193
|
|
|
199
194
|
2. **Client Fetch**: On the client, call `refreshUsableGifts` to retrieve configuration data.
|
|
@@ -203,30 +198,30 @@ You need to customize the available gift type, category, name, icon, price, and
|
|
|
203
198
|
#### Configuration Sequence Diagram
|
|
204
199
|
|
|
205
200
|
#### Related REST API Interfaces Overview
|
|
206
|
-
|
|
|
201
|
+
| <strong>Interface Category</strong> | <strong>Interface</strong> | <strong>Request Example</strong> |
|
|
207
202
|
| --- | --- | --- |
|
|
208
|
-
|
|
|
209
|
-
| Delete Gift Information | Example | |
|
|
210
|
-
| Query Gift Information | Example | |
|
|
211
|
-
|
|
|
212
|
-
| Delete Specific Gift Category Information | Example | |
|
|
213
|
-
| Get Specific Gift Category Information | Example | |
|
|
214
|
-
|
|
|
215
|
-
| Delete Relationship between a Specific Gift Category and Gift | Example | |
|
|
216
|
-
| Get Gift Relationships under a Specific Gift Category | Example | |
|
|
217
|
-
|
|
|
218
|
-
| Delete Specific Gift Multi-language Information | Example | |
|
|
219
|
-
| Get Gift Multi-language Information | Example | |
|
|
220
|
-
| Add Gift Category Multi-language Information | Example | |
|
|
221
|
-
| Delete Specific Gift Category Multi-language Information | Example | |
|
|
222
|
-
| Get Gift Category Multi-language Information | Example | |
|
|
223
|
-
|
|
224
|
-
### Billing and Gift
|
|
203
|
+
| <strong>Gift Management</strong> | Add Gift Information. | Example |
|
|
204
|
+
| Delete Gift Information. | Example | |
|
|
205
|
+
| Query Gift Information. | Example | |
|
|
206
|
+
| <strong>Gift Category Management</strong> | Add Gift Category Information. | Example |
|
|
207
|
+
| Delete Specific Gift Category Information. | Example | |
|
|
208
|
+
| Get Specific Gift Category Information. | Example | |
|
|
209
|
+
| <strong>Gift Relationship Management</strong> | Add Relationship between a Specific Gift Category and Gift. | Example |
|
|
210
|
+
| Delete Relationship between a Specific Gift Category and Gift. | Example | |
|
|
211
|
+
| Get Gift Relationships under a Specific Gift Category. | Example | |
|
|
212
|
+
| <strong>Gift Multi-language Management</strong> | Add Gift Multi-language Information. | Example |
|
|
213
|
+
| Delete Specific Gift Multi-language Information. | Example | |
|
|
214
|
+
| Get Gift Multi-language Information. | Example | |
|
|
215
|
+
| Add Gift Category Multi-language Information. | Example | |
|
|
216
|
+
| Delete Specific Gift Category Multi-language Information. | Example | |
|
|
217
|
+
| Get Gift Category Multi-language Information. | Example | |
|
|
218
|
+
|
|
219
|
+
### Billing and Gift Deduction Workflow
|
|
225
220
|
|
|
226
221
|
When the audience sends gifts, ensure sufficient account balance and complete the actual deduction before triggering the gift effect playback and broadcast.
|
|
227
222
|
|
|
228
223
|
#### Workflow
|
|
229
|
-
1. **Backend
|
|
224
|
+
1. **Configure Backend Webhook**: Configure your billing system's callback URL in the LiveKit backend. See Callback Configuration Documentation.
|
|
230
225
|
|
|
231
226
|
2. **Client Request**: The client calls `sendGift`.
|
|
232
227
|
|
|
@@ -236,29 +231,31 @@ When the audience sends gifts, ensure sufficient account balance and complete th
|
|
|
236
231
|
|
|
237
232
|
#### Call Flow
|
|
238
233
|
|
|
239
|
-
####
|
|
240
|
-
| **Interface** | **Description** | **Request Example** |
|
|
241
|
-
| --- | --- | --- |
|
|
242
|
-
| **Callback Configuration - Callback before sending a gift** | Pre-gifting validation hook.<br>Allows your backend to intercept gift requests to perform necessary checks (e.g., sufficient balance, risk control) before the gift is processed. | Example |
|
|
234
|
+
#### REST API Overview
|
|
243
235
|
|
|
244
|
-
|
|
236
|
+
|**Interface**|**Description**|**Request Example**|
|
|
237
|
+
|---------|---------|---------|
|
|
238
|
+
|**Webhook Configuration - Pre-send Gift Webhook**|Allows your backend to validate and approve gift sending (e.g., pre-send checks).|Example|
|
|
245
239
|
|
|
246
|
-
|
|
240
|
+
### Play Full-Screen Gift Animations
|
|
247
241
|
|
|
248
|
-
|
|
242
|
+
When a user sends a "Rocket", "Carnival", or other luxury gift, display a full-screen animation (e.g., SVGA) to boost engagement.
|
|
243
|
+
|
|
244
|
+
#### Implementation Steps
|
|
249
245
|
|
|
250
246
|
`AtomicXCore` itself does not include a gift animation player. You need to select and integrate a third-party library based on business requirements. The following is a comparison of two solutions:
|
|
251
|
-
| **Comparison Item** | **Basic Solution (Svgaplayer_flutter)** | **Advanced Plan (TCEffectPlayerKit)** |
|
|
252
|
-
| --- | --- | --- |
|
|
253
|
-
| Billing | Free (open-source library) | Paid (License purchase required), please see [Payment Guide](https://trtc.io/document/69949?product=beautyar&menulabel=core%20sdk&platform=android#X-Series-Capabilities) |
|
|
254
|
-
| Integration Method | Manual integration of the [svgaplayer_flutter](https://pub.dev/packages/svgaplayer_flutter) library is required. | Additional integration of the [flutter_effect_player](https://github.com/Tencent-RTC/EffectPlayer_Flutter) library and authentication are required. |
|
|
255
|
-
| Animation Format Support | SVGA only | SVGA, PAG, WebP, Lottie, MP4, and other formats |
|
|
256
|
-
| Performance | Recommend SVGA files ≤ 10MB | Support larger animation files, better performance for complex effects, multi-animation concurrency, and low-end devices |
|
|
257
|
-
| Recommended scenarios | Gift animation format is unified as SVGA with controllable file size | Support multiple animation formats or higher performance/compatibility requirements |
|
|
258
247
|
|
|
259
|
-
|
|
248
|
+
|**Comparison Item**|**Basic Solution (Svgaplayer_flutter)**|**Advanced Plan (TCEffectPlayerKit)**|
|
|
249
|
+
|---------|---------|---------|
|
|
250
|
+
|Billing|Free (open-source library)|Paid (License purchase required), please see [Payment Guide](https://trtc.io/document/69949)|
|
|
251
|
+
|Integration Method|Manual integration of the [svgaplayer_flutter](https://pub.dev/packages/svgaplayer_flutter) library is required.|Additional integration of the [flutter_effect_player](https://github.com/Tencent-RTC/EffectPlayer_Flutter) library and authentication are required.|
|
|
252
|
+
|Animation Format Support|SVGA only|SVGA, PAG, WebP, Lottie, MP4, and other formats|
|
|
253
|
+
|Performance|Recommend SVGA files ≤ 10MB|Support larger animation files, better performance for complex effects, multi-animation concurrency, and low-end devices|
|
|
254
|
+
|Recommended scenarios|Gift animation format is unified as SVGA with controllable file size|Support multiple animation formats or higher performance/compatibility requirements|
|
|
255
|
+
|
|
256
|
+
This section demonstrates the basic solution. If you select the advanced plan, refer to [EffectPlayer Flutter integration guide](https://trtc.io/document/73975).
|
|
260
257
|
|
|
261
|
-
#### Basic Solution
|
|
258
|
+
#### Basic Solution: Use Svgaplayer_flutter
|
|
262
259
|
1. **Integrate svgaplayer_flutter**: In your `pubspec.yaml` file, add dependency and run `flutter pub get`.
|
|
263
260
|
|
|
264
261
|
``` yaml
|
|
@@ -267,9 +264,9 @@ This section demonstrates the basic solution. If you select the advanced plan, r
|
|
|
267
264
|
```
|
|
268
265
|
2. **Listen for gift events**: Add a listener via `GiftStore`'s `addGiftListener`.
|
|
269
266
|
|
|
270
|
-
3. **Parse and play**: When the `onReceiveGift` event is received, check if `gift.resourceURL` is valid and points to an SVGA file. If so, use `SVGAAnimationController` to play the animation.
|
|
267
|
+
3. **Parse and play animation**: When the `onReceiveGift` event is received, check if `gift.resourceURL` is valid and points to an SVGA file. If so, use `SVGAAnimationController` to play the animation.
|
|
271
268
|
|
|
272
|
-
#### Sample Code
|
|
269
|
+
#### Sample Code:
|
|
273
270
|
``` java
|
|
274
271
|
import 'package:flutter/material.dart';
|
|
275
272
|
import 'package:atomic_x_core/atomicxcore.dart';
|
|
@@ -349,11 +346,11 @@ class _LiveRoomWidgetState extends State<LiveRoomWidget> with SingleTickerProvid
|
|
|
349
346
|
}
|
|
350
347
|
```
|
|
351
348
|
|
|
352
|
-
|
|
349
|
+
#### Display Gift Messages in Barrage Area
|
|
353
350
|
|
|
354
351
|
When a user sends a gift, it not only plays the animation but also displays a system message in the on-screen comment area, such as "[Nickname] sent [gift name] x [quantity]", so all audience can see.
|
|
355
352
|
|
|
356
|
-
#### Implementation
|
|
353
|
+
#### Implementation Steps
|
|
357
354
|
1. **Listen for events**: Add a listener via `giftStore.addGiftListener`.
|
|
358
355
|
|
|
359
356
|
2. **Obtain information**: After the `onReceiveGift` event is received, extract the sender, gift, and count.
|
|
@@ -364,7 +361,7 @@ When a user sends a gift, it not only plays the animation but also displays a sy
|
|
|
364
361
|
|
|
365
362
|
5. **Local insertion**: Call `barrageStore.appendLocalTip(giftTip)` to insert the message into the local list.
|
|
366
363
|
|
|
367
|
-
#### Sample Code
|
|
364
|
+
#### Sample Code:
|
|
368
365
|
``` java
|
|
369
366
|
// In LiveRoomManager or similar top-level managers
|
|
370
367
|
void _setupGiftToBarrageFlow() {
|
|
@@ -393,34 +390,35 @@ void _setupGiftToBarrageFlow() {
|
|
|
393
390
|
## API documentation
|
|
394
391
|
|
|
395
392
|
For detailed information about all public interfaces, attributes, and methods of [GiftStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html) and its related classes, see the official API documentation of the [AtomicXCore](https://tencent-rtc.github.io/TUIKit_Flutter/index.html) framework. The related Stores used in this guide are as follows:
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
393
|
+
|
|
394
|
+
|**Store/Component**|**Feature Description**|**API Reference**|
|
|
395
|
+
|---------|---------|---------|
|
|
396
|
+
|**GiftStore**|Gift interaction: Get gift list, send/receive gifts, listen to gift events (including sender, gift details).|[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html)|
|
|
397
|
+
|**BarrageStore**|Danmaku function: send text / custom barrage item, maintain bullet screen list, monitor in real time.|[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html)|
|
|
400
398
|
|
|
401
399
|
## FAQs
|
|
402
400
|
|
|
403
|
-
###
|
|
401
|
+
### Why is the gift list in GiftStore empty?
|
|
404
402
|
|
|
405
403
|
You must actively call `refreshUsableGifts()` to fetch gift data from your backend. These gift data need to be configured in your backend via server-side REST API.
|
|
406
404
|
|
|
407
|
-
### How
|
|
405
|
+
### How do I show gifts in multiple languages (e.g., Chinese, English)?
|
|
408
406
|
|
|
409
407
|
`GiftStore` provides the `setLanguage(String language)` API. You can call this method before `refreshUsableGifts`, input the target language code (such as "en" or "zh-CN"). The server will return the gift name and description in the corresponding language based on this language code.
|
|
410
408
|
|
|
411
|
-
###
|
|
409
|
+
### Why does the gift animation play twice after sending a gift?
|
|
412
410
|
|
|
413
411
|
`onReceiveGift` is a broadcast to all members in the room (including the sender). If you perform a UI operation in the success callback of `sendGift`, and simultaneously execute the same UI operation in the `onReceiveGift` callback, it can lead to duplication.
|
|
414
412
|
- **Best practice**: UI updates (such as playing animation, bullet screen notification) should only be handled in the callback of the `onReceiveGift` event. The returned results of `sendGift` are only used to process the logic of sending failure (such as prompting the user "sending failure" or "insufficient balance").
|
|
415
413
|
|
|
416
|
-
### Where
|
|
414
|
+
### Where is the gift deduction logic handled?
|
|
417
415
|
|
|
418
416
|
The gift charge logic is fully handled by your self-built billing system. `AtomicXCore` connects with your billing system through a backend callback mechanism. The client calls `sendGift` to trigger the callback. After your backend service completes the charge, it returns the result to the `AtomicXCore` backend, thereby determining whether to broadcast the gift event.
|
|
419
417
|
|
|
420
|
-
###
|
|
418
|
+
### Are gift notifications affected by mute or message rate limiting?
|
|
421
419
|
|
|
422
420
|
No. Gift sending notifications (`onReceiveGift` event) are not affected by muting or message frequency control, ensuring reliable delivery.
|
|
423
421
|
|
|
424
|
-
### What
|
|
422
|
+
### What if gift animation playback is laggy?
|
|
425
423
|
|
|
426
424
|
Please check your SVGA file size. Player SDKs recommend not exceeding 10MB. If the file is too large or the animation is complex, you can consider seamless integration with the advanced effect player provided by TUILiveKit to get better performance.
|