tencent cloud

フィードバック

TUICalling (iOS)の統合

最終更新日:2022-04-25 10:58:58

    コンポーネントの説明

    TUICallingはオープンソースのオーディオビデオUIコンポーネントであり、プロジェクトにTUICallingコンポーネントを統合することにより、数行のコードを書くだけで、Appに「1対1オーディオビデオ通話」、「多人数オーディオビデオ通話」などのシーンを組み込むことができ、さらにオフラインでのリマインダー機能もサポートしています。TUICallingはまたAndroid、Web、ミニプログラム、Flutter、UniAppなどのプラットフォームでもサポートしています。基本機能は下図のとおりです。

    コンポーネントの統合

    ステップ1:TUICallingコンポーネントのインポート

    cocoapodsによってコンポーネントをインポートします。具体的な手順については、以下のとおりです。

    1. プロジェクトのPodfileファイルと同じ階層のディレクトリ下にTUICallingフォルダを作成します。
    2. クリックしてGithub/TUICallingに進み、コードのクローン/ダウンロードを選択した後、TUICalling/iOS/ディレクトリ下のSourceResourcesフォルダ、TUICalling.podspecファイルを、ステップ1で作成したTUICallingフォルダ下にコピーします。
    3. Podfileファイル内に以下の依存関係を追加します。その後、pod installコマンドを実行すると、インポートが完了します。
      # :path => "TUICalling.podspecを指定する相対パス"
      pod 'TUICalling', :path => "TUICalling/TUICalling.podspec", :subspecs => ["TRTC"]
      
    注意:

    SourceResourcesフォルダとTUICalling.podspecファイルは同一のディレクトリ下にある必要があります。

    ステップ2:権限の設定

    オーディオビデオ機能を使用するには、マイクおよびカメラの使用権限を付与する必要があります。AppのInfo.plistで以下の2項を追加します。これらはシステムが権限付与ダイアログボックスをポップアップする際に表示される、マイクとカメラのメッセージにそれぞれ対応します。

    <key>NSCameraUsageDescription</key>
    <string>CallingAppはカメラへのアクセス権限が必要です。有効にした後にレコーディングしたビデオでなければ画面は出ません</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>CallingAppはマイクへのアクセス権限が必要です。有効にした後にレコーディングしたビデオでなければ音声は出ません</string>
    

    ステップ3:コンポーネントの作成と初期化

    // 1.コンポーネントのログイン
    [TUILogin initWithSdkAppID:@"あなたのSDKAppID"];
    [TUILogin login:@"あなたのUserID" userSig:@"あなたのUserSig" succ:^{
       NSLog(@"login success");
    } fail:^(int code, NSString *msg) {
       NSLog(@"login failed, code: %d, error: %@", code, msg);
    }];
    // 2.TUICallingインスタンスの初期化
    [TUICalling shareInstance];
    

    パラメータの説明

    • SDKAppIDTRTCアプリケーションIDです。Tencent Cloud TRTCサービスをアクティブ化していない場合は、Tencent Cloud TRTCコンソールに進み、新しいTRTCアプリケーションを作成した後、アプリケーション情報をクリックすると、SDKAppID情報が次の図のように表示されます。
    • SecretKeyTRTC アプリケーションキーであり、SDKAppIDに対応しています。TRTCアプリケーション管理に進むと、SecretKey情報が上の図のように表示されます。
    • UserID:現在のユーザーのIDです。文字列形式で、長さは32バイト以内とし、特殊文字の使用はサポートしていません。英語または数字の使用をお勧めします。業務の実際のアカウントシステムと組み合わせてご自身で設定することができます。
    • UserSig:SDKAppId、UserID、SecretKeyなどの情報に基づく計算によって得られるセキュリティ保護署名です。ここをクリックするとデバッグ用のUserSigがオンラインで直接生成されます。また当社のTUICallingデモプロジェクトを参照してご自身で計算することもできます。その他の情報については、UserSigの計算、使用方法をご参照ください。

    ステップ4:オーディオビデオ通話の実装

    • 1対1ビデオ通話の実装TUICalling#call
      // 1対1ビデオ通話を開始します。userIdは1111と仮定します
      [[TUICalling shareInstance] call:@[@"1111"] type:TUICallingTypeVideo];
    • 多人数ビデオ通話の実装TUICalling#call
      // 多人数ビデオ通話を開始します。userIdはそれぞれ1111、2222、3333と仮定します
      [[TUICalling shareInstance] call:@[@"1111", @"2222", @"3333"] type:TUICallingTypeVideo];
    説明:

    受信側がステップ3を完了、すなわちログインに成功した後、再度通話リクエストを受信した場合、TUICallingコンポーネントは対応する応答画面を自動的に起動します。

    ステップ5:オフラインプッシュ(オプション)

    上記の4ステップが完了すると、ビデオ通話の発信と接続が実現できますが、業務シーン上、Appのプロセスが強制終了された後またはAppがバックエンドに戻った後も、オーディオビデオ通話リクエストを正常に受信できる必要がある場合は、TUICallingコンポーネントにオフラインプッシュ機能を追加する必要があります。詳細については、オフラインプッシュ(iOS)をご参照ください。

    ステップ6:ステータスの監視(オプション)

    業務上、通話の開始や終了などの通話ステータスの監視が必要な場合は、次のイベントを監視することができます。

    [[TUICalling shareInstance] setCallingListener:self];

    - (BOOL)shouldShowOnCallView {
    return YES;
    }

    - (void)callStart:(nonnull NSArray<nsstring *=""> *)userIDs type:(TUICallingType)type role:(TUICallingRole)role viewController:(UIViewController * _Nullable)viewController {

    }

    - (void)callEnd:(nonnull NSArray<nsstring *=""> *)userIDs type:(TUICallingType)type role:(TUICallingRole)role totalTime:(float)totalTime {

    }

    - (void)onCallEvent:(TUICallingEvent)event type:(TUICallingType)type role:(TUICallingRole)role message:(nonnull NSString *)message {

    }

    ステップ7:フローティングウィンドウ機能(オプション)

    業務上、フローティングウィンドウ機能を有効にする必要がある場合は、TUICallingコンポーネントの初期化の際にTUICalling.shareInstance().enableFloatWindow(enable: true)を呼び出してこの機能を有効化することができます。

    説明:

    現在、コンポーネントではアプリケーション内のフローティングウィンドウのみサポートしています(最小化して前の画面に戻る)。

    よくあるご質問

    TUICallingコンポーネントは着信音のカスタマイズをサポートしていますか。

    サポートしています。TUICalling#setCallingBellを呼び出して行うことができます。

    CocoaPodsをインストールするにはどうすればよいですか。

    端末のウィンドウに次のコマンドを入力します(事前にMac にRuby環境をインストールしておく必要があります )。

    sudo gem install cocoapods
    

    TUICallingはバックエンドでの実行をサポートしていますか。

    サポートしています。バックグラウンドに入っても、依然として関連機能が動作するようにしたい場合は、現在のプログラムのプロジェクトを選択し、Capabilities の下のBackground Modesの設定を ONにして、Audio、AirPlay and Picture in Pictureにチェックを入れます。次の図のとおりです。

    説明:

    ご要望やフィードバックなどがございましたら、colleenyu@tencent.comまでご連絡ください。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)