@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 dedicated module within **AtomicXCore** for managing live room gifting features. It enables you to build a complete gifting system for your live streaming application, supporting robust monetization and interactive experiences.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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**: Retrieve gift panel data from the server, including gift categories and details.
|
|
@@ -25,73 +10,28 @@
|
|
|
25
10
|
|
|
26
11
|
- **Gift Event Broadcasting:** Real-time synchronization of gift events across all clients in the room to trigger animations and barrage notifications.
|
|
27
12
|
|
|
28
|
-
|
|
29
13
|
## Core Concepts
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
</tr>
|
|
38
|
-
|
|
39
|
-
<tr>
|
|
40
|
-
<td rowspan="1" colSpan="1" >`Gift`</td>
|
|
41
|
-
|
|
42
|
-
<td rowspan="1" colSpan="1" >`struct`</td>
|
|
43
|
-
|
|
44
|
-
<td rowspan="1" colSpan="1" >Represents a gift data model, including ID, name, icon URL, animation resource URL (resourceURL), price (coins), and more.</td>
|
|
45
|
-
</tr>
|
|
46
|
-
|
|
47
|
-
<tr>
|
|
48
|
-
<td rowspan="1" colSpan="1" >`GiftCategory`</td>
|
|
49
|
-
|
|
50
|
-
<td rowspan="1" colSpan="1" >`struct`</td>
|
|
51
|
-
|
|
52
|
-
<td rowspan="1" colSpan="1" >- Represents a grouping of gifts (e.g., "Popular", "Luxury"). <br>- Contains a category name and an array of Gift objects.</td>
|
|
53
|
-
</tr>
|
|
54
|
-
|
|
55
|
-
<tr>
|
|
56
|
-
<td rowspan="1" colSpan="1" >`GiftState`</td>
|
|
57
|
-
|
|
58
|
-
<td rowspan="1" colSpan="1" >`struct`</td>
|
|
59
|
-
|
|
60
|
-
<td rowspan="1" colSpan="1" >- Represents the current state of the gift module. <br>- The core property, usableGifts, is a StateFlow containing the full gift list from the server.</td>
|
|
61
|
-
</tr>
|
|
62
|
-
|
|
63
|
-
<tr>
|
|
64
|
-
<td rowspan="1" colSpan="1" >`GiftEvent`</td>
|
|
65
|
-
|
|
66
|
-
<td rowspan="1" colSpan="1" >`enum`</td>
|
|
67
|
-
|
|
68
|
-
<td rowspan="1" colSpan="1" >Defines the event listener for gift events in the live room. Currently, only `onReceiveGift` is available. This event is broadcast to all users in the room (including the sender) whenever a gift is successfully sent.</td>
|
|
69
|
-
</tr>
|
|
70
|
-
|
|
71
|
-
<tr>
|
|
72
|
-
<td rowspan="1" colSpan="1" >`GiftStore`</td>
|
|
73
|
-
|
|
74
|
-
<td rowspan="1" colSpan="1" >`class`</td>
|
|
75
|
-
|
|
76
|
-
<td rowspan="1" colSpan="1" >- The core management class for gift features. <br>- Used to fetch gift lists, execute send requests, and listen for global gift events.</td>
|
|
77
|
-
</tr>
|
|
78
|
-
</table>
|
|
79
|
-
|
|
14
|
+
| **Core Concept** | **Type** | **Core Responsibilities & Description** |
|
|
15
|
+
| --- | --- | --- |
|
|
16
|
+
| `Gift` | `struct` | Represents a gift data model, including ID, name, icon URL, animation resource URL (resourceURL), price (coins), and more. |
|
|
17
|
+
| `GiftCategory` | `struct` | - Represents a grouping of gifts (e.g., "Popular", "Luxury").<br>- Contains a category name and an array of Gift objects. |
|
|
18
|
+
| `GiftState` | `struct` | - Represents the current state of the gift module.<br>- The core property, usableGifts, is a StateFlow containing the full gift list from the server. |
|
|
19
|
+
| `GiftEvent` | `enum` | Defines the event listener for gift events in the live room. Currently, only `onReceiveGift` is available. This event is broadcast to all users in the room (including the sender) whenever a gift is successfully sent. |
|
|
20
|
+
| `GiftStore` | `class` | - The core management class for gift features.<br>- Used to fetch gift lists, execute send requests, and listen for global gift events. |
|
|
80
21
|
|
|
81
22
|
## Implementation
|
|
82
23
|
|
|
83
24
|
### Step 1: Component Integration
|
|
84
25
|
|
|
85
26
|
> **Note:**
|
|
86
|
-
>
|
|
87
|
-
|
|
88
|
-
> 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.
|
|
89
|
-
>
|
|
27
|
+
>
|
|
90
28
|
|
|
91
|
-
|
|
29
|
+
> 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.
|
|
30
|
+
>
|
|
92
31
|
|
|
93
|
-
- **
|
|
32
|
+
- **Video Live Streaming**: Please refer to Quick Start to integrate AtomicXCore.
|
|
94
33
|
|
|
34
|
+
- **Voice Chat Room**: Please refer to Quick Start to integrate AtomicXCore.
|
|
95
35
|
|
|
96
36
|
### Step 2: Initialize and Listen for Gift Events
|
|
97
37
|
|
|
@@ -104,18 +44,17 @@ Obtain a `GiftStore` instance and set up subscribers to receive gift events and
|
|
|
104
44
|
|
|
105
45
|
3. **Subscribe to State**: Subscribe to `giftStore.state` to obtain the `usableGifts` gift list.
|
|
106
46
|
|
|
107
|
-
|
|
108
47
|
#### Code Example
|
|
109
48
|
``` swift
|
|
110
49
|
import Foundation
|
|
111
|
-
import AtomicXCore
|
|
112
|
-
import Combine
|
|
50
|
+
import AtomicXCore
|
|
51
|
+
import Combine
|
|
113
52
|
|
|
114
53
|
class GiftManager {
|
|
115
54
|
private let liveId: String
|
|
116
55
|
private let giftStore: GiftStore
|
|
117
56
|
private var cancellables = Set<AnyCancellable>()
|
|
118
|
-
|
|
57
|
+
|
|
119
58
|
// Expose gift events for the UI layer to subscribe and trigger animations
|
|
120
59
|
let giftEventPublisher = PassthroughSubject<GiftEvent, Never>()
|
|
121
60
|
// Expose gift list externally
|
|
@@ -125,7 +64,7 @@ class GiftManager {
|
|
|
125
64
|
self.liveId = liveId
|
|
126
65
|
// 1. Obtain GiftStore instance using liveId
|
|
127
66
|
self.giftStore = GiftStore.create(liveID: liveId)
|
|
128
|
-
|
|
67
|
+
|
|
129
68
|
subscribeToGiftState()
|
|
130
69
|
subscribeToGiftEvents()
|
|
131
70
|
}
|
|
@@ -140,7 +79,7 @@ class GiftManager {
|
|
|
140
79
|
}
|
|
141
80
|
.store(in: &cancellables)
|
|
142
81
|
}
|
|
143
|
-
|
|
82
|
+
|
|
144
83
|
/// 3. Subscribe to gift list state
|
|
145
84
|
private func subscribeToGiftState() {
|
|
146
85
|
giftStore.state
|
|
@@ -155,132 +94,26 @@ class GiftManager {
|
|
|
155
94
|
#### Gift List Struct Parameters
|
|
156
95
|
- **GiftCategory Parameter Description**
|
|
157
96
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
</tr>
|
|
166
|
-
|
|
167
|
-
<tr>
|
|
168
|
-
<td rowspan="1" colSpan="1" >`categoryID`</td>
|
|
169
|
-
|
|
170
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
171
|
-
|
|
172
|
-
<td rowspan="1" colSpan="1" >Unique ID of the gift category.</td>
|
|
173
|
-
</tr>
|
|
174
|
-
|
|
175
|
-
<tr>
|
|
176
|
-
<td rowspan="1" colSpan="1" >`name`</td>
|
|
177
|
-
|
|
178
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
179
|
-
|
|
180
|
-
<td rowspan="1" colSpan="1" >Display name of the gift category.</td>
|
|
181
|
-
</tr>
|
|
182
|
-
|
|
183
|
-
<tr>
|
|
184
|
-
<td rowspan="1" colSpan="1" >`desc`</td>
|
|
185
|
-
|
|
186
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
187
|
-
|
|
188
|
-
<td rowspan="1" colSpan="1" >Description of the gift category.</td>
|
|
189
|
-
</tr>
|
|
190
|
-
|
|
191
|
-
<tr>
|
|
192
|
-
<td rowspan="1" colSpan="1" >`extensionInfo`</td>
|
|
193
|
-
|
|
194
|
-
<td rowspan="1" colSpan="1" >`[String: String]`</td>
|
|
195
|
-
|
|
196
|
-
<td rowspan="1" colSpan="1" >Extension information field.</td>
|
|
197
|
-
</tr>
|
|
198
|
-
|
|
199
|
-
<tr>
|
|
200
|
-
<td rowspan="1" colSpan="1" >`giftList`</td>
|
|
201
|
-
|
|
202
|
-
<td rowspan="1" colSpan="1" >`[`[Gift](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/gift)`]`</td>
|
|
203
|
-
|
|
204
|
-
<td rowspan="1" colSpan="1" >Array of Gift objects contained in this category.</td>
|
|
205
|
-
</tr>
|
|
206
|
-
</table>
|
|
97
|
+
| **Parameter** | **Type** | **Description** |
|
|
98
|
+
| --- | --- | --- |
|
|
99
|
+
| `categoryID` | `String` | Unique ID of the gift category. |
|
|
100
|
+
| `name` | `String` | Display name of the gift category. |
|
|
101
|
+
| `desc` | `String` | Description of the gift category. |
|
|
102
|
+
| `extensionInfo` | `[String: String]` | Extension information field. |
|
|
103
|
+
| `giftList` | `[`[Gift](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/gift)`]` | Array of Gift objects contained in this category. |
|
|
207
104
|
|
|
208
105
|
- **Gift Parameter Description**
|
|
209
106
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
<td rowspan="1" colSpan="1" >`giftID`</td>
|
|
221
|
-
|
|
222
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
223
|
-
|
|
224
|
-
<td rowspan="1" colSpan="1" >Unique ID of the gift.</td>
|
|
225
|
-
</tr>
|
|
226
|
-
|
|
227
|
-
<tr>
|
|
228
|
-
<td rowspan="1" colSpan="1" >`name`</td>
|
|
229
|
-
|
|
230
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
231
|
-
|
|
232
|
-
<td rowspan="1" colSpan="1" >Display name of the gift.</td>
|
|
233
|
-
</tr>
|
|
234
|
-
|
|
235
|
-
<tr>
|
|
236
|
-
<td rowspan="1" colSpan="1" >`desc`</td>
|
|
237
|
-
|
|
238
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
239
|
-
|
|
240
|
-
<td rowspan="1" colSpan="1" >Description of the gift.</td>
|
|
241
|
-
</tr>
|
|
242
|
-
|
|
243
|
-
<tr>
|
|
244
|
-
<td rowspan="1" colSpan="1" >`iconURL`</td>
|
|
245
|
-
|
|
246
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
247
|
-
|
|
248
|
-
<td rowspan="1" colSpan="1" >Gift icon URL.</td>
|
|
249
|
-
</tr>
|
|
250
|
-
|
|
251
|
-
<tr>
|
|
252
|
-
<td rowspan="1" colSpan="1" >`resourceURL`</td>
|
|
253
|
-
|
|
254
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
255
|
-
|
|
256
|
-
<td rowspan="1" colSpan="1" >Gift animation resource URL.</td>
|
|
257
|
-
</tr>
|
|
258
|
-
|
|
259
|
-
<tr>
|
|
260
|
-
<td rowspan="1" colSpan="1" >`level`</td>
|
|
261
|
-
|
|
262
|
-
<td rowspan="1" colSpan="1" >`UInt`</td>
|
|
263
|
-
|
|
264
|
-
<td rowspan="1" colSpan="1" >Gift level.</td>
|
|
265
|
-
</tr>
|
|
266
|
-
|
|
267
|
-
<tr>
|
|
268
|
-
<td rowspan="1" colSpan="1" >`coins`</td>
|
|
269
|
-
|
|
270
|
-
<td rowspan="1" colSpan="1" >`UInt`</td>
|
|
271
|
-
|
|
272
|
-
<td rowspan="1" colSpan="1" >Gift price.</td>
|
|
273
|
-
</tr>
|
|
274
|
-
|
|
275
|
-
<tr>
|
|
276
|
-
<td rowspan="1" colSpan="1" >`extensionInfo`</td>
|
|
277
|
-
|
|
278
|
-
<td rowspan="1" colSpan="1" >`[String: String]`</td>
|
|
279
|
-
|
|
280
|
-
<td rowspan="1" colSpan="1" >Extension information field.</td>
|
|
281
|
-
</tr>
|
|
282
|
-
</table>
|
|
283
|
-
|
|
107
|
+
| **Parameter** | **Type** | **Description** |
|
|
108
|
+
| --- | --- | --- |
|
|
109
|
+
| `giftID` | `String` | Unique ID of the gift. |
|
|
110
|
+
| `name` | `String` | Display name of the gift. |
|
|
111
|
+
| `desc` | `String` | Description of the gift. |
|
|
112
|
+
| `iconURL` | `String` | Gift icon URL. |
|
|
113
|
+
| `resourceURL` | `String` | Gift animation resource URL. |
|
|
114
|
+
| `level` | `UInt` | Gift level. |
|
|
115
|
+
| `coins` | `UInt` | Gift price. |
|
|
116
|
+
| `extensionInfo` | `[String: String]` | Extension information field. |
|
|
284
117
|
|
|
285
118
|
### Step 3: Retrieve Gift List
|
|
286
119
|
|
|
@@ -291,8 +124,7 @@ Call the `refreshUsableGifts` method to fetch gift data from the server.
|
|
|
291
124
|
|
|
292
125
|
2. **Handle Callback**: Handle the completion block for error checking.
|
|
293
126
|
|
|
294
|
-
3. **Receive Data**: Upon success, the data flows automatically through the giftListPublisher set up in
|
|
295
|
-
|
|
127
|
+
3. **Receive Data**: Upon success, the data flows automatically through the giftListPublisher set up in Step 2.
|
|
296
128
|
|
|
297
129
|
#### Code Example
|
|
298
130
|
``` swift
|
|
@@ -323,7 +155,6 @@ Trigger the sending logic when a user interacts with the gift panel.
|
|
|
323
155
|
|
|
324
156
|
3. **Handle Result**: Use the completion block only to handle failures (e.g., balance errors). Successful sends are handled via the global `.onReceiveGift` event listener to ensure consistency.
|
|
325
157
|
|
|
326
|
-
|
|
327
158
|
#### Code Example
|
|
328
159
|
``` swift
|
|
329
160
|
extension GiftManager {
|
|
@@ -344,40 +175,11 @@ extension GiftManager {
|
|
|
344
175
|
```
|
|
345
176
|
|
|
346
177
|
#### sendGift API Parameters
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
354
|
-
</tr>
|
|
355
|
-
|
|
356
|
-
<tr>
|
|
357
|
-
<td rowspan="1" colSpan="1" >`giftID`</td>
|
|
358
|
-
|
|
359
|
-
<td rowspan="1" colSpan="1" >`String`</td>
|
|
360
|
-
|
|
361
|
-
<td rowspan="1" colSpan="1" >The unique ID of the gift to send.</td>
|
|
362
|
-
</tr>
|
|
363
|
-
|
|
364
|
-
<tr>
|
|
365
|
-
<td rowspan="1" colSpan="1" >`count`</td>
|
|
366
|
-
|
|
367
|
-
<td rowspan="1" colSpan="1" >`UInt`</td>
|
|
368
|
-
|
|
369
|
-
<td rowspan="1" colSpan="1" >The number of gifts to send.</td>
|
|
370
|
-
</tr>
|
|
371
|
-
|
|
372
|
-
<tr>
|
|
373
|
-
<td rowspan="1" colSpan="1" >`completion`</td>
|
|
374
|
-
|
|
375
|
-
<td rowspan="1" colSpan="1" >`CompletionClosure?`</td>
|
|
376
|
-
|
|
377
|
-
<td rowspan="1" colSpan="1" >Callback after sending is complete.</td>
|
|
378
|
-
</tr>
|
|
379
|
-
</table>
|
|
380
|
-
|
|
178
|
+
| **Parameter Name** | **Type** | **Description** |
|
|
179
|
+
| --- | --- | --- |
|
|
180
|
+
| `giftID` | `String` | The unique ID of the gift to send. |
|
|
181
|
+
| `count` | `UInt` | The number of gifts to send. |
|
|
182
|
+
| `completion` | `CompletionClosure?` | Callback after sending is complete. |
|
|
381
183
|
|
|
382
184
|
## Advanced Features
|
|
383
185
|
|
|
@@ -388,134 +190,39 @@ The `GiftStore` module is designed to work seamlessly with your backend infrastr
|
|
|
388
190
|
You can fully customize your gift inventory (names, icons, prices, animations) to match your branding.
|
|
389
191
|
|
|
390
192
|
#### Implementation
|
|
391
|
-
1. **Server-Side Configuration**: Use the LiveKit server REST API to manage gift information, categories, and multi-language support. See the
|
|
193
|
+
1. **Server-Side Configuration**: Use the LiveKit server REST API to manage gift information, categories, and multi-language support. See the Gift Configuration Guide.
|
|
392
194
|
|
|
393
195
|
2. **Client Fetch**: On the client, call `refreshUsableGifts` to retrieve configuration data.
|
|
394
196
|
|
|
395
197
|
3. **UI Display**: Use the retrieved `List<GiftCategory>` to render the gift panel.
|
|
396
198
|
|
|
397
|
-
|
|
398
199
|
#### Configuration Sequence Diagram
|
|
399
200
|
|
|
400
|
-

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

