dependencies:tencent_calls_uikit: 最新版本
flutter pub get
import 'package:tencent_calls_uikit/tuicall_kit.dart';MaterialApp(navigatorObservers:[TUICallKit.navigatorObserver],...)
-keep class com.tencent.** { *; }
/ios/Podfile
文件中添加以下代码:post_install do |installer|installer.pods_project.targets.each do |target|flutter_additional_ios_build_settings(target)target.build_configurations.each do |config|config.build_settings['VALID_ARCHS'] = 'arm64 arm64e x86_64'config.build_settings['VALID_ARCHS[sdk=iphonesimulator*]'] = 'x86_64'endendend
<key>NSCameraUsageDescription</key><string>CallingApp需要访问您的相机权限,开启后录制的视频才会有画面</string><key>NSMicrophoneUsageDescription</key><string>CallingApp需要访问您的麦克风权限,开启后录制的视频才会有声音</string>
TUIResult result = TUICallKit.instance.login(SDKAppID, // 请替换为第一步得到的SDKAppID'userId', // 请替换为您的User ID'userSig'); // 您可以在控制台计算一个UserSig并填到该位置
TUIResult
`类型的返回值查看是否登录成功。sdkAppId
:在步骤一中的最后一步中您已经获取到,这里不再赘述。userId
:当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)。userSig
:使用步骤三中获取的 SecretKey 对 SDKAppID、UserID 等信息进行加密,就可以得到 UserSig,它是一个鉴权用的票据,用于腾讯云识别当前用户是否能够使用 TRTC 的服务。您可以通过控制台中的 辅助工具 生成一个临时可用的 UserSig,也可以参照我们的 Github 中的示例代码进行调试,更多信息请参见 如何计算及使用 UserSig。// 假设给mike拨打视频电话TUICallKit.instance.call('mike', TUICallMediaType.video);
参数 | 类型 | 含义 |
userId | String | 目标用户的 UserID: "mike" |
callMediaType | TUICallMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio |
// 假设在groupId:0001的群组内,向denny, mike 和 tommy 发起视频通话TUICallKit.instance.groupCall('0001', ['denny', 'mike', 'tommy'], TUICallMediaType.video);
参数 | 类型 | 含义 |
groupId | String | 群组 ID |
userIdList | Array | 目标用户的 userId 列表 |
callMediaType | TUICallMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio |
// 函数定义为: Future<TUIResult> setSelfInfo(String nickname, String avatar)TUIResult result = TUICallKit.instance.setSelfInfo('userName', 'url:********');
应用的进程被杀死后
或者应用退到后台后
,还可以正常接收到音视频通话请求,就需要增加离线唤醒功能,详情见 离线唤醒(Flutter)。TUICallKit.instance.enableFloatWindow(true);
TUICallEngine.instance.addObserver(TUICallObserver(onError: (int code, String message) {//您的回调处理逻辑}, onCallBegin: (TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole) {//您的回调处理逻辑}, onCallEnd: (TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole, double totalTime) {//您的回调处理逻辑},, onUserNetworkQualityChanged: (List<TUINetworkQualityInfo> networkQualityList) {//您的回调处理逻辑}, onCallReceived: (String callerId, List<String> calleeIdList, String groupId, TUICallMediaType callMediaType) {//您的回调处理逻辑}));
TUICallKit.instance.setCallingBell('flie path');
uses-sdk:minSdkVersion
16
cannot be smaller than version
19
declared
in
library
[
:tencent_calls_uikit
]
/Users/xxx/xxxx/xxxx/xxxx/demo/flutter/callkit/callkit/build/tencent_calls_uikit/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available
in
16
Suggestion: use a compatible library with a minSdk of at
most
16
,
or increase this project's minSdk version to at least
19
,
or use tools:overrideLibrary
=
"com.tencent.cloud.tuikit.flutter.tuicallkit"
to force usage
(
may lead to runtime failures
)
tencent_call_uikit
Plugin Android 端支持的 minSdkVersion 是 19,可以将您工程中的 android/app/build.gradle
文件中的 minSdkVersion
修改为 19 及其以上即可。
本页内容是否解决了您的问题?