@tencentcloud/sdk-mcp 1.7.2 → 1.7.4
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/CHANGELOG.md +26 -0
- package/README.md +25 -17
- package/knowledge/bm25.js +20 -11
- package/knowledge/path-meta.js +23 -1
- package/knowledge/search/generic-rerank.js +123 -0
- package/knowledge/search/search-pass.js +8 -1
- package/package.json +1 -1
- package/resource/_schema/query-normalization.yaml +6 -0
- package/resource/index/manifest.json +1 -1
- package/resource/integration/callkit/preset/android/integration.md +4 -0
- package/resource/integration/callkit/preset/flutter/integration.md +4 -0
- package/resource/integration/callkit/preset/ios/integration.md +14 -13
- package/resource/integration/callkit/preset/vue/integration.md +0 -3
- package/resource/integration/chat/preset/android/integration.md +35 -173
- package/resource/integration/chat/preset/flutter/integration.md +113 -220
- package/resource/integration/chat/preset/ios/integration.md +2 -269
- package/resource/integration/chat/preset/react/integration.md +27 -1
- package/resource/integration/chat/preset/uni-app/integration.md +5 -1
- package/resource/integration/chat/preset/vue/integration.md +21 -31
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +4 -0
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +4 -0
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +3 -4
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +0 -1
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +0 -1
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +4 -9
- package/resource/integration/roomkit/preset/vue/integration.md +0 -213
- package/resource/knowledge/callkit/best-practice/android/video-chat-dating.md +490 -0
- package/resource/knowledge/callkit/best-practice/flutter/android-keep-call-alive-background.md +79 -0
- package/resource/knowledge/callkit/best-practice/flutter/background-incoming-call-no-notification.md +99 -0
- package/resource/knowledge/callkit/best-practice/flutter/ios-keep-call-alive-background.md +93 -0
- package/resource/knowledge/callkit/best-practice/flutter/ios-startup-crash-version-voip.md +68 -0
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -1
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +9 -7
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +10 -7
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +1 -1
- package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +19 -19
- package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +16 -16
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +0 -84
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +0 -102
- package/resource/knowledge/callkit/core-sdk/web/call-event.md +2 -2
- package/resource/knowledge/callkit/faq/error-code.md +62 -36
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +1 -1
- package/resource/knowledge/callkit/preset/android/api.md +10 -10
- package/resource/knowledge/callkit/preset/harmonyos/api.md +362 -0
- package/resource/knowledge/callkit/preset/harmonyos/integration.md +322 -0
- package/resource/knowledge/callkit/preset/ios/api.md +9 -9
- package/resource/knowledge/callkit/preset/miniprogram/api-uniapp.md +293 -0
- package/resource/knowledge/callkit/preset/miniprogram/api.md +19 -19
- package/resource/knowledge/callkit/preset/miniprogram/integration.md +292 -0
- package/resource/knowledge/callkit/preset/miniprogram/uniapp-integration.md +521 -0
- package/resource/knowledge/callkit/preset/uni-app/api.md +49 -0
- package/resource/knowledge/callkit/preset/uni-app/integration.md +353 -0
- package/resource/knowledge/chat/best-practice/common/web-sdk-log-level.md +76 -0
- package/resource/knowledge/chat/best-practice/miniprogram/desktop-wechat-miniprogram-error.md +79 -0
- package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +1 -1
- package/resource/knowledge/chat/preset/android-view/integration.md +84 -124
- package/resource/knowledge/chat/preset/ios/features/language.md +5 -5
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +184 -923
- package/resource/knowledge/chat/preset/react/features/search.md +9 -214
- package/resource/knowledge/chat/preset/react/h5/integration.md +965 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +0 -36
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +0 -34
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +0 -39
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +0 -74
- package/resource/knowledge/chat/preset/vue/features/search.md +9 -790
- package/resource/knowledge/chat/preset/vue/h5/integration.md +724 -0
- package/resource/knowledge/livekit/core-sdk/features/uni-app/live-list.md +0 -167
- package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +2 -2
- package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +1 -66
- package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +1 -66
- package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +1 -1
- package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +2 -2
- package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +1 -1
- package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +2 -2
- package/resource/knowledge/livekit/core-sdk/voice/uni-app/integration.md +2 -2
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +1 -24
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +0 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +0 -5
- package/resource/knowledge/push/api-reference/harmonyos.md +9 -9
- package/resource/knowledge/push/api-reference/unity.md +10 -10
- package/resource/knowledge/push/api-reference/unreal-engine.md +11 -11
- package/resource/knowledge/push/config/android/fcm.md +2 -6
- package/resource/knowledge/push/integration/android.md +824 -428
- package/resource/knowledge/push/integration/donut.md +57 -74
- package/resource/knowledge/push/integration/flutter.md +208 -63
- package/resource/knowledge/push/integration/harmonyos.md +6 -11
- package/resource/knowledge/push/integration/ios.md +44 -99
- package/resource/knowledge/push/integration/react-native.md +3 -2
- package/resource/knowledge/push/integration/uni-app.md +29 -107
- package/resource/knowledge/push/integration/unity.md +3 -2
- package/resource/knowledge/push/integration/unreal-engine.md +4 -3
- package/resource/knowledge/roomkit/best-practice/vue/screen-share-auto-stop-on-leave.md +62 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +3 -3
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +4 -4
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +2 -2
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +4 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +3 -3
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +4 -4
- package/resource/knowledge/roomkit/core-sdk/react/network-proxy.md +84 -0
- package/resource/knowledge/roomkit/core-sdk/vue/device-detection.md +0 -9
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -9
- package/resource/knowledge/roomkit/core-sdk/vue/network-proxy.md +84 -0
- package/resource/knowledge/roomkit/core-sdk/vue/recording.md +245 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -16
- package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/whiteboard-annotation.md +181 -0
- package/resource/knowledge/roomkit/faq/error-code.md +103 -0
- package/resource/knowledge/roomkit/preset/android/integration.md +1 -202
- package/resource/knowledge/roomkit/preset/flutter/integration.md +13 -13
- package/resource/knowledge/roomkit/preset/harmonyos/integration.md +465 -0
- package/resource/knowledge/roomkit/preset/ios/integration.md +0 -201
- package/resource/knowledge/roomkit/preset/react/features/network-proxy.md +80 -0
- package/resource/knowledge/roomkit/preset/react/integration.md +0 -202
- package/resource/knowledge/roomkit/preset/uniapp-app/integration.md +279 -0
- package/resource/knowledge/roomkit/preset/vue/features/ai-caption-translation.md +69 -0
- package/resource/knowledge/roomkit/preset/vue/features/ai-denoiser.md +67 -0
- package/resource/knowledge/roomkit/preset/vue/features/network-proxy.md +80 -0
- package/resource/knowledge/roomkit/preset/vue/features/recording.md +85 -0
- package/resource/knowledge/roomkit/preset/vue/features/whiteboard-annotation.md +86 -0
- package/resource/knowledge/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +25 -6
- package/server.js +1 -1
- package/utils/preflight-route.js +18 -6
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
|
@@ -28,40 +28,51 @@ TUIKit 采用数据驱动的响应式架构与原生 Android View 体系(非 C
|
|
|
28
28
|
> 我们建议您根据上述指南,选择与项目要求完全匹配的版本组合。
|
|
29
29
|
>
|
|
30
30
|
|
|
31
|
-
###
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
31
|
+
### 集成并引入组件
|
|
32
|
+
|
|
33
|
+
> **说明:**
|
|
34
|
+
> Demo:[CNB 完整 Demo(国内)](https://cnb.cool/tencent/cloud/trtc/TUIKit_Android) 或者 [GitHub 完整 Demo](https://github.com/Tencent-RTC/TUIKit_Android) 开箱即用,5 分钟跑通聊天 + 音视频通话全功能。
|
|
35
|
+
>
|
|
36
|
+
|
|
37
|
+
### 下载源码
|
|
38
|
+
|
|
39
|
+
从 CNB 下载 [TUIKit Android](https://cnb.cool/tencent/cloud/trtc/TUIKit_Android) 源码或者 GitHub 下载 [TUIKit Android](https://github.com/Tencent-RTC/TUIKit_Android) 源码:
|
|
40
|
+
``` java
|
|
41
|
+
git clone https://cnb.cool/tencent/cloud/trtc/TUIKit_Android
|
|
42
|
+
// 或者 git clone https://github.com/Tencent-RTC/TUIKit_Android.git
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
将仓库根目录下的 `chat`、`call` 和 `atomic_x` 文件夹整体复制到您的工程根目录下。复制完成后的目录结构如下:
|
|
46
|
+
``` text
|
|
47
|
+
YourApplication/
|
|
48
|
+
├── app/ # 您的应用模块
|
|
49
|
+
├── atomic_x/ # 基础 UI 组件库
|
|
50
|
+
├── call/ # 音视频通话组件
|
|
51
|
+
│ └── tuicallkit-kt/
|
|
52
|
+
├── chat/ # Chat 源码
|
|
53
|
+
│ ├── demo/ # 示例工程
|
|
54
|
+
│ └── uikit/ # Chat UIKit 组件库
|
|
55
|
+
├── settings.gradle.kts
|
|
56
|
+
└── build.gradle.kts
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
> **说明:**
|
|
60
|
+
> TUIKit_Android 是包含多个产品的开源仓库,Chat 的 UI 源码位于 `chat/` 目录下(`chat/uikit` 为 UIKit 组件库,`chat/demo` 为示例工程),其依赖的基础组件 `atomic_x` 与音视频通话组件 `call/tuicallkit-kt` 位于仓库根目录。模块目录可放在工程任意位置,只需在 `settings.gradle.kts` 中设置正确的相对路径即可。
|
|
61
|
+
>
|
|
62
|
+
|
|
63
|
+
### 集成组件
|
|
64
|
+
1. 在 `settings.gradle.kts` 中引入对应模块(请按源码实际存放位置调整相对路径):
|
|
51
65
|
|
|
52
66
|
【Kotlin DSL】
|
|
53
67
|
``` kotlin
|
|
54
68
|
// settings.gradle.kts
|
|
55
69
|
|
|
56
|
-
// 引入 Chat UIKit 组件库(必要)
|
|
57
|
-
include(":uikit")
|
|
58
|
-
project(":uikit").projectDir = file("${settingsDir.path}/chat/uikit")
|
|
59
|
-
|
|
60
|
-
// 引入 AtomicX 基础 UI 组件库(必要)
|
|
61
70
|
include(":atomic_x")
|
|
62
71
|
project(":atomic_x").projectDir = file("${settingsDir.path}/atomic_x")
|
|
63
72
|
|
|
64
|
-
|
|
73
|
+
include(":uikit")
|
|
74
|
+
project(":uikit").projectDir = file("${settingsDir.path}/chat/uikit")
|
|
75
|
+
|
|
65
76
|
include(":tuicallkit-kt")
|
|
66
77
|
project(":tuicallkit-kt").projectDir = file("${settingsDir.path}/call/tuicallkit-kt")
|
|
67
78
|
```
|
|
@@ -70,29 +81,24 @@ project(":tuicallkit-kt").projectDir = file("${settingsDir.path}/call/tuicallkit
|
|
|
70
81
|
``` groovy
|
|
71
82
|
// settings.gradle
|
|
72
83
|
|
|
73
|
-
// 引入 Chat UIKit 组件库(必要)
|
|
74
|
-
include ':uikit'
|
|
75
|
-
project(':uikit').projectDir = new File(settingsDir, 'chat/uikit')
|
|
76
|
-
|
|
77
|
-
// 引入 AtomicX 基础 UI 组件库(必要)
|
|
78
84
|
include ':atomic_x'
|
|
79
85
|
project(':atomic_x').projectDir = new File(settingsDir, 'atomic_x')
|
|
80
86
|
|
|
81
|
-
|
|
87
|
+
include ':uikit'
|
|
88
|
+
project(':uikit').projectDir = new File(settingsDir, 'chat/uikit')
|
|
89
|
+
|
|
82
90
|
include ':tuicallkit-kt'
|
|
83
91
|
project(':tuicallkit-kt').projectDir = new File(settingsDir, 'call/tuicallkit-kt')
|
|
84
92
|
```
|
|
85
93
|
|
|
86
|
-
|
|
94
|
+
2. 在 app 模块的 `build.gradle.kts` 中添加依赖:
|
|
87
95
|
|
|
88
96
|
【Kotlin DSL】
|
|
89
97
|
``` kotlin
|
|
90
98
|
// app/build.gradle.kts
|
|
91
99
|
dependencies {
|
|
92
|
-
// TUIKit 组件库(必要)
|
|
93
|
-
implementation(project(":uikit"))
|
|
94
100
|
implementation(project(":atomic_x"))
|
|
95
|
-
|
|
101
|
+
implementation(project(":uikit"))
|
|
96
102
|
implementation(project(":tuicallkit-kt"))
|
|
97
103
|
}
|
|
98
104
|
```
|
|
@@ -101,10 +107,8 @@ dependencies {
|
|
|
101
107
|
``` groovy
|
|
102
108
|
// app/build.gradle
|
|
103
109
|
dependencies {
|
|
104
|
-
// TUIKit 组件库(必要)
|
|
105
|
-
implementation project(':uikit')
|
|
106
110
|
implementation project(':atomic_x')
|
|
107
|
-
|
|
111
|
+
implementation project(':uikit')
|
|
108
112
|
implementation project(':tuicallkit-kt')
|
|
109
113
|
}
|
|
110
114
|
```
|
|
@@ -123,6 +127,8 @@ dependencies {
|
|
|
123
127
|
``` java
|
|
124
128
|
import io.trtc.tuikit.atomicxcore.api.CompletionHandler
|
|
125
129
|
import io.trtc.tuikit.atomicxcore.api.login.LoginStore
|
|
130
|
+
import com.tencent.cloud.tuikit.engine.call.TUICallEngine
|
|
131
|
+
import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
|
|
126
132
|
|
|
127
133
|
LoginStore.shared.login(
|
|
128
134
|
context,
|
|
@@ -131,7 +137,19 @@ LoginStore.shared.login(
|
|
|
131
137
|
userSig, // String,控制台或服务端生成
|
|
132
138
|
object : CompletionHandler {
|
|
133
139
|
override fun onSuccess() {
|
|
134
|
-
//
|
|
140
|
+
// 登录成功
|
|
141
|
+
TUICallEngine.createInstance(context).init(
|
|
142
|
+
sdkAppID, userID, userSig,
|
|
143
|
+
object : TUICommonDefine.Callback {
|
|
144
|
+
override fun onSuccess() {
|
|
145
|
+
// 初始化成功,可使用音视频通话能力
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
override fun onError(errCode: Int, errMsg: String) {
|
|
149
|
+
// 初始化失败
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
)
|
|
135
153
|
}
|
|
136
154
|
override fun onFailure(code: Int, desc: String) {
|
|
137
155
|
// 登录失败,可弹框报错
|
|
@@ -144,37 +162,7 @@ LoginStore.shared.login(
|
|
|
144
162
|
> 在正式的生产环境中,建议在您的服务端生成 UserSig,在需要时由 App 向业务服务器发起请求获取动态 UserSig 进行鉴权。详见 [服务端生成 UserSig](https://cloud.tencent.com/document/product/269/32688)。
|
|
145
163
|
>
|
|
146
164
|
|
|
147
|
-
#### 步骤3
|
|
148
|
-
|
|
149
|
-
会话列表只需创建 `ConversationsPageView` 并加入到您的布局即可。它会自动从本地读取最近会话,点击某个会话时通过 `onConversationClick` 回调返回该会话的 `conversationID`,您可据此跳转聊天界面。
|
|
150
|
-
``` kotlin
|
|
151
|
-
import android.os.Bundle
|
|
152
|
-
import androidx.appcompat.app.AppCompatActivity
|
|
153
|
-
import io.trtc.tuikit.chat.uikit.pages.ConversationsPageView
|
|
154
|
-
|
|
155
|
-
class ConversationActivity : AppCompatActivity() {
|
|
156
|
-
override fun onCreate(savedInstanceState: Bundle?) {
|
|
157
|
-
super.onCreate(savedInstanceState)
|
|
158
|
-
|
|
159
|
-
val conversationsPage = ConversationsPageView(this)
|
|
160
|
-
conversationsPage.setHeaderTitle("消息")
|
|
161
|
-
|
|
162
|
-
// 点击会话回调,conversationID 已带 c2c_ / group_ 前缀
|
|
163
|
-
conversationsPage.onConversationClick = { conversationID ->
|
|
164
|
-
// 跳转到您的聊天界面,并将 conversationID 传入(可参考步骤4 的 ChatActivity)
|
|
165
|
-
}
|
|
166
|
-
// 可选:搜索、发起单聊、创建群聊等入口回调
|
|
167
|
-
conversationsPage.onSearchClick = { /* 跳转搜索页 */ }
|
|
168
|
-
conversationsPage.onStartChatClick = { /* 发起单聊 */ }
|
|
169
|
-
conversationsPage.onCreateGroupClick = { /* 创建群聊 */ }
|
|
170
|
-
|
|
171
|
-
// 将会话列表设置为页面内容
|
|
172
|
-
setContentView(conversationsPage)
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
#### 步骤4:构建聊天界面
|
|
165
|
+
#### 步骤3:构建聊天界面
|
|
178
166
|
|
|
179
167
|
聊天界面使用 `ChatPageView` 展示和收发消息,通过 `setup` 传入 `conversationID` 即可。`conversationID` 的格式为:单聊 `c2c_<对方 UserID>`,群聊 `group_<群 GroupID>`。
|
|
180
168
|
``` kotlin
|
|
@@ -187,8 +175,6 @@ import io.trtc.tuikit.chat.uikit.pages.ChatPageView
|
|
|
187
175
|
class ChatActivity : AppCompatActivity() {
|
|
188
176
|
|
|
189
177
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
190
|
-
// 必须设置 Material Components 主题,否则 ChatPageView 运行时会 Crash
|
|
191
|
-
setTheme(com.google.android.material.R.style.Theme_MaterialComponents_Light_NoActionBar)
|
|
192
178
|
super.onCreate(savedInstanceState)
|
|
193
179
|
|
|
194
180
|
// conversationID 格式:单聊 "c2c_<对方 UserID>",群聊 "group_<群 GroupID>"
|
|
@@ -209,62 +195,18 @@ class ChatActivity : AppCompatActivity() {
|
|
|
209
195
|
}
|
|
210
196
|
```
|
|
211
197
|
|
|
212
|
-
>
|
|
213
|
-
>
|
|
214
|
-
>
|
|
215
|
-
|
|
216
|
-
> **说明:**示例工程(demo)中提供了基于 `ChatPageView` 封装好的聊天页 `ChatActivity`(带标题栏、未读角标、群事件处理等),可直接复用或参考其实现进行自定义:`ChatActivity.start(context, conversationID)`。
|
|
198
|
+
> **说明:**
|
|
199
|
+
> 示例工程(demo)中提供了基于 `ChatPageView` 封装好的聊天页 `ChatActivity`(带标题栏、未读角标、群事件处理等),可直接复用或参考其实现进行自定义:`ChatActivity.start(context, conversationID)`。
|
|
217
200
|
>
|
|
218
201
|
|
|
219
|
-
#### 步骤
|
|
220
|
-
|
|
221
|
-
联系人界面使用 `ContactsPageView` 展示好友列表、群组列表等,通过 `setup` 设置点击回调。点击联系人或群组时跳转对应聊天界面。
|
|
222
|
-
``` kotlin
|
|
223
|
-
import android.os.Bundle
|
|
224
|
-
import androidx.appcompat.app.AppCompatActivity
|
|
225
|
-
import io.trtc.tuikit.chat.uikit.pages.ContactsPageView
|
|
226
|
-
|
|
227
|
-
class ContactActivity : AppCompatActivity() {
|
|
228
|
-
override fun onCreate(savedInstanceState: Bundle?) {
|
|
229
|
-
super.onCreate(savedInstanceState)
|
|
230
|
-
|
|
231
|
-
val contactsPage = ContactsPageView(this)
|
|
232
|
-
contactsPage.setHeaderTitle("通讯录")
|
|
233
|
-
contactsPage.setup(
|
|
234
|
-
onContactClick = { contactInfo ->
|
|
235
|
-
// 跳转到您的聊天界面,单聊会话 ID 为 "c2c_" + contactInfo.userID(可参考步骤4 的 ChatActivity)
|
|
236
|
-
},
|
|
237
|
-
onGroupClick = { contactInfo ->
|
|
238
|
-
// 跳转到您的聊天界面,群聊会话 ID 为 "group_" + contactInfo.userID(可参考步骤4 的 ChatActivity)
|
|
239
|
-
}
|
|
240
|
-
)
|
|
241
|
-
setContentView(contactsPage)
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
#### 步骤6:主题设置(可选)
|
|
247
|
-
|
|
248
|
-
TUIKit 通过 `ThemeStore` 支持设置主题色与浅色 / 深色主题切换。
|
|
249
|
-
``` kotlin
|
|
250
|
-
import io.trtc.tuikit.atomicx.theme.Theme
|
|
251
|
-
import io.trtc.tuikit.atomicx.theme.ThemeStore
|
|
252
|
-
|
|
253
|
-
// 设置主题色
|
|
254
|
-
ThemeStore.shared(context).setPrimaryColor("#1C66E5")
|
|
255
|
-
|
|
256
|
-
// 切换浅色 / 深色主题
|
|
257
|
-
ThemeStore.shared(context).setTheme(Theme.lightTheme(context))
|
|
258
|
-
// ThemeStore.shared(context).setTheme(Theme.darkTheme(context))
|
|
259
|
-
```
|
|
202
|
+
#### 步骤4:音视频通话
|
|
260
203
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
若需在聊天中支持音视频通话,请先 [开通音视频服务](https://console.cloud.tencent.com/im),并在集成步骤中引入 `:tuicallkit-kt` 组件。**登录成功后**初始化 `TUICallEngine,`即可在 Chat 组件中正常使用该功能。
|
|
204
|
+
**登录成功后**初始化 `TUICallEngine,`即可在 Chat 组件中正常使用该功能。如需开通音视频通话服务,
|
|
264
205
|
``` kotlin
|
|
265
206
|
import com.tencent.cloud.tuikit.engine.call.TUICallEngine
|
|
266
207
|
import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
|
|
267
208
|
|
|
209
|
+
// 在步骤 2 的 LoginStore 登录成功回调中初始化 TUICallEngine
|
|
268
210
|
TUICallEngine.createInstance(context).init(
|
|
269
211
|
sdkAppID, userID, userSig,
|
|
270
212
|
object : TUICommonDefine.Callback {
|
|
@@ -279,11 +221,10 @@ TUICallEngine.createInstance(context).init(
|
|
|
279
221
|
)
|
|
280
222
|
```
|
|
281
223
|
|
|
282
|
-
#### 步骤
|
|
224
|
+
#### 步骤5:接入智能客服 Desk 用户端
|
|
283
225
|
|
|
284
226
|
若需同时集成智能客服 Desk 用户端,请先 [开通智能客服 Desk 服务](https://cloud.tencent.com/document/product/269/96059),并根据 [Android 接入智能客服用户端](https://cloud.tencent.com/document/product/269/110809) 文档完成 `com.tencentcloud.desk:aideskcustomer` 包引入和配置,即可在您的应用中引入客服会话能力。
|
|
285
227
|
``` java
|
|
286
|
-
|
|
287
228
|
int SDKAppID = 0; // 开通了智能客服 Desk 的应用 ID
|
|
288
229
|
String userID = "";
|
|
289
230
|
String userSig = "";
|
|
@@ -311,6 +252,10 @@ TencentAiDeskCustomer.getInstance().initWithProfile(context, SDKAppID, userID, u
|
|
|
311
252
|
});
|
|
312
253
|
```
|
|
313
254
|
|
|
255
|
+
## AI 助手:知识咨询与代码集成
|
|
256
|
+
|
|
257
|
+
在接入 IM SDK 过程中,您可以通过 MCP 使用 AI 助手,快速完成知识咨询、报错排查和 UIKit 集成代码生成。支持 Web/Android/iOS/Flutter/uni-app 等平台,答案基于官方文档。适用于查询 SDK API、UI 组件用法、服务端 API 与 IM 产品配置等场景,[立即体验,提出您的第一个问题](https://cloud.tencent.com/document/product/269/126983)。
|
|
258
|
+
|
|
314
259
|
## 常见问题
|
|
315
260
|
|
|
316
261
|
### 音视频常见问题
|
|
@@ -324,6 +269,21 @@ TencentAiDeskCustomer.getInstance().initWithProfile(context, SDKAppID, userID, u
|
|
|
324
269
|
|
|
325
270
|
- 如果是群聊通话邀请,被邀请者离线再上线后会自动拉取最近 30 秒内的邀请,TUIKit 会自动唤起群通话界面。
|
|
326
271
|
|
|
272
|
+
##### **如何移除音视频通话功能?**
|
|
273
|
+
|
|
274
|
+
如果您不需要集成音视频通话功能,请在 `settings.gradle.kts`(或 `settings.gradle`) 和 `app` 模块的 `build.gradle.kts`(或 `build.gradle`) 文件中移除 `tuicallkit-kt` 依赖,并在步骤 3 创建聊天界面中关闭音视频通话开关,代码如下所示:
|
|
275
|
+
``` java
|
|
276
|
+
val messageInputConfig = ChatMessageInputConfig(
|
|
277
|
+
isShowAudioCall = false, // 关闭语音通话
|
|
278
|
+
isShowVideoCall = false // 关闭视频通话
|
|
279
|
+
)
|
|
280
|
+
val chatPageView = ChatPageView(this)
|
|
281
|
+
chatPageView.setup(
|
|
282
|
+
conversationID = conversationID,
|
|
283
|
+
messageInputConfig = messageInputConfig
|
|
284
|
+
)
|
|
285
|
+
```
|
|
286
|
+
|
|
327
287
|
### 其他常见问题
|
|
328
288
|
|
|
329
289
|
##### 表情包的使用
|
|
@@ -26,7 +26,7 @@ iOS 端 `TUIKit`默认自带 **简体中文、英语** 和 **阿拉伯语** 语
|
|
|
26
26
|
|
|
27
27
|
> **说明**
|
|
28
28
|
>
|
|
29
|
-
> 语言代码清单见
|
|
29
|
+
> 语言代码清单见 [附录](#code)。
|
|
30
30
|
>
|
|
31
31
|
|
|
32
32
|
## 使用更多语言/自定义翻译表述
|
|
@@ -37,7 +37,7 @@ iOS 端 `TUIKit`默认自带 **简体中文、英语** 和 **阿拉伯语** 语
|
|
|
37
37
|
|
|
38
38
|
我们自带的所有语言包,以String文件模板的形式,存储于您项目里Pods中`TUICore`组件的`TUIKitLocalizable/Localizable/` 路径。
|
|
39
39
|
|
|
40
|
-
请新建目录并命名为`{语言编码}.lproj`,在此目录下新增 `Localizable.strings`文件,其中,`${语言编码}` 需要替换为 ISO 639-1
|
|
40
|
+
请新建目录并命名为`{语言编码}.lproj`,在此目录下新增 `Localizable.strings`文件,其中,`${语言编码}` 需要替换为 [ISO 639-1 语言代码](#code)。(可以直接复制您熟悉的语言文件,如zh-Hans.lproj,并直接修改目录名称)
|
|
41
41
|
如果您需要兼容支持多个新语言,复制多份,并准确指定每一份的语言编码即可。
|
|
42
42
|
|
|
43
43
|
以韩语为例,新增`ko.lproj/Localizable.strings`的语言资源文件:
|
|
@@ -52,17 +52,17 @@ iOS 端 `TUIKit`默认自带 **简体中文、英语** 和 **阿拉伯语** 语
|
|
|
52
52
|
|
|
53
53
|
如果是其他语种,则需要在 `TUIGlobalization.m`中的`+ (NSString *)tk_localizableLanguageKey`
|
|
54
54
|
|
|
55
|
-
新增的语言词条包命名需要
|
|
55
|
+
新增的语言词条包命名需要 [符合标准](#code),组件内部会跟随系统语言自适应。
|
|
56
56
|
|
|
57
57
|
> **说明**
|
|
58
58
|
>
|
|
59
|
-
> 语言代码清单见 ISO 639-1
|
|
59
|
+
> 语言代码清单见 [ISO 639-1 语言代码](#code)。
|
|
60
60
|
>
|
|
61
61
|
|
|
62
62
|
### 指定显示的语言
|
|
63
63
|
|
|
64
64
|
如果您需要指定`TUIKit`界面语言,请在`[TUIGlobalization setPreferredLanguage:@""]`中传入需要的语言,指定语言后,组件内部不再跟随系统语言。
|
|
65
|
-
语言可选项,取值为 ISO 639-1 语言代码
|
|
65
|
+
语言可选项,取值为 [ISO 639-1 语言代码](#code)
|
|
66
66
|
以韩语为例,传入`[TUIGlobalization setPreferredLanguage:@"ko"];`
|
|
67
67
|
|
|
68
68
|
## 附录:语言代码表
|