|
|
530
|
-
|
|
531
|
-
|
|
532
235
|
#### Related REST API Interfaces Overview
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
<td rowspan="1" colSpan="1" >**Description**</td>
|
|
538
|
-
|
|
539
|
-
<td rowspan="1" colSpan="1" >**Request Example**</td>
|
|
540
|
-
</tr>
|
|
541
|
-
|
|
542
|
-
<tr>
|
|
543
|
-
<td rowspan="1" colSpan="1" >**Callback Configuration - Callback before sending a gift**</td>
|
|
544
|
-
|
|
545
|
-
<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>
|
|
546
|
-
|
|
547
|
-
<td rowspan="1" colSpan="1" >[Example](https://write.woa.com/document/183772991768039424)</td>
|
|
548
|
-
</tr>
|
|
549
|
-
</table>
|
|
550
|
-
|
|
236
|
+
| **Interface** | **Description** | **Request Example** |
|
|
237
|
+
| --- | --- | --- |
|
|
238
|
+
| **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 |
|
|
551
239
|
|
|
552
240
|
### Full-Screen Animation (SVGA Integration)
|
|
553
241
|
|
|
@@ -556,56 +244,13 @@ When a user sends a luxury gift (e.g., "Rocket", "Carnival"), play a full-screen
|
|
|
556
244
|
#### Implementation
|
|
557
245
|
|
|
558
246
|
**AtomicXCore** does not include a built-in gift animation player. Integrate a third-party library based on your requirements. Below is a comparison of two options:
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
</tr>
|
|
567
|
-
|
|
568
|
-
<tr>
|
|
569
|
-
<td rowspan="1" colSpan="1" >Billing</td>
|
|
570
|
-
|
|
571
|
-
<td rowspan="1" colSpan="1" >Free (open source)</td>
|
|
572
|
-
|
|
573
|
-
<td rowspan="1" colSpan="1" >Paid (License Required). See [Billing Guide](https://trtc.io/document/69949?product=beautyar&menulabel=core%20sdk&platform=android#X-Series-Capabilities)</td>
|
|
574
|
-
</tr>
|
|
575
|
-
|
|
576
|
-
<tr>
|
|
577
|
-
<td rowspan="1" colSpan="1" >Integration Method</td>
|
|
578
|
-
|
|
579
|
-
<td rowspan="1" colSpan="1" >Manual integration via Gradle</td>
|
|
580
|
-
|
|
581
|
-
<td rowspan="1" colSpan="1" >Requires additional integration and authentication</td>
|
|
582
|
-
</tr>
|
|
583
|
-
|
|
584
|
-
<tr>
|
|
585
|
-
<td rowspan="1" colSpan="1" > Formats</td>
|
|
586
|
-
|
|
587
|
-
<td rowspan="1" colSpan="1" >SVGA only</td>
|
|
588
|
-
|
|
589
|
-
<td rowspan="1" colSpan="1" >SVGA, PAG, WebP, Lottie, MP4, and more</td>
|
|
590
|
-
</tr>
|
|
591
|
-
|
|
592
|
-
<tr>
|
|
593
|
-
<td rowspan="1" colSpan="1" >Performance</td>
|
|
594
|
-
|
|
595
|
-
<td rowspan="1" colSpan="1" >Good for files < 10MB</td>
|
|
596
|
-
|
|
597
|
-
<td rowspan="1" colSpan="1" >Optimized for large assets & complex layering</td>
|
|
598
|
-
</tr>
|
|
599
|
-
|
|
600
|
-
<tr>
|
|
601
|
-
<td rowspan="1" colSpan="1" >Recommended Scenario</td>
|
|
602
|
-
|
|
603
|
-
<td rowspan="1" colSpan="1" >Uniform SVGA format, controllable file size</td>
|
|
604
|
-
|
|
605
|
-
<td rowspan="1" colSpan="1" >Multiple formats or higher performance/device compatibility needs</td>
|
|
606
|
-
</tr>
|
|
607
|
-
</table>
|
|
608
|
-
|
|
247
|
+
| **Comparison Item** | **Basic Solution (SVGAPlayer)** | **Gift AR (TCEffectPlayerKit)** |
|
|
248
|
+
| --- | --- | --- |
|
|
249
|
+
| Billing | Free (open source) | Paid (License Required). See [Billing Guide](https://trtc.io/document/69949?product=beautyar&menulabel=core%20sdk&platform=android#X-Series-Capabilities) |
|
|
250
|
+
| Integration Method | Manual integration via Gradle | Requires additional integration and authentication |
|
|
251
|
+
| Formats | SVGA only | SVGA, PAG, WebP, Lottie, MP4, and more |
|
|
252
|
+
| Performance | Good for files < 10MB | Optimized for large assets & complex layering |
|
|
253
|
+
| Recommended Scenario | Uniform SVGA format, controllable file size | Multiple formats or higher performance/device compatibility needs |
|
|
609
254
|
|
|
610
255
|
This section demonstrates the basic solution. For the **Gift AR**, see the [TCEffectPlayer Integration Guide](https://trtc.io/document/70537?product=beautyar&menulabel=core%20sdk&platform=ios).
|
|
611
256
|
|
|
@@ -622,11 +267,10 @@ This section demonstrates the basic solution. For the **Gift AR**, see the [TCEf
|
|
|
622
267
|
|
|
623
268
|
3. **Parse and Play**: When receiving an `.onReceiveGift` event, check if `gift.resourceURL` is valid and points to an SVGA file. If so, use `SVGAParser` to parse the URL and pass the parsed `SVGAVideoEntity` to the `SVGAPlayer` instance for playback.
|
|
624
269
|
|
|
625
|
-
|
|
626
270
|
#### Code Example
|
|
627
271
|
``` swift
|
|
628
272
|
import UIKit
|
|
629
|
-
import AtomicXCore
|
|
273
|
+
import AtomicXCore
|
|
630
274
|
import Combine
|
|
631
275
|
import SVGAPlayer // 1. Import
|
|
632
276
|
|
|
@@ -697,7 +341,6 @@ Enhance social interaction by displaying a system notification in the public bar
|
|
|
697
341
|
|
|
698
342
|
5. **Insert Locally**: Call `barrageStore.appendLocalTip(message: giftTip)` to insert the message into the local list.
|
|
699
343
|
|
|
700
|
-
|
|
701
344
|
#### Code Example
|
|
702
345
|
``` swift
|
|
703
346
|
// In LiveRoomManager or a similar top-level manager
|
|
@@ -713,7 +356,7 @@ private func setupGiftToBarrageFlow() {
|
|
|
713
356
|
// 4. Compose message
|
|
714
357
|
let tipText = "\(sender.userName) sent \(gift.name) x \(count)"
|
|
715
358
|
var giftTip = Barrage()
|
|
716
|
-
giftTip.messageType = .text
|
|
359
|
+
giftTip.messageType = .text
|
|
717
360
|
giftTip.textContent = tipText
|
|
718
361
|
// Optional: set a special sender
|
|
719
362
|
|
|
@@ -727,32 +370,10 @@ private func setupGiftToBarrageFlow() {
|
|
|
727
370
|
## API Documentation
|
|
728
371
|
|
|
729
372
|
For complete details on all public interfaces, properties, and methods of [GiftStore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore) and related classes, see the official API documentation for [AtomicXCore](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore). Key stores referenced in this guide include:
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
<td rowspan="1" colSpan="1" >**Feature Description**</td>
|
|
735
|
-
|
|
736
|
-
<td rowspan="1" colSpan="1" >**API Documentation**</td>
|
|
737
|
-
</tr>
|
|
738
|
-
|
|
739
|
-
<tr>
|
|
740
|
-
<td rowspan="1" colSpan="1" >GiftStore</td>
|
|
741
|
-
|
|
742
|
-
<td rowspan="1" colSpan="1" >Fetch gift list, send/receive gifts, listen for gift events (including sender and gift details).</td>
|
|
743
|
-
|
|
744
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore)</td>
|
|
745
|
-
</tr>
|
|
746
|
-
|
|
747
|
-
<tr>
|
|
748
|
-
<td rowspan="1" colSpan="1" >BarrageStore</td>
|
|
749
|
-
|
|
750
|
-
<td rowspan="1" colSpan="1" >Send text/custom barrage, maintain barrage list, listen to barrage status in real time.</td>
|
|
751
|
-
|
|
752
|
-
<td rowspan="1" colSpan="1" >[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore)</td>
|
|
753
|
-
</tr>
|
|
754
|
-
</table>
|
|
755
|
-
|
|
373
|
+
| **Store/Component** | **Feature Description** | **API Documentation** |
|
|
374
|
+
| --- | --- | --- |
|
|
375
|
+
| GiftStore | Fetch gift list, send/receive gifts, listen for gift events (including sender and gift details). | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/giftstore) |
|
|
376
|
+
| BarrageStore | Send text/custom barrage, maintain barrage list, listen to barrage status in real time. | [API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/barragestore) |
|
|
756
377
|
|
|
757
378
|
## FAQs
|
|
758
379
|
|
|
@@ -769,7 +390,6 @@ Use the `GiftStore.setLanguage(language: String)` API before calling `refreshUsa
|
|
|
769
390
|
The `onReceiveGift` event is broadcast to all room members, including the sender. If you update the UI both in the sendGift completion callback and in the `onReceiveGift` event, the animation will play twice.
|
|
770
391
|
- **Best Practice**: Only update the UI (e.g., play animations, show barrage) in the `onReceiveGift` event handler. Use the `sendGift` completion callback only for handling failures (such as "Send failed" or "Insufficient balance").
|
|
771
392
|
|
|
772
|
-
|
|
773
393
|
### Where is the gift deduction logic implemented?
|
|
774
394
|
|
|
775
395
|
Gift deduction is handled entirely by your billing system. AtomicXCore integrates with your billing system via a backend callback. When the client calls `sendGift`, your backend performs the deduction. After returning the result to the AtomicXCore backend, it determines whether to broadcast the gift event.
|
|
@@ -780,4 +400,4 @@ No. Gift notifications (`onReceiveGift` events) are not affected by mute or freq
|
|
|
780
400
|
|
|
781
401
|
### What should I do if gift animation playback stutters?
|
|
782
402
|
|
|
783
|
-
Check your SVGA file size; the basic player recommends files no larger than 10MB. For large or complex animations, consider integrating the **Gift AR** provided by TUILiveKit for improved performance.
|
|
403
|
+
Check your SVGA file size; the basic player recommends files no larger than 10MB. For large or complex animations, consider integrating the **Gift AR** provided by TUILiveKit for improved performance.
|