@tencent-rtc/mcp 1.4.7 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cursor-setting.png +0 -0
- package/index.js +0 -1
- package/knowledge/bm25-cache.js +73 -0
- package/knowledge/bm25.js +147 -0
- package/knowledge/build-index.js +69 -0
- package/knowledge/chunker.js +167 -0
- package/knowledge/content-loader.js +39 -0
- package/knowledge/doc-url-resolver.js +142 -0
- package/knowledge/extractors.js +25 -0
- package/knowledge/path-meta.js +184 -0
- package/knowledge/search/exact-lookup.js +497 -0
- package/knowledge/search/filter-pool.js +104 -0
- package/knowledge/search/product-scope-intent.js +40 -0
- package/knowledge/search/requires-framework.js +81 -0
- package/knowledge/search/search-knowledge.js +229 -0
- package/mcp-server-prompt.png +0 -0
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +19 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +43 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/doc-source-urls.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
- package/resource/integration/callkit/preset/flutter/integration.md +346 -0
- package/resource/integration/callkit/preset/ios/integration.md +408 -0
- package/resource/integration/callkit/preset/react/integration.md +362 -0
- package/resource/integration/callkit/preset/vue/integration.md +356 -0
- package/resource/integration/chat/preset/android/integration.md +500 -0
- package/resource/integration/chat/preset/flutter/integration.md +370 -0
- package/resource/integration/chat/preset/ios/integration.md +566 -0
- package/resource/integration/chat/preset/react/integration.md +490 -0
- package/resource/integration/chat/preset/vue/integration.md +504 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
- package/resource/integration/roomkit/preset/vue/integration.md +562 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
- package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
- package/resource/knowledge/callkit/faq/android.md +92 -0
- package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
- package/resource/knowledge/callkit/faq/error-code.md +67 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +104 -0
- package/resource/knowledge/callkit/faq/web.md +74 -0
- package/resource/knowledge/callkit/preset/android/api.md +412 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +234 -0
- package/resource/knowledge/callkit/preset/web/api.md +83 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
- package/resource/knowledge/chat/preset/android/features/language.md +136 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
- package/resource/knowledge/chat/preset/android/features/search.md +64 -0
- package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
- package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
- package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
- package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
- package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
- package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
- package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
- package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
- package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +17 -0
- package/resource/knowledge/chat/urls/product.md +43 -0
- package/resource/knowledge/chat/urls/restapi.md +204 -0
- package/resource/knowledge/chat/urls/sdk/android.md +80 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
- package/resource/knowledge/chat/urls/sdk/web.md +80 -0
- package/resource/knowledge/chat/urls/webhook.md +68 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
- package/resource/knowledge/livekit/faq/error-code.md +193 -0
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
- package/resource/knowledge/push/config/android.md +92 -0
- package/resource/knowledge/push/config/harmonyos.md +83 -0
- package/resource/knowledge/push/config/ios.md +254 -0
- package/resource/knowledge/push/config/react-native.md +254 -0
- package/resource/knowledge/push/config/unity.md +209 -0
- package/resource/knowledge/push/config/unreal-engine.md +194 -0
- package/resource/knowledge/push/integration/android.md +404 -0
- package/resource/knowledge/push/integration/flutter.md +465 -0
- package/resource/knowledge/push/integration/harmonyos.md +63 -0
- package/resource/knowledge/push/integration/ios.md +246 -0
- package/resource/knowledge/push/integration/react-native.md +366 -0
- package/resource/knowledge/push/integration/uni-app.md +208 -0
- package/resource/knowledge/push/integration/unity.md +389 -0
- package/resource/knowledge/push/integration/unreal-engine.md +390 -0
- package/resource/knowledge/push/overview/prepare.md +60 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
- package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
- package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
- package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
- package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
- package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
- package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
- package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
- package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
- package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
- package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
- package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
- package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
- package/server-config.js +0 -1
- package/server.js +35 -12
- package/streamable-http.js +0 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -4
- package/tools/call/get_native_callkit_core_integration.js +2 -6
- package/tools/call/get_web_call_uikit_integration.js +2 -4
- package/tools/chat/get_native_chat_uikit_integration.js +2 -4
- package/tools/chat/get_web_chat_uikit_integration.js +2 -4
- package/tools/common/get_usersig.js +0 -1
- package/tools/common/present_framework_choice.js +19 -14
- package/tools/common/record_answer.js +19 -26
- package/tools/common/record_feedback.js +17 -31
- package/tools/common/search_trtc_knowledge.js +44 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +3 -2
- package/tools/definitions/get_native_callkit_core_integration_def.js +5 -4
- package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -3
- package/tools/definitions/get_native_livekit_core_integration_def.js +6 -6
- package/tools/definitions/get_usersig_def.js +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +4 -3
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +5 -6
- package/tools/definitions/get_web_room_core_integration_def.js +49 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +5 -5
- package/tools/definitions/integration-boundary.js +5 -0
- package/tools/definitions/present_framework_choice_def.js +12 -11
- package/tools/definitions/record_answer_def.js +19 -18
- package/tools/definitions/record_feedback_def.js +14 -14
- package/tools/definitions/search_trtc_knowledge_def.js +39 -0
- package/tools/index.js +5 -37
- package/tools/live/get_native_livekit_core_integration.js +1 -4
- package/tools/live/get_web_live_uikit_integration.js +2 -5
- package/tools/room/get_web_room_core_integration.js +47 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -4
- package/utils/generate-structured-result.js +24 -31
- package/utils/generate-usersig.js +0 -1
- package/utils/get-device-identifier.js +0 -1
- package/utils/get-doc-content.js +14 -9
- package/utils/http-get.js +0 -1
- package/utils/http-post.js +0 -1
- package/utils/report-cls-client.js +18 -21
- package/utils/report-es-client.js +1 -2
- package/index.js.map +0 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
- package/resource/doc/callkit/faq/common/error-code.md +0 -47
- package/resource/doc/callkit/faq/flutter-faq.md +0 -115
- package/resource/doc/callkit/faq/ios-faq.md +0 -115
- package/resource/doc/callkit/faq/web-faq.md +0 -36
- package/resource/doc/callkit/preset/android/api.md +0 -296
- package/resource/doc/callkit/preset/flutter/api.md +0 -410
- package/resource/doc/callkit/preset/flutter/integration.md +0 -164
- package/resource/doc/callkit/preset/ios/api.md +0 -80
- package/resource/doc/callkit/preset/ios/integration.md +0 -187
- package/resource/doc/callkit/preset/react/api.md +0 -501
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -501
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -111
- package/resource/doc/chatkit/android/features/theme.md +0 -219
- package/resource/doc/chatkit/android/integration.md +0 -490
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
- package/resource/doc/chatkit/faq/common/product.md +0 -7
- package/resource/doc/chatkit/faq/common/server.md +0 -44
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
- package/resource/doc/chatkit/flutter/faq.md +0 -23
- package/resource/doc/chatkit/flutter/features/theme.md +0 -235
- package/resource/doc/chatkit/flutter/integration.md +0 -344
- package/resource/doc/chatkit/ios/faq.md +0 -111
- package/resource/doc/chatkit/ios/features/theme.md +0 -267
- package/resource/doc/chatkit/react/components/avatar.md +0 -104
- package/resource/doc/chatkit/react/components/chat-header.md +0 -148
- package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -37
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
- package/resource/doc/chatkit/react/components/message-list.md +0 -293
- package/resource/doc/chatkit/react/components/tuikit.md +0 -34
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/react/integration.md +0 -416
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
- package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
- package/resource/doc/chatkit/vue/components/chat.md +0 -45
- package/resource/doc/chatkit/vue/components/component-list.md +0 -87
- package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
- package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
- package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
- package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
- package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
- package/resource/doc/chatkit/vue/components/message-list.md +0 -433
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -36
- package/resource/doc/chatkit/vue/integration.md +0 -428
- package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
- package/resource/doc/livekit/faq/common/error-code.md +0 -88
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-state.md +0 -282
- package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
- package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
- package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
- package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
- package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
- package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
- package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
- package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
- package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
- package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
- package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
- package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
- package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
- package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
- package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
- package/server-config.js.map +0 -1
- package/server.js.map +0 -1
- package/streamable-http.js.map +0 -1
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/call/get_native_call_uikit_integration.js.map +0 -1
- package/tools/call/get_native_callkit_core_integration.js.map +0 -1
- package/tools/call/get_web_call_uikit_integration.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.js.map +0 -1
- package/tools/common/get_usersig.js.map +0 -1
- package/tools/common/present_framework_choice.js.map +0 -1
- package/tools/common/record_answer.js.map +0 -1
- package/tools/common/record_feedback.js.map +0 -1
- package/tools/common/record_skill_session.js +0 -69
- package/tools/common/record_skill_session.js.map +0 -1
- package/tools/definitions/get_callkit_api_def.js +0 -29
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -47
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
- package/tools/definitions/get_usersig_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -30
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/present_framework_choice_def.js.map +0 -1
- package/tools/definitions/record_answer_def.js.map +0 -1
- package/tools/definitions/record_feedback_def.js.map +0 -1
- package/tools/definitions/record_skill_session_def.js +0 -31
- package/tools/definitions/record_skill_session_def.js.map +0 -1
- package/tools/index.js.map +0 -1
- package/tools/live/get_native_livekit_core_features.js +0 -68
- package/tools/live/get_native_livekit_core_features.js.map +0 -1
- package/tools/live/get_native_livekit_core_integration.js.map +0 -1
- package/tools/live/get_web_live_uikit_integration.js.map +0 -1
- package/tools/live/get_web_livekit_api.js +0 -33
- package/tools/live/get_web_livekit_api.js.map +0 -1
- package/tools/live/get_web_livekit_component_detail.js +0 -35
- package/tools/live/get_web_livekit_component_detail.js.map +0 -1
- package/tools/room/get_web_room_uikit_integration.js.map +0 -1
- package/tools/room/get_web_roomkit_feature_detail.js +0 -69
- package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
- package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
- package/utils/build-session-directives.js +0 -120
- package/utils/build-session-directives.js.map +0 -1
- package/utils/generate-structured-result.js.map +0 -1
- package/utils/generate-usersig.js.map +0 -1
- package/utils/get-device-identifier.js.map +0 -1
- package/utils/get-doc-content.js.map +0 -1
- package/utils/handle-framework.js +0 -9
- package/utils/handle-framework.js.map +0 -1
- package/utils/handle-state-name.js +0 -29
- package/utils/handle-state-name.js.map +0 -1
- package/utils/http-get.js.map +0 -1
- package/utils/http-post.js.map +0 -1
- package/utils/report-cls-client.js.map +0 -1
- package/utils/report-es-client.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js +0 -91
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
- /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
- /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
## Introduction
|
|
2
|
+
|
|
3
|
+
PK feature enables real-time interactive battles between hosts. `BattleStore` provides a comprehensive set of APIs to manage the entire PK lifecycle.
|
|
4
|
+
|
|
5
|
+
> **Important: **
|
|
6
|
+
>
|
|
7
|
+
|
|
8
|
+
> Always use the factory method **create(liveID:)** with a valid live room ID to create a `BattleStore` instance. Do not attempt to initialize directly.
|
|
9
|
+
>
|
|
10
|
+
|
|
11
|
+
> **Note: **
|
|
12
|
+
>
|
|
13
|
+
|
|
14
|
+
> PK state updates are delivered through the **state** publisher. Subscribe to it to receive real-time updates about PK information, participating users, and scores.
|
|
15
|
+
>
|
|
16
|
+
|
|
17
|
+
> **Warning: **
|
|
18
|
+
>
|
|
19
|
+
|
|
20
|
+
> If a PK request does not receive a response within the specified timeout, a timeout event will be triggered. Always handle timeout scenarios in the UI.
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
- **PK Request Management**: Hosts can initiate PK requests, and invitees can accept or reject.
|
|
25
|
+
|
|
26
|
+
- **State Management**: Real-time tracking of PK information, participating users, and scores.
|
|
27
|
+
|
|
28
|
+
- **Event-Driven Architecture**: Provides complete PK event callbacks.
|
|
29
|
+
|
|
30
|
+
- **Timeout Handling**: Built-in timeout mechanism for PK requests.
|
|
31
|
+
|
|
32
|
+
## Subscribable Data
|
|
33
|
+
|
|
34
|
+
**BattleState** fields are described below:
|
|
35
|
+
|
|
36
|
+
|**Property**|**Type**|**Description**|
|
|
37
|
+
|---------|---------|---------|
|
|
38
|
+
|currentBattleInfo|BattleInfo?|Current PK information.|
|
|
39
|
+
|battleUsers|[SeatUserInfo]|PK user list.|
|
|
40
|
+
|battleScore|[String:UInt]|PK score mapping.|
|
|
41
|
+
|
|
42
|
+
## API List
|
|
43
|
+
|
|
44
|
+
|**Function**|**Description**|
|
|
45
|
+
|---------|---------|
|
|
46
|
+
|create|Create BattleStore instance.|
|
|
47
|
+
|battleEventPublisher|PK event publisher.|
|
|
48
|
+
|requestBattle|Initiate PK request.|
|
|
49
|
+
|cancelBattleRequest|Cancel PK request.|
|
|
50
|
+
|acceptBattle|Accept PK request.|
|
|
51
|
+
|rejectBattle|Reject PK request.|
|
|
52
|
+
|exitBattle|Exit PK.|
|
|
53
|
+
|
|
54
|
+
### Creating Instance
|
|
55
|
+
|
|
56
|
+
#### create
|
|
57
|
+
|
|
58
|
+
Create BattleStore instance.
|
|
59
|
+
``` swift
|
|
60
|
+
public static func create(liveID: String) -> BattleStore {
|
|
61
|
+
let store: BattleStoreImpl = StoreFactory.shared.getStore(roomID: liveID)
|
|
62
|
+
return store
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Version**
|
|
67
|
+
|
|
68
|
+
Supported since version 3.5.
|
|
69
|
+
|
|
70
|
+
**Parameters**
|
|
71
|
+
|
|
72
|
+
|**Parameter**|**Type**|**Description**|
|
|
73
|
+
|---------|---------|---------|
|
|
74
|
+
|liveID|String|Live room ID.|
|
|
75
|
+
|
|
76
|
+
### Observing State and Events
|
|
77
|
+
|
|
78
|
+
#### battleEventPublisher
|
|
79
|
+
|
|
80
|
+
PK event publisher.
|
|
81
|
+
|
|
82
|
+
PK event publisher.
|
|
83
|
+
|
|
84
|
+
**Data Structures:**BattleEvent
|
|
85
|
+
|
|
86
|
+
### PK Operations
|
|
87
|
+
|
|
88
|
+
#### requestBattle
|
|
89
|
+
|
|
90
|
+
Initiate PK request.
|
|
91
|
+
``` swift
|
|
92
|
+
public func requestBattle(config: BattleConfig, userIDList: [String], timeout: TimeInterval, completion: BattleRequestClosure?) {
|
|
93
|
+
fatalError("\(#function) must be overridden by subclass")
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Version**
|
|
98
|
+
|
|
99
|
+
Supported since version 3.5.
|
|
100
|
+
|
|
101
|
+
**Parameters**
|
|
102
|
+
|
|
103
|
+
|**Parameter**|**Type**|**Description**|
|
|
104
|
+
|---------|---------|---------|
|
|
105
|
+
|config|BattleConfig|PK configuration.|
|
|
106
|
+
|userIDList|[String]|List of user IDs to invite for PK. Please pass in the user IDs of the other hosts you wish to PK with. Note: do not include the current user's own ID in this list.|
|
|
107
|
+
|timeout|TimeInterval|Timeout in seconds. The maximum limit is 30 seconds.|
|
|
108
|
+
|completion|BattleRequestClosure?|Callback for successful request initiation.|
|
|
109
|
+
|
|
110
|
+
#### cancelBattleRequest
|
|
111
|
+
|
|
112
|
+
Cancel PK request.
|
|
113
|
+
``` swift
|
|
114
|
+
public func cancelBattleRequest(battleId: String, userIdList: [String], completion: CompletionClosure?) {
|
|
115
|
+
fatalError("\(#function) must be overridden by subclass")
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Version**
|
|
120
|
+
|
|
121
|
+
Supported since version 3.5.
|
|
122
|
+
|
|
123
|
+
**Parameters**
|
|
124
|
+
|
|
125
|
+
|**Parameter**|**Type**|**Description**|
|
|
126
|
+
|---------|---------|---------|
|
|
127
|
+
|battleId|String|PK ID.|
|
|
128
|
+
|userIdList|[String]|User ID list.|
|
|
129
|
+
|completion|CompletionClosure?|Callback for successful cancellation.|
|
|
130
|
+
|
|
131
|
+
#### acceptBattle
|
|
132
|
+
|
|
133
|
+
Accept PK request.
|
|
134
|
+
``` swift
|
|
135
|
+
public func acceptBattle(battleID: String, completion: CompletionClosure?) {
|
|
136
|
+
fatalError("\(#function) must be overridden by subclass")
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Version**
|
|
141
|
+
|
|
142
|
+
Supported since version 3.5.
|
|
143
|
+
|
|
144
|
+
**Parameters**
|
|
145
|
+
|
|
146
|
+
|**Parameter**|**Type**|**Description**|
|
|
147
|
+
|---------|---------|---------|
|
|
148
|
+
|battleID|String|PK ID.|
|
|
149
|
+
|completion|CompletionClosure?|Callback for successful acceptance.|
|
|
150
|
+
|
|
151
|
+
#### rejectBattle
|
|
152
|
+
|
|
153
|
+
Reject PK request.
|
|
154
|
+
``` swift
|
|
155
|
+
public func rejectBattle(battleID: String, completion: CompletionClosure?) {
|
|
156
|
+
fatalError("\(#function) must be overridden by subclass")
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Version**
|
|
161
|
+
|
|
162
|
+
Supported since version 3.5.
|
|
163
|
+
|
|
164
|
+
**Parameters**
|
|
165
|
+
|
|
166
|
+
|**Parameter**|**Type**|**Description**|
|
|
167
|
+
|---------|---------|---------|
|
|
168
|
+
|battleID|String|PK ID.|
|
|
169
|
+
|completion|CompletionClosure?|Callback for successful rejection.|
|
|
170
|
+
|
|
171
|
+
#### exitBattle
|
|
172
|
+
|
|
173
|
+
Exit PK.
|
|
174
|
+
``` swift
|
|
175
|
+
public func exitBattle(battleID: String, completion: CompletionClosure?) {
|
|
176
|
+
fatalError("\(#function) must be overridden by subclass")
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Version**
|
|
181
|
+
|
|
182
|
+
Supported since version 3.5.
|
|
183
|
+
|
|
184
|
+
**Parameters**
|
|
185
|
+
|
|
186
|
+
|**Parameter**|**Type**|**Description**|
|
|
187
|
+
|---------|---------|---------|
|
|
188
|
+
|battleID|String|PK ID.|
|
|
189
|
+
|completion|CompletionClosure?|Callback for successful exit.|
|
|
190
|
+
|
|
191
|
+
## Data Structures
|
|
192
|
+
|
|
193
|
+
### BattleEndedReason
|
|
194
|
+
|
|
195
|
+
Reason for PK ending received by users in an ongoing PK.
|
|
196
|
+
|
|
197
|
+
|**Enum Value**|**Value**|**Description**|
|
|
198
|
+
|---------|---------|---------|
|
|
199
|
+
|timeOver|0|PK countdown ended.|
|
|
200
|
+
|allMemberExit|1|All PK members exited.|
|
|
201
|
+
|
|
202
|
+
### BattleEvent
|
|
203
|
+
|
|
204
|
+
PK-related callback events received.
|
|
205
|
+
|
|
206
|
+
|**Enum Value**|**Description**|
|
|
207
|
+
|---------|---------|
|
|
208
|
+
|onBattleStarted|This callback is triggered when PK officially starts, notifying all participants that PK has begun.|
|
|
209
|
+
|onBattleEnded|This callback is triggered when PK ends.|
|
|
210
|
+
|onUserJoinBattle|This callback is triggered when a user joins PK.|
|
|
211
|
+
|onUserExitBattle|This callback is triggered when a user exits PK.|
|
|
212
|
+
|onBattleRequestReceived|This callback is triggered when a PK request is received.|
|
|
213
|
+
|onBattleRequestCancelled|This callback is triggered when a PK request is cancelled.|
|
|
214
|
+
|onBattleRequestTimeout|This callback is triggered when a PK request times out.|
|
|
215
|
+
|onBattleRequestAccept|This callback is triggered when a PK request is accepted.|
|
|
216
|
+
|onBattleRequestReject|This callback is triggered when a PK request is rejected.|
|
|
217
|
+
|
|
218
|
+
### BattleConfig
|
|
219
|
+
|
|
220
|
+
PK configuration information set when sending a PK request.
|
|
221
|
+
|
|
222
|
+
|**Property**|**Type**|**Description**|
|
|
223
|
+
|---------|---------|---------|
|
|
224
|
+
|duration|TimeInterval|PK duration (unit: seconds).|
|
|
225
|
+
|needResponse|Bool|Whether the invitee needs to reply with accept/reject.|
|
|
226
|
+
|extensionInfo|String|Extension information.|
|
|
227
|
+
|
|
228
|
+
### BattleInfo
|
|
229
|
+
|
|
230
|
+
PK information.
|
|
231
|
+
|
|
232
|
+
|**Property**|**Type**|**Description**|
|
|
233
|
+
|---------|---------|---------|
|
|
234
|
+
|battleID|String|PK ID.|
|
|
235
|
+
|config|BattleConfig|PK configuration information set when sending a PK request.|
|
|
236
|
+
|startTime|UInt|PK start marker timestamp (unit: seconds).|
|
|
237
|
+
|endTime|UInt|PK end marker timestamp (unit: seconds).|
|
|
238
|
+
|
|
239
|
+
### BattleState
|
|
240
|
+
|
|
241
|
+
PK-related state data provided by BattleStore.
|
|
242
|
+
|
|
243
|
+
|**Property**|**Type**|**Description**|
|
|
244
|
+
|---------|---------|---------|
|
|
245
|
+
|currentBattleInfo|BattleInfo?|Current PK information.|
|
|
246
|
+
|battleUsers|[SeatUserInfo]|PK user list.|
|
|
247
|
+
|battleScore|[String:UInt]|PK score mapping.|
|
|
248
|
+
|
|
249
|
+
### BattleRequestCallback
|
|
250
|
+
|
|
251
|
+
PK request callback.
|
|
252
|
+
|
|
253
|
+
Callback interface for PK requests, used to handle success or failure results of PK requests.
|
|
254
|
+
|
|
255
|
+
**Methods**
|
|
256
|
+
|
|
257
|
+
**onSuccess**: Success callback.
|
|
258
|
+
``` swift
|
|
259
|
+
fun onSuccess(battleInfo: BattleInfo, resultMap: Map<String, Int>)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
|**Parameter**|**Type**|**Description**|
|
|
263
|
+
|---------|---------|---------|
|
|
264
|
+
|battleInfo|BattleInfo|PK information, containing detailed configuration and status of the PK.|
|
|
265
|
+
|resultMap|Map<String,Int>|Response result callback for PK request.|
|
|
266
|
+
|
|
267
|
+
**onError**: Failure callback.
|
|
268
|
+
``` swift
|
|
269
|
+
fun onError(code: Int, desc: String)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
|**Parameter**|**Type**|**Description**|
|
|
273
|
+
|---------|---------|---------|
|
|
274
|
+
|code|Int|Error code.|
|
|
275
|
+
|desc|String|Error description.|
|
|
276
|
+
|
|
277
|
+
## Usage Example
|
|
278
|
+
``` swift
|
|
279
|
+
// Create store instance
|
|
280
|
+
let store = BattleStore.create(liveID: "live_room_123")
|
|
281
|
+
// Subscribe to state changes
|
|
282
|
+
store.state.subscribe { state in
|
|
283
|
+
if let battleInfo = state.currentBattleInfo {
|
|
284
|
+
print("Current PK ID: \(battleInfo.battleID)")
|
|
285
|
+
}
|
|
286
|
+
print("PK user count: \(state.battleUsers.count)")
|
|
287
|
+
}
|
|
288
|
+
// Subscribe to PK events
|
|
289
|
+
store.battleEventPublisher.sink { event in
|
|
290
|
+
switch event {
|
|
291
|
+
case .onBattleStarted(let battleInfo, let inviter, let invitees):
|
|
292
|
+
print("PK started, initiator: \(inviter.userName)")
|
|
293
|
+
case .onBattleEnded(let battleInfo, let reason):
|
|
294
|
+
print("PK ended, reason: \(reason)")
|
|
295
|
+
default:
|
|
296
|
+
break
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Initiate PK request
|
|
300
|
+
let config = BattleConfig(duration: 300, needResponse: true)
|
|
301
|
+
store.requestBattle(config: config, userIDList: ["user_456"], timeout: 30) { result in
|
|
302
|
+
switch result {
|
|
303
|
+
case .success(let (battleInfo, resultMap)):
|
|
304
|
+
print("PK request successful: \(battleInfo.battleID)")
|
|
305
|
+
case .failure(let error):
|
|
306
|
+
print("PK request failed: \(error)")
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
```
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
## Introduction
|
|
2
|
+
|
|
3
|
+
Co-guest feature enables real-time interaction between hosts and audience members through a seat-based system. `CoGuestStore` provides a comprehensive set of APIs to manage the entire co-guest lifecycle.
|
|
4
|
+
|
|
5
|
+
> **Important: **
|
|
6
|
+
>
|
|
7
|
+
|
|
8
|
+
> Always use the factory method **create(liveID:)** with a valid live room ID to create a `CoGuestStore` instance. Do not attempt to initialize directly.
|
|
9
|
+
>
|
|
10
|
+
|
|
11
|
+
> **Note: **
|
|
12
|
+
>
|
|
13
|
+
|
|
14
|
+
> Co-guest state updates are delivered through the **state** publisher. Subscribe to it to receive real-time updates about connected users, invitations and applications.
|
|
15
|
+
>
|
|
16
|
+
|
|
17
|
+
> **Warning: **
|
|
18
|
+
>
|
|
19
|
+
|
|
20
|
+
> If a co-guest request does not receive a response within the specified timeout, an event with `NoResponseReason.timeout` will be triggered. Always handle timeout scenarios in your UI.
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
- **Bidirectional Invitation**: Hosts can invite audience members, and audience members can also apply to join.
|
|
25
|
+
|
|
26
|
+
- **State Management**: Real-time tracking of connected users, invitations and applications.
|
|
27
|
+
|
|
28
|
+
- **Event-Driven Architecture**: Provides separate event streams for host and guest roles.
|
|
29
|
+
|
|
30
|
+
- **Timeout Handling**: Built-in timeout mechanism for invitations and applications.
|
|
31
|
+
|
|
32
|
+
## Subscribable Data
|
|
33
|
+
|
|
34
|
+
**CoGuestState** fields are described below:
|
|
35
|
+
|
|
36
|
+
|**Property**|**Type**|**Description**|
|
|
37
|
+
|---------|---------|---------|
|
|
38
|
+
|connected|[SeatUserInfo]|List of users already on seats.|
|
|
39
|
+
|invitees|[LiveUserInfo]|List of users invited by host.|
|
|
40
|
+
|applicants|[LiveUserInfo]|List of users who applied for co-guest received by host.|
|
|
41
|
+
|candidates|[LiveUserInfo]|List of candidate users for co-guest.|
|
|
42
|
+
|
|
43
|
+
## API List
|
|
44
|
+
|
|
45
|
+
|**Function**|**Description**|
|
|
46
|
+
|---------|---------|
|
|
47
|
+
|create|Create object instance.|
|
|
48
|
+
|hostEventPublisher|Host-side event publisher.|
|
|
49
|
+
|guestEventPublisher|Guest-side event publisher.|
|
|
50
|
+
|applyForSeat|Guest applies for co-guest.|
|
|
51
|
+
|cancelApplication|Guest cancels application.|
|
|
52
|
+
|acceptApplication|Host accepts application.|
|
|
53
|
+
|rejectApplication|Host rejects application.|
|
|
54
|
+
|inviteToSeat|Host invites guest to co-guest.|
|
|
55
|
+
|cancelInvitation|Host cancels invitation.|
|
|
56
|
+
|acceptInvitation|Guest accepts invitation.|
|
|
57
|
+
|rejectInvitation|Guest rejects invitation.|
|
|
58
|
+
|disConnect|End co-guest session.|
|
|
59
|
+
|
|
60
|
+
### Creating Instance
|
|
61
|
+
|
|
62
|
+
#### create
|
|
63
|
+
|
|
64
|
+
Create CoGuestStore instance.
|
|
65
|
+
``` swift
|
|
66
|
+
public static func create(liveID: String) -> CoGuestStore {
|
|
67
|
+
let store: CoGuestStoreImpl = StoreFactory.shared.getStore(roomID: liveID)
|
|
68
|
+
return store
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Version**
|
|
73
|
+
|
|
74
|
+
Supported since version 3.5.
|
|
75
|
+
|
|
76
|
+
**Parameters**
|
|
77
|
+
|
|
78
|
+
|**Parameter**|**Type**|**Description**|
|
|
79
|
+
|---------|---------|---------|
|
|
80
|
+
|liveID|String|Live room ID.|
|
|
81
|
+
|
|
82
|
+
### Observing State and Events
|
|
83
|
+
|
|
84
|
+
#### hostEventPublisher
|
|
85
|
+
|
|
86
|
+
Host-side event publisher.
|
|
87
|
+
|
|
88
|
+
Host event publisher.
|
|
89
|
+
|
|
90
|
+
**Data Structures:**HostEvent
|
|
91
|
+
|
|
92
|
+
#### guestEventPublisher
|
|
93
|
+
|
|
94
|
+
Guest-side event publisher.
|
|
95
|
+
|
|
96
|
+
Guest event publisher.
|
|
97
|
+
|
|
98
|
+
**Data Structures:**GuestEvent
|
|
99
|
+
|
|
100
|
+
### Guest Operations
|
|
101
|
+
|
|
102
|
+
#### applyForSeat
|
|
103
|
+
|
|
104
|
+
Apply to go on seat.
|
|
105
|
+
``` swift
|
|
106
|
+
public func applyForSeat(seatIndex: Int = -1, timeout: TimeInterval, extraInfo: String?, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Request to join co-guest session as an audience member.
|
|
110
|
+
|
|
111
|
+
After calling this method, a co-guest request is sent to all hosts in the live room. The request will remain active until:
|
|
112
|
+
• Host accepts via **acceptApplication**
|
|
113
|
+
• Host rejects via **rejectApplication**
|
|
114
|
+
• Timeout expires
|
|
115
|
+
• You cancel via **cancelApplication**.
|
|
116
|
+
|
|
117
|
+
**Version**
|
|
118
|
+
|
|
119
|
+
Supported since version 3.5.
|
|
120
|
+
|
|
121
|
+
**Notes**
|
|
122
|
+
|
|
123
|
+
> **Note: **
|
|
124
|
+
>
|
|
125
|
+
|
|
126
|
+
> If no host responds within the timeout, {ref2} event with **NoResponseReason/timeout** will be triggered.
|
|
127
|
+
>
|
|
128
|
+
|
|
129
|
+
**Parameters**
|
|
130
|
+
|
|
131
|
+
|**Parameter**|**Type**|**Description**|
|
|
132
|
+
|---------|---------|---------|
|
|
133
|
+
|seatIndex|Int|Seat index, -1 means auto-assign seat.|
|
|
134
|
+
|timeout|TimeInterval|Timeout (unit: seconds).|
|
|
135
|
+
|extraInfo|String?|Extra information.|
|
|
136
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
137
|
+
|
|
138
|
+
#### cancelApplication
|
|
139
|
+
|
|
140
|
+
Cancel seat application.
|
|
141
|
+
``` swift
|
|
142
|
+
public func cancelApplication(completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Cancel a previously sent co-guest application. After calling this method, all hosts will be notified of the application cancellation.
|
|
146
|
+
|
|
147
|
+
**Version**
|
|
148
|
+
|
|
149
|
+
Supported since version 3.5.
|
|
150
|
+
|
|
151
|
+
**Notes**
|
|
152
|
+
|
|
153
|
+
> **Note: **
|
|
154
|
+
>
|
|
155
|
+
|
|
156
|
+
> If the application has already been processed by a host, the cancellation may have no effect.
|
|
157
|
+
>
|
|
158
|
+
|
|
159
|
+
**Parameters**
|
|
160
|
+
|
|
161
|
+
|**Parameter**|**Type**|**Description**|
|
|
162
|
+
|---------|---------|---------|
|
|
163
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
164
|
+
|
|
165
|
+
#### acceptApplication
|
|
166
|
+
|
|
167
|
+
Accept seat application.
|
|
168
|
+
``` swift
|
|
169
|
+
public func acceptApplication(userID: String, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Version**
|
|
173
|
+
|
|
174
|
+
Supported since version 3.5.
|
|
175
|
+
|
|
176
|
+
**Parameters**
|
|
177
|
+
|
|
178
|
+
|**Parameter**|**Type**|**Description**|
|
|
179
|
+
|---------|---------|---------|
|
|
180
|
+
|userID|String|User ID.|
|
|
181
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
182
|
+
|
|
183
|
+
#### rejectApplication
|
|
184
|
+
|
|
185
|
+
Reject seat application.
|
|
186
|
+
``` swift
|
|
187
|
+
public func rejectApplication(userID: String, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Version**
|
|
191
|
+
|
|
192
|
+
Supported since version 3.5.
|
|
193
|
+
|
|
194
|
+
**Parameters**
|
|
195
|
+
|
|
196
|
+
|**Parameter**|**Type**|**Description**|
|
|
197
|
+
|---------|---------|---------|
|
|
198
|
+
|userID|String|User ID.|
|
|
199
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
200
|
+
|
|
201
|
+
### Host Operations
|
|
202
|
+
|
|
203
|
+
#### inviteToSeat
|
|
204
|
+
|
|
205
|
+
Invite audience to seat.
|
|
206
|
+
``` swift
|
|
207
|
+
public func inviteToSeat(userID: String, seatIndex: Int = -1, timeout: TimeInterval, extraInfo: String?, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Version**
|
|
211
|
+
|
|
212
|
+
Supported since version 3.5.
|
|
213
|
+
|
|
214
|
+
**Parameters**
|
|
215
|
+
|
|
216
|
+
|**Parameter**|**Type**|**Description**|
|
|
217
|
+
|---------|---------|---------|
|
|
218
|
+
|userID|String|Invited user ID.|
|
|
219
|
+
|seatIndex|Int|Seat index, -1 means auto-assign seat.|
|
|
220
|
+
|timeout|TimeInterval|Timeout in seconds. Please set a value between 5 and 1800 seconds.|
|
|
221
|
+
|extraInfo|String?|Extra information.|
|
|
222
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
223
|
+
|
|
224
|
+
#### cancelInvitation
|
|
225
|
+
|
|
226
|
+
Cancel seat invitation.
|
|
227
|
+
``` swift
|
|
228
|
+
public func cancelInvitation(inviteeID: String, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Version**
|
|
232
|
+
|
|
233
|
+
Supported since version 3.5.
|
|
234
|
+
|
|
235
|
+
**Parameters**
|
|
236
|
+
|
|
237
|
+
|**Parameter**|**Type**|**Description**|
|
|
238
|
+
|---------|---------|---------|
|
|
239
|
+
|inviteeID|String|Invited user ID.|
|
|
240
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
241
|
+
|
|
242
|
+
#### acceptInvitation
|
|
243
|
+
|
|
244
|
+
Accept seat invitation.
|
|
245
|
+
``` swift
|
|
246
|
+
public func acceptInvitation(inviterID: String, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Version**
|
|
250
|
+
|
|
251
|
+
Supported since version 3.5.
|
|
252
|
+
|
|
253
|
+
**Parameters**
|
|
254
|
+
|
|
255
|
+
|**Parameter**|**Type**|**Description**|
|
|
256
|
+
|---------|---------|---------|
|
|
257
|
+
|inviterID|String|Inviter user ID.|
|
|
258
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
259
|
+
|
|
260
|
+
#### rejectInvitation
|
|
261
|
+
|
|
262
|
+
Reject seat invitation.
|
|
263
|
+
``` swift
|
|
264
|
+
public func rejectInvitation(inviterID: String, completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Version**
|
|
268
|
+
|
|
269
|
+
Supported since version 3.5.
|
|
270
|
+
|
|
271
|
+
**Parameters**
|
|
272
|
+
|
|
273
|
+
|**Parameter**|**Type**|**Description**|
|
|
274
|
+
|---------|---------|---------|
|
|
275
|
+
|inviterID|String|Inviter user ID.|
|
|
276
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
277
|
+
|
|
278
|
+
### Connection Control
|
|
279
|
+
|
|
280
|
+
#### disConnect
|
|
281
|
+
|
|
282
|
+
Disconnect co-guest.
|
|
283
|
+
``` swift
|
|
284
|
+
public func disConnect(completion: CompletionClosure?) { fatalError("\(#function) must be overridden by subclass") }
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Version**
|
|
288
|
+
|
|
289
|
+
Supported since version 3.5.
|
|
290
|
+
|
|
291
|
+
**Parameters**
|
|
292
|
+
|
|
293
|
+
|**Parameter**|**Type**|**Description**|
|
|
294
|
+
|---------|---------|---------|
|
|
295
|
+
|completion|CompletionClosure?|Completion callback.|
|
|
296
|
+
|
|
297
|
+
## Data Structures
|
|
298
|
+
|
|
299
|
+
### NoResponseReason
|
|
300
|
+
|
|
301
|
+
Reason for no response to co-guest invitation sent by host or co-guest request initiated by audience.
|
|
302
|
+
|
|
303
|
+
|**Enum Value**|**Value**|**Description**|
|
|
304
|
+
|---------|---------|---------|
|
|
305
|
+
|timeout|0|Request timeout.|
|
|
306
|
+
|alreadySeated|1|User already on seat.|
|
|
307
|
+
|
|
308
|
+
### HostEvent
|
|
309
|
+
|
|
310
|
+
Callback events received on host side.
|
|
311
|
+
|
|
312
|
+
|**Enum Value**|**Description**|
|
|
313
|
+
|---------|---------|
|
|
314
|
+
|onGuestApplicationReceived|This callback is triggered when an audience applies for co-guest.|
|
|
315
|
+
|onGuestApplicationCancelled|This callback is triggered when an audience cancels co-guest application.|
|
|
316
|
+
|onGuestApplicationProcessedByOtherHost|This callback is triggered when an audience's co-guest application is processed by another host.|
|
|
317
|
+
|onHostInvitationResponded|This callback is triggered when a co-guest invitation sent by host receives a response from audience.|
|
|
318
|
+
|onHostInvitationNoResponse|This callback is triggered when a co-guest invitation sent by host receives no response.|
|
|
319
|
+
|
|
320
|
+
### GuestEvent
|
|
321
|
+
|
|
322
|
+
Callback events received on guest side.
|
|
323
|
+
|
|
324
|
+
|**Enum Value**|**Description**|
|
|
325
|
+
|---------|---------|
|
|
326
|
+
|onHostInvitationReceived|This callback is triggered when receiving a co-guest invitation from host.|
|
|
327
|
+
|onHostInvitationCancelled|This callback is triggered when host cancels co-guest invitation.|
|
|
328
|
+
|onGuestApplicationResponded|This callback is triggered when audience's co-guest application receives a response from host.|
|
|
329
|
+
|onGuestApplicationNoResponse|This callback is triggered when audience's co-guest application receives no response.|
|
|
330
|
+
|onKickedOffSeat|This callback is triggered when audience is kicked off seat by host.|
|
|
331
|
+
|
|
332
|
+
### CoGuestState
|
|
333
|
+
|
|
334
|
+
Co-guest related state data provided externally by CoGuestStore.
|
|
335
|
+
|
|
336
|
+
|**Property**|**Type**|**Description**|
|
|
337
|
+
|---------|---------|---------|
|
|
338
|
+
|connected|[SeatUserInfo]|List of users already on seats.|
|
|
339
|
+
|invitees|[LiveUserInfo]|List of users invited by host.|
|
|
340
|
+
|applicants|[LiveUserInfo]|List of users who applied for co-guest received by host.|
|
|
341
|
+
|candidates|[LiveUserInfo]|List of candidate users for co-guest.|
|
|
342
|
+
|
|
343
|
+
## Usage Example
|
|
344
|
+
``` swift
|
|
345
|
+
// Create store instance
|
|
346
|
+
let store = CoGuestStore.create(liveID: "live_room_123")
|
|
347
|
+
// Subscribe to state changes
|
|
348
|
+
store.state.subscribe { state in
|
|
349
|
+
print("Connected users: \(state.connected.count)")
|
|
350
|
+
print("Pending applications: \(state.applicants.count)")
|
|
351
|
+
}
|
|
352
|
+
// Subscribe to host events (for hosts)
|
|
353
|
+
store.hostEventPublisher.sink { event in
|
|
354
|
+
switch event {
|
|
355
|
+
case .onGuestApplicationReceived(let guestUser):
|
|
356
|
+
print("Received application from \(guestUser.userName)")
|
|
357
|
+
// Show accept/reject UI
|
|
358
|
+
case .onHostInvitationResponded(let isAccept, let guestUser):
|
|
359
|
+
print("Audience \(guestUser.userName) \(isAccept ? "accepted" : "rejected")")
|
|
360
|
+
default:
|
|
361
|
+
break
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
// Host: Accept application
|
|
365
|
+
store.acceptApplication(userID: "user_456") { code, message in
|
|
366
|
+
if code == 0 {
|
|
367
|
+
print("Application accepted successfully")
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
```
|