TUICallObserver

TUICallObserver APIの概要

TUICallObserverはTUICallEngineに対応するコールバックイベントクラスです。このコールバックによって、関心のあるコールバックイベントを監視することができます。

コールバックイベントの概要

API
説明
通話中のエラーコールバック
通話リクエストのコールバック
通話キャンセルのコールバック
通話接続のコールバック
通話終了のコールバック
通話メディアタイプ変更発生のコールバック
xxxxユーザーによる通話拒否のコールバック
xxxxユーザーの応答なしのコールバック
xxxxユーザーが通話中である場合のコールバック
xxxxユーザーの通話参加のコールバック
xxxxユーザーの通話からの退出のコールバック
xxxユーザーのビデオストリームの有無のコールバック
xxxユーザーのオーディオストリームの有無のコールバック
全ユーザーの音量レベルフィードバックのコールバック
全ユーザーのネットワーク品質フィードバックのコールバック

コールバックイベントの詳細

onError

エラーのコールバック。
説明:
SDKリカバリー不能なエラーは必ず監視し、状況に応じてユーザーに適切なインターフェースプロンプトを表示します。
- (void)onError:(int)code message:(NSString * _Nullable)message;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
code
int
エラーコード
message
NSString
エラー情報

onCallReceived

新しい通話リクエストコールバックを受信します。着呼側が受信します。このイベントを監視することで、通話応答画面を表示するかどうかを決定できます。
- (void)onCallReceived:(NSString *)callerId calleeIdList:(NSArray<NSString *> *)calleeIdList groupId:(NSString * _Nullable)groupId callMediaType:(TUICallMediaType)callMediaType
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
callerId
NSString
発呼側ID(招待者)
calleeIdList
NSArray
着呼側IDリスト(被招待者)
groupId
NSString
グループ通話ID
callMediaType
TUICallMediaType
通話のメディアタイプ。ビデオ通話、音声通話など

onCallCancelled

今回の通話が発呼側からキャンセルされたことを表します(キャンセルの原因は発呼側の自主的なキャンセル、または通話タイムアウトによるキャンセルの両方の可能性があります)。着呼側が受信します。このイベントを監視することで、未応答通話などに類似した表示ロジックを実現できます。
- (void)onCallCancelled:(NSString *)callerId;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
callerId
NSString
キャンセルしたユーザーのID

onCallBegin

通話接続を表します。発呼側と着呼側がどちらも受信できます。このイベントを監視することで、クラウドレコーディング、コンテンツ審査などのフローを開始できます。
- (void)onCallBegin:(TUIRoomId *)roomId callMediaType:(TUICallMediaType)callMediaType callRole:(TUICallRole)callRole;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
roomId
TUIRoomId
今回の通話のオーディオビデオルームID。現在は数字のルームナンバーのみサポートしています。文字列のルームナンバーは今後のバージョンでサポート予定です
callMediaType
TUICallMediaType
通話のメディアタイプ。ビデオ通話、音声通話
callRole
TUICallRole
ロール。列挙タイプ:発呼側、着呼側

onCallEnd

通話の終了を表します。発呼側と着呼側がどちらも受信できます。このイベントを監視することで、通話時間、通話タイプなどの情報を表示したり、クラウドのレコーディングフローを停止したりすることができます。
- (void)onCallEnd:(TUIRoomId *)roomId callMediaType:(TUICallMediaType)callMediaType callRole:(TUICallRole)callRole totalTime:(float)totalTime;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
roomId
TUIRoomId
今回の通話のオーディオビデオルームID。現在は数字のルームナンバーのみサポートしています。文字列のルームナンバーは今後のバージョンでサポート予定です
callMediaType
TUICallMediaType
通話のメディアタイプ。ビデオ通話、音声通話
callRole
TUICallRole
ロール。列挙タイプ:発呼側、着呼側
totalTime
float
今回の通話時間
ご注意:
クライアントのイベントは一般的にすべて、プロセスキルなどの異常イベントに伴って消失します。通話時間の監視によって料金計算などのロジックを完成させたい場合は、REST APIを使用してこの種のフローを完成させることをお勧めします。

onCallMediaTypeChanged

通話のメディアタイプに変更が発生したことを表します。
- (void)onCallMediaTypeChanged:(TUICallMediaType)oldCallMediaType newCallMediaType:(TUICallMediaType)newCallMediaType;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
oldCallMediaType
TUICallMediaType
変更前の通話タイプ
newCallMediaType
TUICallMediaType
変更後の通話タイプ

onUserReject

通話が拒否された場合のコールバックです。1v1通話では、発呼側のみが拒否のコールバックを受信します。グループ通話では、すべての被招待者がこのコールバックを受信することができます。
- (void)onUserReject:(NSString *)userId;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
userId
NSString
拒否したユーザーのID

onUserNoResponse

相手方が応答しない場合のコールバック。
- (void)onUserNoResponse:(NSString *)userId;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
userId
NSString
応答しないユーザーのID

onUserLineBusy

通話中である場合のコールバック。
- (void)onUserLineBusy:(NSString *)userId;

onUserJoin

今回の通話に参加したユーザーがいる場合のコールバック。
- (void)onUserJoin:(NSString *)userId;

onUserLeave

今回の通話から退出したユーザーがいる場合のコールバック。
- (void)onUserLeave:(NSString *)userId;

onUserAudioAvailable

ユーザーがオーディオアップストリームを開始したかどうかのコールバック。
- (void)onUserAudioAvailable:(NSString *)userId isAudioAvailable:(BOOL)isAudioAvailable;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
userId
NSString
ユーザーID
isAudioAvailable
BOOL
ユーザーのオーディオが使用可能かどうか

onUserVideoAvailable

ユーザーがビデオアップストリームを開始したかどうかのコールバック。
- (void)onUserVideoAvailable:(NSString *)userId isVideoAvailable:(BOOL)isVideoAvailable;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
userId
NSString
通話ユーザーID
isVideoAvailable
BOOL
ユーザーのビデオが使用可能かどうか

onUserVoiceVolumeChanged

ユーザーの通話音量のコールバック。
- (void)onUserVoiceVolumeChanged:(NSDictionary <NSString *, NSNumber *> *)volumeMap;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
volumeMap
NSDictionary <NSString *, NSNumber *>
ボリュームメーター。各useridに応じて、対応する音量レベルを取得できます。音量の最小値は0、最大値は100です
volumeMap
NSDictionary
ボリュームメーター。各userIdに応じて、対応する音量レベルを取得できます。音量の最小値は0、最大値は100です

onUserNetworkQualityChanged

ユーザーのネットワーク品質のコールバック。
- (void)onUserNetworkQualityChanged:(NSArray<TUINetworkQualityInfo *> *)networkQualityList;
パラメータは下表に示すとおりです。
パラメータ
タイプ
意味
networkQualityList
NSArray
ネットワーク状態。各userIdにつき、対応するユーザーの現在のネットワーク品質を取得できます