@tencent-rtc/mcp 1.6.4 → 1.6.6
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 +168 -10
- 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 +247 -61
- 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/chat/urls/sdk/android.md +3 -3
- package/resource/knowledge/chat/urls/sdk/flutter.md +3 -3
- package/resource/knowledge/chat/urls/sdk/ios.md +3 -3
- package/resource/knowledge/chat/urls/sdk/web.md +3 -3
- 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
|
@@ -78,7 +78,7 @@ class MainActivity : ComponentActivity() {
|
|
|
78
78
|
Create a call page that launches when an incoming call is received.
|
|
79
79
|
1. **Create the call page:** Implement a new Activity to serve as the call interface, triggered upon incoming call.
|
|
80
80
|
|
|
81
|
-
2. **Bind the call page to
|
|
81
|
+
2. **Bind the call page to** [CallCoreView](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-call-core-view/index.html)**:** The CallCoreView component automatically observes [CallStore](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-store/index.html) data and renders video, supporting UI customization like layout switching, avatar, and icon configuration.
|
|
82
82
|
|
|
83
83
|
``` java
|
|
84
84
|
import io.trtc.tuikit.atomicxcore.api.view.CallCoreView
|
|
@@ -581,7 +581,6 @@ Get call duration in real time from the `duration` field in [activeCall](https:/
|
|
|
581
581
|
|
|
582
582
|
> **Note:**
|
|
583
583
|
>
|
|
584
|
-
|
|
585
584
|
> For more info on reactive call state data, see [CallState](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-state/index.html).
|
|
586
585
|
>
|
|
587
586
|
|
|
@@ -656,7 +655,7 @@ Implementing Picture-in-Picture (PiP) mode requires Android 8.0 (API level 26) o
|
|
|
656
655
|
}
|
|
657
656
|
}
|
|
658
657
|
```
|
|
659
|
-
- **Handling the PiP Transition
|
|
658
|
+
- **Handling the PiP Transition :** When the system successfully enters PiP mode, the `onPictureInPictureModeChanged` callback is triggered. You must update the **CallCoreView** layout to `CallLayoutTemplate.Pip` at this stage.
|
|
660
659
|
|
|
661
660
|
``` java
|
|
662
661
|
val callCoreView = CallCoreView(context)
|
|
@@ -668,9 +667,9 @@ Implementing Picture-in-Picture (PiP) mode requires Android 8.0 (API level 26) o
|
|
|
668
667
|
}
|
|
669
668
|
}
|
|
670
669
|
```
|
|
671
|
-
- **Restoring Full-Screen Layout
|
|
670
|
+
- **Restoring Full-Screen Layout :** When the user returns to the app from PiP (restoring full screen), the onResume callback will be triggered. You should reset the layout based on the current number of participants:
|
|
672
671
|
|
|
673
|
-
- **1 v 1 Calls
|
|
672
|
+
- **1 v 1 Calls:** Use `CallLayoutTemplate.Float`.
|
|
674
673
|
|
|
675
674
|
- **Group Calls:** Use `CallLayoutTemplate.Grid`.
|
|
676
675
|
|
|
@@ -712,7 +711,7 @@ class CallActivity : AppCompatActivity() {
|
|
|
712
711
|
### Enable Background Audio/Video Capture
|
|
713
712
|
|
|
714
713
|
To maintain audio and video capture when the app is in the background, you must implement a Foreground Service. Starting from Android 9.0 (API 28), foreground service permissions are required, and Android 14 (API 34) mandates declaring specific service types for the camera and microphone.
|
|
715
|
-
1. **Configure Permissions and Service ( AndroidManifest.xml )
|
|
714
|
+
1. **Configure Permissions and Service ( AndroidManifest.xml ) :** Declare the necessary foreground service permissions and specify the service types within the <application> tag.
|
|
716
715
|
|
|
717
716
|
``` java
|
|
718
717
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
@@ -730,7 +729,7 @@ To maintain audio and video capture when the app is in the background, you must
|
|
|
730
729
|
</application>
|
|
731
730
|
</manifest>
|
|
732
731
|
```
|
|
733
|
-
2. **Create the Foreground Service Class ( CallForegroundService )
|
|
732
|
+
2. **Create the Foreground Service Class ( CallForegroundService ) :** The service ensures the system does not kill the app's process while it is in the background by displaying a persistent notification.
|
|
734
733
|
|
|
735
734
|
``` java
|
|
736
735
|
import android.app.Notification
|
|
@@ -810,7 +809,7 @@ Congratulations! You have implemented the answer call feature. Next, see Make Yo
|
|
|
810
809
|
### Why does the UI appear distorted or show the wrong screen after navigating to another page while in PiP mode?
|
|
811
810
|
- **Cause :** Android's Picture-in-Picture (PiP) mode operates based on the Task Stack. By default, all Activities in an app share the same task stack. If you launch a new Activity while the app is in PiP mode, that new page is pushed onto the current stack. Consequently, the new screen incorrectly attempts to render within the tiny PiP window, leading to UI anomalies.
|
|
812
811
|
|
|
813
|
-
- **Solution
|
|
812
|
+
- **Solution :** Declare the Call Activity as a separate task with its own affinity in the AndroidManifest.xml. This ensures the call remains isolated in its own window regardless of other app navigation.
|
|
814
813
|
|
|
815
814
|
``` java
|
|
816
815
|
<activity
|
|
@@ -71,7 +71,6 @@ class MainActivity : ComponentActivity() {
|
|
|
71
71
|
|
|
72
72
|
> **Note:**
|
|
73
73
|
>
|
|
74
|
-
|
|
75
74
|
> You must log in before making a call. The following steps show how to make a call.
|
|
76
75
|
>
|
|
77
76
|
|
|
@@ -80,7 +79,7 @@ class MainActivity : ComponentActivity() {
|
|
|
80
79
|
Set up a dedicated call screen that appears when a call is initiated:
|
|
81
80
|
1. **Create the call screen:** Implement a new Activity to host the call UI and handle navigation when a call is received.
|
|
82
81
|
|
|
83
|
-
2. **Attach
|
|
82
|
+
2. **Attach** [CallCoreView](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.view/-call-core-view/index.html)**:** This core view component observes **CallStore** data and renders the call UI. It supports layout switching, avatar, and icon customization.
|
|
84
83
|
|
|
85
84
|
``` java
|
|
86
85
|
class CallActivity : AppCompatActivity() {
|
|
@@ -117,7 +116,7 @@ Use the APIs from [DeviceStore](https://liteav.sdk.cloudcachetci.com/doc/product
|
|
|
117
116
|
|**Icons**|||||||||
|
|
118
117
|
|---------|---------|---------|---------|---------|---------|---------|---------|---------|
|
|
119
118
|
|
|
120
|
-
- **Example: Adding
|
|
119
|
+
- **Example: Adding** **hang up, microphone, and camera buttons**
|
|
121
120
|
|
|
122
121
|
1. **Create Bottom Bar Container:** Add a container at the bottom of the call screen to hold the hang up, microphone, and camera buttons.
|
|
123
122
|
|
|
@@ -418,8 +417,8 @@ After the [calls](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic
|
|
|
418
417
|
| <strong>Parameter</strong> | <strong>Type</strong> | <strong>Required</strong> | <strong>Description</strong> |
|
|
419
418
|
| --- | --- | --- | --- |
|
|
420
419
|
| userIdList | List | Yes | List of target user <code>userId</code>s. |
|
|
421
|
-
| mediaType | <a href="https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-media-type/index.html">CallMediaType</a> | Yes | Call media type: audio or video.<br>-
|
|
422
|
-
| params | <a href="https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-params/index.html">CallParams</a> | No | Optional call parameters, such as room ID, call invitation timeout, etc.<br>-
|
|
420
|
+
| mediaType | <a href="https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-media-type/index.html">CallMediaType</a> | Yes | Call media type: audio or video.<br>- <code>CallMediaType.Video</code>: Video call.<br>- <code>CallMediaType.Audio</code>: Audio call. |
|
|
421
|
+
| params | <a href="https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-params/index.html">CallParams</a> | No | Optional call parameters, such as room ID, call invitation timeout, etc.<br>- <code>roomId</code> (String): Room ID, optional. If not specified, the server assigns one.<br>- <code>timeout</code> (Int): Call timeout (seconds).<br>- <code>userData</code> (String): Custom user data.<br>- <code>chatGroupId</code> (String): Chat group ID for group calls.<br>- <code>isEphemeralCall</code> (Boolean): If true, the call is encrypted and not logged. |
|
|
423
422
|
|
|
424
423
|
### Step 5: End the Call
|
|
425
424
|
|
|
@@ -578,7 +577,7 @@ Use [setWaitingAnimation](https://liteav.sdk.cloudcachetci.com/doc/product/tuiki
|
|
|
578
577
|
|
|
579
578
|
### Add Call Duration Display
|
|
580
579
|
|
|
581
|
-
You can display call duration in real time using the [activeCall](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-state/active-call.html)`duration` field.
|
|
580
|
+
You can display call duration in real time using the [activeCall](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-state/active-call.html) `duration` field.
|
|
582
581
|
1. **Subscribe to the data layer:** Observe `CallStore.observerState.activeCall` for updates to the current call.
|
|
583
582
|
|
|
584
583
|
2. **Bind duration data:** Bind `activeCall.duration` to a UI control. The UI updates automatically—no need to manage a timer manually.
|
|
@@ -627,7 +626,6 @@ You can display call duration in real time using the [activeCall](https://liteav
|
|
|
627
626
|
|
|
628
627
|
> **Note:**
|
|
629
628
|
>
|
|
630
|
-
|
|
631
629
|
> For more reactive call status data, see [CallState](https://liteav.sdk.cloudcachetci.com/doc/product/tuikit/atomic-x/android/en/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.call/-call-state/index.html).
|
|
632
630
|
>
|
|
633
631
|
|
|
@@ -4,7 +4,6 @@ To solve this, you need to integrate offline push notifications using FCM Data M
|
|
|
4
4
|
|
|
5
5
|
> **Note:**
|
|
6
6
|
>
|
|
7
|
-
|
|
8
7
|
> Offline push is not required if users are only calling always-online web agents.
|
|
9
8
|
>
|
|
10
9
|
|
|
@@ -16,7 +15,6 @@ Go to the [Chat Console > App Push > Access settings](https://console.trtc.io/ch
|
|
|
16
15
|
|
|
17
16
|
> **Note:**
|
|
18
17
|
>
|
|
19
|
-
|
|
20
18
|
> When your push plugin trial or subscription expires, all push services (including offline push for regular messages, broadcast/tag push, etc.) will be automatically suspended. To ensure uninterrupted service, please [purchase](https://buy.intl.cloud.tencent.com/avc) or [renew](https://console.tencentcloud.com/expense/renewal) your subscription in advance.
|
|
21
19
|
>
|
|
22
20
|
|
|
@@ -56,8 +54,8 @@ Over 90% of missed call notifications are due to users manually disabling app no
|
|
|
56
54
|
|
|
57
55
|
> **Note:**
|
|
58
56
|
>
|
|
59
|
-
>
|
|
60
|
-
>
|
|
57
|
+
> - TIMPush requires IM SDK version **7.9.5666** or above.
|
|
58
|
+
> - You can update the Chat SDK version in the `tuicallkit-kt/build.gradle` file.
|
|
61
59
|
|
|
62
60
|
### Step 3: Project Configuration
|
|
63
61
|
1. Add the following to the `buildscript > dependencies` section of your project-level `build.gradle` file:
|
|
@@ -315,7 +313,7 @@ Listen for incoming call events. After a successful login (Step 1), if there are
|
|
|
315
313
|
}
|
|
316
314
|
}
|
|
317
315
|
```
|
|
318
|
-
- **onCallReceived
|
|
316
|
+
- **onCallReceived:** Triggered when an incoming call event is received.
|
|
319
317
|
|
|
320
318
|
| <strong>Parameter</strong> | <strong>Type</strong> | <strong>Description</strong> |
|
|
321
319
|
| --- | --- | --- |
|
|
@@ -548,7 +548,7 @@ Use the [loadingAnimation](https://liteav.sdk.qcloud.com/doc/product/tuikit/atom
|
|
|
548
548
|
|
|
549
549
|
### Add Call Duration Indicator
|
|
550
550
|
|
|
551
|
-
Call duration updates in real time via [activeCall](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState/activeCall.html)`duration`. To display call duration:
|
|
551
|
+
Call duration updates in real time via [activeCall](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState/activeCall.html) `duration`. To display call duration:
|
|
552
552
|
1. **Subscribe to Data:** Listen to `CallStore.shared.state.activeCall` for the current active call.
|
|
553
553
|
|
|
554
554
|
2. **Bind Call Duration:** Bind the `activeCall.duration` field to a UI widget. This is reactive and auto-updates the UI—no manual timer needed.
|
|
@@ -612,7 +612,6 @@ Call duration updates in real time via [activeCall](https://liteav.sdk.qcloud.co
|
|
|
612
612
|
|
|
613
613
|
> **Note:**
|
|
614
614
|
>
|
|
615
|
-
|
|
616
615
|
> For more reactive call state data, see [CallState](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState-class.html).
|
|
617
616
|
>
|
|
618
617
|
|
|
@@ -666,7 +665,7 @@ Use [setLayoutTemplate](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-
|
|
|
666
665
|
|
|
667
666
|
### Set Default Call Timeout
|
|
668
667
|
|
|
669
|
-
When making a call via [calls](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallStore/calls.html), specify the timeout using [CallParams](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallParams-class.html)`timeout`.
|
|
668
|
+
When making a call via [calls](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallStore/calls.html), specify the timeout using [CallParams](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallParams-class.html) `timeout`.
|
|
670
669
|
``` java
|
|
671
670
|
void startCall(List<String> userIdList, CallMediaType mediaType) {
|
|
672
671
|
CallParams params = CallParams(
|
|
@@ -870,10 +869,8 @@ iOS supports system PiP with the underlying TRTC engine. When the app goes to ba
|
|
|
870
869
|
|
|
871
870
|
> **Note:**
|
|
872
871
|
>
|
|
873
|
-
|
|
874
872
|
> Add `Background Modes` in Xcode's `Signing & Capabilities` and check `Audio, AirPlay, and Picture in Picture`.
|
|
875
873
|
>
|
|
876
|
-
|
|
877
874
|
> Requires iOS 15.0 or later.
|
|
878
875
|
>
|
|
879
876
|
|
|
@@ -1089,7 +1086,6 @@ To ensure your app can capture audio/video while in the background (e.g., screen
|
|
|
1089
1086
|
|
|
1090
1087
|
> **Note:**
|
|
1091
1088
|
>
|
|
1092
|
-
|
|
1093
1089
|
> Call `start()` via MethodChannel at the appropriate time in your app to enable background keep-alive.
|
|
1094
1090
|
>
|
|
1095
1091
|
|
|
@@ -340,7 +340,7 @@ Customize your control buttons using [DeviceStore](https://liteav.sdk.qcloud.com
|
|
|
340
340
|
### Step 3: Request Microphone/Camera Permissions
|
|
341
341
|
|
|
342
342
|
Check for audio/video permissions before starting a call. If permissions are missing, prompt users to grant them.
|
|
343
|
-
1. **Declare permissions for Android in
|
|
343
|
+
1. **Declare permissions for Android in** `AndroidManifest.xml`**:**
|
|
344
344
|
|
|
345
345
|
``` xml
|
|
346
346
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
@@ -350,7 +350,7 @@ Check for audio/video permissions before starting a call. If permissions are mis
|
|
|
350
350
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
351
351
|
</manifest>
|
|
352
352
|
```
|
|
353
|
-
2. **Declare permissions for iOS in
|
|
353
|
+
2. **Declare permissions for iOS in** `Info.plist`**:**
|
|
354
354
|
|
|
355
355
|
``` xml
|
|
356
356
|
<key>NSCameraUsageDescription</key>
|
|
@@ -619,7 +619,6 @@ You can display call duration in real time using [activeCall](https://liteav.sdk
|
|
|
619
619
|
|
|
620
620
|
> **Note :**
|
|
621
621
|
>
|
|
622
|
-
|
|
623
622
|
> For more reactive call state data, see [CallState](https://liteav.sdk.qcloud.com/doc/product/tuikit/atomic-x/flutter/v1.0/en/api_call_call_store/CallState-class.html).
|
|
624
623
|
>
|
|
625
624
|
|
|
@@ -865,10 +864,8 @@ iOS supports Picture-in-Picture outside the app using the underlying TRTC engine
|
|
|
865
864
|
|
|
866
865
|
> **Note:**
|
|
867
866
|
>
|
|
868
|
-
|
|
869
867
|
> In Xcode, add `Background Modes` under `Signing & Capabilities` and check `Audio, AirPlay, and Picture in Picture`.
|
|
870
868
|
>
|
|
871
|
-
|
|
872
869
|
> Requires iOS 15.0 or above.
|
|
873
870
|
>
|
|
874
871
|
|
|
@@ -1101,7 +1098,6 @@ Open your project in Xcode and:
|
|
|
1101
1098
|
|
|
1102
1099
|
> **Note:**
|
|
1103
1100
|
>
|
|
1104
|
-
|
|
1105
1101
|
> Call `start()` via `MethodChannel` at the appropriate time to enable background keep-alive.
|
|
1106
1102
|
>
|
|
1107
1103
|
|
|
@@ -12,7 +12,6 @@ Navigate to [Chat Console > App Push > Integration Settings](https://console.trt
|
|
|
12
12
|
|
|
13
13
|
> **Note:**
|
|
14
14
|
>
|
|
15
|
-
|
|
16
15
|
> After the push plugin trial or purchase expires, push services (including offline push for standard messages, broadcast/tag push, etc.) will be automatically disabled. To avoid business interruption, please [purchase](https://buy.intl.cloud.tencent.com/avc) or [renew](https://console.tencentcloud.com/expense/renewal) the service in advance.
|
|
17
16
|
>
|
|
18
17
|
|
|
@@ -98,7 +97,6 @@ public class MyApplication extends TencentCloudChatPushApplication {
|
|
|
98
97
|
|
|
99
98
|
> **Note:**
|
|
100
99
|
>
|
|
101
|
-
|
|
102
100
|
> If you have an existing Application class, simply extend `TencentCloudChatPushApplication` and ensure `onCreate()` calls `super.onCreate();`.
|
|
103
101
|
>
|
|
104
102
|
|
|
@@ -142,7 +140,6 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
|
|
|
142
140
|
|
|
143
141
|
> **Note:**
|
|
144
142
|
>
|
|
145
|
-
|
|
146
143
|
> Your app's `Bundle ID` cannot use a wildcard `*`; otherwise, remote push will not work.
|
|
147
144
|
>
|
|
148
145
|
|
|
@@ -175,7 +172,6 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
|
|
|
175
172
|
|
|
176
173
|
> **Note:**
|
|
177
174
|
>
|
|
178
|
-
|
|
179
175
|
> The Production certificate is actually a combined certificate for both Sandbox (Development) and Production environments and can be used for both.
|
|
180
176
|
>
|
|
181
177
|
|
|
@@ -185,7 +181,6 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
|
|
|
185
181
|
|
|
186
182
|
> **Note:**
|
|
187
183
|
>
|
|
188
|
-
|
|
189
184
|
> Set a password when exporting the `.p12` file.
|
|
190
185
|
>
|
|
191
186
|
|
|
@@ -198,10 +193,10 @@ Open `android/app/src/main/AndroidManifest.xml` and add the `android:name` attri
|
|
|
198
193
|
|
|
199
194
|
> **Note:**
|
|
200
195
|
>
|
|
201
|
-
>
|
|
202
|
-
>
|
|
203
|
-
>
|
|
204
|
-
>
|
|
196
|
+
> - Use only English characters for certificate names (avoid brackets or special characters).
|
|
197
|
+
> - You must set a password when uploading the certificate; otherwise, push notifications will not be received.
|
|
198
|
+
> - Certificates for App Store release must be set to Production environment; otherwise, push notifications will not be received.
|
|
199
|
+
> - The uploaded `.p12` certificate must be a valid certificate you applied for.
|
|
205
200
|
|
|
206
201
|
### Step 2: Push Parameter Configuration
|
|
207
202
|
|
|
@@ -27,7 +27,6 @@ Visit [Activate the Service](https://trtc.io/document/59832) to obtain either a
|
|
|
27
27
|
|
|
28
28
|
> **Tips:**
|
|
29
29
|
>
|
|
30
|
-
|
|
31
30
|
> **If your project does not have a Podfile:** In your terminal, navigate to your `.xcodeproj` directory and run `pod init` to generate a Podfile.
|
|
32
31
|
>
|
|
33
32
|
|
|
@@ -39,7 +38,6 @@ Visit [Activate the Service](https://trtc.io/document/59832) to obtain either a
|
|
|
39
38
|
|
|
40
39
|
> **Tips:**
|
|
41
40
|
>
|
|
42
|
-
|
|
43
41
|
> After installation, open your project using the `YourProjectName.xcworkspace` file.
|
|
44
42
|
>
|
|
45
43
|
|
|
@@ -111,7 +109,7 @@ class ViewController: UIViewController {
|
|
|
111
109
|
You need a call screen that appears when a call is received.
|
|
112
110
|
1. **Create the call screen:** Implement a new UIViewController to serve as the call screen. This screen will be presented when an incoming call arrives.
|
|
113
111
|
|
|
114
|
-
2. **Attach
|
|
112
|
+
2. **Attach** [CallCoreView](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/) **to the call screen:** This core component observes **CallStore** data, renders video, and supports UI customization for layout, avatars, and icons.
|
|
115
113
|
|
|
116
114
|
``` swift
|
|
117
115
|
import UIKit
|
|
@@ -631,7 +629,6 @@ You can display the call duration in real time by subscribing to the [activeCall
|
|
|
631
629
|
|
|
632
630
|
> **Note:**
|
|
633
631
|
>
|
|
634
|
-
|
|
635
632
|
> For more reactive call status data, see [CallState](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate).
|
|
636
633
|
>
|
|
637
634
|
|
|
@@ -27,7 +27,6 @@ Follow the Activate the service guide to obtain either a trial or paid version o
|
|
|
27
27
|
|
|
28
28
|
> **Tips:**
|
|
29
29
|
>
|
|
30
|
-
|
|
31
30
|
> If your project doesn’t have a Podfile, navigate to your `.xcodeproj` directory in the terminal and run `pod init` to create one.
|
|
32
31
|
>
|
|
33
32
|
|
|
@@ -39,7 +38,6 @@ Follow the Activate the service guide to obtain either a trial or paid version o
|
|
|
39
38
|
|
|
40
39
|
> **Tips:**
|
|
41
40
|
>
|
|
42
|
-
|
|
43
41
|
> After installation, open your project using the `YourProjectName.xcworkspace` file.
|
|
44
42
|
>
|
|
45
43
|
|
|
@@ -111,7 +109,7 @@ class ViewController: UIViewController {
|
|
|
111
109
|
You need to create a call screen that is displayed when a call is initiated.
|
|
112
110
|
1. **Create the call screen:** Implement a new UIViewController to serve as the call interface. This will be used for both outgoing and incoming calls.
|
|
113
111
|
|
|
114
|
-
2. **Attach
|
|
112
|
+
2. **Attach** [CallCoreView](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/)**:** Add the core call view component to your call screen. CallCoreView automatically observes **CallStore** data and renders video streams, with options for customizing layout, avatars, and icons.
|
|
115
113
|
|
|
116
114
|
``` swift
|
|
117
115
|
import UIKit
|
|
@@ -559,7 +557,7 @@ After completing these five steps, the "Make a Call" feature will look like this
|
|
|
559
557
|
|
|
560
558
|
### Customizing Volume Indicator Icons
|
|
561
559
|
|
|
562
|
-
Use the **CallCoreView**[setVolumeLevelIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setvolumelevelicons(icons:)) method to assign different icons for each volume level.
|
|
560
|
+
Use the **CallCoreView** [setVolumeLevelIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setvolumelevelicons(icons:)) method to assign different icons for each volume level.
|
|
563
561
|
|
|
564
562
|
``` swift
|
|
565
563
|
// Set volume indicator icons
|
|
@@ -583,7 +581,7 @@ callCoreView.setVolumeLevelIcons(icons: volumeLevelIcons)
|
|
|
583
581
|
|
|
584
582
|
### Customizing Network Indicator Icons
|
|
585
583
|
|
|
586
|
-
Use the **CallCoreView**[setNetworkQualityIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setnetworkqualityicons(icons:)) method to assign icons for different network states.
|
|
584
|
+
Use the **CallCoreView** [setNetworkQualityIcons](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setnetworkqualityicons(icons:)) method to assign icons for different network states.
|
|
587
585
|
|
|
588
586
|
``` swift
|
|
589
587
|
// Set network quality icons
|
|
@@ -598,7 +596,7 @@ callCoreView.setNetworkQualityIcons(icons: networkQualityIcons)
|
|
|
598
596
|
| --- | --- | --- | --- |
|
|
599
597
|
| icons | [NetworkQuality: String] | Yes | Network Quality Icon Mapping Table. The dictionary structure is defined as follows:<br>Key ( NetworkQuality ) : NetworkQuality<br><code>NetworkQuality.unknown</code> :Network status is undetermined.<br><code>NetworkQuality.excellent</code>:Outstanding network connection.<br><code>NetworkQuality.good</code> : Stable and good network connection.<br><code>NetworkQuality.poor</code> : Weak network signal.<br><code>NetworkQuality.bad</code> : Very weak or unstable network.<br><code>NetworkQuality.veryBad</code> :Extremely poor network, near disconnection.<br><code>NetworkQuality.down</code> :Network is disconnected.<br>Value ( String ) : The absolute path or resource name of the icon corresponding to the network status. |
|
|
600
598
|
|
|
601
|
-
- **Network Warning Icon
|
|
599
|
+
- **Network Warning Icon:**
|
|
602
600
|
|
|
603
601
|
| <strong>Icons</strong> | <strong>Description</strong> |
|
|
604
602
|
| --- | --- |
|
|
@@ -606,7 +604,7 @@ callCoreView.setNetworkQualityIcons(icons: networkQualityIcons)
|
|
|
606
604
|
|
|
607
605
|
### Customizing Default Avatars
|
|
608
606
|
|
|
609
|
-
Use the **CallCoreView**[setParticipantAvatars](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setparticipantavatars(avatars:)) API to set user avatars. Listen to the [allParticipants](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/allparticipants) reactive data: when you have a user's avatar, set and display it; if not, show the default avatar.
|
|
607
|
+
Use the **CallCoreView** [setParticipantAvatars](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setparticipantavatars(avatars:)) API to set user avatars. Listen to the [allParticipants](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/allparticipants) reactive data: when you have a user's avatar, set and display it; if not, show the default avatar.
|
|
610
608
|
``` swift
|
|
611
609
|
// Set user avatars
|
|
612
610
|
var avatars: [String: String] = [:]
|
|
@@ -630,7 +628,7 @@ callCoreView.setParticipantAvatars(avatars: avatars)
|
|
|
630
628
|
|
|
631
629
|
### Customizing Waiting Animations
|
|
632
630
|
|
|
633
|
-
Use the **CallCoreView**[setWaitingAnimation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setwaitinganimation(path:)) API to set a waiting animation for users who are waiting to answer.
|
|
631
|
+
Use the **CallCoreView** [setWaitingAnimation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callcoreview/setwaitinganimation(path:)) API to set a waiting animation for users who are waiting to answer.
|
|
634
632
|
|
|
635
633
|
``` swift
|
|
636
634
|
// Set waiting animation
|
|
@@ -651,7 +649,7 @@ callCoreView.setWaitingAnimation(path: waitingAnimationPath)
|
|
|
651
649
|
|
|
652
650
|
### Adding a Call Duration Indicator
|
|
653
651
|
|
|
654
|
-
To display the call duration in real time, subscribe to the [activeCall](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/activecall)`duration` field.
|
|
652
|
+
To display the call duration in real time, subscribe to the [activeCall](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate/activecall) `duration` field.
|
|
655
653
|
1. **Subscribe to the data layer:** Observe `CallStore.observerState.activeCall` for changes.
|
|
656
654
|
|
|
657
655
|
2. **Bind the duration to your UI:** The `activeCall.duration` field is reactive and will automatically update your UI.
|
|
@@ -714,7 +712,6 @@ To display the call duration in real time, subscribe to the [activeCall](https:/
|
|
|
714
712
|
|
|
715
713
|
> **Note:**
|
|
716
714
|
>
|
|
717
|
-
|
|
718
715
|
> For more reactive call status data, see [CallState](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/callstate).
|
|
719
716
|
>
|
|
720
717
|
|
|
@@ -1064,7 +1061,7 @@ AtomicXCore SDK supports system-level PiP via the underlying TRTC engine. When y
|
|
|
1064
1061
|
let params: PictureInPictureParams // Parameter payload
|
|
1065
1062
|
}
|
|
1066
1063
|
```
|
|
1067
|
-
2. **Enable Picture-in-Picture
|
|
1064
|
+
2. **Enable Picture-in-Picture:** You can enable or disable the PiP feature using the `configPictureInPicture` method.
|
|
1068
1065
|
|
|
1069
1066
|
``` swift
|
|
1070
1067
|
let params = PictureInPictureParams(
|
|
@@ -15,11 +15,10 @@ After following this guide to integrate Apple LiveCommunicationKit, your app wil
|
|
|
15
15
|
|
|
16
16
|
## Activate the Service
|
|
17
17
|
|
|
18
|
-
Go to the [Chat Console > Plugin Marketplace](https://console.trtc.io/) and click
|
|
18
|
+
Go to the [Chat Console > Plugin Marketplace](https://console.trtc.io/) and click **Purchase Now** or **Free Trial** (each app is eligible for a one-time, 7-day free trial).
|
|
19
19
|
|
|
20
20
|
> **Note:**
|
|
21
21
|
>
|
|
22
|
-
|
|
23
22
|
> The push plugin will stop providing push services (including offline message push and broadcast/tag push) when your trial or subscription expires. To prevent service interruption, please purchase or renew your subscription in advance.
|
|
24
23
|
>
|
|
25
24
|
|
|
@@ -30,7 +29,7 @@ Go to the [Chat Console > Plugin Marketplace](https://console.trtc.io/) and clic
|
|
|
30
29
|
Before applying for a VoIP Push certificate, log in to the [Apple Developer Center](https://developer.apple.com/account/) and enable remote push notifications for your app. Once your AppID has Push Notification capability, follow these steps to apply for and configure your VoIP Push certificate:
|
|
31
30
|
1. Log in to the [Apple Developer Center](https://developer.apple.com/account/), click **Certificates, IDs & Profiles** to enter the Certificates, Identifiers & Profiles page.
|
|
32
31
|
|
|
33
|
-
2. Click the
|
|
32
|
+
2. Click the **+** button next to Certificates.
|
|
34
33
|
|
|
35
34
|
3. On the **Create a New Certificate** page, select **VoIP Services Certificate** and click **Continue**.
|
|
36
35
|
|
|
@@ -52,7 +51,6 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
|
|
|
52
51
|
|
|
53
52
|
> **Note:**
|
|
54
53
|
>
|
|
55
|
-
|
|
56
54
|
> Be sure to set a password when saving the `P12` file.
|
|
57
55
|
>
|
|
58
56
|
|
|
@@ -63,20 +61,19 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
|
|
|
63
61
|
|
|
64
62
|
2. In **Manufacturer configuration**, switch to **iOS**, click the **Add Certificate** button, then select the certificate type in the floating page, upload the iOS certificate (p12), set the certificate password, and click **Confirm**.
|
|
65
63
|
|
|
66
|
-
> **Description
|
|
64
|
+
> **Description:**
|
|
67
65
|
>
|
|
68
|
-
>
|
|
69
|
-
>
|
|
70
|
-
>
|
|
71
|
-
>
|
|
72
|
-
>
|
|
73
|
-
>
|
|
66
|
+
> - When adding certificates, the push type defaults to APNs, which does not affect the upload and use of VoIP certificates.
|
|
67
|
+
> - VoIP Push certificates themselves do not distinguish between production and testing environments. Production and development environments use the same VoIP Push certificate, please upload separately.
|
|
68
|
+
> - Certificate names uploaded should preferably use all English (especially avoid special characters like parentheses).
|
|
69
|
+
> - Uploaded certificates need to set a password, otherwise push notifications cannot be received.
|
|
70
|
+
> - Certificates for App Store release need to be set to production environment, otherwise push notifications cannot be received.
|
|
71
|
+
> - The uploaded p12 certificate must be a real and valid certificate you applied for yourself.
|
|
74
72
|
|
|
75
73
|
3. After upload is complete, record the certificate IDs for different environments.
|
|
76
74
|
|
|
77
|
-
> **Description
|
|
75
|
+
> **Description:**
|
|
78
76
|
>
|
|
79
|
-
|
|
80
77
|
> Certificate IDs for development and production environments must be strictly distinguished, please fill in according to the actual environment.
|
|
81
78
|
>
|
|
82
79
|
|
|
@@ -88,12 +85,12 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
|
|
|
88
85
|
2. Under Background Modes, enable the **Voice over IP** option.
|
|
89
86
|
|
|
90
87
|
### Step 2: Add Dependencies
|
|
91
|
-
1. **Add Pod Dependency
|
|
88
|
+
1. **Add Pod Dependency:** Add `pod 'TUICore'` to your `Podfile`.
|
|
92
89
|
|
|
93
90
|
``` ruby
|
|
94
91
|
pod 'TUICore'
|
|
95
92
|
```
|
|
96
|
-
2. **Install Component
|
|
93
|
+
2. **Install Component:** In your terminal, navigate to your project directory and run:
|
|
97
94
|
|
|
98
95
|
``` bash
|
|
99
96
|
pod install --repo-update
|
|
@@ -208,8 +205,8 @@ Before applying for a VoIP Push certificate, log in to the [Apple Developer Cent
|
|
|
208
205
|
|
|
209
206
|
> **Note:**
|
|
210
207
|
>
|
|
211
|
-
>
|
|
212
|
-
>
|
|
208
|
+
> - certificateID is the ID you received after uploading your certificate in the Chat Console.
|
|
209
|
+
> - Always use the correct certificate ID for your development or production environment.
|
|
213
210
|
|
|
214
211
|
### Step 4: Obtain and Save VoIP Token
|
|
215
212
|
|
|
@@ -248,7 +245,6 @@ extension VoIPPushManager: PKPushRegistryDelegate {
|
|
|
248
245
|
|
|
249
246
|
> **Note:**
|
|
250
247
|
>
|
|
251
|
-
|
|
252
248
|
> Only report the VoIP Token after the Chat SDK login is successful. Do not report immediately when the token is obtained.
|
|
253
249
|
>
|
|
254
250
|
|
|
@@ -438,14 +434,12 @@ CallStore.shared.calls(
|
|
|
438
434
|
|
|
439
435
|
> **Note:**
|
|
440
436
|
>
|
|
441
|
-
|
|
442
437
|
> **VoIP Push Downgrade Strategy**
|
|
443
438
|
>
|
|
444
|
-
|
|
445
439
|
> When using VoIP Push, the backend will intelligently select the certificate type to ensure users receive push notifications:
|
|
446
440
|
>
|
|
447
|
-
>
|
|
448
|
-
>
|
|
441
|
+
> - If a VoIP certificate is uploaded: VoIP Push will be sent.
|
|
442
|
+
> - If only an APNs certificate is uploaded: the system will automatically downgrade to APNs Push.
|
|
449
443
|
|
|
450
444
|
## Answer a Call
|
|
451
445
|
|
|
@@ -514,7 +508,7 @@ class YourViewController: UIViewController {
|
|
|
514
508
|
|
|
515
509
|
5. **Restart the test device to clear system cache and memory (this is important).**
|
|
516
510
|
|
|
517
|
-
6. **Use the
|
|
511
|
+
6. **Use the** Chat **Console's Push Troubleshooting tool for diagnostics. For details, see:** [**Push Troubleshooting Tool**](https://www.tencentcloud.com/document/product/1047/60541)**. (highly recommended)**
|
|
518
512
|
|
|
519
513
|
## Why does the app crash after receiving a VoIP Push?
|
|
520
514
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
## TUICallEngine APIs
|
|
2
|
+
|
|
3
|
+
TUICallEngine API is the **No UI Interface** of the Audio and Video Call Components.
|
|
4
|
+
|
|
5
|
+
## API Overview
|
|
6
|
+
|
|
7
|
+
|API|Description|
|
|
8
|
+
|---------|---------|
|
|
9
|
+
|[createInstance](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#.createInstance)|Creating a TUICallEngine Instance (Singleton Pattern)|
|
|
10
|
+
|[destroyInstance](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#destroyInstance)|Terminating a TUICallEngine Instance (Singleton Pattern)|
|
|
11
|
+
|[on](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#on)|Listening on events|
|
|
12
|
+
|[off](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#off)|Canceling Event Listening|
|
|
13
|
+
|[login](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#login)|Sign in Interface|
|
|
14
|
+
|[logout](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#logout)|Logout Interface|
|
|
15
|
+
|[setSelfInfo](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setSelfInfo)|Configure the user's nickname and profile photo|
|
|
16
|
+
|[calls](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#calls)|Initiate a one-on-one call|
|
|
17
|
+
|[accept](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#accept)|Answer Calls|
|
|
18
|
+
|[reject](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#reject)|Decline Call|
|
|
19
|
+
|[hangup](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#hangup)|End Calls|
|
|
20
|
+
|[startRemoteView](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#startRemoteView)|Initiate Remote Screen Rendering|
|
|
21
|
+
|[stopRemoteView](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#stopRemoteView)|Stop Remote Screen Rendering|
|
|
22
|
+
|[openCamera](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#openCamera)|Enable the camera|
|
|
23
|
+
|[closeCamera](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#closeCamera)|Turn Off Camera|
|
|
24
|
+
|[switchCamera](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#switchCamera)|Switch between front and rear cameras, note: only supported on mobile devices|
|
|
25
|
+
|[openMicrophone](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#openMicrophone)|Enable Microphone|
|
|
26
|
+
|[closeMicrophone](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#closeMicrophone)|Turn off the microphone|
|
|
27
|
+
|[setVideoQuality](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setVideoQuality)|Set video quality|
|
|
28
|
+
|[getDeviceList](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#getDeviceList)|Access device list|
|
|
29
|
+
|[switchDevice](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#switchDevice)|Switch camera or microphone devices|
|
|
30
|
+
|[enableAIVoice](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#enableAIVoice)|Enable/disable AI noise reduction|
|
|
31
|
+
|[enableMultiDeviceAbility](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#enableMultiDeviceAbility)|Turn on/off the multi-device login mode of TUICallEngine|
|
|
32
|
+
|[setBlurBackground](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setBlurBackground)|Switch/set background blur|
|
|
33
|
+
|[setVirtualBackground](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html#setVirtualBackground)|Switch/set image background blur|
|