インテグレーション

この文章では、TUICallKit コンポーネントの導入プロセスを素早く案内します。この文書に従えば、最短 10 分で導入を完了し、その結果、完全なユーザーインターフェイスとビデオ・音声通話機能を備えるアプリケーションを取得することができます。
ビデオ通話
グループ通話



環境準備

Flutter 3.0 以上のバージョン。

ステップ 1:サービスをアクティブ化する

Tencent Cloud が提供する音声・ビデオサービスを使用する前に、コンソールに移動し、アプリケーションの音声・ビデオサービスをアクティブ化し、 SDKAppID、SDKSecretKey を取得する必要があります。これらはステップ 5 で使用されます。具体的な手順は サービスをアクティブ化するを参照してください。

ステップ 2:TUICallKit コンポーネントの導入

プロジェクトのルートディレクトリでコマンドラインから以下のコマンドを実行し、コンポーネント tencent_calls_uikit プラグインをインストールします。
flutter pub add tencent_calls_uikit

ステップ 3:プロジェクトの設定を完了する

Android
iOS
1. Android プラットフォーム上でコンパイルして実行する必要がある場合、SDK 内で Java のリフレクション特性を使用しているため、SDK 内の一部のクラスを難読化しないリストに追加する必要があります。
まず、プロジェクトの android/app/build.gradle ファイルで難読化ルールを設定し、有効にする必要があります。
android {
......
buildTypes {
release {
......
minifyEnabled true
proguardFiles 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 コンポーネントにログインする

login インターフェースでログインを完了します。具体的な使用方法は、以下のコードを参照してください。
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 までお問い合わせください。