@tencent-rtc/mcp 1.6.4 → 1.6.5
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/knowledge/chunker.js +83 -54
- package/knowledge/path-meta.js +179 -26
- package/knowledge/search/exact-lookup.js +153 -0
- package/knowledge/search/filter-pool.js +73 -19
- package/knowledge/search/product-scope-intent.js +2 -2
- package/knowledge/search/requires-framework.js +2 -2
- package/knowledge/search/search-knowledge.js +235 -58
- package/package.json +1 -1
- package/resource/index/manifest.json +1 -1
- package/resource/integration/callkit/preset/android/integration.md +2 -4
- package/resource/integration/callkit/preset/flutter/integration.md +4 -5
- package/resource/integration/callkit/preset/ios/integration.md +1 -4
- package/resource/integration/callkit/preset/react/integration.md +13 -20
- package/resource/integration/callkit/preset/vue/integration.md +14 -21
- package/resource/integration/chat/preset/android/integration.md +6 -9
- package/resource/integration/chat/preset/flutter/integration.md +9 -12
- package/resource/integration/chat/preset/ios/integration.md +2 -4
- package/resource/integration/chat/preset/react/integration.md +0 -10
- package/resource/integration/livekit/preset/live/android/live-audience-integration.md +129 -0
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +219 -0
- package/resource/integration/livekit/preset/live/android/live-list-integration.md +261 -0
- package/resource/integration/livekit/preset/live/android/prepare-integration.md +254 -0
- package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +202 -0
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +369 -0
- package/resource/integration/livekit/preset/live/ios/live-list-integration.md +229 -0
- package/resource/integration/livekit/preset/live/ios/prepare-integration.md +204 -0
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -3
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +0 -5
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +0 -6
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +5 -10
- package/resource/integration/roomkit/preset/vue/integration.md +0 -4
- package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
- package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +24 -0
- package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +7 -8
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +5 -7
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +3 -5
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -6
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -6
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +4 -9
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1 -4
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +8 -11
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +17 -23
- package/resource/knowledge/callkit/core-sdk/web/call-engine.md +33 -0
- package/resource/knowledge/callkit/core-sdk/web/call-event.md +327 -0
- package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +33 -0
- package/resource/knowledge/callkit/faq/android.md +0 -2
- package/resource/knowledge/callkit/faq/error-code.md +0 -2
- package/resource/knowledge/callkit/faq/flutter.md +2 -2
- package/resource/knowledge/callkit/faq/ios.md +3 -5
- package/resource/knowledge/callkit/faq/web.md +2 -3
- package/resource/knowledge/callkit/preset/android/api.md +2 -5
- package/resource/knowledge/callkit/preset/ios/api.md +0 -2
- package/resource/knowledge/callkit/preset/react/api.md +445 -0
- package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +445 -0
- package/resource/knowledge/callkit/preset/vue/api.md +465 -0
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +465 -0
- package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -1
- package/resource/knowledge/chat/preset/android/features/language.md +0 -1
- package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
- package/resource/knowledge/chat/preset/android/features/message-list.md +2 -3
- package/resource/knowledge/chat/preset/android/features/search.md +0 -1
- package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
- package/resource/knowledge/chat/preset/android-view/integration.md +3 -11
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -2
- package/resource/knowledge/chat/preset/flutter/features/search.md +5 -6
- package/resource/knowledge/chat/preset/flutter/features/theme.md +2 -2
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -2
- package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -2
- package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +13 -15
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +5 -5
- package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
- package/resource/knowledge/chat/preset/react/features/search.md +0 -1
- package/resource/knowledge/chat/preset/react/features/theme.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +7 -14
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +5 -8
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +15 -18
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +1 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +15 -20
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +10 -13
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +4 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +1 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +8 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +5 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +7 -14
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +6 -9
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +1 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +15 -18
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +15 -20
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +10 -13
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +4 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +1 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +8 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +3 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +7 -14
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +5 -8
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +1 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +6 -9
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +5 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +3 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +4 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +1 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +4 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +3 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +24 -24
- package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +1 -2
- package/resource/knowledge/livekit/core-sdk/{live/android/live-gift.md → features/android/gift.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/{voice/android/voice-room-list.md → features/android/live-list.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
- package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/{live/flutter/live-gift.md → features/flutter/gift.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -2
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
- package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-gift.md → features/ios/gift.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-room-list.md → features/ios/live-list.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -1
- package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +5 -7
- package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +3 -6
- package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +0 -2
- package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -4
- package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -1
- package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +2 -5
- package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +3 -5
- package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +3 -6
- package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +1 -2
- package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +6 -9
- package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +4 -6
- package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +1 -4
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +0 -2
- package/resource/knowledge/push/api-reference/android.md +123 -0
- package/resource/knowledge/push/api-reference/flutter.md +176 -0
- package/resource/knowledge/push/api-reference/harmonyos.md +138 -0
- package/resource/knowledge/push/api-reference/ios.md +176 -0
- package/resource/knowledge/push/api-reference/react-native.md +147 -0
- package/resource/knowledge/push/api-reference/uni-app.md +147 -0
- package/resource/knowledge/push/api-reference/unity.md +119 -0
- package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
- package/resource/knowledge/push/config/android.md +4 -7
- package/resource/knowledge/push/config/harmonyos.md +0 -3
- package/resource/knowledge/push/config/ios.md +12 -20
- package/resource/knowledge/push/config/react-native.md +18 -26
- package/resource/knowledge/push/config/unity.md +20 -28
- package/resource/knowledge/push/config/unreal-engine.md +21 -29
- package/resource/knowledge/push/integration/android.md +6 -8
- package/resource/knowledge/push/integration/flutter.md +6 -9
- package/resource/knowledge/push/integration/harmonyos.md +1 -0
- package/resource/knowledge/push/integration/ios.md +7 -9
- package/resource/knowledge/push/integration/react-native.md +9 -13
- package/resource/knowledge/push/integration/uni-app.md +7 -7
- package/resource/knowledge/push/integration/unity.md +10 -13
- package/resource/knowledge/push/integration/unreal-engine.md +6 -9
- package/resource/knowledge/push/overview/prepare.md +2 -2
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +3 -3
- package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +2 -2
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +6 -6
- package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +79 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +79 -0
- package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +79 -0
- package/resource/knowledge/roomkit/preset/android/integration.md +5 -7
- package/resource/knowledge/roomkit/preset/flutter/integration.md +2 -7
- package/resource/knowledge/roomkit/preset/ios/integration.md +3 -9
- package/resource/knowledge/roomkit/preset/react/integration.md +12 -16
- package/resource/knowledge/trtc/android/TRTCCloud.md +154 -238
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +133 -134
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +86 -120
- package/resource/knowledge/trtc/android/TRTCStatistics.md +10 -10
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +10 -30
- package/resource/knowledge/trtc/android/TXBeautyManager.md +25 -25
- package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +12 -12
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +166 -261
- package/resource/knowledge/trtc/c++/ITRTCStatistics.md +12 -12
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +10 -30
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +9 -11
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +96 -130
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +122 -123
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +12 -12
- package/resource/knowledge/trtc/ios/TRTCCloud.md +168 -255
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +124 -125
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +89 -124
- package/resource/knowledge/trtc/ios/TRTCStatistics.md +10 -10
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +9 -28
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +25 -25
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +9 -11
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +12 -12
- package/server.js +21 -21
- package/tools/common/finalize_answer.js +1 -1
- package/tools/common/present_framework_choice.js +2 -2
- package/tools/common/search_trtc_knowledge.js +3 -3
- package/tools/common/submit_feedback.js +1 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +61 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +3 -3
- package/tools/definitions/present_framework_choice_def.js +2 -2
- package/tools/definitions/search_trtc_knowledge_def.js +5 -5
- package/tools/index.js +2 -0
- package/tools/live/get_native_live_uikit_integration.js +69 -0
- package/tools/live/get_native_livekit_core_integration.js +6 -6
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/knowledge/callkit/preset/web/api.md +0 -83
- package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -226
- package/resource/knowledge/livekit/core-sdk/live/android/live-live-list.md +0 -438
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -490
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
- package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -264
- package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -216
- package/resource/knowledge/livekit/core-sdk/live/ios/live-gift.md +0 -407
- package/resource/knowledge/livekit/core-sdk/live/ios/live-live-list.md +0 -349
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -269
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -456
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-gift.md +0 -455
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -260
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -598
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +0 -424
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-barrage.md +0 -408
- /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/ios/live-barrage.md → features/ios/barrage.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -0
|
@@ -478,8 +478,8 @@ No. The internal logic of `AtomicXCore` ensures that as long as you use the same
|
|
|
478
478
|
|
|
479
479
|
`AtomicXCore` supports pulling history live comments, but this requires you to perform one simple configuration in the **server console**. Once configured, the SDK will automatically handle everything subsequently with no need to write additional code.
|
|
480
480
|
|
|
481
|
-
#### **Step 1
|
|
482
|
-
1. Log in to the
|
|
481
|
+
#### **Step 1:** Configure in the Live Console
|
|
482
|
+
1. Log in to the [**console > Live > Configuration**](https://console.trtc.io/live/configuration), and select the target application at the **top**.
|
|
483
483
|
|
|
484
484
|
2. On the Live configuration page, select **new member pull historical messages**, modify **new member viewable latest message count**, supports a maximum of **50**.
|
|
485
485
|
|
package/resource/knowledge/livekit/core-sdk/{live/flutter/live-gift.md → features/flutter/gift.md}
RENAMED
|
@@ -29,8 +29,7 @@ Before starting integration, let's learn about several core concepts related to
|
|
|
29
29
|
|
|
30
30
|
> **Note:**
|
|
31
31
|
>
|
|
32
|
-
|
|
33
|
-
> To use the gifting system, activate either the **Free Trial,** or **Pro **edition. The number of configurable gifts depends on the selected package. For details, see the **Gift System** section in Feature and Billing Description and choose the package that fits your needs.
|
|
32
|
+
> 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.
|
|
34
33
|
>
|
|
35
34
|
|
|
36
35
|
- **Live streaming**: Refer to Quick Integration for seamless integration with **AtomicXCore**.
|
|
@@ -186,7 +185,7 @@ extension GiftManagerSend on GiftManager {
|
|
|
186
185
|
|
|
187
186
|
`GiftStore` feature heavily depends on your business backend service. This chapter will guide you on how to build a feature-rich, outstanding experience interactive system through server configuration and client implementation.
|
|
188
187
|
|
|
189
|
-
### **Gift
|
|
188
|
+
### **Gift** Asset Configuration
|
|
190
189
|
|
|
191
190
|
Customize your live room's available gifts, categories, names, icons, prices, and animation effects to fit your operational and branding needs.
|
|
192
191
|
1. **Server-Side Configuration**: Use the LiveKit server REST API to manage gift information, categories, and multi-language support. See the Gift Configuration Guide.
|
|
@@ -715,7 +715,7 @@ For detailed information about all public interfaces, properties and methods of
|
|
|
715
715
|
To ensure system stability and efficiency, the usage of `metaData` follows the following rules:
|
|
716
716
|
- **Permission**: Only the room owner and admin can call the API `updateLiveMetaData`. General audience has no permission.
|
|
717
717
|
|
|
718
|
-
- **Quantity and size limit
|
|
718
|
+
- **Quantity and size limit:**
|
|
719
719
|
|
|
720
720
|
- A single room supports up to **10** keys.
|
|
721
721
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
| --- | --- | --- |
|
|
17
17
|
| <code>LiveUserInfo</code> | <code>class</code> | - Data model representing a viewer.<br>- Contains basic profile information such as userID, userName, and avatarURL. |
|
|
18
18
|
| <code>LiveAudienceState</code> | <code>struct</code> | - State container for the audience module.<br>- Exposes <code>audienceList</code> (StateFlow) for the real-time user list and <code>audienceCount</code> for the total viewer count. |
|
|
19
|
-
| <code>LiveAudienceEvent</code> | <code>enum</code> | - Event listener for audience changes.<br>- Provides callbacks like <code>.onAudienceJoined</code> and<code
|
|
19
|
+
| <code>LiveAudienceEvent</code> | <code>enum</code> | - Event listener for audience changes.<br>- Provides callbacks like <code>.onAudienceJoined</code> and <code>.onAudienceLeft</code> to handle incremental list updates. |
|
|
20
20
|
| <code>LiveAudienceStore</code> | <code>class</code> | - Primary interface for audience management.<br>- Used to fetch list snapshots, perform admin operations (e.g., kicking users), and subscribe to real-time events. |
|
|
21
21
|
|
|
22
22
|
## Implementation
|
|
@@ -255,7 +255,6 @@ The `audienceCount` is a high-precision estimate. Updates occur based on specifi
|
|
|
255
255
|
|
|
256
256
|
> **Note:**
|
|
257
257
|
>
|
|
258
|
-
|
|
259
258
|
> During high-traffic spikes (e.g., chat floods or rapid gifting), if the message rate exceeds this threshold, the system prioritizes core messages (like chat/barrage). Consequently, audience count update messages may be dropped to maintain stability.
|
|
260
259
|
>
|
|
261
260
|
|
|
@@ -47,7 +47,6 @@ In-ear monitoring allows users to hear their microphone audio in real time. Mana
|
|
|
47
47
|
|
|
48
48
|
> **Note:**
|
|
49
49
|
>
|
|
50
|
-
|
|
51
50
|
> In-ear monitoring typically requires headphones to function properly.
|
|
52
51
|
>
|
|
53
52
|
|
|
@@ -140,7 +139,7 @@ audioEffectStore.setAudioChangerType(type: .none)
|
|
|
140
139
|
|
|
141
140
|
### Step 6: Implement Reverb Effects
|
|
142
141
|
|
|
143
|
-
To apply a reverb effect, call the `setAudioReverbType(type:)
|
|
142
|
+
To apply a reverb effect, call the `setAudioReverbType(type:)` method and pass the desired enum value.
|
|
144
143
|
``` swift
|
|
145
144
|
// Set reverb effect to "KTV"
|
|
146
145
|
audioEffectStore.setAudioReverbType(type: .ktv)
|
|
@@ -158,7 +157,6 @@ audioEffectStore.setAudioReverbType(type: .none)
|
|
|
158
157
|
|
|
159
158
|
> **Note:**
|
|
160
159
|
>
|
|
161
|
-
|
|
162
160
|
> AudioEffectStore and DeviceStore are singletons, so audio effect and device settings apply globally. To prevent settings from one live room affecting others, reset the audio effect and device settings when the current live room ends.
|
|
163
161
|
>
|
|
164
162
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
- **Rosy Cheeks**: Configure rosy intensity (0–9).
|
|
9
9
|
|
|
10
|
-
- **Effect Reset
|
|
10
|
+
- **Effect Reset:** Instantly restore all beautification parameters to default.
|
|
11
11
|
|
|
12
12
|
- **State Monitoring:** Real-time access to currently applied beautification settings.
|
|
13
13
|
|
|
@@ -128,7 +128,7 @@ AtomicXCore also provides advanced beautification features for more demanding sc
|
|
|
128
128
|
|---------|---------|---------|
|
|
129
129
|
|Core Features|Smoothing, Whitening, Rosy|Includes all basic features, plus V-shape face, eye distance adjustment, nose slimming, 3D stickers, filters, makeup, and more|
|
|
130
130
|
|Pricing|Free (included in AtomicXCore license)|Paid (Requires separate license)|
|
|
131
|
-
|Integration|Built-in by default; use `BaseBeautyStore.shared()
|
|
131
|
+
|Integration|Built-in by default; use `BaseBeautyStore.shared()` directly|Requires additional integration of the TEBeautyKit component and authentication|
|
|
132
132
|
|Recommended Scenarios|Scenarios with basic beautification needs and rapid implementation requirements|Scenarios requiring advanced beautification, shaping, stickers, filters, and other premium features|
|
|
133
133
|
|
|
134
134
|
### Integrating Advanced Beautification
|
package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-gift.md → features/ios/gift.md}
RENAMED
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
> **Note:**
|
|
28
28
|
>
|
|
29
|
-
|
|
30
|
-
> 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.
|
|
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.
|
|
31
30
|
>
|
|
32
31
|
|
|
33
32
|
- **Video Live Streaming**: Please refer to Quick Start to integrate AtomicXCore.
|
|
@@ -336,7 +335,7 @@ Enhance social interaction by displaying a system notification in the public bar
|
|
|
336
335
|
#### Implementation
|
|
337
336
|
1. **Listen for Events**: Subscribe to `giftStore.giftEventPublisher`.
|
|
338
337
|
|
|
339
|
-
2. **Extract Information**: After receiving the
|
|
338
|
+
2. **Extract Information**: After receiving the `.onReceiveGift` event, extract the sender, gift, and count.
|
|
340
339
|
|
|
341
340
|
3. **Get Barrage Store**: Use `BarrageStore.create(liveID:)` to get the instance bound to the current room.
|
|
342
341
|
|
|
@@ -215,8 +215,7 @@ Users can switch between live rooms by swiping up or down. When a new live room
|
|
|
215
215
|
|
|
216
216
|
> **Note:**
|
|
217
217
|
>
|
|
218
|
-
|
|
219
|
-
> **Swipe-to-Play **is currently only supported for Video Live Streaming.
|
|
218
|
+
> **Swipe-to-Play** is currently only supported for Video Live Streaming.
|
|
220
219
|
>
|
|
221
220
|
|
|
222
221
|
#### Interaction Flow
|
|
@@ -332,11 +331,10 @@ This template ID defines the room layout. For supported template IDs and effects
|
|
|
332
331
|
|
|
333
332
|
> **Note:**
|
|
334
333
|
>
|
|
335
|
-
|
|
336
334
|
> If the seatLayoutTemplateID does not match your business scenario (voice chat room or video live room), seat layout features may not work as expected.
|
|
337
335
|
>
|
|
338
336
|
|
|
339
|
-
**Approach 2
|
|
337
|
+
**Approach 2:** **Add a business prefix to** `liveID`**.**
|
|
340
338
|
|
|
341
339
|
This is an optional, application-layer convention to help you filter rooms quickly.
|
|
342
340
|
|
|
@@ -334,7 +334,6 @@ Use the "slot" feature provided by the `VideoViewAdapter` interface to add custo
|
|
|
334
334
|
|
|
335
335
|
> **Note:**
|
|
336
336
|
>
|
|
337
|
-
|
|
338
337
|
> You can also refer to the [widgets](https://github.com/Tencent-RTC/TUIKit_Android/tree/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/audienceview/view/coguest/widgets) directory in the open-source TUILiveKit project for a complete implementation.
|
|
339
338
|
>
|
|
340
339
|
|
|
@@ -244,7 +244,7 @@ After the PK session, end the PK and disconnect co-hosting in sequence.
|
|
|
244
244
|
|
|
245
245
|
PK typically ends automatically when the timer expires, but hosts can also end PK early. Use `exitBattle`:
|
|
246
246
|
|
|
247
|
-
> **Note
|
|
247
|
+
> **Note:**After PK ends, both hosts remain connected (side-by-side video streams). Only the PK progress bar and score panel are removed.
|
|
248
248
|
>
|
|
249
249
|
|
|
250
250
|
``` java
|
|
@@ -316,7 +316,6 @@ Use the slot capability in the `VideoViewAdapter` interface to overlay custom vi
|
|
|
316
316
|
|
|
317
317
|
> **Note:**
|
|
318
318
|
>
|
|
319
|
-
|
|
320
319
|
> For a complete implementation, refer to the [widgets](https://github.com/Tencent-RTC/TUIKit_Android/tree/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/anchorview/view/cohost/widgets) directory in the open-source TUILiveKit project.
|
|
321
320
|
>
|
|
322
321
|
|
|
@@ -351,7 +350,7 @@ Use the slot capability in the `VideoViewAdapter` interface to overlay custom vi
|
|
|
351
350
|
}
|
|
352
351
|
}
|
|
353
352
|
```
|
|
354
|
-
- **Step 2**: Create a background view `CustomAvatarView
|
|
353
|
+
- **Step 2**: Create a background view `CustomAvatarView` to serve as a placeholder when the user has no video stream.
|
|
355
354
|
|
|
356
355
|
``` kotlin
|
|
357
356
|
import com.tencent.cloud.tuikit.engine.room.TUIRoomDefine
|
|
@@ -519,7 +518,7 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
519
518
|
}
|
|
520
519
|
}
|
|
521
520
|
```
|
|
522
|
-
- **Step 2**: Implement the `VideoViewAdapter.createBattleView
|
|
521
|
+
- **Step 2**: Implement the `VideoViewAdapter.createBattleView` method.
|
|
523
522
|
|
|
524
523
|
``` kotlin
|
|
525
524
|
// 1. Have your Activity implement the VideoViewAdapter interface
|
|
@@ -552,7 +551,7 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
552
551
|
#### Implementation
|
|
553
552
|
- **Step 1**: Create a custom PK global view (CustomBattleContainerView). For a complete implementation, see [BattleInfoView.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/anchorview/view/battle/widgets/BattleInfoView.kt) in the open-source TUILiveKit project.
|
|
554
553
|
|
|
555
|
-
- **Step 2**: Implement the `VideoViewAdapter.createBattleContainerView
|
|
554
|
+
- **Step 2**: Implement the `VideoViewAdapter.createBattleContainerView` method.
|
|
556
555
|
|
|
557
556
|
``` kotlin
|
|
558
557
|
// Have your Activity implement the VideoViewAdapter interface and set the adapter
|
|
@@ -567,11 +566,10 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
567
566
|
|
|
568
567
|
### Updating PK Score via REST API
|
|
569
568
|
|
|
570
|
-
In typical**
|
|
569
|
+
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our REST API.
|
|
571
570
|
|
|
572
571
|
> **Note:**
|
|
573
572
|
>
|
|
574
|
-
|
|
575
573
|
> The PK score system in the `LiveKit` backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
576
574
|
>
|
|
577
575
|
|
package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md}
RENAMED
|
@@ -24,11 +24,11 @@ See Activate Service to obtain either the trial or paid version of the SDK.Then,
|
|
|
24
24
|
|
|
25
25
|
### Step 2: Import AtomicXCore into Your Project
|
|
26
26
|
|
|
27
|
-
**Install the component**: Add the dependency `implementation 'com.tencent.atomicx:atomicxcore:latest`' to your `build.gradle` file, then perform a **Gradle
|
|
27
|
+
**Install the component**: Add the dependency `implementation 'com.tencent.atomicx:atomicxcore:latest`' to your `build.gradle` file, then perform a **Gradle** **Sync**.
|
|
28
28
|
|
|
29
29
|
【build.gradle.kts】
|
|
30
30
|
``` java
|
|
31
|
-
implementation("io.trtc.uikit:atomicx-core:
|
|
31
|
+
implementation("io.trtc.uikit:atomicx-core:latest.release")
|
|
32
32
|
api("com.tencent.imsdk:imsdk-plus:8.9.7511")
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -44,7 +44,6 @@ Call `LoginStore.shared.login` in your project to complete login. **This is requ
|
|
|
44
44
|
|
|
45
45
|
> **Note:**
|
|
46
46
|
>
|
|
47
|
-
|
|
48
47
|
> We recommend calling `LoginStore.shared.login` after your app's own user authentication is successful to ensure clear and consistent login logic.
|
|
49
48
|
>
|
|
50
49
|
|
|
@@ -95,7 +94,6 @@ Follow these steps to quickly set up host video streaming:
|
|
|
95
94
|
|
|
96
95
|
> **Note:**
|
|
97
96
|
>
|
|
98
|
-
|
|
99
97
|
> For a complete implementation, refer to [VideoLiveAnchorActivity.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAnchorActivity.kt) in the open-source TUILiveKit project.
|
|
100
98
|
>
|
|
101
99
|
|
|
@@ -195,7 +193,7 @@ Follow these steps to quickly set up host video streaming:
|
|
|
195
193
|
}
|
|
196
194
|
```
|
|
197
195
|
|
|
198
|
-
`LiveInfo
|
|
196
|
+
`LiveInfo` **Parameter Description:**
|
|
199
197
|
|
|
200
198
|
|**Parameter Name**|**Type**|**Required**|**Description**|
|
|
201
199
|
|---------|---------|---------|---------|
|
|
@@ -255,7 +253,6 @@ Follow these steps to enable audience viewing:
|
|
|
255
253
|
|
|
256
254
|
> **Note:**
|
|
257
255
|
>
|
|
258
|
-
|
|
259
256
|
> For a complete reference implementation of audience viewing logic, see [VideoLiveAudienceActivity.kt](https://github.com/Tencent-RTC/TUIKit_Android/blob/main/live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAudienceActivity.kt) in the open-source TUILiveKit project.
|
|
260
257
|
>
|
|
261
258
|
|
|
@@ -292,7 +292,7 @@ You can leverage the slot capability provided by the `VideoWidgetBuilder` parame
|
|
|
292
292
|
|
|
293
293
|
**Demo Effect**
|
|
294
294
|
|
|
295
|
-
#### **Implementation
|
|
295
|
+
#### **Implementation** Steps
|
|
296
296
|
- **Step 1**: Create a foreground view (**CustomSeatForegroundView**) used for displaying user information above the video stream.
|
|
297
297
|
|
|
298
298
|
``` java
|
|
@@ -303,7 +303,6 @@ Leverage the slot system in the `VideoWidgetBuilder` parameter of `LiveCoreWidge
|
|
|
303
303
|
|
|
304
304
|
> **Tip:**
|
|
305
305
|
>
|
|
306
|
-
|
|
307
306
|
> For complete implementation, see the open-source TUILiveKit files [co_host_foreground_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/decorations/co_host/co_host_foreground_widget.dart) and [co_host_background_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/decorations/co_host/co_host_background_widget.dart).
|
|
308
307
|
>
|
|
309
308
|
|
|
@@ -794,7 +793,6 @@ In live PK scenarios, the host’s PK score is typically tied to the value of gi
|
|
|
794
793
|
|
|
795
794
|
> **Note:**
|
|
796
795
|
>
|
|
797
|
-
|
|
798
796
|
> The LiveKit backend PK scoring system is purely numeric and accumulative. Calculate PK scores according to your business logic before calling the update API. Example PK scoring rules:
|
|
799
797
|
>
|
|
800
798
|
|
package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md}
RENAMED
|
@@ -66,7 +66,6 @@ Call `LoginStore.shared.login` in your project to log in. **This is the key prem
|
|
|
66
66
|
|
|
67
67
|
> **Important:**
|
|
68
68
|
>
|
|
69
|
-
|
|
70
69
|
> It is recommended to call `LoginStore.shared.login` after successful log-in to your App's user account to ensure clear and consistent business logic.
|
|
71
70
|
>
|
|
72
71
|
|
|
@@ -108,7 +107,6 @@ Follow these steps to quickly set up host video streaming:
|
|
|
108
107
|
|
|
109
108
|
> **Note:**
|
|
110
109
|
>
|
|
111
|
-
|
|
112
110
|
> For a complete host streaming implementation, see [live_room_anchor_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/live_room_anchor_widget.dart) in the TUILiveKit open-source project.
|
|
113
111
|
>
|
|
114
112
|
|
|
@@ -208,7 +206,7 @@ Follow these steps to quickly set up host video streaming:
|
|
|
208
206
|
```
|
|
209
207
|
3. **Start live streaming**
|
|
210
208
|
|
|
211
|
-
By calling the **LiveListStore
|
|
209
|
+
By calling the **LiveListStore** `createLive` API to start video live streaming:
|
|
212
210
|
|
|
213
211
|
``` java
|
|
214
212
|
import 'package:flutter/material.dart';
|
|
@@ -346,7 +344,6 @@ Enable audience live viewing with these steps:
|
|
|
346
344
|
|
|
347
345
|
> **Note:**
|
|
348
346
|
>
|
|
349
|
-
|
|
350
347
|
> For a complete audience implementation, see [audience_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/live_stream/features/audience/audience_widget.dart) in the TUILiveKit open-source project.
|
|
351
348
|
>
|
|
352
349
|
|
|
@@ -259,7 +259,6 @@ Use the "slot" capability provided by the `LiveCoreView.VideoViewDelegate` proto
|
|
|
259
259
|
|
|
260
260
|
> **Note:**
|
|
261
261
|
>
|
|
262
|
-
|
|
263
262
|
> For complete implementation details, refer to the open-source TUILiveKit project files [AnchorCoGuestView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Features/AnchorView/View/VideoWidgets/AnchorCoGuestView.swift) and [AnchorEmptySeatView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Features/AnchorView/View/VideoWidgets/AnchorEmptySeatView.swift).
|
|
264
263
|
>
|
|
265
264
|
|
|
@@ -202,7 +202,7 @@ After the PK session, end the PK and disconnect co-hosting in sequence.
|
|
|
202
202
|
|
|
203
203
|
PK typically ends automatically when the timer expires, but hosts can also end PK early. Use `exitBattle`:
|
|
204
204
|
|
|
205
|
-
> **Note
|
|
205
|
+
> **Note:**After PK ends, both hosts remain connected (side-by-side video streams). Only the PK progress bar and score panel are removed.
|
|
206
206
|
>
|
|
207
207
|
|
|
208
208
|
``` swift
|
|
@@ -280,7 +280,6 @@ Use the slot capability in the `LiveCoreView.VideoViewDelegate` interface to ove
|
|
|
280
280
|
|
|
281
281
|
> **Note:**
|
|
282
282
|
>
|
|
283
|
-
|
|
284
283
|
> You can also refer to the open-source TUILiveKit files [AnchorCoHostView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Features/AnchorView/View/VideoWidgets/AnchorCoHostView.swift) and [AnchorEmptySeatView.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/Features/AnchorView/View/VideoWidgets/AnchorEmptySeatView.swift) for complete implementation logic.
|
|
285
284
|
>
|
|
286
285
|
|
|
@@ -493,11 +492,10 @@ When the host starts a PK, you can attach a custom view to the opponent's video
|
|
|
493
492
|
|
|
494
493
|
### Updating PK Score via REST API
|
|
495
494
|
|
|
496
|
-
In typical**
|
|
495
|
+
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our REST API.
|
|
497
496
|
|
|
498
497
|
> Note:
|
|
499
498
|
>
|
|
500
|
-
|
|
501
499
|
> The PK score system in the LiveKit backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
502
500
|
>
|
|
503
501
|
|
|
@@ -45,7 +45,6 @@ Call `LoginStore.shared.login` in your project to complete authentication. **Thi
|
|
|
45
45
|
|
|
46
46
|
> **Note:**
|
|
47
47
|
>
|
|
48
|
-
|
|
49
48
|
> We recommend calling LoginStore.shared.login only after your app's own user authentication is successful, to ensure clear and consistent login logic.
|
|
50
49
|
>
|
|
51
50
|
|
|
@@ -83,7 +82,6 @@ Follow these steps to quickly set up broadcaster video streaming:
|
|
|
83
82
|
|
|
84
83
|
> **Note:**
|
|
85
84
|
>
|
|
86
|
-
|
|
87
85
|
> For a complete broadcaster streaming implementation, refer to [TUILiveRoomAnchorViewController.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/LiveStream/TUILiveRoomAnchorViewController.swift) in the TUILiveKit open source project.
|
|
88
86
|
>
|
|
89
87
|
|
|
@@ -196,7 +194,7 @@ Follow these steps to quickly set up broadcaster video streaming:
|
|
|
196
194
|
|
|
197
195
|
4. **End Live Streaming**
|
|
198
196
|
|
|
199
|
-
After the live stream ends, call `LiveListStore.shared.endLive
|
|
197
|
+
After the live stream ends, call `LiveListStore.shared.endLive` to stop streaming and destroy the room. The SDK handles cleanup automatically.
|
|
200
198
|
|
|
201
199
|
``` swift
|
|
202
200
|
import AtomicXCore
|
|
@@ -226,7 +224,6 @@ Enable audience viewing with the following steps:
|
|
|
226
224
|
|
|
227
225
|
> **Note:**
|
|
228
226
|
>
|
|
229
|
-
|
|
230
227
|
> For a complete audience playback implementation, refer to [TUILiveRoomAudienceViewController.swift](https://github.com/Tencent-RTC/TUIKit_iOS/blob/main/live/Sources/LiveStream/TUILiveRoomAudienceViewController.swift) in the TUILiveKit open source project.
|
|
231
228
|
>
|
|
232
229
|
|
|
@@ -469,7 +466,7 @@ Once the basic live streaming functionality is in place, refer to the following
|
|
|
469
466
|
## FAQs
|
|
470
467
|
|
|
471
468
|
### Why is the screen black with no video after the host calls createLive or the audience calls joinLive?
|
|
472
|
-
- **Check
|
|
469
|
+
- **Check** `setLiveID`: Ensure you have set the correct liveID for the LiveCoreView instance before calling start or join methods.
|
|
473
470
|
|
|
474
471
|
- **Check device permissions**: Ensure the app has system permissions for camera and microphone usage.
|
|
475
472
|
|
|
@@ -288,8 +288,8 @@ PK ends either when the duration expires or when all hosts leave.
|
|
|
288
288
|
|
|
289
289
|
> **Note:**
|
|
290
290
|
>
|
|
291
|
-
>
|
|
292
|
-
>
|
|
291
|
+
> - After PK ends, the session returns to cross-room co-hosting.
|
|
292
|
+
> - To end co-hosting after PK, call `exitHostConnection`.
|
|
293
293
|
|
|
294
294
|
### Scenario 2: Co-hosting with PK Mode
|
|
295
295
|
|
|
@@ -306,7 +306,6 @@ PK ends either when the duration expires or when all hosts leave.
|
|
|
306
306
|
|
|
307
307
|
> **Note:**
|
|
308
308
|
>
|
|
309
|
-
|
|
310
309
|
> This workflow requires both CoHostStore and BattleStore, with `needResponse` in BattleConfig set to `false`.
|
|
311
310
|
>
|
|
312
311
|
|
|
@@ -399,11 +398,10 @@ This step is the same as Enter PK State.
|
|
|
399
398
|
|
|
400
399
|
### Updating PK Score via REST API
|
|
401
400
|
|
|
402
|
-
In typical**
|
|
401
|
+
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our REST API.
|
|
403
402
|
|
|
404
403
|
> **Note:**
|
|
405
404
|
>
|
|
406
|
-
|
|
407
405
|
> The PK score system in the LiveKit backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
408
406
|
>
|
|
409
407
|
|
package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md}
RENAMED
|
@@ -21,7 +21,7 @@ See Activate Service to obtain either the trial or paid version of the SDK.Then,
|
|
|
21
21
|
|
|
22
22
|
### Step 2: Import AtomicXCore into Your Project
|
|
23
23
|
|
|
24
|
-
**Install the component**: Add the dependency `implementation 'com.tencent.atomicx:atomicxcore:latest`' to your `build.gradle` file, then perform a **Gradle
|
|
24
|
+
**Install the component**: Add the dependency `implementation 'com.tencent.atomicx:atomicxcore:latest`' to your `build.gradle` file, then perform a **Gradle** **Sync**.
|
|
25
25
|
``` gradle
|
|
26
26
|
dependencies {
|
|
27
27
|
implementation 'io.trtc.uikit:atomicx-core:latest.release'
|
|
@@ -39,7 +39,6 @@ Call `LoginStore.shared.login` in your project to complete authentication. **Thi
|
|
|
39
39
|
|
|
40
40
|
> **Note:**
|
|
41
41
|
>
|
|
42
|
-
|
|
43
42
|
> We recommend calling `LoginStore.shared.login` after your app's own user authentication is successful to ensure clear and consistent login logic.
|
|
44
43
|
>
|
|
45
44
|
|
|
@@ -88,7 +87,7 @@ class MainActivity : AppCompatActivity() {
|
|
|
88
87
|
|
|
89
88
|
Follow the steps below to quickly set up a voice chat room as the host.
|
|
90
89
|
|
|
91
|
-
#### **1. Initialize the Seat
|
|
90
|
+
#### **1. Initialize the Seat** `Store`
|
|
92
91
|
|
|
93
92
|
In your host `Activity`, create a `LiveSeatStore` instance. Observe changes in `liveSeatState.seatList` to get real-time mic seat data and update your UI.
|
|
94
93
|
``` java
|
|
@@ -136,7 +135,7 @@ class YourHostActivity : AppCompatActivity() {
|
|
|
136
135
|
}
|
|
137
136
|
```
|
|
138
137
|
|
|
139
|
-
#### **2
|
|
138
|
+
#### **2.** Turn On Microphone
|
|
140
139
|
|
|
141
140
|
Turn On Microphone by calling the `openLocalMicrophone` method from `DeviceStore`:
|
|
142
141
|
``` java
|
|
@@ -223,7 +222,6 @@ class YourHostActivity : AppCompatActivity() {
|
|
|
223
222
|
|
|
224
223
|
> **Note:**
|
|
225
224
|
>
|
|
226
|
-
|
|
227
225
|
> For the complete business logic of mic seat UI effects, refer to the open-source [SeatGridView.kt](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroomcore/SeatGridView.kt) in the TUILiveKit project.
|
|
228
226
|
>
|
|
229
227
|
|
|
@@ -434,7 +432,6 @@ In voice chat rooms, it is common to show a wave animation on the avatar of user
|
|
|
434
432
|
|
|
435
433
|
> **Note:**
|
|
436
434
|
>
|
|
437
|
-
|
|
438
435
|
> For a complete implementation of the speaking wave animation, refer to [SeatGridView.kt](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Android/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroomcore/SeatGridView.kt) in the open-source TUILiveKit project.
|
|
439
436
|
>
|
|
440
437
|
|
|
@@ -17,7 +17,6 @@ Refer to quick integration to integrate **AtomicXCore**.
|
|
|
17
17
|
|
|
18
18
|
> **Note:**
|
|
19
19
|
>
|
|
20
|
-
|
|
21
20
|
> Before enabling co-hosting features, you must obtain the `liveId` (the unique identifier for the live room) to distinguish between different live rooms. You can get it as follows:
|
|
22
21
|
>
|
|
23
22
|
> - **Host**: Specify when creating a live stream via `LiveListStore.shared.createLive(liveInfo)`.
|
|
@@ -400,7 +399,7 @@ void dispose() {
|
|
|
400
399
|
#### Implementation:
|
|
401
400
|
1. **Remove User from Mic**: The anchor can call the `kickUserOutOfSeat` method to force the specified user off the mic.
|
|
402
401
|
|
|
403
|
-
2. **Listen for Event Notification**: Users kicked off the mic will receive the `GuestListener
|
|
402
|
+
2. **Listen for Event Notification**: Users kicked off the mic will receive the `GuestListener` `onKickedOffSeat` event notification.
|
|
404
403
|
|
|
405
404
|
#### Example:
|
|
406
405
|
``` java
|
package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md}
RENAMED
|
@@ -62,11 +62,10 @@ end
|
|
|
62
62
|
|
|
63
63
|
### Step 3: Implement Login Logic
|
|
64
64
|
|
|
65
|
-
Call `LoginStore.shared.login` in the project to complete login. **This is the key premise for using
|
|
65
|
+
Call `LoginStore.shared.login` in the project to complete login. **This is the key premise for using** `AtomicXCore` **all functions**.
|
|
66
66
|
|
|
67
67
|
> **Important:**
|
|
68
68
|
>
|
|
69
|
-
|
|
70
69
|
> We recommend calling LoginStore.shared.login after successful log-in to your App's user account to ensure clear and consistent login service logic.
|
|
71
70
|
>
|
|
72
71
|
|
|
@@ -108,7 +107,7 @@ void main() async {
|
|
|
108
107
|
|
|
109
108
|
Follow these steps to quickly set up a voice chat room as the host.
|
|
110
109
|
|
|
111
|
-
#### 1. **Initialize
|
|
110
|
+
#### 1. **Initialize** LiveSeatStore
|
|
112
111
|
|
|
113
112
|
On your anchor page, create a `LiveSeatStore` instance. You need to listen to changes in `liveSeatStore.liveSeatState` for real-time seat updates and UI rendering.
|
|
114
113
|
``` java
|
|
@@ -169,7 +168,7 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
169
168
|
|
|
170
169
|
#### 2. Turn on Microphone
|
|
171
170
|
|
|
172
|
-
Turn on the microphone by calling the `DeviceStore
|
|
171
|
+
Turn on the microphone by calling the `DeviceStore` `openLocalMicrophone` API:
|
|
173
172
|
``` java
|
|
174
173
|
class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
175
174
|
// ... Other code ...
|
|
@@ -183,7 +182,7 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
183
182
|
|
|
184
183
|
#### 3. Start Voice Chat
|
|
185
184
|
|
|
186
|
-
By calling the `LiveListStore
|
|
185
|
+
By calling the `LiveListStore` `createLive` API to start a voice chat room live stream:
|
|
187
186
|
``` java
|
|
188
187
|
class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
189
188
|
// ... Other code ...
|
|
@@ -246,7 +245,6 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
246
245
|
|
|
247
246
|
> **Note:**
|
|
248
247
|
>
|
|
249
|
-
|
|
250
248
|
> For the business code of the Mic Seat `UI` effect, see the [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) file in the `TUILiveKit` open-source project to learn about the complete implementation logic.
|
|
251
249
|
>
|
|
252
250
|
|
|
@@ -336,7 +334,7 @@ class _YourAnchorPageState extends State<YourAnchorPage> {
|
|
|
336
334
|
|
|
337
335
|
Enable audience members to join the voice chat room with the following steps.
|
|
338
336
|
|
|
339
|
-
#### 1. **Initialize the
|
|
337
|
+
#### 1. **Initialize the** LiveSeatStore
|
|
340
338
|
|
|
341
339
|
On your audience page, create a `LiveSeatStore` instance and listen to changes in `liveSeatState.seatList` to render the mic seat UI.
|
|
342
340
|
``` java
|
|
@@ -396,7 +394,7 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
|
|
|
396
394
|
|
|
397
395
|
#### 2. **Join the Voice Chat Room**
|
|
398
396
|
|
|
399
|
-
By calling the `LiveListStore
|
|
397
|
+
By calling the `LiveListStore` `joinLive` API to join a voice chat room, sample code:
|
|
400
398
|
``` java
|
|
401
399
|
class _YourAudiencePageState extends State<YourAudiencePage> {
|
|
402
400
|
// ... Other code ...
|
|
@@ -460,7 +458,6 @@ In a voice chat room scenario, a common need is to display a wave animation on t
|
|
|
460
458
|
|
|
461
459
|
> **Note:**
|
|
462
460
|
>
|
|
463
|
-
|
|
464
461
|
> When an Anchor speaks, a wave animation effect is shown. See the [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) file in the `TUILiveKit` open-source project to learn about the complete implementation logic.
|
|
465
462
|
>
|
|
466
463
|
|
|
@@ -470,7 +470,7 @@ For detailed information about all public interfaces, properties, and methods of
|
|
|
470
470
|
### What’s the difference between voice room mic-link and video live mic-link implementation?
|
|
471
471
|
|
|
472
472
|
The main differences are in business logic and UI presentation:
|
|
473
|
-
- `Video Live
|
|
473
|
+
- `Video Live:` The core is the video feed. Use `LiveCoreView` as the main component to render video streams for the host and mic-linked viewers. The UI focuses on video layout and sizing, and you can add overlays (nickname, placeholder image) via `VideoViewDelegate`. Both camera and microphone can be enabled.
|
|
474
474
|
|
|
475
475
|
- `Voice Room:` The core is the mic seat grid. Do not use `LiveCoreView`; instead, build a grid UI (e.g., `UICollectionView`) based on the `LiveSeatStore`'s `state` (especially `seatList`). The UI focuses on real-time display of each seat’s `SeatInfo` status: occupied, muted, locked, and speaking status. Only the microphone needs to be enabled.
|
|
476
476
|
|
|
@@ -498,7 +498,7 @@ This is an important distinction. `DeviceStore` manages the physical device, whi
|
|
|
498
498
|
|
|
499
499
|
- `unmuteMicrophone`: Unmute. Resumes sending audio stream to remote.
|
|
500
500
|
|
|
501
|
-
**Recommended workflow
|
|
501
|
+
**Recommended workflow:** "Open the device once, control mute/unmute while on mic"
|
|
502
502
|
|
|
503
503
|
1. **When joining mic:** When an audience member successfully joins the mic, call `openLocalMicrophone` once to start the device.
|
|
504
504
|
|
|
@@ -58,7 +58,7 @@ After selecting a target streamer, use `CoHostStore.requestHostConnection` to se
|
|
|
58
58
|
> **Note:**
|
|
59
59
|
>
|
|
60
60
|
> - AtomicXCore supports up to 9 rooms for cross-room co-hosting, with 50 users per room.
|
|
61
|
-
> - The API supports batch invitations. To check if an invitation to a single room was successful, you need to check if the`
|
|
61
|
+
> - The API supports batch invitations. To check if an invitation to a single room was successful, you need to check if the `Result` is `.success` in the completion callback.
|
|
62
62
|
> - The API accepts extension fields. After the invitation is sent, this field is delivered to the target streamer via the `onCoHostRequestReceived` callback. Use it to pass custom business data, such as "start PK immediately".
|
|
63
63
|
|
|
64
64
|
``` swift
|
|
@@ -335,8 +335,8 @@ PK can end in two ways:
|
|
|
335
335
|
|
|
336
336
|
> **Note:**
|
|
337
337
|
>
|
|
338
|
-
>
|
|
339
|
-
>
|
|
338
|
+
> - After PK ends, the session returns to cross-room co-hosting.
|
|
339
|
+
> - To end co-hosting after PK, call `exitHostConnection`.
|
|
340
340
|
|
|
341
341
|
### Scenario 2: Co-hosting with PK Mode
|
|
342
342
|
|
|
@@ -353,7 +353,6 @@ PK can end in two ways:
|
|
|
353
353
|
|
|
354
354
|
> **Note:**
|
|
355
355
|
>
|
|
356
|
-
|
|
357
356
|
> This flow requires both CoHostStore and BattleStore, with `BattleConfig.needResponse` set to `false`.
|
|
358
357
|
>
|
|
359
358
|
|
|
@@ -463,11 +462,10 @@ This step is same as Enter PK State.
|
|
|
463
462
|
|
|
464
463
|
### Updating PK Score via REST API
|
|
465
464
|
|
|
466
|
-
In typical**
|
|
465
|
+
In typical **live host PK scenarios,** the value of gifts received by the host is linked to the PK score (for example, when a viewer sends a "Rocket" gift, the host's PK score increases by 500 points). You can implement real-time PK score updates using our `REST API`.
|
|
467
466
|
|
|
468
467
|
> **Note:**
|
|
469
468
|
>
|
|
470
|
-
|
|
471
469
|
> The PK score system in the LiveKit backend uses pure numeric calculation and accumulation. You must calculate the PK score according to your own business logic before calling the update API. See the following PK score calculation examples:
|
|
472
470
|
>
|
|
473
471
|
|