@tencent-rtc/mcp 1.6.6 → 1.6.8
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/build-index.js +3 -0
- package/knowledge/content-loader.js +3 -1
- package/knowledge/search/filter-pool.js +12 -4
- package/knowledge/search/query-normalizer.js +76 -0
- package/knowledge/search/search-knowledge.js +104 -5
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +1 -0
- package/resource/_schema/query-normalization.yaml +9 -0
- package/resource/index/manifest.json +1 -1
- package/resource/integration/callkit/preset/android/integration.md +3 -14
- package/resource/integration/callkit/preset/flutter/integration.md +1 -12
- package/resource/integration/callkit/preset/ios/integration.md +2 -12
- package/resource/integration/callkit/preset/react/integration.md +1 -14
- package/resource/integration/callkit/preset/vue/integration.md +1 -14
- package/resource/integration/chat/preset/android/integration.md +6 -13
- package/resource/integration/chat/preset/flutter/integration.md +1 -8
- package/resource/integration/chat/preset/ios/integration.md +4 -12
- package/resource/integration/chat/preset/react/integration.md +6 -16
- package/resource/integration/chat/preset/vue/integration.md +0 -9
- package/resource/integration/livekit/preset/live/android/live-audience-integration.md +2 -6
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +1 -11
- package/resource/integration/livekit/preset/live/android/live-list-integration.md +2 -6
- package/resource/integration/livekit/preset/live/android/prepare-integration.md +2 -7
- package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +2 -7
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +1 -13
- package/resource/integration/livekit/preset/live/ios/live-list-integration.md +2 -10
- package/resource/integration/livekit/preset/live/ios/prepare-integration.md +3 -8
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -4
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +1 -5
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +2 -7
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +2 -8
- package/resource/integration/roomkit/preset/vue/integration.md +0 -11
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +0 -7
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -9
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -8
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -8
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -16
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -11
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +178 -200
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +195 -217
- package/resource/knowledge/callkit/faq/android.md +4 -14
- package/resource/knowledge/callkit/faq/common.md +0 -2
- package/resource/knowledge/callkit/faq/error-code.md +2 -4
- package/resource/knowledge/callkit/faq/ios.md +1 -4
- package/resource/knowledge/callkit/preset/android/api.md +0 -6
- package/resource/knowledge/callkit/preset/ios/api.md +0 -4
- package/resource/knowledge/callkit/preset/react/api.md +3 -4
- package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +3 -4
- package/resource/knowledge/callkit/preset/vue/api.md +3 -4
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +3 -4
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +0 -5
- package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -7
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -6
- package/resource/knowledge/chat/preset/android/features/language.md +0 -8
- package/resource/knowledge/chat/preset/android/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/android/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/android/features/search.md +0 -7
- package/resource/knowledge/chat/preset/android/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/android-view/integration.md +0 -6
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +0 -4
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +0 -9
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -7
- package/resource/knowledge/chat/preset/flutter/features/language.md +0 -5
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/flutter/features/search.md +0 -5
- package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -7
- package/resource/knowledge/chat/preset/ios/features/language.md +1 -8
- package/resource/knowledge/chat/preset/ios/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +0 -6
- package/resource/knowledge/chat/preset/react/features/contact-list.md +0 -23
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +2 -11
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +4 -26
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -6
- 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/preset/vue/features/contact-list.md +3 -9
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +0 -3
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +2 -13
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +2 -3
- package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
- package/resource/knowledge/chat/preset/vue/features/search.md +4 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +2 -3
- package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +3 -4
- package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +2 -4
- package/resource/knowledge/livekit/core-sdk/features/flutter/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/base-beauty.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/audio-effect.md +2 -4
- package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +3 -4
- package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +0 -4
- package/resource/knowledge/livekit/core-sdk/live/android/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +1 -3
- package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +0 -5
- package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +3 -6
- package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +0 -4
- package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +1 -4
- package/resource/knowledge/livekit/faq/error-code.md +0 -1
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +3 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +3 -3
- package/resource/knowledge/push/api-reference/android.md +0 -1
- package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
- package/resource/knowledge/push/api-reference/react-native.md +3 -5
- package/resource/knowledge/push/api-reference/uni-app.md +3 -5
- package/resource/knowledge/push/api-reference/unity.md +0 -1
- package/resource/knowledge/push/api-reference/unreal-engine.md +0 -1
- package/resource/knowledge/push/config/android.md +0 -24
- package/resource/knowledge/push/config/harmonyos.md +0 -1
- package/resource/knowledge/push/config/ios.md +0 -3
- package/resource/knowledge/push/config/react-native.md +0 -29
- package/resource/knowledge/push/config/unity.md +1 -24
- package/resource/knowledge/push/config/unreal-engine.md +1 -24
- package/resource/knowledge/push/integration/android.md +0 -14
- package/resource/knowledge/push/integration/flutter.md +0 -19
- package/resource/knowledge/push/integration/harmonyos.md +0 -2
- package/resource/knowledge/push/integration/ios.md +0 -3
- package/resource/knowledge/push/integration/react-native.md +0 -24
- package/resource/knowledge/push/integration/uni-app.md +1 -11
- package/resource/knowledge/push/integration/unity.md +0 -9
- package/resource/knowledge/push/integration/unreal-engine.md +1 -17
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -6
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -9
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -11
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -8
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -5
- package/resource/knowledge/roomkit/preset/android/integration.md +0 -4
- package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -13
- package/resource/knowledge/roomkit/preset/ios/integration.md +0 -6
- package/resource/knowledge/roomkit/preset/react/integration.md +0 -16
- package/resource/knowledge/rtcengine/web/api.md +1 -8
- package/resource/knowledge/rtcengine/web/faq.md +3 -5
- package/resource/knowledge/rtcengine/web/how_to_integrated_web_sdk.md +0 -6
- package/resource/knowledge/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/21-advanced-auto-play-policy.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/27-advanced-small-stream.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -3
- package/resource/knowledge/rtcengine/web/plugin/34-advanced-proxy.md +2 -4
- package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
- package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -2
- package/resource/knowledge/trtc/android/TRTCCloud.md +8 -56
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +6 -7
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1 -18
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +0 -14
- package/resource/knowledge/trtc/android/TXDeviceManager.md +0 -1
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +7 -59
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +0 -14
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +0 -4
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1 -19
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +6 -7
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/ios/TRTCCloud.md +9 -60
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +6 -7
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1 -19
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +0 -13
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +0 -4
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
- package/server.js +1 -1
- package/tools/common/search_trtc_knowledge.js +2 -0
- package/tools/definitions/search_trtc_knowledge_def.js +1 -0
- package/utils/report-cls-client.js +3 -3
- package/utils/report-es-client.js +1 -1
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -230
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -797
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +0 -325
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +0 -325
|
@@ -13,14 +13,12 @@ This document describes how to rapidly integrate the TUICallKit component. You c
|
|
|
13
13
|
|
|
14
14
|
### Service Activation
|
|
15
15
|
|
|
16
|
-
Please
|
|
16
|
+
Please . These credentials will be required in the subsequent login step.
|
|
17
17
|
|
|
18
18
|
## Implementation
|
|
19
19
|
|
|
20
20
|
### Step 1.Importing Components
|
|
21
21
|
|
|
22
|
-
Clone or download the code from [GitHub](https://github.com/Tencent-RTC/TUIKit_Android). Then, copy the `atomic_x` directory (under `TUIKit_Android`) and the `tuicallkit-kt` subdirectory (under `call`) to the directory at the same level as your project's app directory, as shown below.
|
|
23
|
-
|
|
24
22
|
### Step 2.Project Configuration
|
|
25
23
|
1. Locate the `settings.gradle.kts` (or s`ettings.gradle`) file in the project root directory. Add the following code to import the `tuicallkit-kt` and `atomic_x` components into your project.
|
|
26
24
|
|
|
@@ -237,7 +235,7 @@ TUICallKit.createInstance(this).enableFloatWindow(true);
|
|
|
237
235
|
|
|
238
236
|
### Enabling Banner
|
|
239
237
|
|
|
240
|
-
You can enable or disable the incoming call banner display by calling `enableIncomingBanner`. By default, this feature is disabled (false). When the callee receives an inbound call, the full-screen call waiting interface is shown first. When the banner is enabled, a notification banner will display initially, switching to the full-screen view as required. Note that displaying the banner requires floating window permission. The exact display behavior depends on permission settings and whether the app is running in the foreground or background.
|
|
238
|
+
You can enable or disable the incoming call banner display by calling `enableIncomingBanner`. By default, this feature is disabled (false). When the callee receives an inbound call, the full-screen call waiting interface is shown first. When the banner is enabled, a notification banner will display initially, switching to the full-screen view as required. Note that displaying the banner requires floating window permission. The exact display behavior depends on permission settings and whether the app is running in the foreground or background. .
|
|
241
239
|
|
|
242
240
|
【Android(Kotlin)】
|
|
243
241
|
``` java
|
|
@@ -356,7 +354,6 @@ public class MainActivity extends BaseActivity {
|
|
|
356
354
|
| language | String | - TUIThemeManager.LANGUAGE_EN: English.<br>- TUIThemeManager.LANGUAGE_AR: Arabic.<br>- TUIThemeManager.LANGUAGE_ZH_HK: Traditional Chinese.<br>- TUIThemeManager.LANGUAGE_ZH_CN: Simplified Chinese. |
|
|
357
355
|
|
|
358
356
|
> **Note:**
|
|
359
|
-
>
|
|
360
357
|
> If you need to set up other languages, please contact us at **info_rtc@tencent.com** for assistance.
|
|
361
358
|
>
|
|
362
359
|
|
|
@@ -407,7 +404,7 @@ TUICallKit.createInstance(context).enableMuteMode(true);
|
|
|
407
404
|
|
|
408
405
|
**Details:** When set to true, incoming call requests will not trigger ringtone playback (silent mode).
|
|
409
406
|
|
|
410
|
-
- **Custom offline push ringtone**: Please
|
|
407
|
+
- **Custom offline push ringtone**: Please .
|
|
411
408
|
|
|
412
409
|
## Customizing Your UI
|
|
413
410
|
|
|
@@ -424,11 +421,3 @@ Commonly Used Icon File Name List
|
|
|
424
421
|
| | callview_ic_handsfree_disable.png | Turn off the speaker icon |
|
|
425
422
|
| | callview_ic_camera_disable.png | Camera Off icon |
|
|
426
423
|
| | callview_ic_add_user_black.png | Invite user icon during call |
|
|
427
|
-
|
|
428
|
-
## FAQs
|
|
429
|
-
|
|
430
|
-
If you encounter any issues during integration and use, please refer to Frequently Asked Questions.
|
|
431
|
-
|
|
432
|
-
## Contact Us
|
|
433
|
-
|
|
434
|
-
If you have any questions or suggestions during integration or usage, feel free to join our [Telegram](https://t.me/+Lmw2MSqW6ethMGM1) group or [contact us](https://trtc.io/contact) for support.
|
|
@@ -8,7 +8,7 @@ Flutter 3.24.0, Dart 3.5.0 and above.
|
|
|
8
8
|
|
|
9
9
|
### Service Activation
|
|
10
10
|
|
|
11
|
-
Please
|
|
11
|
+
Please . These credentials will be required in the subsequent login step.
|
|
12
12
|
|
|
13
13
|
## Implementation
|
|
14
14
|
|
|
@@ -83,7 +83,6 @@ Grant Camera and Microphone Permissions:Because TUICallKit requires audio and vi
|
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
> **Note:**
|
|
86
|
-
>
|
|
87
86
|
> Since tencent_rtc_sdk calls interfaces through Flutter FFI, Xcode's symbol stripping optimization during iOS Release builds may mistakenly remove TRTC's C symbols, causing a `symbol not found` error. The solution is as follows:
|
|
88
87
|
>
|
|
89
88
|
> 1. In the project's Build Settings, find `deployment postprocessing` and set it to **Yes.**
|
|
@@ -153,7 +152,6 @@ void login() async {
|
|
|
153
152
|
|userSig|String|A security protection signature used to authenticate user login, confirm whether the user is genuine, and prevent malicious attackers from misappropriating your cloud service usage rights.|
|
|
154
153
|
|
|
155
154
|
> **Note:**
|
|
156
|
-
>
|
|
157
155
|
> - **Development environment**: If you are in the local development and debugging stage, you can adopt the local `GenerateTestUserSig.genTestSig` function to generate userSig. In this method, the SDKSecretKey is very easy to decompile and reverse engineer. Once your key is leaked, attackers can steal your Tencent Cloud traffic.
|
|
158
156
|
> - **Production environment**: If your project is ready to launch, use server-side generation of UserSig.
|
|
159
157
|
|
|
@@ -210,7 +208,6 @@ Once the callee successfully logs in, the caller can initiate a call, and the ca
|
|
|
210
208
|
You can enable/disable the AI transcription and translation feature by calling enableAITranscriber.
|
|
211
209
|
|
|
212
210
|
> **Note:**
|
|
213
|
-
>
|
|
214
211
|
> 1. This feature is enabled by default (enable = true). To disable it, call enableAITranscriber(enable: false) before initiating a call.
|
|
215
212
|
> 2. AI real-time transcription and translation is a value-added service. The trial version comes with free quota for direct experience. To activate the official version, please purchase a package at the [TRTC Console](https://console.trtc.io/).
|
|
216
213
|
|
|
@@ -335,11 +332,3 @@ Commonly Used Icon File Name List
|
|
|
335
332
|
| | handsfree.png | Turn off the speaker icon |
|
|
336
333
|
| | camera_off.png | Camera Off icon |
|
|
337
334
|
| | add_user.png | Invite user icon during call |
|
|
338
|
-
|
|
339
|
-
## FAQs
|
|
340
|
-
|
|
341
|
-
If you encounter any issues during integration and use, please refer to Frequently Asked Questions.
|
|
342
|
-
|
|
343
|
-
## Contact Us
|
|
344
|
-
|
|
345
|
-
If you have any suggestions or feedback, please contact `info_rtc@tencent.com`.
|
|
@@ -5,7 +5,7 @@ This document describes how to rapidly integrate the TUICallKit component. You c
|
|
|
5
5
|
### Environment Requirements
|
|
6
6
|
- **iOS system version requirements:**iOS 13.0 and above.
|
|
7
7
|
|
|
8
|
-
- **Development tool version requirements:**Xcode 13.0 and above,Xcode 15 and above may encounter Sandbox errors. Please
|
|
8
|
+
- **Development tool version requirements:**Xcode 13.0 and above,Xcode 15 and above may encounter Sandbox errors. Please .
|
|
9
9
|
|
|
10
10
|
- **Dependency management tool requirements:**CocoaPods environment setup
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ This document describes how to rapidly integrate the TUICallKit component. You c
|
|
|
13
13
|
|
|
14
14
|
### Service Activation
|
|
15
15
|
|
|
16
|
-
Please
|
|
16
|
+
Please . These credentials will be required in the subsequent Login steps.
|
|
17
17
|
|
|
18
18
|
## Implementation
|
|
19
19
|
|
|
@@ -131,7 +131,6 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
|
|
|
131
131
|
|userSig|String|A security signature used for user login authentication, confirming user authenticity and preventing malicious attacks from stealing your cloud service usage rights.|
|
|
132
132
|
|
|
133
133
|
> **Note:**
|
|
134
|
-
>
|
|
135
134
|
> - **Development environment**: If you are in the local development and debugging stage, you can adopt the local `GenerateTestUserSig.genTestSig` function to generate userSig. In this method, the secretKey is very easy to decompile and reverse. Once your key is leaked, attackers can steal your Tencent Cloud traffic.
|
|
136
135
|
> - **Production environment**: If your project is ready to go live, implement server-side generation of UserSig via the server.
|
|
137
136
|
|
|
@@ -166,7 +165,6 @@ TUICallKit.createInstance().setSelfInfo(nickname: "jack", avatar: "https:/****/u
|
|
|
166
165
|
The caller initiates a call by invoking the `calls` function and specifying the media type (voice or video) and the callee's User ID list (userIdList). The calls interface supports both one-to-one and group calls. A one-to-one call is initiated when the userIDList contains only a single User ID; a group call is initiated when it contains multiple User IDs.
|
|
167
166
|
|
|
168
167
|
> **Note:**
|
|
169
|
-
>
|
|
170
168
|
> The `calls` interface cannot be written in the `viewDidLoad` method; it should be called in the button's click event or other user interaction response methods.
|
|
171
169
|
>
|
|
172
170
|
|
|
@@ -205,7 +203,6 @@ Once the callee successfully logs in, the caller can initiate a call, and the ca
|
|
|
205
203
|
You can enable or disable the AI transcription and translation feature by calling enableAITranscriber.
|
|
206
204
|
|
|
207
205
|
> **Note:**
|
|
208
|
-
>
|
|
209
206
|
> 1. This feature is enabled by default (enable = true). To disable it, call enableAITranscriber(enable: false) before initiating a call.
|
|
210
207
|
> 2. AI real-time transcription and translation is a value-added service. The trial version comes with free quota for direct experience. To activate the official version, please purchase a package at the [TRTC Console](https://console.trtc.io/).
|
|
211
208
|
|
|
@@ -325,7 +322,6 @@ func setLanguage() {
|
|
|
325
322
|
| language | String | - "zh-Hans": Simplified Chinese.<br>- "zh-Hant": Traditional Chinese.<br>- "ja": Japanese<br>- "en": English.<br>- "ar" : Arabic. |
|
|
326
323
|
|
|
327
324
|
> **Note:**
|
|
328
|
-
>
|
|
329
325
|
> If you need to set up other languages, please contact us at **info_rtc@tencent.com** for assistance.
|
|
330
326
|
>
|
|
331
327
|
|
|
@@ -396,10 +392,4 @@ Commonly Used Icon File Name List
|
|
|
396
392
|
|
|
397
393
|
**Does TUIKit support running in the background?**
|
|
398
394
|
|
|
399
|
-
**Yes,** if you need relevant functions to continue running when the application enters the background, select the current engineering project, go to the **Capabilities** tab, and under the **Background Modes section**, check **Audio, AirPlay, and Picture in Picture**, as shown below:
|
|
400
|
-
|
|
401
395
|
If you encounter problems during integration and use, see FAQs.
|
|
402
|
-
|
|
403
|
-
## Contact Us
|
|
404
|
-
|
|
405
|
-
If you have any questions or suggestions during integration or usage, feel free to join our [Telegram](https://t.me/+Lmw2MSqW6ethMGM1) group or [contact us](https://trtc.io/contact) for support.
|
|
@@ -112,7 +112,6 @@ try {
|
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
> **Note:**
|
|
115
|
-
>
|
|
116
115
|
> Due to user privacy restrictions, for calls between non-friends, there might be a delay in updating the callee's nickname and avatar. This will be updated smoothly after the first successful call.
|
|
117
116
|
>
|
|
118
117
|
|
|
@@ -194,7 +193,6 @@ You can configure the default ringtone and mute mode for incoming calls using th
|
|
|
194
193
|
To replace an icon, source code import is required first. Copy the component to your project (the source code is in TypeScript version).
|
|
195
194
|
|
|
196
195
|
> **Note:**
|
|
197
|
-
>
|
|
198
196
|
> The Interface Replacing icons Plan is suitable for `Vue3 + TypeScript` and `@trtc/calls-uikit-react` version number is 3.2.2 or later projects. If you are using other languages or technology stacks, please use the Custom UI Implementation.
|
|
199
197
|
>
|
|
200
198
|
|
|
@@ -219,8 +217,6 @@ xcopy .\node_modules\@trtc\calls-uikit-react .\src\components\TUICallKit /i /e
|
|
|
219
217
|
|
|
220
218
|
3. **Modify Import Path**
|
|
221
219
|
|
|
222
|
-
It's necessary to change CallKit to be imported from a local file, as shown below. For other usage details, refer to [TUICallKit Quick Integration](https://trtc.io/document/58484).
|
|
223
|
-
|
|
224
220
|
``` javascript
|
|
225
221
|
import { TUICallKit, TUICallKitAPI } from "./components/TUICallKit/src/index";
|
|
226
222
|
```
|
|
@@ -291,7 +287,7 @@ For other TSConfig issues, please refer to [TSConfig Reference](https://www.type
|
|
|
291
287
|
|
|
292
288
|
### Hidden Button
|
|
293
289
|
|
|
294
|
-
Invoke the hideFeatureButton interface to hide buttons, currently supporting Camera, Microphone, SwitchCamera, InviteUser.
|
|
290
|
+
Invoke the hideFeatureButton interface to hide buttons, currently supporting Camera, Microphone, SwitchCamera, InviteUser. .
|
|
295
291
|
|
|
296
292
|
Taking the hiding of the **Camera Button** as an example.
|
|
297
293
|
|
|
@@ -317,7 +313,6 @@ TUICallKitAPI.setRemoteViewBackgroundImage('remoteUserId', 'http://xxx.png');
|
|
|
317
313
|
### Set Layout
|
|
318
314
|
|
|
319
315
|
> **Note:**
|
|
320
|
-
>
|
|
321
316
|
> **Only available for 1V1 video calls.**
|
|
322
317
|
>
|
|
323
318
|
|
|
@@ -345,11 +340,3 @@ import { TUICallKitAPI } from "@trtc/calls-uikit-react";
|
|
|
345
340
|
|
|
346
341
|
TUICallKitAPI.setCameraDefaultState(false);
|
|
347
342
|
```
|
|
348
|
-
|
|
349
|
-
## FAQs
|
|
350
|
-
|
|
351
|
-
If you encounter any issues during integration and use, please refer to Frequently Asked Questions.
|
|
352
|
-
|
|
353
|
-
## Contact Us
|
|
354
|
-
|
|
355
|
-
If you have any suggestions or feedback, please contact `info_rtc@tencent.com`.
|
|
@@ -106,7 +106,6 @@ try {
|
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
> **Note:**
|
|
109
|
-
>
|
|
110
109
|
> Due to user privacy restrictions, for calls between non-friends, there might be a delay in updating the callee's nickname and avatar. This will be updated smoothly after the first successful call.
|
|
111
110
|
>
|
|
112
111
|
|
|
@@ -188,7 +187,6 @@ You can configure the default ringtone and mute mode for incoming calls using th
|
|
|
188
187
|
To replace an icon, source code import is required first. Copy the component to your project (the source code is in TypeScript version).
|
|
189
188
|
|
|
190
189
|
> **Note:**
|
|
191
|
-
>
|
|
192
190
|
> The Interface Replacing icons Plan is suitable for `Vue3 + TypeScript` and `@trtc/calls-uikit-vue` version number is 3.2.2 or later projects. If you are using other languages or technology stacks, please use the Custom UI Implementation.
|
|
193
191
|
>
|
|
194
192
|
|
|
@@ -213,8 +211,6 @@ xcopy .\node_modules\@trtc\calls-uikit-vue .\src\components\TUICallKit /i /e
|
|
|
213
211
|
|
|
214
212
|
3. **Modify Import Path**
|
|
215
213
|
|
|
216
|
-
It's necessary to change CallKit to be imported from a local file, as shown below. For other usage details, refer to [TUICallKit Quick Integration](https://trtc.io/document/58484).
|
|
217
|
-
|
|
218
214
|
``` javascript
|
|
219
215
|
import { TUICallKit, TUICallKitAPI } from "./components/TUICallKit/src/index";
|
|
220
216
|
```
|
|
@@ -285,7 +281,7 @@ For other TSConfig issues, please refer to [TSConfig Reference](https://www.type
|
|
|
285
281
|
|
|
286
282
|
### Button Hiding
|
|
287
283
|
|
|
288
|
-
Invoke the hideFeatureButton interface to hide buttons, currently supporting Camera, Microphone, SwitchCamera, InviteUser.
|
|
284
|
+
Invoke the hideFeatureButton interface to hide buttons, currently supporting Camera, Microphone, SwitchCamera, InviteUser. .
|
|
289
285
|
|
|
290
286
|
Taking the hiding of the **Camera Button** as an example.
|
|
291
287
|
|
|
@@ -311,7 +307,6 @@ TUICallKitAPI.setRemoteViewBackgroundImage('remoteUserId', 'http://xxx.png');
|
|
|
311
307
|
### Set Layout
|
|
312
308
|
|
|
313
309
|
> **Note:**
|
|
314
|
-
>
|
|
315
310
|
> **Only available for 1V1 video calls.**
|
|
316
311
|
>
|
|
317
312
|
|
|
@@ -339,11 +334,3 @@ import { TUICallKitAPI } from "@trtc/calls-uikit-vue";
|
|
|
339
334
|
|
|
340
335
|
TUICallKitAPI.setCameraDefaultState(false);
|
|
341
336
|
```
|
|
342
|
-
|
|
343
|
-
## FAQs
|
|
344
|
-
|
|
345
|
-
If you encounter any issues during integration and use, please refer to Frequently Asked Questions.
|
|
346
|
-
|
|
347
|
-
## Contact Us
|
|
348
|
-
|
|
349
|
-
If you have any suggestions or feedback, please contact `info_rtc@tencent.com`.
|
|
@@ -73,7 +73,6 @@ TUIKit Compose offers a complete set of instant messaging UI components, built o
|
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### Integrate Components
|
|
76
|
-
1. Copy the entire component directory into your Android project as shown below. In this example, ComposeDemo is the sample project, and TUIKit_Android_Compose is the component source code downloaded from GitHub:
|
|
77
76
|
|
|
78
77
|
2. Add the TUIKit Compose component in your settings.gradle.kts/settings.gradle file:
|
|
79
78
|
|
|
@@ -244,7 +243,7 @@ In the [Tencent RTC Console](https://console.trtc.io/), obtain the UserSig for y
|
|
|
244
243
|
|
|
245
244
|
### Step 2: User Login
|
|
246
245
|
|
|
247
|
-
You must complete authentication before using any component features. Call the login API and pass the SDKAppID and UserSig you obtained above to authenticate.
|
|
246
|
+
You must complete authentication before using any component features. Call the login API and pass the SDKAppID and UserSig you obtained above to authenticate. .kt`:
|
|
248
247
|
``` swift
|
|
249
248
|
// User login
|
|
250
249
|
LoginStore.shared.login(context, SDKAPPID, userID, userSig,
|
|
@@ -259,7 +258,6 @@ LoginStore.shared.login(context, SDKAPPID, userID, userSig,
|
|
|
259
258
|
```
|
|
260
259
|
|
|
261
260
|
> **Warning:**
|
|
262
|
-
>
|
|
263
261
|
> In a production environment, generate UserSig on your server. When UserSig is needed, your app should request a dynamic UserSig from your business server for authentication. See [Server-side UserSig Generation](https://trtc.io/document/34385).
|
|
264
262
|
>
|
|
265
263
|
|
|
@@ -272,7 +270,7 @@ Use the ConversationList component from TUIKit Compose to build a conversation l
|
|
|
272
270
|
|
|
273
271
|
You can integrate ConversationList directly into an existing app page or create a new conversation list page. Example UI effect:
|
|
274
272
|
|
|
275
|
-
|
|
273
|
+
To wrap ConversationList as a conversation list page.kt`. The `ConversationsPage` mainly performs the following tasks:
|
|
276
274
|
|
|
277
275
|
1. Adds a headerView above the ConversationList.
|
|
278
276
|
|
|
@@ -319,7 +317,7 @@ MessageList provides the following built-in features:
|
|
|
319
317
|
|
|
320
318
|
You can integrate MessageList and MessageInput directly into an existing app page or create a new chat page. Example UI effect:
|
|
321
319
|
|
|
322
|
-
|
|
320
|
+
To assemble MessageList and MessageInput as a chat page.kt`. The `ChatPage` mainly performs the following tasks:
|
|
323
321
|
|
|
324
322
|
1. Adds a headerView at the top to display the conversation name.
|
|
325
323
|
|
|
@@ -399,7 +397,7 @@ Use the ContactList component from TUIKit Compose to build a contacts page. Cont
|
|
|
399
397
|
|
|
400
398
|
You can integrate ContactList directly into your existing app or create a new contact list page. Example UI effect:
|
|
401
399
|
|
|
402
|
-
|
|
400
|
+
To wrap ContactList as a contact list page.kt`. The `ContactsPage` mainly performs the following tasks:
|
|
403
401
|
|
|
404
402
|
1. Adds a headerView above the ContactList.
|
|
405
403
|
|
|
@@ -468,6 +466,7 @@ ContactsPage(onGroupClick = {
|
|
|
468
466
|
ChatSettingActivity.start(context, it.contactID, "", true)
|
|
469
467
|
})
|
|
470
468
|
```
|
|
469
|
+
|
|
471
470
|
``` java
|
|
472
471
|
// chat/demo/app/src/main/java/io/trtc/tuikit/chat/chat/ChatActivity.kt
|
|
473
472
|
|
|
@@ -484,14 +483,8 @@ ChatPage(
|
|
|
484
483
|
}, onBackClick = { finish() })
|
|
485
484
|
```
|
|
486
485
|
|
|
487
|
-
Refer to the callback descriptions and sample code above to implement the interaction logic between Pages.
|
|
488
|
-
|
|
489
486
|
## FAQs
|
|
490
487
|
|
|
491
488
|
### **Login failed with signature error**
|
|
492
489
|
|
|
493
|
-
Check that the SDKAppID and UserSig are correct, and verify that the UserSig has not expired. You can
|
|
494
|
-
|
|
495
|
-
## Contact Us
|
|
496
|
-
|
|
497
|
-
If you have any questions or suggestions during integration or usage, feel free to [contact us](https://trtc.io/contact) for feedback.
|
|
490
|
+
Check that the SDKAppID and UserSig are correct, and verify that the UserSig has not expired. You can .
|
|
@@ -147,7 +147,6 @@ if (result.errorCode == 0) {
|
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
> **Caution:**
|
|
150
|
-
>
|
|
151
150
|
> In production, generate UserSig on your server. When UserSig is needed, your app should request a dynamic UserSig from your business server for authentication. See [Server-side UserSig Generation](https://trtc.io/document/34385).
|
|
152
151
|
>
|
|
153
152
|
|
|
@@ -350,8 +349,6 @@ ConversationsPage, ChatPage, and ContactsPage provide default user click events.
|
|
|
350
349
|
|**ChatPage**|`onChatHeaderClick: () {}`|Triggered when the avatar in the navigation bar is clicked; recommended to navigate to the user info page (C2CChatSetting) or Group info page (GroupChatSetting).|
|
|
351
350
|
|**ChatPage**|`onBackClick: () {}`|Triggered when the back button is clicked; recommended to return to the previous page.|
|
|
352
351
|
|
|
353
|
-
Refer to the webhook descriptions and code above to implement navigation logic between pages.
|
|
354
|
-
|
|
355
352
|
## FAQs
|
|
356
353
|
|
|
357
354
|
### **What should I do if I encounter errors with** `theme_state` **and** `atomic_localizations` **after integrating the tuikit_atomic_x component?**
|
|
@@ -360,8 +357,4 @@ The component supports theme color and internationalization string switching. Wr
|
|
|
360
357
|
|
|
361
358
|
### **What should I do if login fails with a signature error?**
|
|
362
359
|
|
|
363
|
-
Check that SDKAppID and UserSig are correct, and verify that the UserSig has not expired.
|
|
364
|
-
|
|
365
|
-
## Contact Us
|
|
366
|
-
|
|
367
|
-
If you have any questions or suggestions during integration or use, feel free to [Contact Us](https://trtc.io/contact) to submit feedback.
|
|
360
|
+
Check that SDKAppID and UserSig are correct, and verify that the UserSig has not expired. .
|
|
@@ -58,7 +58,6 @@ chat/
|
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### Integrate Components
|
|
61
|
-
1. Copy the entire component directory into your Xcode project as shown below. SwiftUIDemo is the sample project, and TUIKit_iOS_SwiftUI is the component source code you downloaded from GitHub:
|
|
62
61
|
|
|
63
62
|
2. Update the local path for each component in your Podfile. The path should point to the location of the TUIKit_iOS_SwiftUI folder relative to your project's Podfile. Common scenarios include:
|
|
64
63
|
|
|
@@ -166,7 +165,6 @@ LoginStore.shared.login(sdkAppID: sdkAppID, userID: userID, userSig: userSig, co
|
|
|
166
165
|
```
|
|
167
166
|
|
|
168
167
|
> **Warning:**
|
|
169
|
-
>
|
|
170
168
|
> In a production environment, generate UserSig on your server. When UserSig is needed, your app should request a dynamic UserSig from your business server for authentication. See [Server-side UserSig Generation](https://trtc.io/document/34385).
|
|
171
169
|
>
|
|
172
170
|
|
|
@@ -179,7 +177,7 @@ Use the ConversationList component in TUIKit SwiftUI to create a conversation li
|
|
|
179
177
|
|
|
180
178
|
You can embed ConversationList directly into your app pages or build a standalone conversation list page. Example UI after assembly:
|
|
181
179
|
|
|
182
|
-
|
|
180
|
+
To wrap ConversationList as a conversation list page.swift`. The `ConversationsPage` does the following:
|
|
183
181
|
|
|
184
182
|
1. Adds a headerView above ConversationList.
|
|
185
183
|
|
|
@@ -275,7 +273,7 @@ Use the MessageList and MessageInput components in TUIKit SwiftUI to create a ch
|
|
|
275
273
|
|
|
276
274
|
You can embed MessageList and MessageInput directly into your app pages or build a complete chat page. Example UI after assembly:
|
|
277
275
|
|
|
278
|
-
|
|
276
|
+
To assemble MessageList and MessageInput as a chat page.swift`. The `ChatPage` does the following:
|
|
279
277
|
|
|
280
278
|
1. Adds a headerView at the top to display the conversation name.
|
|
281
279
|
|
|
@@ -392,7 +390,7 @@ Use the ContactList component in TUIKit SwiftUI to create a contacts page. Conta
|
|
|
392
390
|
|
|
393
391
|
You can embed ContactList directly into your app or build a standalone contacts page. Example UI after assembly:
|
|
394
392
|
|
|
395
|
-
|
|
393
|
+
To wrap ContactList as a contacts page.swift`. The `ContactsPage` does the following:
|
|
396
394
|
|
|
397
395
|
1. Adds a headerView above ContactList.
|
|
398
396
|
|
|
@@ -551,14 +549,8 @@ ChatNavPage(
|
|
|
551
549
|
)
|
|
552
550
|
```
|
|
553
551
|
|
|
554
|
-
Refer to the callback descriptions and sample code above to implement navigation and interaction logic between pages.
|
|
555
|
-
|
|
556
552
|
## FAQs
|
|
557
553
|
|
|
558
554
|
### **Login failed with signature error, what should I do?**
|
|
559
555
|
|
|
560
|
-
Check that your SDKAppID and userSig are correct and that the userSig has not expired.
|
|
561
|
-
|
|
562
|
-
## Contact Us
|
|
563
|
-
|
|
564
|
-
If you have any questions or suggestions during integration or usage, feel free to [Contact Us](https://trtc.io/contact) to submit feedback.
|
|
556
|
+
Check that your SDKAppID and userSig are correct and that the userSig has not expired. .
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
TUIKit is a UI component library based on the Chat SDK. It enables quick implementation of chat, session, search, relationship chain, group, and other features through UI components. This article introduces how to quickly integrate TUIKit and implement core features.
|
|
2
2
|
|
|
3
|
-
Or, if you prefer a faster and more automated approach, you can
|
|
3
|
+
Or, if you prefer a faster and more automated approach, you can .
|
|
4
4
|
<iframe src="https://web.sdk.qcloud.com/im/demo/docs-example/sample-chat/index.html#/inbox?page=intergration" style="width:100%;height:700px;border:none" allow="camera; microphone; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="no-referrer-when-downgrade" allowfullscreen></iframe>
|
|
5
5
|
|
|
6
6
|
## Prerequisites
|
|
@@ -17,7 +17,7 @@ Create a new React project named **chat-integration-react** , and complete proje
|
|
|
17
17
|
npm create vite@latest
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
You can
|
|
20
|
+
You can
|
|
21
21
|
``` bash
|
|
22
22
|
◇ Project name:
|
|
23
23
|
│ chat-integration-react
|
|
@@ -51,7 +51,6 @@ npm i @tencentcloud/chat-uikit-react
|
|
|
51
51
|
### Step 2: Introducing the chat UIKit react component
|
|
52
52
|
|
|
53
53
|
> **Note:**
|
|
54
|
-
>
|
|
55
54
|
> The following code does not include `SDKAppID`, `userID`, and `UserSig`. You need to replace them with the relevant information obtained in console.
|
|
56
55
|
>
|
|
57
56
|
|
|
@@ -95,7 +94,7 @@ function ChatApp() {
|
|
|
95
94
|
|
|
96
95
|
const texts = useMemo(() =>
|
|
97
96
|
language === 'zh-CN'
|
|
98
|
-
? { emptyTitle: '
|
|
97
|
+
? { emptyTitle: 'No conversation', emptySub: 'Select a conversation to start chatting', error: 'Please check the SDKAppID, userID, and userSig. View the specific error information through the developer tools (F12).', loading: 'Logging in...' }
|
|
99
98
|
: { emptyTitle: 'No conversation', emptySub: 'Select a conversation to start chatting', error: 'Please check the SDKAppID, userID, and userSig. View the specific error information through the developer tools (F12).', loading: 'Logging in...' },
|
|
100
99
|
[language]
|
|
101
100
|
);
|
|
@@ -255,7 +254,7 @@ function SideTab({ activeTab, onTabChange }: SideTabProps) {
|
|
|
255
254
|
<div className="avatar-wrapper">
|
|
256
255
|
<Avatar src={loginUserInfo?.avatarUrl} />
|
|
257
256
|
<div className="tooltip">
|
|
258
|
-
<div className="tooltip-name">{loginUserInfo?.userName || loginUserInfo?.userId || '
|
|
257
|
+
<div className="tooltip-name">{loginUserInfo?.userName || loginUserInfo?.userId || 'Unnamed'}</div>
|
|
259
258
|
<div className="tooltip-id">ID: {loginUserInfo?.userId}</div>
|
|
260
259
|
</div>
|
|
261
260
|
</div>
|
|
@@ -292,8 +291,6 @@ copy follow `index.css` and replace `src/index.css` file。
|
|
|
292
291
|
body { margin: 0; padding: 0; font-family: Inter, Avenir, Helvetica, Arial, sans-serif; min-height: 100vh; box-sizing: border-box; } #root { height: 100vh; display: flex; justify-content: center; align-items: center; } .chat-layout { height: 60vh; aspect-ratio: 16 / 9; margin: 0 auto; display: flex; border-radius: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1); overflow: hidden; backdrop-filter: blur(10px); } @media (max-width:1920px) { .chat-layout { height: 80vh; } } .conversation-list-panel { width: 300px; display: flex; flex-direction: column; overflow: hidden; } .contact-list { border-radius: 0; } .chat-content-panel { flex-direction: row !important; flex: 1; border-left: 1px solid var(--uikit-stroke-color-primary); } .contact-detail-panel { flex: 1; } .icon-button { padding: 4px 6px; display: flex; align-items: center; justify-content: center; border: none; background: transparent; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background-color 0.2s; color: var(--uikit-text-color-primary); } .icon-button:hover { background-color: var(--uikit-button-color-secondary-hover); } .icon-button:active { background-color: var(--uikit-button-color-secondary-active); } .header-actions { display: flex; gap: 8px; margin-left: 8px; color: var(--uikit-text-color-link); } .message-toolbar { display: flex; justify-content: space-between; align-items: center; } .message-toolbar-actions { display: flex; align-items: center; gap: 12px; } .chat-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; } .chat-sidebar-search { border-left: 1px solid var(--uikit-stroke-color-primary); display: flex; flex-direction: column; flex: 0 0 300px; } .chat-float-sidebar { position: absolute; right: 0; top: 0; bottom: 0; min-width: 300px; max-width: 400px; display: flex; flex-direction: column; background-color: var(--uikit-bg-color-operate); box-shadow: -2px 0 8px rgba(0, 0, 0, 0.04), -4px 0 16px rgba(0, 0, 0, 0.06), -8px 0 32px rgba(0, 0, 0, 0.08); overflow: auto; z-index: 1000; } .chat-sidebar-header { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 20px; background-color: var(--uikit-bg-color-operate); border-bottom: 1px solid var(--uikit-stroke-color-primary); z-index: 10; } .chat-sidebar-title { font-size: 16px; font-weight: 500; color: var(--uikit-text-color-primary); } .empty-placeholder { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background-color: var(--uikit-bg-color-operate); border-left: 1px solid var(--uikit-stroke-color-primary); color: #adb5bd; } .empty-icon { font-size: 64px; opacity: 0.3; } .empty-title { font-size: 16px; font-weight: 600; color: #6c757d; } .empty-subtitle { font-size: 14px; color: #868e96; } .loading-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; gap: 20px; } .loading-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; } .loading-brand-icon { width: 36px; height: 36px; border-radius: 8px; background: linear-gradient(135deg, #147aff, #6db3f2); display: flex; align-items: center; justify-content: center; } .loading-brand-icon svg { width: 20px; height: 20px; fill: #fff; } .loading-brand-name { font-size: 18px; font-weight: 600; color: #1a1a1a; letter-spacing: 0.2px; } .loading-spinner { width: 36px; height: 36px; border: 3px solid #e8ecf1; border-top-color: #147aff; border-radius: 50%; animation: spin 0.8s linear infinite; } .loading-text { color: #5f6368; font-size: 14px; font-weight: 400; line-height: 1.5; text-align: center; max-width: 360px; } .loading-progress-bar { width: 200px; height: 3px; background-color: #e8ecf1; border-radius: 3px; overflow: hidden; margin-top: 4px; } .loading-progress-bar-inner { width: 40%; height: 100%; background: linear-gradient(90deg, #147aff, #6db3f2); border-radius: 3px; animation: progress-slide 1.6s ease-in-out infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes progress-slide { 0% { transform: translateX(-100%); } 50% { transform: translateX(250%); } 100% { transform: translateX(600%); } } .loading-container.is-error .loading-spinner { display: none; } .error-icon { width: 48px; height: 48px; border-radius: 50%; background-color: #fff2f0; border: 1px solid #ffccc7; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #ff4d4f; flex-shrink: 0; } .loading-container.is-error .loading-text { color: #5f6368; font-size: 13px; line-height: 1.6; } .icon-image-effort { display: none; } .side-tab { width: 72px; height: 100%; background: var(--uikit-bg-color-function); display: flex; flex-direction: column; align-items: center; padding: 20px 0; transition: background 0.3s; } .avatar-wrapper { position: relative; margin-bottom: 24px; cursor: pointer; } .avatar-wrapper:hover .tui-avatar { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .tooltip { position: absolute; left: 60px; top: 50%; transform: translateY(-50%); padding: 8px 12px; background: rgba(0, 0, 0, 0.85); color: #fff; border-radius: 6px; white-space: nowrap; opacity: 0; visibility: hidden; pointer-events: none; transition: all 0.3s; z-index: 1000; } .tooltip::before { content: ''; position: absolute; left: -6px; top: 50%; transform: translateY(-50%); border: 6px solid transparent; border-right-color: rgba(0, 0, 0, 0.85); } .avatar-wrapper:hover .tooltip { opacity: 1; visibility: visible; } .tooltip-name { font-size: 14px; font-weight: 500; margin-bottom: 4px; } .tooltip-id { font-size: 12px; opacity: 0.8; } .tabs { display: flex; flex-direction: column; gap: 16px; } .tab-item { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 12px; cursor: pointer; transition: all 0.3s; color: var(--uikit-text-color-primary); } .tab-item:hover { background: rgba(0, 0, 0, 0.05); } .tab-item.active { background: var(--uikit-button-color-primary-default); color: var(--uikit-text-color-button); } .call-kit { position: fixed !important; top: 50%; left: 50%; z-index: 999; transform: translate(-50%, -50%); max-width: 800px; max-height: 600px;
|
|
293
292
|
```
|
|
294
293
|
|
|
295
|
-
In the previously copied `App.tsx` code, the login authentication information is empty. You need to fill in your Tencent Cloud application authentication information in the `useLoginState hook`, as shown below:
|
|
296
|
-
|
|
297
294
|
|Parameter|Type|Note|
|
|
298
295
|
|---------|---------|---------|
|
|
299
296
|
|userID|String|Unique identifier of the user, defined by you, it is allowed to contain only upper and lower case letters (a-z, A-Z), numbers (0-9), underscores, and hyphens.|
|
|
@@ -328,7 +325,6 @@ Replace SDKAppID, UserID, and UserSig in App.tsx, then run the following command
|
|
|
328
325
|
```
|
|
329
326
|
|
|
330
327
|
> **Note:**
|
|
331
|
-
>
|
|
332
328
|
> 1. Please ensure that in Step 3 code, SDKAppID, UserID, and UserSig are all successfully replaced. Failure to replace them will result in abnormal project behavior.
|
|
333
329
|
> 2. A `userID` corresponds to a `userSig`, for more information, see [Generating UserSig](https://trtc.io/document/39074).
|
|
334
330
|
> 3. If the project fails to start, please check whether the development environment requirements are met.
|
|
@@ -342,7 +338,6 @@ Enter your message in the input box and press Enter to send.
|
|
|
342
338
|
### Audio/Video Calls
|
|
343
339
|
|
|
344
340
|
> **Note:**
|
|
345
|
-
>
|
|
346
341
|
> TUICallKit is an Audio/Video Calls UI component developed by TRTC. Integrating TUICallKit allows you to add Audio/Video Calls functionality to your chat application with minimal code. For comprehensive setup instructions, see [Audio/Video Calls > Activate the service](https://trtc.io/document/59832).
|
|
347
342
|
>
|
|
348
343
|
|
|
@@ -386,7 +381,7 @@ Enter your message in the input box and press Enter to send.
|
|
|
386
381
|
> Cloud Search is a value-added feature and requires the purchase of the Cloud Search plugin. To purchase, click [Purchase](https://console.trtc.io/chat/plugin/TUICloudSearch).
|
|
387
382
|
>
|
|
388
383
|
|
|
389
|
-
Cloud Search is enabled by default in "Step 2". If you need to disable Cloud Search,
|
|
384
|
+
Cloud Search is enabled by default in "Step 2". If you need to disable Cloud Search,
|
|
390
385
|
1. Comment out the `ChatHeader` property `ChatHeaderRight`, along with any code related to the in-conversation search sidebar.
|
|
391
386
|
|
|
392
387
|
``` typescript
|
|
@@ -427,7 +422,6 @@ A UserSig is a password for users to log in to Chat. It is essentially the ciphe
|
|
|
427
422
|
The issuance method for UserSig involves integrating the calculation code of UserSig into your server, and providing an interface oriented towards your project. When UserSig is needed, your project sends a request to the business server to access the dynamic UserSig. For more information, please see [How to Generate a UserSig on the Server](https://trtc.io/document/39074).
|
|
428
423
|
|
|
429
424
|
> **Note:**
|
|
430
|
-
>
|
|
431
425
|
> The exemplary code provided in this document retrieves the UserSig by embedding the SECRETKEY in the client code. This approach makes the SECRETKEY highly susceptible to decompilation and reverse engineering. Once your encryption key is compromised, attackers can misappropriate your Tencent Cloud traffic. Hence, **this procedure is exclusively recommended for running functional debugging locally**. For the correct issuance of UserSig, please refer to the previous sections.
|
|
432
426
|
>
|
|
433
427
|
|
|
@@ -464,16 +458,12 @@ const onChatSettingClose = () => {
|
|
|
464
458
|
|
|
465
459
|
To respect the copyright of emoji designs, the Chat Demo/TUIKit project does not include large emoji graphics. Please replace them with your own designs or other emoji packs for which you hold the copyright before officially launching for commercial use. **The default smiley face emoji pack shown below is copyrighted by Tencent RTC**, you can upgrade to [Chat Pro Plus Edition and Enterprise Edition](https://console.trtc.io/subscription/buy/chat) to use it for free.
|
|
466
460
|
|
|
467
|
-
## Contact Us
|
|
468
|
-
|
|
469
|
-
Join the [Telegram Technical Exchange Group](https://t.me/tencent_imsdk) or [WhatsApp Exchange Group](https://chat.whatsapp.com/IVa11ZkVmKTEwSWsAzSyik) to enjoy support from professional engineers and solve your problems.
|
|
470
|
-
|
|
471
461
|
## Reference
|
|
472
462
|
- [chat-uikit-react npm](https://www.npmjs.com/package/@tencentcloud/chat-uikit-react)
|
|
473
463
|
|
|
474
464
|
- [Demo Source Code and Running Example](https://github.com/TencentCloud/chat-uikit-react)
|
|
475
465
|
|
|
476
|
-
|
|
466
|
+
For more features,
|
|
477
467
|
|
|
478
468
|
- [chat-uikit-engine API Manual](https://web.sdk.qcloud.com/im/doc/chat-engine/index.html)
|
|
479
469
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
TUIKit is a Vue 3 UI component library built on the Tencent Cloud Chat SDK. It provides common UI components for conversations, chat, groups, and more. This guide explains how to quickly integrate TUIKit and implement core features.
|
|
2
2
|
|
|
3
3
|
> **Note:**
|
|
4
|
-
>
|
|
5
4
|
> - **AI assistant usage**
|
|
6
5
|
>
|
|
7
6
|
> The Skill provides **IM knowledge Q&A** and **Vue 3 Composition API integration without UI** capabilities. You can use the Skill in your IDE to query SDK, UIKit, server-side API, billing, and other topics, or integrate IM into a Vue 3 project. [Try the AI integration and Q&A assistant](https://cloud.tencent.com/document/product/269/125822).
|
|
@@ -39,7 +38,6 @@ TUIKit is a Vue 3 UI component library built on the Tencent Cloud Chat SDK. It p
|
|
|
39
38
|
Use Vite to create a new Vue 3 project named **chat-integration-vue3**.
|
|
40
39
|
|
|
41
40
|
> **Note:**
|
|
42
|
-
>
|
|
43
41
|
> Recent Vite versions require a recent Node.js version.
|
|
44
42
|
|
|
45
43
|
【shell】
|
|
@@ -76,7 +74,6 @@ cd chat-integration-vue3
|
|
|
76
74
|
### Step 1: Install dependencies
|
|
77
75
|
|
|
78
76
|
> **Note:**
|
|
79
|
-
>
|
|
80
77
|
> npm is recommended. npm automatically installs required peer dependencies.
|
|
81
78
|
|
|
82
79
|
【shell】
|
|
@@ -87,7 +84,6 @@ npm i @tencentcloud/chat-uikit-vue3@6 tuikit-atomicx-vue3@6
|
|
|
87
84
|
### Step 2: Import components
|
|
88
85
|
|
|
89
86
|
> **Note:**
|
|
90
|
-
>
|
|
91
87
|
> The code below does not include `SDKAppID`, `userID`, or `userSig`. Replace them with values from Step 3.
|
|
92
88
|
|
|
93
89
|
#### 2.1 Set up the entry page
|
|
@@ -328,7 +324,6 @@ login({
|
|
|
328
324
|
| userSig | String | The credential used to log in to Chat IM. It is ciphertext generated by encrypting UserID and related information.<br><strong>Note:</strong><br>Development: For quick local testing, you can obtain UserSig from the [Chat console](https://console.cloud.tencent.com/im).<br>Production: Integrate UserSig generation on your server and expose project-specific APIs. See [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688) for the correct approach. |
|
|
329
325
|
|
|
330
326
|
> **Note:**
|
|
331
|
-
>
|
|
332
327
|
> The sample code in this guide obtains UserSig from the [Chat console](https://console.cloud.tencent.com/im). **This method is for local debugging only.** For production, see [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688).
|
|
333
328
|
|
|
334
329
|
- SDKAppID: In [Chat console > Application Management](https://console.cloud.tencent.com/im), click **Create application** to obtain SDKAppID.
|
|
@@ -347,7 +342,6 @@ Run the project with:
|
|
|
347
342
|
```
|
|
348
343
|
|
|
349
344
|
> **Note:**
|
|
350
|
-
>
|
|
351
345
|
> - Ensure SDKAppID, userID, and userSig in Step 3 are replaced. Missing values will cause unexpected behavior.
|
|
352
346
|
> - userID and userSig must match one-to-one.
|
|
353
347
|
> - If the project fails to start, verify that the development environment requirements are met.
|
|
@@ -357,7 +351,6 @@ Run the project with:
|
|
|
357
351
|
### Audio and video calls
|
|
358
352
|
|
|
359
353
|
> **Note:**
|
|
360
|
-
>
|
|
361
354
|
> TUICallKit is a Tencent Cloud audio and video call UI component. With a few lines of code, you can add call features to your chat app.
|
|
362
355
|
>
|
|
363
356
|
> For more details, see Audio and video calls — Enable the service.
|
|
@@ -412,7 +405,6 @@ Run the project with:
|
|
|
412
405
|
### Cloud search
|
|
413
406
|
|
|
414
407
|
> **Note:**
|
|
415
|
-
>
|
|
416
408
|
> Search is essential in customer service, social, online education, online healthcare, OA, and similar scenarios. It helps users quickly find groups, users, and messages and improves product experience and retention.
|
|
417
409
|
>
|
|
418
410
|
> Due to Web platform storage limitations, Vue **does not support local search**. To meet search requirements, we provide **cloud search**. **Cloud search supports global search and in-conversation search, and can search groups, users, and messages.**
|
|
@@ -451,7 +443,6 @@ Cloud search is integrated by default in Step 2. To disable it, use the followin
|
|
|
451
443
|
UserSig is the credential used to log in to Chat IM. It is ciphertext generated by encrypting UserID and related information. The recommended approach is to integrate UserSig generation on your server and expose project-specific APIs. When UserSig is needed, your client requests a dynamic UserSig from your business server. See [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688) for details.
|
|
452
444
|
|
|
453
445
|
> **Note:**
|
|
454
|
-
>
|
|
455
446
|
> The sample code in this guide obtains UserSig from the [Chat console](https://console.cloud.tencent.com/im). **This method is for local debugging only.** For production, see [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688).
|
|
456
447
|
|
|
457
448
|
### Can I use a third-party component library such as Element Plus?
|
|
@@ -17,12 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
### Step 1. Activate the Service
|
|
19
19
|
|
|
20
|
-
Refer to the Activate Service document to get the `TUILiveKit` trial version or activate the paid version.
|
|
21
|
-
|
|
22
20
|
### Step 2. Code Integration
|
|
23
21
|
|
|
24
|
-
Refer to Preparations guide to integrate the TUILiveKit SDK.
|
|
25
|
-
|
|
26
22
|
### Step 3. Add an Audience Viewing view
|
|
27
23
|
|
|
28
24
|
In your viewer watching **Activity**, initialize and add the `AudienceView` viewer watching view.
|
|
@@ -108,7 +104,7 @@ TUILiveKit uses the standard **Android drawable resource** folder to manage the
|
|
|
108
104
|
|
|
109
105
|
## Next Steps
|
|
110
106
|
|
|
111
|
-
Congratulations! You have successfully integrated **Audience Viewing**. Next, you can implement features such as **host streaming**, **live stream list** and **gift system**. Please
|
|
107
|
+
Congratulations! You have successfully integrated **Audience Viewing**. Next, you can implement features such as **host streaming**, **live stream list** and **gift system**. Please
|
|
112
108
|
| <strong>Feature</strong> | <strong>Description</strong> | <strong>Integration Guide</strong> |
|
|
113
109
|
| --- | --- | --- |
|
|
114
110
|
| <strong>Host Streaming</strong> | The complete workflow for a host to start a stream, including pre-stream setup and various in-stream interactions. | Host Streaming |
|
|
@@ -119,7 +115,7 @@ Congratulations! You have successfully integrated **Audience Viewing**. Next, yo
|
|
|
119
115
|
|
|
120
116
|
### Why is the video screen black when a viewer selects video co-hosting?
|
|
121
117
|
|
|
122
|
-
Please go to **App Info > Permissions > Camera** and check if the **camera permission** is enabled.
|
|
118
|
+
Please go to **App Info > Permissions > Camera** and check if the **camera permission** is enabled.
|
|
123
119
|
|
|
124
120
|
### Why can't other viewers in the live room see the barrage content sent by a viewer?
|
|
125
121
|
- **Reason 1**: First check the network connection to ensure the viewer's device network is normal.
|