@tencent-rtc/mcp 1.3.8 → 1.4.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/package.json +2 -2
- package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
- package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
- package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
- package/resource/doc/callkit/preset/android/api.md +296 -0
- package/resource/doc/callkit/preset/android/integration.md +430 -0
- package/resource/doc/callkit/preset/flutter/api.md +410 -0
- package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
- package/resource/doc/callkit/preset/ios/api.md +80 -0
- package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
- package/resource/doc/callkit/preset/react/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
- package/resource/doc/callkit/preset/vue/api.md +501 -0
- package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
- package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
- package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
- package/resource/doc/chatkit/android/integration.md +490 -0
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
- package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
- package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
- package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
- package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
- package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
- package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +19 -88
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
- package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
- package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
- package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
- package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
- package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
- package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
- package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
- package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
- package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
- package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
- package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
- package/resource/doc/chatkit/react/components/search.md +243 -0
- package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
- package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
- package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
- package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
- package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
- package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
- package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
- package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
- package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
- package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
- package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
- package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
- package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
- package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
- package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
- package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
- package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
- package/resource/doc/livekit/core-sdk/voice/android/voice-audience-list.md +263 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-audio-effect.md +222 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-barrage.md +452 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +536 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-gift.md +442 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-host-interaction.md +489 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-integration.md +574 -0
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +435 -0
- package/resource/doc/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +516 -0
- package/resource/doc/livekit/core-sdk/voice/flutter/voice-integration.md +576 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-audience-list.md +263 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-audio-effect.md +212 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-barrage.md +404 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +499 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-gift.md +403 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-host-interaction.md +552 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +514 -0
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +348 -0
- package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
- package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
- package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
- package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
- package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
- package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
- package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
- package/resource/doc/roomkit/vue/faq.md +1 -0
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
- package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
- package/resource/doc/roomkit/vue/features/device-state.md +24 -44
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
- package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
- package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
- package/resource/doc/roomkit/vue/features/room-state.md +25 -34
- package/resource/doc/roomkit/vue/features/room-view.md +30 -125
- package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
- package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
- package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
- package/resource/doc/roomkit/vue/integration.md +173 -337
- package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
- package/resource/doc/rtcengine/faq/web/web.md +14 -24
- package/resource/doc/rtcengine/web/api.md +1 -3
- package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
- package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
- package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
- package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
- package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
- package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
- package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
- package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
- package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
- package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
- package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
- package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
- package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
- package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
- package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
- package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
- package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
- package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
- package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
- package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
- package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
- package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
- package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
- package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
- package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
- package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
- package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
- package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
- package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
- package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
- package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
- package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
- package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
- package/server.js +1 -5
- package/server.js.map +1 -1
- package/tools/call/get_callkit_api.js +32 -0
- package/tools/call/get_callkit_api.js.map +1 -0
- package/tools/call/get_native_call_uikit_integration.js +34 -0
- package/tools/call/get_native_call_uikit_integration.js.map +1 -0
- package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
- package/tools/call/get_web_call_uikit_integration.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
- package/tools/chat/get_native_chat_uikit_integration.js +45 -0
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
- package/tools/chat/get_web_chat_uikit_integration.js +45 -0
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
- package/tools/common/get_faq.js +265 -0
- package/tools/common/get_faq.js.map +1 -0
- package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
- package/tools/common/get_usersig.js.map +1 -0
- package/tools/common/present_framework_choice.js +63 -0
- package/tools/common/present_framework_choice.js.map +1 -0
- package/tools/definitions/get_callkit_api_def.js +29 -0
- package/tools/definitions/get_callkit_api_def.js.map +1 -0
- package/tools/definitions/get_faq_def.js +17 -18
- package/tools/definitions/get_faq_def.js.map +1 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js +15 -18
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
- package/tools/definitions/get_usersig_def.js +17 -22
- package/tools/definitions/get_usersig_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_livekit_api_def.js +30 -0
- package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +15 -30
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +24 -12
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/index.js +47 -59
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_features.js +65 -0
- package/tools/live/get_native_livekit_core_features.js.map +1 -0
- package/tools/live/get_native_livekit_core_integration.js +59 -0
- package/tools/live/get_native_livekit_core_integration.js.map +1 -0
- package/tools/live/get_web_live_uikit_integration.js +48 -0
- package/tools/live/get_web_live_uikit_integration.js.map +1 -0
- package/tools/live/get_web_livekit_api.js +32 -0
- package/tools/live/get_web_livekit_api.js.map +1 -0
- package/tools/live/get_web_livekit_component_detail.js +34 -0
- package/tools/live/get_web_livekit_component_detail.js.map +1 -0
- package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
- package/tools/room/get_web_room_uikit_integration.js.map +1 -0
- package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
- package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
- package/utils/generate-structured-result.js +61 -17
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/report-cls-client.js +12 -1
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +2 -2
- package/resource/doc/chatuikit/android/integration.md +0 -287
- package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
- package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
- package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
- package/resource/doc/chatuikit/flutter/workflow.md +0 -941
- package/resource/doc/chatuikit/iOS/workflow.md +0 -0
- package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
- package/resource/doc/chatuikit/react/components/search.md +0 -745
- package/resource/doc/chatuikit/react/create-group.md +0 -23
- package/resource/doc/chatuikit/react/init.md +0 -26
- package/resource/doc/chatuikit/react/workflow.md +0 -258
- package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
- package/resource/doc/chatuikit/vue/create-group.md +0 -25
- package/resource/doc/chatuikit/vue/init.md +0 -40
- package/resource/doc/chatuikit/vue/workflow.md +0 -395
- package/resource/doc/livekit/live/android/workflow.md +0 -320
- package/resource/doc/livekit/live/flutter/workflow.md +0 -353
- package/resource/doc/livekit/live/ios/workflow.md +0 -454
- package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
- package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
- package/resource/doc/livekit/live/vue/faq.md +0 -0
- package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
- package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
- package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
- package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
- package/resource/doc/livekit/live/vue/workflow.md +0 -218
- package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
- package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
- package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
- package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
- package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
- package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
- package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
- package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
- package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
- package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
- package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
- package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
- package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
- package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
- package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
- package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
- package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
- package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
- package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
- package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
- package/resource/doc/roomkit/vue/features/workflow.md +0 -553
- package/resource/doc/roomkit/vue/workflow.md +0 -487
- package/resource/doc/tuicallkit/android/integration.md +0 -286
- package/resource/doc/tuicallkit/android/workflow.md +0 -0
- package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
- package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
- package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
- package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
- package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
- package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
- package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
- package/resource/doc/tuicallkit/react/api.md +0 -1404
- package/resource/doc/tuicallkit/vue/api.md +0 -1406
- package/resource/doc/tuicallkit/vue/faq.md +0 -36
- package/tools/call/get-native-call-integration.js +0 -43
- package/tools/call/get-native-call-integration.js.map +0 -1
- package/tools/call/get-web-call-api.js +0 -27
- package/tools/call/get-web-call-api.js.map +0 -1
- package/tools/call/get-web-call-integration.js.map +0 -1
- package/tools/chat/get-native-chat-feature-detail.js +0 -30
- package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
- package/tools/chat/get-native-chat-integration.js +0 -45
- package/tools/chat/get-native-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-component-detail.js +0 -31
- package/tools/chat/get-web-chat-component-detail.js.map +0 -1
- package/tools/chat/get-web-chat-integration.js +0 -45
- package/tools/chat/get-web-chat-integration.js.map +0 -1
- package/tools/chat/get-web-chat-uikit-init.js +0 -28
- package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
- package/tools/chat/get-web-create-group-doc.js +0 -28
- package/tools/chat/get-web-create-group-doc.js.map +0 -1
- package/tools/common/get-faq.js +0 -91
- 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 +0 -16
- package/tools/common/present-framework-choice.js.map +0 -1
- package/tools/common/record-prompt.js +0 -55
- package/tools/common/record-prompt.js.map +0 -1
- package/tools/common/record-result.js +0 -60
- package/tools/common/record-result.js.map +0 -1
- package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
- package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_live_api_def.js +0 -23
- package/tools/definitions/get_native_live_api_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
- package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +0 -49
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -74
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
- package/tools/definitions/get_trtc_native_api_def.js +0 -16
- package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
- package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
- package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
- package/tools/definitions/get_web_create_group_doc_def.js +0 -18
- package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
- package/tools/definitions/get_web_live_state_detail_def.js +0 -19
- package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
- package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +0 -95
- package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_state_detail_def.js +0 -19
- package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
- package/tools/definitions/record_prompt_def.js +0 -53
- package/tools/definitions/record_prompt_def.js.map +0 -1
- package/tools/definitions/record_result_def.js +0 -30
- package/tools/definitions/record_result_def.js.map +0 -1
- package/tools/live/get-native-live-uikit-integration.js +0 -101
- package/tools/live/get-native-live-uikit-integration.js.map +0 -1
- package/tools/live/get-web-live-component-detail.js +0 -31
- package/tools/live/get-web-live-component-detail.js.map +0 -1
- package/tools/live/get-web-live-state-detail.js +0 -31
- package/tools/live/get-web-live-state-detail.js.map +0 -1
- package/tools/live/get-web-live-uikit-integration.js +0 -52
- package/tools/live/get-web-live-uikit-integration.js.map +0 -1
- package/tools/live/get_native_live_uikit_extra_features.js +0 -105
- package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
- package/tools/live/get_native_live_uikit_interaction.js +0 -101
- package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
- package/tools/native_live/get-native-live-api.js +0 -31
- package/tools/native_live/get-native-live-api.js.map +0 -1
- package/tools/room/get-web-room-feature-detail.js.map +0 -1
- package/tools/room/get-web-room-integration.js.map +0 -1
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
- package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
- package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
- package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
- package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
- package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
- package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
- package/tools/trtc/get-trtc-native-api.js +0 -31
- package/tools/trtc/get-trtc-native-api.js.map +0 -1
- package/utils/handle-component-name.js +0 -33
- package/utils/handle-component-name.js.map +0 -1
- /package/resource/doc/{chatuikit/android/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
- /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
- /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
- /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
- /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
|
@@ -1,22 +1,7 @@
|
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
<td rowspan="1" colSpan="1" >**Barrage Gift**</td>
|
|
7
|
-
|
|
8
|
-
<td rowspan="1" colSpan="1" >**Full-Screen Gift**</td>
|
|
9
|
-
</tr>
|
|
10
|
-
|
|
11
|
-
<tr>
|
|
12
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
13
|
-
|
|
14
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
15
|
-
|
|
16
|
-
<td rowspan="1" colSpan="1" ></td>
|
|
17
|
-
</tr>
|
|
18
|
-
</table>
|
|
19
|
-
|
|
2
|
+
| **Gift Panel** | **Barrage Gift** | **Full-Screen Gift** |
|
|
3
|
+
| --- | --- | --- |
|
|
4
|
+
| | | |
|
|
20
5
|
|
|
21
6
|
## Core Features
|
|
22
7
|
- **Gift List Retrieval**: Obtain the required data for the gift panel from the server, including gift categories and gift details.
|
|
@@ -25,75 +10,30 @@
|
|
|
25
10
|
|
|
26
11
|
- **Gift Event Broadcast**: Receive gift giveaway events inside the room in real time for showing gift animation and bullet screen notification.
|
|
27
12
|
|
|
28
|
-
|
|
29
13
|
## Core Concepts
|
|
30
14
|
|
|
31
15
|
Before starting integration, let's learn about several core concepts related to `GiftStore` in the following table:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
</tr>
|
|
40
|
-
|
|
41
|
-
<tr>
|
|
42
|
-
<td rowspan="1" colSpan="1" >[Gift](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/Gift-class.html)</td>
|
|
43
|
-
|
|
44
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
45
|
-
|
|
46
|
-
<td rowspan="1" colSpan="1" >Represents a specific gift data model. It contains the gift ID, name, icon address, animation resource URL and price (coins).</td>
|
|
47
|
-
</tr>
|
|
48
|
-
|
|
49
|
-
<tr>
|
|
50
|
-
<td rowspan="1" colSpan="1" >[GiftCategory](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftCategory-class.html)</td>
|
|
51
|
-
|
|
52
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
53
|
-
|
|
54
|
-
<td rowspan="1" colSpan="1" >Represents a gift category, such as "popular" and "luxury". It contains the category name as well as the **Gift** list under this category.</td>
|
|
55
|
-
</tr>
|
|
56
|
-
|
|
57
|
-
<tr>
|
|
58
|
-
<td rowspan="1" colSpan="1" >[GiftState](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftState-class.html)</td>
|
|
59
|
-
|
|
60
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
61
|
-
|
|
62
|
-
<td rowspan="1" colSpan="1" >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.</td>
|
|
63
|
-
</tr>
|
|
64
|
-
|
|
65
|
-
<tr>
|
|
66
|
-
<td rowspan="1" colSpan="1" >[GiftListener](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftListener-class.html)</td>
|
|
67
|
-
|
|
68
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
69
|
-
|
|
70
|
-
<td rowspan="1" colSpan="1" >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.</td>
|
|
71
|
-
</tr>
|
|
72
|
-
|
|
73
|
-
<tr>
|
|
74
|
-
<td rowspan="1" colSpan="1" >[GiftStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html)</td>
|
|
75
|
-
|
|
76
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
77
|
-
|
|
78
|
-
<td rowspan="1" colSpan="1" >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`.</td>
|
|
79
|
-
</tr>
|
|
80
|
-
</table>
|
|
81
|
-
|
|
16
|
+
| **Core Concepts** | **Type** | **Core Responsibilities and Description** |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| [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). |
|
|
19
|
+
| [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. |
|
|
20
|
+
| [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. |
|
|
21
|
+
| [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. |
|
|
22
|
+
| [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`. |
|
|
82
23
|
|
|
83
24
|
## Implementation Steps
|
|
84
25
|
|
|
85
26
|
### Step 1: Integrating the Component
|
|
86
27
|
|
|
87
28
|
> **Note:**
|
|
88
|
-
>
|
|
89
|
-
|
|
90
|
-
> 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](https://write.woa.com/document/137771241658241024) and choose the package that fits your needs.
|
|
91
|
-
>
|
|
29
|
+
>
|
|
92
30
|
|
|
93
|
-
|
|
31
|
+
> 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
|
+
>
|
|
94
33
|
|
|
95
|
-
- **
|
|
34
|
+
- **Live streaming**: Refer to Quick Access for seamless integration with **AtomicXCore** and access completed.
|
|
96
35
|
|
|
36
|
+
- **Voice chat room**: Refer to Quick Access for seamless integration with **AtomicXCore** and access completed.
|
|
97
37
|
|
|
98
38
|
### Step 2: Initialize and Listen for Gift Events
|
|
99
39
|
|
|
@@ -106,7 +46,6 @@ Get the `GiftStore` instance and set a listener for receiving gifts and list upd
|
|
|
106
46
|
|
|
107
47
|
3. **Subscription status**: Listen to `giftStore.giftState.usableGifts` to get gift list updates.
|
|
108
48
|
|
|
109
|
-
|
|
110
49
|
#### Sample code:
|
|
111
50
|
``` java
|
|
112
51
|
import 'package:flutter/foundation.dart';
|
|
@@ -164,132 +103,26 @@ class GiftManager {
|
|
|
164
103
|
#### Gift List Structure Parameter
|
|
165
104
|
- `GiftCategory`**Parameter description**
|
|
166
105
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
<
|
|
174
|
-
</tr>
|
|
175
|
-
|
|
176
|
-
<tr>
|
|
177
|
-
<td rowspan="1" colSpan="1" >`categoryID`</td>
|
|
178
|
-
|
|
179
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
180
|
-
|
|
181
|
-
<td rowspan="1" colSpan="1" >Unique ID of the gift category.</td>
|
|
182
|
-
</tr>
|
|
183
|
-
|
|
184
|
-
<tr>
|
|
185
|
-
<td rowspan="1" colSpan="1" >`name`</td>
|
|
186
|
-
|
|
187
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
188
|
-
|
|
189
|
-
<td rowspan="1" colSpan="1" >Display name of the gift category.</td>
|
|
190
|
-
</tr>
|
|
191
|
-
|
|
192
|
-
<tr>
|
|
193
|
-
<td rowspan="1" colSpan="1" >`desc`</td>
|
|
194
|
-
|
|
195
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
196
|
-
|
|
197
|
-
<td rowspan="1" colSpan="1" >Description of the gift category.</td>
|
|
198
|
-
</tr>
|
|
199
|
-
|
|
200
|
-
<tr>
|
|
201
|
-
<td rowspan="1" colSpan="1" >`extensionInfo`</td>
|
|
202
|
-
|
|
203
|
-
<td rowspan="1" colSpan="1" >`Map<String, String>`</td>
|
|
204
|
-
|
|
205
|
-
<td rowspan="1" colSpan="1" >Extended information field.</td>
|
|
206
|
-
</tr>
|
|
207
|
-
|
|
208
|
-
<tr>
|
|
209
|
-
<td rowspan="1" colSpan="1" >`giftList`</td>
|
|
210
|
-
|
|
211
|
-
<td rowspan="1" colSpan="1" >`List<Gift>`</td>
|
|
212
|
-
|
|
213
|
-
<td rowspan="1" colSpan="1" >Array of Gift objects under this category.</td>
|
|
214
|
-
</tr>
|
|
215
|
-
</table>
|
|
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. |
|
|
216
113
|
|
|
217
114
|
- `Gift`**Parameter description**
|
|
218
115
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
<
|
|
229
|
-
<td rowspan="1" colSpan="1" >`giftID`</td>
|
|
230
|
-
|
|
231
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
232
|
-
|
|
233
|
-
<td rowspan="1" colSpan="1" >Unique ID of the gift.</td>
|
|
234
|
-
</tr>
|
|
235
|
-
|
|
236
|
-
<tr>
|
|
237
|
-
<td rowspan="1" colSpan="1" >`name`</td>
|
|
238
|
-
|
|
239
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
240
|
-
|
|
241
|
-
<td rowspan="1" colSpan="1" >Display name of the gift.</td>
|
|
242
|
-
</tr>
|
|
243
|
-
|
|
244
|
-
<tr>
|
|
245
|
-
<td rowspan="1" colSpan="1" >`desc`</td>
|
|
246
|
-
|
|
247
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
248
|
-
|
|
249
|
-
<td rowspan="1" colSpan="1" >Description of the gift.</td>
|
|
250
|
-
</tr>
|
|
251
|
-
|
|
252
|
-
<tr>
|
|
253
|
-
<td rowspan="1" colSpan="1" >`iconURL`</td>
|
|
254
|
-
|
|
255
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
256
|
-
|
|
257
|
-
<td rowspan="1" colSpan="1" >Icon URL of the gift.</td>
|
|
258
|
-
</tr>
|
|
259
|
-
|
|
260
|
-
<tr>
|
|
261
|
-
<td rowspan="1" colSpan="1" >`resourceURL`</td>
|
|
262
|
-
|
|
263
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
264
|
-
|
|
265
|
-
<td rowspan="1" colSpan="1" >Resource URL of the gift animation.</td>
|
|
266
|
-
</tr>
|
|
267
|
-
|
|
268
|
-
<tr>
|
|
269
|
-
<td rowspan="1" colSpan="1" >`level`</td>
|
|
270
|
-
|
|
271
|
-
<td rowspan="1" colSpan="1" >`int`</td>
|
|
272
|
-
|
|
273
|
-
<td rowspan="1" colSpan="1" >Gift level.</td>
|
|
274
|
-
</tr>
|
|
275
|
-
|
|
276
|
-
<tr>
|
|
277
|
-
<td rowspan="1" colSpan="1" >`coins`</td>
|
|
278
|
-
|
|
279
|
-
<td rowspan="1" colSpan="1" >`int`</td>
|
|
280
|
-
|
|
281
|
-
<td rowspan="1" colSpan="1" >Gift price.</td>
|
|
282
|
-
</tr>
|
|
283
|
-
|
|
284
|
-
<tr>
|
|
285
|
-
<td rowspan="1" colSpan="1" >`extensionInfo`</td>
|
|
286
|
-
|
|
287
|
-
<td rowspan="1" colSpan="1" >`Map<String, String>`</td>
|
|
288
|
-
|
|
289
|
-
<td rowspan="1" colSpan="1" >Extended information field.</td>
|
|
290
|
-
</tr>
|
|
291
|
-
</table>
|
|
292
|
-
|
|
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 field. |
|
|
293
126
|
|
|
294
127
|
### Step 3: Obtain the Gift List
|
|
295
128
|
|
|
@@ -302,7 +135,6 @@ Call the `refreshUsableGifts` method to fetch gift data from the server.
|
|
|
302
135
|
|
|
303
136
|
3. **Data reception**: After the update, the gift list is automatically received by listening to `giftStore.giftState.usableGifts` in procedure 2.
|
|
304
137
|
|
|
305
|
-
|
|
306
138
|
#### Sample code:
|
|
307
139
|
``` java
|
|
308
140
|
extension GiftManagerFetch on GiftManager {
|
|
@@ -330,7 +162,6 @@ When a user selects a gift in the gift panel and clicks send, call the `sendGift
|
|
|
330
162
|
|
|
331
163
|
3. **Processing 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`.
|
|
332
164
|
|
|
333
|
-
|
|
334
165
|
#### Sample code:
|
|
335
166
|
``` java
|
|
336
167
|
extension GiftManagerSend on GiftManager {
|
|
@@ -349,32 +180,10 @@ extension GiftManagerSend on GiftManager {
|
|
|
349
180
|
```
|
|
350
181
|
|
|
351
182
|
#### `SendGift` API Parameter
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
<td rowspan="1" colSpan="1" >**Type**</td>
|
|
357
|
-
|
|
358
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
359
|
-
</tr>
|
|
360
|
-
|
|
361
|
-
<tr>
|
|
362
|
-
<td rowspan="1" colSpan="1" >`giftID`</td>
|
|
363
|
-
|
|
364
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
365
|
-
|
|
366
|
-
<td rowspan="1" colSpan="1" >Unique ID of the gift to send.</td>
|
|
367
|
-
</tr>
|
|
368
|
-
|
|
369
|
-
<tr>
|
|
370
|
-
<td rowspan="1" colSpan="1" >`count`</td>
|
|
371
|
-
|
|
372
|
-
<td rowspan="1" colSpan="1" >`int`</td>
|
|
373
|
-
|
|
374
|
-
<td rowspan="1" colSpan="1" >The number of sent.</td>
|
|
375
|
-
</tr>
|
|
376
|
-
</table>
|
|
377
|
-
|
|
183
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
184
|
+
| --- | --- | --- |
|
|
185
|
+
| `giftID` | `String` | Unique ID of the gift to send. |
|
|
186
|
+
| `count` | `int` | The number of sent. |
|
|
378
187
|
|
|
379
188
|
## Advanced Features
|
|
380
189
|
|
|
@@ -385,134 +194,39 @@ extension GiftManagerSend on GiftManager {
|
|
|
385
194
|
You need to customize the available gift type, category, name, icon, price, and animated effects in the live streaming room to meet operational needs and brand feature.
|
|
386
195
|
|
|
387
196
|
#### Implementation
|
|
388
|
-
1. **Server-Side Configuration**: Use the LiveKit server REST API to manage gift information, categories, and multi-language support. See the
|
|
197
|
+
1. **Server-Side Configuration**: Use the LiveKit server REST API to manage gift information, categories, and multi-language support. See the Gift Configuration Guide.
|
|
389
198
|
|
|
390
199
|
2. **Client Fetch**: On the client, call `refreshUsableGifts` to retrieve configuration data.
|
|
391
200
|
|
|
392
201
|
3. **UI Display**: Use the retrieved `List<GiftCategory>` to render the gift panel.
|
|
393
202
|
|
|
394
|
-
|
|
395
203
|
#### Configuration Sequence Diagram
|
|
396
204
|
|
|
397
|
-

|
|
398
|
-
|
|
399
|
-
|
|
400
205
|
#### Related REST API Interfaces Overview
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
<tr>
|
|
419
|
-
<td rowspan="1" colSpan="1" >Delete Gift Information</td>
|
|
420
|
-
|
|
421
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131021432451072)</td>
|
|
422
|
-
</tr>
|
|
423
|
-
|
|
424
|
-
<tr>
|
|
425
|
-
<td rowspan="1" colSpan="1" >Query Gift Information</td>
|
|
426
|
-
|
|
427
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185130925608591360)</td>
|
|
428
|
-
</tr>
|
|
429
|
-
|
|
430
|
-
<tr>
|
|
431
|
-
<td rowspan="3" colSpan="1" >**Gift Category Management**</td>
|
|
432
|
-
|
|
433
|
-
<td rowspan="1" colSpan="1" >Add Gift Category Information</td>
|
|
434
|
-
|
|
435
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131054187974656)</td>
|
|
436
|
-
</tr>
|
|
437
|
-
|
|
438
|
-
<tr>
|
|
439
|
-
<td rowspan="1" colSpan="1" >Delete Specific Gift Category Information</td>
|
|
440
|
-
|
|
441
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131288984932352)</td>
|
|
442
|
-
</tr>
|
|
443
|
-
|
|
444
|
-
<tr>
|
|
445
|
-
<td rowspan="1" colSpan="1" >Get Specific Gift Category Information</td>
|
|
446
|
-
|
|
447
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131164168736768)</td>
|
|
448
|
-
</tr>
|
|
449
|
-
|
|
450
|
-
<tr>
|
|
451
|
-
<td rowspan="3" colSpan="1" >**Gift Relationship Management**</td>
|
|
452
|
-
|
|
453
|
-
<td rowspan="1" colSpan="1" >Add Relationship between a Specific Gift Category and Gift</td>
|
|
454
|
-
|
|
455
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131388068356096)</td>
|
|
456
|
-
</tr>
|
|
457
|
-
|
|
458
|
-
<tr>
|
|
459
|
-
<td rowspan="1" colSpan="1" >Delete Relationship between a Specific Gift Category and Gift</td>
|
|
460
|
-
|
|
461
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131491225227264)</td>
|
|
462
|
-
</tr>
|
|
463
|
-
|
|
464
|
-
<tr>
|
|
465
|
-
<td rowspan="1" colSpan="1" >Get Gift Relationships under a Specific Gift Category</td>
|
|
466
|
-
|
|
467
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131634710056960)</td>
|
|
468
|
-
</tr>
|
|
469
|
-
|
|
470
|
-
<tr>
|
|
471
|
-
<td rowspan="6" colSpan="1" >**Gift Multi-language Management**</td>
|
|
472
|
-
|
|
473
|
-
<td rowspan="1" colSpan="1" >Add Gift Multi-language Information</td>
|
|
474
|
-
|
|
475
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131766094020608)</td>
|
|
476
|
-
</tr>
|
|
477
|
-
|
|
478
|
-
<tr>
|
|
479
|
-
<td rowspan="1" colSpan="1" >Delete Specific Gift Multi-language Information</td>
|
|
480
|
-
|
|
481
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185132041665441792)</td>
|
|
482
|
-
</tr>
|
|
483
|
-
|
|
484
|
-
<tr>
|
|
485
|
-
<td rowspan="1" colSpan="1" >Get Gift Multi-language Information</td>
|
|
486
|
-
|
|
487
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185131910582956032)</td>
|
|
488
|
-
</tr>
|
|
489
|
-
|
|
490
|
-
<tr>
|
|
491
|
-
<td rowspan="1" colSpan="1" >Add Gift Category Multi-language Information</td>
|
|
492
|
-
|
|
493
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185132145524985856)</td>
|
|
494
|
-
</tr>
|
|
495
|
-
|
|
496
|
-
<tr>
|
|
497
|
-
<td rowspan="1" colSpan="1" >Delete Specific Gift Category Multi-language Information</td>
|
|
498
|
-
|
|
499
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185132396568891392)</td>
|
|
500
|
-
</tr>
|
|
501
|
-
|
|
502
|
-
<tr>
|
|
503
|
-
<td rowspan="1" colSpan="1" >Get Gift Category Multi-language Information</td>
|
|
504
|
-
|
|
505
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/185132283123777536)</td>
|
|
506
|
-
</tr>
|
|
507
|
-
</table>
|
|
508
|
-
|
|
206
|
+
| **Interface Category** | **Interface** | **Request Example** |
|
|
207
|
+
| --- | --- | --- |
|
|
208
|
+
| **Gift Management** | Add Gift Information | Example |
|
|
209
|
+
| Delete Gift Information | Example | |
|
|
210
|
+
| Query Gift Information | Example | |
|
|
211
|
+
| **Gift Category Management** | Add Gift Category Information | Example |
|
|
212
|
+
| Delete Specific Gift Category Information | Example | |
|
|
213
|
+
| Get Specific Gift Category Information | Example | |
|
|
214
|
+
| **Gift Relationship Management** | Add Relationship between a Specific Gift Category and Gift | Example |
|
|
215
|
+
| Delete Relationship between a Specific Gift Category and Gift | Example | |
|
|
216
|
+
| Get Gift Relationships under a Specific Gift Category | Example | |
|
|
217
|
+
| **Gift Multi-language Management** | Add Gift Multi-language Information | Example |
|
|
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 | |
|
|
509
223
|
|
|
510
224
|
### Billing and Gift Sending Process
|
|
511
225
|
|
|
512
226
|
When the audience sends gifts, ensure sufficient account balance and complete the actual deduction before triggering the gift effect playback and broadcast.
|
|
513
227
|
|
|
514
228
|
#### Workflow
|
|
515
|
-
1. **Backend Callback Configuration**: Configure your billing system's callback URL in the LiveKit backend. See
|
|
229
|
+
1. **Backend Callback Configuration**: Configure your billing system's callback URL in the LiveKit backend. See Callback Configuration Documentation.
|
|
516
230
|
|
|
517
231
|
2. **Client Request**: The client calls `sendGift`.
|
|
518
232
|
|
|
@@ -520,31 +234,12 @@ When the audience sends gifts, ensure sufficient account balance and complete th
|
|
|
520
234
|
|
|
521
235
|
4. **Result Synchronization**: If succeeds, **AtomicXCore** broadcasts the `onReceiveGift` event; if fails, the completion callback of `sendGift` receives an error.
|
|
522
236
|
|
|
523
|
-
|
|
524
237
|
#### Call Flow
|
|
525
238
|
|
|
526
|
-

