tencent cloud

Tencent Real-Time Communication

お知らせ・リリースノート
製品アップデート情報
Tencent Cloudオーディオビデオ端末SDKの再生アップグレードおよび承認チェック追加に関するお知らせ
TRTCアプリケーションのサブスクリプションパッケージサービスのリリースに関する説明について
製品の説明
製品概要
基礎概念
製品の機能
製品の強み
ユースケース
性能データ
購入ガイド
Billing Overview
無料時間の説明
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
課金に関するよくあるご質問
Refund Instructions
初心者ガイド
Demo体験
Call
コンポーネントの説明(TUICallKit)
Activate the Service
Run Demo
クイック導入
オフライン通知
Conversational Chat
クラウドレコーディング(TUICallKit)
AI Noise Reduction
インターフェースのカスタマイズ
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
公開ログ
よくある質問
ライブ配信
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Demo のクイックスタート
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDKのダウンロード
APIコードサンプル
Usage Guidelines
クライアント側 API
高度な機能
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
コンソールガイド
アプリケーション管理
使用統計
監視ダッシュボード
開発支援
Solution
Real-Time Chorus
よくあるご質問
課金関連問題
機能関連
UserSig関連
ファイアウォールの制限の対応関連
インストールパッケージの圧縮に関するご質問
AndriodおよびiOS関連
Web端末関連
Flutter関連
Electron関連
TRTCCalling Web関連
オーディオビデオ品質関連
その他のご質問
旧バージョンのドキュメント
TUIRoom(Web)の統合
TUIRoom (Android)の統合
TUIRoom (iOS)の統合
TUIRoom (Flutter)の統合
TUIRoom (Electron)の統合
TUIRoom APIのクエリー
クラウドレコーディングと再生の実現(旧)
Protocols and Policies
セキュリティコンプライアンス認証
セキュリティホワイトペーパー
情報セキュリティの説明
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC ポリシー
プライバシーポリシー
データ処理とセキュリティ契約
用語集

Flutter

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-05-12 11:24:32

環境準備

プラットフォーム
Version
Flutter
Flutter 3.22.0 以上のバージョン。
Dart 3.4.0 以上のバージョン。
Android
Android Studio 3.5以上のバージョン。
Android 5.0 以上のバージョンの Android デバイス。
iOS
Xcode 13.0 以上のバージョン。
プロジェクトに有効な開発者サインが設定されていることを確認してください。

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

Tencent Cloud が提供する音声・ビデオサービスを使用する前に、コンソールでアプリケーションの音声・ビデオサービスをアクテイブ化する必要があります。具体的な手順については、サービスをアクテイブ化する(TUILiveKit) を参照してください。

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

プロジェクトのルートディレクトリで、コマンドラインを使用して以下のコマンドを実行し、コンポーネントtencent_live_uikit プラグインをインストールします。
flutter pub add tencent_live_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 }
}
1. Xcode を使用してプロジェクトを開き、 プロジェクト > Building Settings > Deployment を選択し、その下にある Strip StyleNon-Global Symbols に設定することで、必要なグローバルシンボル情報を保持します。
2. オプション iOS シミュレーターでデバッグし、使用している Mac コンピュータが Intel チップを使用している場合、プロジェクトの ios/Podfile ファイルに以下のコードを追加する必要があります:
target 'xxxx' do
......
end
......

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'
end
end
end
3. TUILiveKit は iOS の音声・動画機能を使用するため、マイクとカメラへのアクセス権を許可する必要があります。
許可する操作方法:iOS プロジェクトの Info.plist の第 1 レベルの <dict> ディレクトリに以下の 2 項目を追加し、認証ダイアログボックスがポップアップ表示される際のマイクとカメラのプロンプト情報にそれぞれ対応します。
<key>NSCameraUsageDescription</key>
<string>CallingApp はカメラへのアクセス権が必要です。権限を許可すると、記録された動画に映像が表示されます</string>
<key>NSMicrophoneUsageDescription</key>
<string>CallingApp はマイクへのアクセス権が必要です。権限を許可すると、記録された動画に音声が出ます</string>
上記の追加が完了したら、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['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_MICROPHONE=1',
'PERMISSION_CAMERA=1',
]
end
end
end

ステップ 4:navigatorObserversとlocalizationsDelegates を設定する

Flutter アプリケーションフレームワークの navigatorObservers に TUICallKit.navigatorObserver を追加し、localizationsDelegates に LiveKitLocalizations.localizationsDelegates を追加します。MateriaApp フレームワークを例にとると、コードは次の通りです。
import 'package:tencent_live_uikit/tencent_live_uikit.dart';

......

class XXX extends StatelessWidget {
const XXX({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [TUILiveKitNavigatorObserver.instance],
localizationsDelegates: [...LiveKitLocalizations.localizationsDelegates],
......
);
}
}

ステップ 5:TUILiveKit コンポーネントへのログイン

