@tencentcloud/sdk-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/index.js +16 -0
- package/index.js.map +1 -0
- package/package.json +37 -0
- package/resource/doc/tuicallkit/android/.gitkeep +0 -0
- package/resource/doc/tuicallkit/android/api_TUICallKit.md +663 -0
- package/resource/doc/tuicallkit/android/api_TUICallObserver.md +786 -0
- package/resource/doc/tuicallkit/android/how_to_integrated_android_callkit.md +302 -0
- package/resource/doc/tuicallkit/faq/faq.md +1068 -0
- package/resource/doc/tuicallkit/flutter/api_TUICallDefine.md +932 -0
- package/resource/doc/tuicallkit/flutter/api_TUICallKit.md +452 -0
- package/resource/doc/tuicallkit/flutter/api_TUICallObserver.md +926 -0
- package/resource/doc/tuicallkit/flutter/how_to_integrated_flutter_callkit.md +226 -0
- package/resource/doc/tuicallkit/flutter/how_to_run_flutter_callkit_demo.md +101 -0
- package/resource/doc/tuicallkit/iOS/api_TUICallKit.md +635 -0
- package/resource/doc/tuicallkit/iOS/api_TUICallObserver.md +779 -0
- package/resource/doc/tuicallkit/iOS/how_to_integrated_iOS_callkit.md +269 -0
- package/resource/doc/tuicallkit/iOS/how_to_run_iOS_callkit_demo.md +98 -0
- package/resource/doc/tuicallkit/react/.gitkeep +0 -0
- package/resource/doc/tuicallkit/react/api_TUICallKit.md +1909 -0
- package/resource/doc/tuicallkit/react/how_to_integrated_react_callkit.md +195 -0
- package/resource/doc/tuicallkit/react/how_to_run_react_callkit_demo.md +93 -0
- package/resource/doc/tuicallkit/vue/.gitkeep +0 -0
- package/resource/doc/tuicallkit/vue/api_TUICallKit.md +1909 -0
- package/resource/doc/tuicallkit/vue/api_TUICallObserver.md +926 -0
- package/resource/doc/tuicallkit/vue/how_to_integrated_vue_callkit.md +415 -0
- package/resource/doc/tuicallkit/vue/how_to_run_vue_callkit_demo.md +93 -0
- package/server.js +124 -0
- package/server.js.map +1 -0
- package/streamableHttp.js +74 -0
- package/streamableHttp.js.map +1 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
本文将介绍如何快速完成 TUICallKit 组件的接入,您将在 10 分钟内完成以下几个关键步骤,并最终得到一个包含完备 UI 界面的视频通话功能。
|
|
2
|
+
<table>
|
|
3
|
+
<tr>
|
|
4
|
+
<td rowspan="1" colSpan="1" >1v1 视频通话</td>
|
|
5
|
+
|
|
6
|
+
<td rowspan="1" colSpan="1" >群组通话</td>
|
|
7
|
+
</tr>
|
|
8
|
+
|
|
9
|
+
<tr>
|
|
10
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
11
|
+
|
|
12
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
13
|
+
</tr>
|
|
14
|
+
</table>
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## 环境准备
|
|
18
|
+
- Xcode 13 及以上。
|
|
19
|
+
|
|
20
|
+
- iOS 13.0 及以上。
|
|
21
|
+
|
|
22
|
+
- CocoaPods 环境安装,单击 [查看](https://guides.cocoapods.org/using/getting-started.html)。
|
|
23
|
+
|
|
24
|
+
- 如果您的接入和使用中遇到问题,请参见 [常见问题](https://write.woa.com/document/86735803151626240)。
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## 步骤一:开通服务
|
|
28
|
+
|
|
29
|
+
请参见 [开通服务](https://write.woa.com/document/139743928960860160),获取 `SDKAppID、SDKSecretKey`,他们将在 [步骤四:初始化 TUICallKit 组件](https://write.woa.com/document/86735801863974912) 作为**必填参数**使用。
|
|
30
|
+
|
|
31
|
+
## 步骤二:导入组件
|
|
32
|
+
|
|
33
|
+
使用 CocoaPods 导入组件,如果您遇到问题,请先参见 [环境准备](https://write.woa.com/document/86735801863974912)。导入组件具体骤如下:
|
|
34
|
+
1. 请在您的 `Podfile` 文件中添加 `pod 'TUICallKit_Swift'` 依赖,建议指定`Subspec`为`Professional`,如果您遇到任何问题,请参见 [Example](https://github.com/Tencent-RTC/TUICallKit/blob/main/iOS/Example/Podfile) 工程。
|
|
35
|
+
|
|
36
|
+
``` bash
|
|
37
|
+
target 'xxxx' do
|
|
38
|
+
...
|
|
39
|
+
pod 'TUICallKit_Swift/Professional'
|
|
40
|
+
end
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
> **说明:**
|
|
44
|
+
>
|
|
45
|
+
|
|
46
|
+
> 如果您的项目中缺少`Podfile` 文件,您需要在终端中`cd` 到`xxxx.xcodeproj`目录,然后,通过执行以下命令来创建`Podfile`文件:
|
|
47
|
+
>
|
|
48
|
+
> `pod init`
|
|
49
|
+
|
|
50
|
+
2. 在终端中,首先`cd`到`Podfile`目录下,然后执行以下命令,安装组件。
|
|
51
|
+
|
|
52
|
+
``` bash
|
|
53
|
+
pod install
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
> **说明:**
|
|
57
|
+
>
|
|
58
|
+
|
|
59
|
+
> 如果无法安装 TUICallKit 最新版本,可以先删除 **Podfile.lock **和 **Pods**。然后执行以下命令更新本地的 CocoaPods 仓库列表。
|
|
60
|
+
>
|
|
61
|
+
> `pod repo update`
|
|
62
|
+
|
|
63
|
+
> 之后执行以下命令,更新组件库的 Pod 版本。
|
|
64
|
+
>
|
|
65
|
+
> `pod update`
|
|
66
|
+
|
|
67
|
+
3. 建议您编译并运行一次。如果遇到问题,可以参见我们的 [常见问题](https://write.woa.com/document/86735803151626240)。如果问题仍未解决,您可以尝试运行我们的 [Example](https://github.com/Tencent-RTC/TUICallKit/tree/main/iOS/Example) 工程。在接入和使用过程中,如果遇到问题,欢迎向我们 [反馈](https://github.com/Tencent-RTC/TUICallKit/issues)。
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## 步骤三:工程配置
|
|
71
|
+
|
|
72
|
+
使用音视频功能,需要授权摄像头和麦克风的使用权限,请根据实际项目需要,设置项目所需权限。
|
|
73
|
+
1. 在 **Xcode** 中,选择 **TARGETS** > **Info** > **Custom iOS Target Properties **菜单。
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
2. 单击 **+**,添加摄像头和麦克风权限。
|
|
79
|
+
|
|
80
|
+
- `Privacy - Camera Usage Description`
|
|
81
|
+
|
|
82
|
+
- `Privacy - Microphone Usage Description`
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## 步骤四:登录 TUI 组件
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
在您的项目中添加如下代码,它的作用是通过调用 TUICore 中的相关接口完成 TUI 组件的登录。这一步骤至关重要,只有在成功登录之后,您才能正常使用 TUICallKit 提供的各项功能。
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
【Swift】
|
|
100
|
+
``` swift
|
|
101
|
+
import TUICore
|
|
102
|
+
import TUICallKit_Swift
|
|
103
|
+
|
|
104
|
+
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
|
105
|
+
|
|
106
|
+
let userID = "denny" // 请替换为您的 UserId
|
|
107
|
+
let sdkAppID: Int32 = 0 // 请替换为第一步在控制台得到的 SDKAppID
|
|
108
|
+
let secretKey = "****" // 请替换为第一步在控制台得到的 SecretKey
|
|
109
|
+
|
|
110
|
+
let userSig = GenerateTestUserSig.genTestUserSig(userID: userID, sdkAppID: sdkAppID, secretKey: secretKey)
|
|
111
|
+
|
|
112
|
+
TUILogin.login(sdkAppID, userID: userID, userSig: userSig) {
|
|
113
|
+
print("login success")
|
|
114
|
+
} fail: { code, message in
|
|
115
|
+
print("login failed, code: \(code), error: \(message ?? "nil")")
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return true
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
【Objective-C】
|
|
124
|
+
``` objectivec
|
|
125
|
+
#import <TUICore/TUILogin.h>
|
|
126
|
+
#import <TUICallKit_Swift/TUICallKit_Swift-Swift.h>
|
|
127
|
+
|
|
128
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
|
129
|
+
|
|
130
|
+
NSString *userID = @"denny"; // 请替换为您的 UserId
|
|
131
|
+
int sdkAppID = 0; // 请替换为第一步在控制台得到的 SDKAppID
|
|
132
|
+
NSString *secretKey = @"****"; // 请替换为第一步在控制台得到的 SecretKey
|
|
133
|
+
|
|
134
|
+
NSString *userSig = [GenerateTestUserSig genTestUserSigWithUserID:userID sdkAppID:sdkAppID secretKey:secretKey];
|
|
135
|
+
|
|
136
|
+
[TUILogin login:sdkAppID
|
|
137
|
+
userID:userID
|
|
138
|
+
userSig:userSig
|
|
139
|
+
succ:^{
|
|
140
|
+
NSLog(@"login success");
|
|
141
|
+
} fail:^(int code, NSString * _Nullable msg) {
|
|
142
|
+
NSLog(@"login failed, code: %d, error: %@", code, msg);
|
|
143
|
+
}];
|
|
144
|
+
|
|
145
|
+
return YES;
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
<table>
|
|
150
|
+
<tr>
|
|
151
|
+
<td rowspan="1" colSpan="1" >参数</td>
|
|
152
|
+
|
|
153
|
+
<td rowspan="1" colSpan="1" >类型</td>
|
|
154
|
+
|
|
155
|
+
<td rowspan="1" colSpan="1" >说明</td>
|
|
156
|
+
</tr>
|
|
157
|
+
|
|
158
|
+
<tr>
|
|
159
|
+
<td rowspan="1" colSpan="1" >userID</td>
|
|
160
|
+
|
|
161
|
+
<td rowspan="1" colSpan="1" >String</td>
|
|
162
|
+
|
|
163
|
+
<td rowspan="1" colSpan="1" >客户根据自己的业务自定义用户 ID,只允许包含大小写英文字母(a-z A-Z)、数字(0-9)及下划线和连词符。</td>
|
|
164
|
+
</tr>
|
|
165
|
+
|
|
166
|
+
<tr>
|
|
167
|
+
<td rowspan="1" colSpan="1" >sdkAppID</td>
|
|
168
|
+
|
|
169
|
+
<td rowspan="1" colSpan="1" >Int32</td>
|
|
170
|
+
|
|
171
|
+
<td rowspan="1" colSpan="1" >在 [实时音视频 TRTC 控制台](https://console.cloud.tencent.com/trtc) 创建的音视频应用的唯一标识 SDKAppID。</td>
|
|
172
|
+
</tr>
|
|
173
|
+
|
|
174
|
+
<tr>
|
|
175
|
+
<td rowspan="1" colSpan="1" >secretKey</td>
|
|
176
|
+
|
|
177
|
+
<td rowspan="1" colSpan="1" >String</td>
|
|
178
|
+
|
|
179
|
+
<td rowspan="1" colSpan="1" >在 [实时音视频 TRTC 控制台](https://console.cloud.tencent.com/trtc) 创建的音视频应用的 SDKSecretKey。</td>
|
|
180
|
+
</tr>
|
|
181
|
+
|
|
182
|
+
<tr>
|
|
183
|
+
<td rowspan="1" colSpan="1" >userSig</td>
|
|
184
|
+
|
|
185
|
+
<td rowspan="1" colSpan="1" >String</td>
|
|
186
|
+
|
|
187
|
+
<td rowspan="1" colSpan="1" >一种安全保护签名,用于对用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。</td>
|
|
188
|
+
</tr>
|
|
189
|
+
</table>
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
> **注意:**
|
|
193
|
+
>
|
|
194
|
+
> - **开发环境**:如果您处于本地开发调试阶段,可以使用本地 GenerateTestUserSig.genTestSig 函数生成 userSig。但请注意,该方法中的 secretKey 容易被反编译逆向破解。一旦密钥泄露,攻击者可能盗用您的腾讯云流量。
|
|
195
|
+
> - **生产环境**:如果您的项目要发布上线,请采用 [服务端生成 UserSig](https://write.woa.com/document/86735811695435776) 的方式。
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
## 步骤五:拨打您的第一通电话
|
|
199
|
+
|
|
200
|
+
通过调用 TUICallKit 的 [calls](https://write.woa.com/document/86735802543452160) 函数并指定通话类型和被叫方的 userId,就可以发起语音或者视频通话。
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
【Swift】
|
|
206
|
+
``` swift
|
|
207
|
+
import TUICallKit_Swift
|
|
208
|
+
import RTCRoomEngine
|
|
209
|
+
|
|
210
|
+
// 发起1对1语音通话(假设 userId 为 mike)
|
|
211
|
+
TUICallKit.createInstance().calls(userIdList: ["mike"], callMediaType: .audio, params: nil) {
|
|
212
|
+
|
|
213
|
+
} fail: { code, message in
|
|
214
|
+
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
【Objective-C】
|
|
220
|
+
``` objectivec
|
|
221
|
+
#import <TUICallKit_Swift/TUICallKit_Swift-Swift.h>
|
|
222
|
+
#import <RTCRoomEngine/TUICallEngine.h>
|
|
223
|
+
|
|
224
|
+
// 发起1对1语音通话(假设 userId 为 mike)
|
|
225
|
+
[[TUICallKit createInstance] calls:@[@"mike"] callMediaType:TUICallMediaTypeAudio params:NULL succ:^{
|
|
226
|
+
} fail:^(int code, NSString * _Nullable errMsg) {
|
|
227
|
+
}];
|
|
228
|
+
```
|
|
229
|
+
<table>
|
|
230
|
+
<tr>
|
|
231
|
+
<td rowspan="1" colSpan="1" >主叫方</td>
|
|
232
|
+
|
|
233
|
+
<td rowspan="1" colSpan="1" >被叫方</td>
|
|
234
|
+
</tr>
|
|
235
|
+
|
|
236
|
+
<tr>
|
|
237
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
238
|
+
|
|
239
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
240
|
+
</tr>
|
|
241
|
+
</table>
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
## 更多特性
|
|
245
|
+
- [界面定制](https://write.woa.com/document/86735802112499712)
|
|
246
|
+
|
|
247
|
+
- [离线推送](https://write.woa.com/document/86735802219454464)
|
|
248
|
+
|
|
249
|
+
- [多人通话](https://write.woa.com/document/139754164343910400)
|
|
250
|
+
|
|
251
|
+
- [悬浮窗](https://write.woa.com/document/139754329641431040)
|
|
252
|
+
|
|
253
|
+
- [美颜特效](https://write.woa.com/document/116004088855900160)
|
|
254
|
+
|
|
255
|
+
- [自定义铃声](https://write.woa.com/document/139754577364488192)
|
|
256
|
+
|
|
257
|
+
- [监听通话状态](https://write.woa.com/document/139754713712799744)
|
|
258
|
+
|
|
259
|
+
- [云端录制](https://write.woa.com/document/89008877934485504)
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
## 常见问题
|
|
263
|
+
|
|
264
|
+
如果您的接入和使用中遇到问题,请参见 [常见问题](https://write.woa.com/document/86735803151626240)。
|
|
265
|
+
|
|
266
|
+
## 交流与反馈
|
|
267
|
+
- 如果您在使用过程中,有什么建议或者意见,可以在这里反馈:[TUICallKit 产品反馈问卷](https://wj.qq.com/s2/10796805/6960/),感谢您的反馈。
|
|
268
|
+
|
|
269
|
+
- 如果您是开发者,也欢迎您加入我们的 TUICallKit 技术交流平台 [zhiliao](https://zhiliao.qq.com/s/cWSPGIIM62CC/cEUPGIIM62CE),进行技术交流和产品沟通。
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
本文将为您介绍如何快速跑通音视频通话 Demo。跟随本文档,您可以在 10 分钟内跑通 Demo,并最终体验一个包含完备 UI 界面的音视频通话功能。
|
|
2
|
+
<table>
|
|
3
|
+
<tr>
|
|
4
|
+
<td rowspan="1" colSpan="1" >视频通话</td>
|
|
5
|
+
|
|
6
|
+
<td rowspan="1" colSpan="1" >群组通话</td>
|
|
7
|
+
</tr>
|
|
8
|
+
|
|
9
|
+
<tr>
|
|
10
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
11
|
+
|
|
12
|
+
<td rowspan="1" colSpan="1" ></td>
|
|
13
|
+
</tr>
|
|
14
|
+
</table>
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## 环境准备
|
|
18
|
+
- Xcode 13 及以上。
|
|
19
|
+
|
|
20
|
+
- 两台 iOS 13.0 及以上设备。
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## 步骤一 : 下载 Demo
|
|
24
|
+
1. 从 github 下载 [TUICallKit Demo](https://github.com/Tencent-RTC/TUICallKit/tree/main) 源码,或者直接在命令行运行以下命令:
|
|
25
|
+
|
|
26
|
+
``` bash
|
|
27
|
+
git clone
|
|
28
|
+
```
|
|
29
|
+
2. 在命令行中进入 iOS 项目目录:
|
|
30
|
+
|
|
31
|
+
``` plaintext
|
|
32
|
+
cd TUICallKit/iOS/Example
|
|
33
|
+
```
|
|
34
|
+
3. 加载依赖库:
|
|
35
|
+
|
|
36
|
+
``` plaintext
|
|
37
|
+
pod install
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
> **注意:**
|
|
41
|
+
>
|
|
42
|
+
|
|
43
|
+
> 如果您尚未安装 CocoaPods ,可以参考 [此处](https://guides.cocoapods.org/using/getting-started.html) 了解如何安装。
|
|
44
|
+
>
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## 步骤二 : 配置 Demo
|
|
48
|
+
1. [开通音视频服务](https://write.woa.com/document/139743928960860160),获取 **SDKAppID** 和 **SDKSecretKey** 。
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+

|
|
52
|
+
|
|
53
|
+
2. 打开`/iOS/Example/Debug/GenerateTestUserSig.swift`文件,将 [开通服务](https://write.woa.com/document/139743928960860160) 时获取到的对应的 SDKAppID 和 SDKSecretKey 填入其中:
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+

|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## 步骤三 : 跑通 Demo
|
|
60
|
+
1. 在 XCode 如下图所示处选择您要将 Demo 运行的设备:
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
2. 选择完成后点击运行将我们的 TUICallKit Android Demo 运行到目标设备上。
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## 拨打第一个电话
|
|
69
|
+
|
|
70
|
+
> **注意:**
|
|
71
|
+
>
|
|
72
|
+
|
|
73
|
+
> 为了使您可以体验完整的音视频通话流程,请将 Demo 分别在两台设备上登录两个用户,一方作为主叫,一方作为被叫。
|
|
74
|
+
>
|
|
75
|
+
|
|
76
|
+
1. 登录 & 注册
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
请您在 `用户ID`处输入 ID 。如果您当前的 UserID 未曾被使用过,此时会进入到 **注册** 界面,您可以在该界面为自己设置头像及昵称。
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+

|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
> **注意:**
|
|
86
|
+
>
|
|
87
|
+
|
|
88
|
+
> 尽量避免使您的 UserID 被设置成“1”、“123”、“111”等简单字符串,由于 TRTC 不支持同一个 UserID 多端登录,所以在多人协作开发时,形如 “1”、“123”、“111” 这样的 UserID 很容易被您的同事占用,导致登录失败,因此我们建议您在调试的时候设置一些辨识度高的 UserID。
|
|
89
|
+
>
|
|
90
|
+
|
|
91
|
+
2. 拨打电话
|
|
92
|
+
|
|
93
|
+
1. 主叫方请点击界面上的 **1V1 通话**,在弹出的界面中输入被叫方的 UserID 并选择您想要的通话类型。
|
|
94
|
+
|
|
95
|
+
2. 单击**发起通话**。
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+

|
|
File without changes
|