|
|
527
|
-
|
|
528
|
-
|
|
529
239
|
#### Related REST API Interfaces Overview
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
535
|
-
|
|
536
|
-
<td rowspan="1" colSpan="1" >**Request Example**</td>
|
|
537
|
-
</tr>
|
|
538
|
-
|
|
539
|
-
<tr>
|
|
540
|
-
<td rowspan="1" colSpan="1" >**Callback Configuration - Callback before sending a gift**</td>
|
|
541
|
-
|
|
542
|
-
<td rowspan="1" colSpan="1" >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.</td>
|
|
543
|
-
|
|
544
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/183772991768039424)</td>
|
|
545
|
-
</tr>
|
|
546
|
-
</table>
|
|
547
|
-
|
|
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 |
|
|
548
243
|
|
|
549
244
|
### Play Full-Screen Gift Animation
|
|
550
245
|
|
|
@@ -553,56 +248,13 @@ When a user (including itself) sends luxury gifts such as "rocket" or "carnival"
|
|
|
553
248
|
#### Implementation
|
|
554
249
|
|
|
555
250
|
`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:
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
</tr>
|
|
564
|
-
|
|
565
|
-
<tr>
|
|
566
|
-
<td rowspan="1" colSpan="1" >Billing</td>
|
|
567
|
-
|
|
568
|
-
<td rowspan="1" colSpan="1" >Free (open-source library)</td>
|
|
569
|
-
|
|
570
|
-
<td rowspan="1" colSpan="1" >Paid (License purchase required), please see [Payment Guide](https://trtc.io/document/69949?product=beautyar&menulabel=core%20sdk&platform=android#X-Series-Capabilities)</td>
|
|
571
|
-
</tr>
|
|
572
|
-
|
|
573
|
-
<tr>
|
|
574
|
-
<td rowspan="1" colSpan="1" >Integration Method</td>
|
|
575
|
-
|
|
576
|
-
<td rowspan="1" colSpan="1" >Manual integration of the [svgaplayer_flutter](https://pub.dev/packages/svgaplayer_flutter) library is required.</td>
|
|
577
|
-
|
|
578
|
-
<td rowspan="1" colSpan="1" >Additional integration of the [flutter_effect_player](https://github.com/Tencent-RTC/EffectPlayer_Flutter) library and authentication are required.</td>
|
|
579
|
-
</tr>
|
|
580
|
-
|
|
581
|
-
<tr>
|
|
582
|
-
<td rowspan="1" colSpan="1" >Animation Format Support</td>
|
|
583
|
-
|
|
584
|
-
<td rowspan="1" colSpan="1" >SVGA only</td>
|
|
585
|
-
|
|
586
|
-
<td rowspan="1" colSpan="1" >SVGA, PAG, WebP, Lottie, MP4, and other formats</td>
|
|
587
|
-
</tr>
|
|
588
|
-
|
|
589
|
-
<tr>
|
|
590
|
-
<td rowspan="1" colSpan="1" >Performance</td>
|
|
591
|
-
|
|
592
|
-
<td rowspan="1" colSpan="1" >Recommend SVGA files ≤ 10MB</td>
|
|
593
|
-
|
|
594
|
-
<td rowspan="1" colSpan="1" >Support larger animation files, better performance for complex effects, multi-animation concurrency, and low-end devices</td>
|
|
595
|
-
</tr>
|
|
596
|
-
|
|
597
|
-
<tr>
|
|
598
|
-
<td rowspan="1" colSpan="1" >Recommended scenarios</td>
|
|
599
|
-
|
|
600
|
-
<td rowspan="1" colSpan="1" >Gift animation format is unified as SVGA with controllable file size</td>
|
|
601
|
-
|
|
602
|
-
<td rowspan="1" colSpan="1" >Support multiple animation formats or higher performance/compatibility requirements</td>
|
|
603
|
-
</tr>
|
|
604
|
-
</table>
|
|
605
|
-
|
|
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 |
|
|
606
258
|
|
|
607
259
|
This section demonstrates the basic solution. If you select the advanced plan, refer to [EffectPlayer Flutter integration guide](https://trtc.io/document/73975?product=beautyar&menulabel=core%20sdk&platform=flutter).
|
|
608
260
|
|
|
@@ -617,7 +269,6 @@ This section demonstrates the basic solution. If you select the advanced plan, r
|
|
|
617
269
|
|
|
618
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.
|
|
619
271
|
|
|
620
|
-
|
|
621
272
|
#### Sample Code
|
|
622
273
|
``` java
|
|
623
274
|
import 'package:flutter/material.dart';
|
|
@@ -713,7 +364,6 @@ When a user sends a gift, it not only plays the animation but also displays a sy
|
|
|
713
364
|
|
|
714
365
|
5. **Local insertion**: Call `barrageStore.appendLocalTip(giftTip)` to insert the message into the local list.
|
|
715
366
|
|
|
716
|
-
|
|
717
367
|
#### Sample Code
|
|
718
368
|
``` java
|
|
719
369
|
// In LiveRoomManager or similar top-level managers
|
|
@@ -743,32 +393,10 @@ void _setupGiftToBarrageFlow() {
|
|
|
743
393
|
## API documentation
|
|
744
394
|
|
|
745
395
|
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:
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
<td rowspan="1" colSpan="1" >**Feature Description**</td>
|
|
751
|
-
|
|
752
|
-
<td rowspan="1" colSpan="1" >**API Reference**</td>
|
|
753
|
-
</tr>
|
|
754
|
-
|
|
755
|
-
<tr>
|
|
756
|
-
<td rowspan="1" colSpan="1" >**GiftStore**</td>
|
|
757
|
-
|
|
758
|
-
<td rowspan="1" colSpan="1" >Gift interaction: Get gift list, send/receive gifts, listen to gift events (including sender, gift details).</td>
|
|
759
|
-
|
|
760
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html)</td>
|
|
761
|
-
</tr>
|
|
762
|
-
|
|
763
|
-
<tr>
|
|
764
|
-
<td rowspan="1" colSpan="1" >**BarrageStore**</td>
|
|
765
|
-
|
|
766
|
-
<td rowspan="1" colSpan="1" >Danmaku function: send text / custom barrage item, maintain bullet screen list, monitor in real time.</td>
|
|
767
|
-
|
|
768
|
-
<td rowspan="1" colSpan="1" >[API documentation](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html)</td>
|
|
769
|
-
</tr>
|
|
770
|
-
</table>
|
|
771
|
-
|
|
396
|
+
| **Store/Component** | **Feature Description** | **API Reference** |
|
|
397
|
+
| --- | --- | --- |
|
|
398
|
+
| **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) |
|
|
399
|
+
| **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) |
|
|
772
400
|
|
|
773
401
|
## FAQs
|
|
774
402
|
|
|
@@ -785,7 +413,6 @@ You must actively call `refreshUsableGifts()` to fetch gift data from your backe
|
|
|
785
413
|
`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.
|
|
786
414
|
- **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").
|
|
787
415
|
|
|
788
|
-
|
|
789
416
|
### Where Is the Gift Charge Logic Implemented?
|
|
790
417
|
|
|
791
418
|
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.
|
|
@@ -797,4 +424,3 @@ No. Gift sending notifications (`onReceiveGift` event) are not affected by mutin
|
|
|
797
424
|
### What to Do About Playback Lag in Gift Animation
|
|
798
425
|
|
|
799
426
|
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.
|
|
800
|
-
|