TUILiveKit コンポーネントの各機能を使用する前に、まず TUI コンポーネントにログインする必要があります。プロジェクトでは、ビジネスログインシーンや App の最初の起動 Activity において、以下のログインコードを追加することを推奨します。これは、TUICore 内の関連インターフェースを呼び出して TUI コンポーネントのログインを完了するためのものです。このステップは非常に重要です。ログインに成功した場合のみ、TUILiveKit の各機能を正常に使用できますので、関連パラメータが正しく設定されているかどうかをよく確認してください:
import 'package:tencent_cloud_uikit_core/tencent_cloud_uikit_core.dart';
......

login() async { await TUILogin.instance.login( 1400000001, // ステップ 1 で取得した SDKAppID に置き換えてください
"denny", // お客様の UserID に置き換えてください
"xxxxxxxxxxx", // コンソールで UserSig を計算し、ここに入力してください TUICallback( onError: (code, message) { print("TUILogin login fail, {code:$code, message:$message}"); }, onSuccess: () async { print("TUILogin login success"); }, ), ); }
パラメータ説明 ここでは、login 関数に必要ないくつかの重要なパラメータについて詳しく紹介します。
SDKAppIDサービスをアクテイブ化する 時に取得しましたので、ここでは繰り返し説明しません。
UserID:現在のユーザーの ID 。文字列タイプで、英字(a-z と A-Z)、数字(0-9)、ハイフン(-)、アンダースコア(_)のみを含めることができます。
UserSigサービスをアクテイブ化する によって取得した SDKSecretKey を使用して SDKAppID、UserID などの情報を暗号化することで UserSig を取得できます。これは認証用のトークンであり、現在のユーザーが TRTC のサービスを利用できるかどうかを Tencent Cloud が識別するために使用されます。コンソール左側のアイテムバーにある UserSig ツール で、一時的に利用可能な UserSig を作成できます。



詳細については UserSig の計算と使用方法 を参照してください。
注意:
このステップは現在、開発者からのフィードバックが最も多いステップで、以下のような一般的な問題があります。
SDKAppID の設定が間違っています。
userSig がシークレットキー(Secretkey)として誤設定されています。userSig は SDKAppID、userID や有効期限などの情報を SecretKey で暗号化したものであり、直接 SecretKey を userSig として設定するものではありません。
userSig が「1」、「123」、「111」などの簡単な文字列に設定されています。TRTC は同じ UserID の複数端末ログインをサポートしていないため、複数人で協力して開発する場合、「1」、「123」、「111」といった userID は他の同僚によって使用されやすく、ログインに失敗する可能性があります。そのため、デバッグ時には識別しやすい UserID を設定することをお勧めします。
Github のサンプルコードでは、genTestUserSig 関数を使用してローカルで userSig を計算することにより、現在の接続プロセスをクイックスタートできるようになっています。しかし、この方法では SecretKey がアプリのコード内に公開されてしまい、後のアップグレードや SecretKey の保護には不向きです。そのため、userSig の計算ロジックはサーバー側に配置し、TUILiveKit コンポーネントを使用するたびに、 App からサーバーに対してリアルタイムで計算された userSig をリクエストすることを強くお勧めします。

ステップ 6:ライブプレビュー画面に入る

注意:
必ず ステップ 5 に従ってログイン操作を完了してください。 TUILogin.login が成功した場合のみ、ライブプレビュー画面に正常に入ることができます。
ライブ配信を開始する必要がある場所で(具体的にはビジネスニーズによって決定し、そのクリックイベント内で実行する)、次の操作を行い、ホスト配信開始ページを取得します。
import 'package:tencent_live_uikit/tencent_live_uikit.dart';
......

Navigator.push(context, MaterialPageRoute( builder: (context) { return TUILiveRoomAnchorWidget( roomId: LiveIdentityGenerator.instance.generateId(AppStore.userId, RoomType.live)); }, ));


ビデオライブ配信のプレビュー画面


ビデオライブ配信中の画面

ステップ 7:ルームリストを取得する

注意:
必ず ステップ 5 に従ってログイン操作を完了してください。TUILogin.login が成功した場合のみ、ライブプレビュー画面に正常に入ることができます。
widget の中で、TUILiveKit の LiveListWidget コンポーネントをロードして、ルームリストを表示できます。
Java
import 'package:tencent_live_uikit/tencent_live_uikit.dart';
......


eturn Scaffold( body: SizedBox( width: _screenWidth, height: double.infinity, child: LiveListWidget(), // 自分の widget ツリーに TUILiveKit の ルームリストコンポーネント LiveListWidget を追加 ), );



ステップ 8:視聴者がライブルームに入る

ステップ 7のルームリスト画面で、任意のルームをクリックすると自動的にライブルームに入ることができます。

ビデオライブルーム


ビデオライブルーム

交流とフィードバック

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック