インテグレーション
この文章では、TUICallKit コンポーネントの導入プロセスを素早く案内します。この文書に従えば、最短 10 分で導入を完了し、その結果、完全なユーザーインターフェイスとビデオ・音声通話機能を備えるアプリケーションを取得することができます。
ビデオ通話 | グループ通話 |
![]() | ![]() |
環境準備
Flutter 3.0 以上のバージョン。
ステップ 1:サービスをアクティブ化する
Tencent Cloud が提供する音声・ビデオサービスを使用する前に、コンソールに移動し、アプリケーションの音声・ビデオサービスをアクティブ化し、
SDKAppID、SDKSecretKey
を取得する必要があります。これらはステップ 5 で使用されます。具体的な手順は サービスをアクティブ化するを参照してください。ステップ 2:TUICallKit コンポーネントの導入
flutter pub add tencent_calls_uikit
ステップ 3:プロジェクトの設定を完了する
1. Android プラットフォーム上でコンパイルして実行する必要がある場合、SDK 内で Java のリフレクション特性を使用しているため、SDK 内の一部のクラスを難読化しないリストに追加する必要があります。
まず、プロジェクトの
android/app/build.gradle
ファイルで難読化ルールを設定し、有効にする必要があります。android {......buildTypes {release {......minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}}
プロジェクトの
android/app
ディレクトリで proguard-rules.pro
ファイルを作成し、proguard-rules.pro
ファイルに下記のコードを追加します。-keep class com.tencent.\*\* { \*; }
2. プロジェクトの
android/app/build.gradle
ファイルでMultidex サポートを有効にするように設定します。android {......defaultConfig {...... multiDexEnabled true }}
TUICallKit は iOS の音声・動画機能を使用するため、マイクとカメラの使用権限を付与する必要があります。
権限付与の操作方法:iOS プロジェクトの
Info.plist
のレベル 1 の<dict>
ディレクトリに以下の 2 つの項目を追加してください。これらの項目は、認証ダイアログボックスがポップアップ表示される場合のマイクとカメラのプロンプトメッセージに対応します。<key>NSCameraUsageDescription</key><string>CallingApp はカメラへのアクセス権を必要とします。有効にしている場合のみ記録された動画には画像が含まれる</string><key>NSMicrophoneUsageDescription</key><string>CallingApp はマイクへのアクセス権を必要とします。有効にしている場合のみ記録された動画には音声が含まれる</string>
ステップ 4:navigatorObservers を設定する
1. Flutter アプリケーションフレームワークの navigatorObservers に TUICallKit.navigatorObserver を追加します。MateriaApp フレームワークを例にとると、コードは以下の通りです。
import 'package:tencent_calls_uikit/tencent_calls_uikit.dart';......class XXX extends StatelessWidget { const XXX({super.key});@override Widget build(BuildContext context) { return MaterialApp( navigatorObservers: [TUICallKit.navigatorObserver], ...... ); } }
ステップ 5:TUICallKit コンポーネントにログインする
import 'package:tencent_calls_uikit/tencent_calls_uikit.dart';import 'package:tencent_calls_uikit/debug/generate_test_user_sig.dart';......final String userID = 'xxxxx'; // お客様の UserId に切り替えてください final int sdkAppID = 0; // ステップ 1 でコンソールから取得した SDKAppID に置き換えてください final String secretKey = 'xxxx'; // ステップ 1 でコンソールから取得した SecretKey に置き換えてくださいvoid login() async {String userSig = GenerateTestUserSig.genTestSig(userID, sdkAppID, secretKey);TUIResult result = await TUICallKit.instance.login(sdkAppID, userID, userSig);if (result.code.isEmpty) { print('Login success'); } else { print('Login failed: ${result.code} ${result.message}'); }}
パラメータ | タイプ | 説明 |
userID | String | お客様は自分のビジネスに応じてユーザー ID をカスタマイズします。大文字と小文字の英字(a-z A-Z)、数字(0-9)、アンダースコア、ハイフンのみを含めることができます。 |
sdkAppID | int | Tencent RTC コンソール で音声・動画の一意の識別子を作成します。 |
secretKey | String | Tencent RTC コンソール で音声・動画アプリケーションの SDKSecretKey を作成します。 |
userSig | String | ユーザーのログイン認証を行い、ユーザーが真実であることを確認し、悪意のある攻撃者による CVM へのアクセスを阻止するためのセキュリティ保護サイン。 |
注意:
開発環境:ローカル開発およびデバッグ段階である場合、ローカルの
GenerateTestUserSig.genTestSig
関数を使用して userSig を生成することができます。この方法の SDKSecretKey は逆コンパイル・逆クラックされやすく、キーが漏洩すると、攻撃者はお客様の Tencent Cloud トラフィックを盗むことができます。本番環境:プロジェクトを立ち上げる場合は、サーバー側で UserSig を生成する 方法を使用してください。
ステップ 6:最初の電話をかける
発呼側と着呼側が正常にログインした後、発呼側は TUICallKit の call メソッドを呼び出し、通話のタイプと着呼側の userId を指定することで、音声通話またはビデオ通話を開始することができます。着呼側はこの時点で着信招待を受信することができます。
import 'package:tencent_calls_uikit/tencent_calls_uikit.dart';......void call() {TUICallKit.instance.call('vince', TUICallMediaType.audio);}
![]() | ![]() |
発呼側 | 着呼側 |
その他の特性
グループ通話
カスタム着信音
クラウド記録
美顔エフェクト
よくある質問
コミュニケーションとフィードバック
何かご要望やご意見がございましたら、info_rtc@tencent.com までお問い合わせください。