継承元 NSObject
宣言された場所 OTSession.h

概要

OpenTok iOS SDK を使用する最初のステップは、 API キーと有効な セッションID OTSession オブジェクトを使用して、開発者アカウントで OpenTok に接続します APIキー および有効な トークン.

セッションに関する情報の取得

sessionConnectionStatus

この OTSession インスタンスの状態。セッションの状態に関する その場限りのクエリを行う際に役立ちます。

@property (readonly) OTSessionConnectionStatus sessionConnectionStatus

考察

有効な値は、OTSessionConnectionStatus で定義されています:

  • OTSessionConnectionStatusNotConnected - セッションが接続されていません。
  • OTSessionConnectionStatusConnected - セッションが接続されています。
  • OTSessionConnectionStatusConnecting - セッションが接続中です。
  • OTSessionConnectionStatusDisconnecting - セッションが切断されようとしています。
  • OTSessionConnectionStatusFailed - セッションで致命的な エラーが発生しました

インスタンス化時には、 sessionConnectionStatus その値を持つ OTSessionConnectionStatusNotConnected.

このプロパティを監視するには、キー・バリュー・オブザーバーを使用できます。ただし、 [OTSessionDelegate sessionDidConnect:] そして [OTSessionDelegate sessionDidDisconnect:] セッションが 接続および切断された際、 メッセージがセッションのデリゲートに送信されます。

登録地

OTSession.h

sessionId

について セッションID このインスタンスの。これは不変の値です。

@property (readonly) NSString *sessionId

登録地

OTSession.h

streams

このセッションに含まれるストリームで、streamId によって識別されるもの。

@property (readonly) NSDictionary<NSString*OTStream*> *streams

登録地

OTSession.h

connection

について OTConnection このセッションのオブジェクト。connection プロパティは、 以下の条件が満たされた場合にのみ 利用可能です。 [OTSessionDelegate sessionDidConnect:] メッセージが送信されます。 セッションの接続に失敗した場合、 このプロパティは nil のままとなります。

@property (readonly) OTConnection *connection

登録地

OTSession.h

delegate

について OTSessionDelegate この OTSession オブジェクトのデリゲートオブジェクトとして機能し、 このセッションに代わってメッセージを処理するオブジェクト。

@property (nonatomic, assign) id<OTSessionDelegate> _Nullable delegate

登録地

OTSession.h

apiQueue

デリゲートのコールバックキューは、アプリケーション側で定義可能です。デリゲートへの コールバックを発行するための GCD キューは、XCTest(XCode 5 の新機能)や、 メインスレッドでの動作を必要とするその他のフレームワークとの統合を可能にするために、 上書きすることができます。

@property (nonatomic, assign) dispatch_queue_t _Nonnull apiQueue

登録地

OTSession.h

capabilities

アン OTSessionCapabilities オブジェクト。これは、セッションへの接続に使用されたトークンに割り当てられたロールに基づいて、クライアントが そのセッション内でストリームのパブリッシュおよびサブスクライブを行えるかどうかを示すものです。このプロパティは nil セッションに接続し、かつ [OTSessionDelegate sessionDidConnect:] メソッドが呼び出されました。

@property (readonly) OTSessionCapabilities *capabilities

登録地

OTSession.h

セッションの初期化と接続

– initWithApiKey:sessionId:delegate:

このセッションを、OpenTok API キーと、 セッションID, OpenTokに接続する前に委任を行います。以下の [OTSession connectWithToken:error:] メッセージ セッションに接続するには。

- (nullable id)initWithApiKey:(nonnull NSString *)apiKey sessionId:(nonnull NSString *)sessionId delegate:(nullable id<OTSessionDelegate>)delegate

パラメータ

apiKey OpenTokのAPIキー。 重要だ: (OpenTokプロジェクトではなく)Vonageアプリケーションを使用している場合は、このパラメータにアプリケーションID(OpenTok APIキーではありません)を指定してください。
sessionId このインスタンスのセッションID。
delegate このセッションに代わってメッセージを処理するデリゲート(OTSessionDelegate)。

戻り値

OTSession オブジェクト。初期化に失敗した場合は nil。

登録地

OTSession.h

– initWithApiKey:sessionId:delegate:settings:

OTSession オブジェクトを、によって定義された設定で初期化します。 OTSessionSettings オブジェクトがある。

- (nullable id)initWithApiKey:(nonnull NSString *)apiKey sessionId:(nonnull NSString *)sessionId delegate:(nullable id<OTSessionDelegate>)delegate settings:(nullable OTSessionSettings *)settings

パラメータ

apiKey OpenTokのAPIキー。 重要だ: (OpenTokプロジェクトではなく)VonageアプリケーションでVideo APIを使用する場合は、このパラメータにアプリケーションID(OpenTok APIキーではありません)を指定してください。
sessionId このインスタンスのセッションID。
delegate 代表(OTSessionDelegate) セッション用のオブジェクト。
settings OTSessionSettings) セッションの設定を定義するオブジェクト。

登録地

OTSession.h

– connectWithToken:error:

申請に有効な トークン, あなたの APIキー OpenTokセッションへの 参加を開始するには。

- (void)connectWithToken:(nonnull NSString *)token error:(OTError *_Nullable *_Nullable)error

パラメータ

token この接続用に生成されたトークン。
error リクエストの処理中に同期的にエラーが発生した場合は、これを設定します。 OTSessionErrorCode enum(OTError.h ファイルで定義されている)は、 code このオブジェクトのプロパティです。同期エラーが発生しなかった場合、このオブジェクトはNULLになります。非同期エラーが発生した場合は、 [OTSessionDelegate session:didFailWithError:] メッセージがセッションのデリゲートに送信されます。

考察

セッションの接続に成功すると、 [OTSessionDelegate sessionDidConnect:] メッセージは セッションのデリゲートに送信されます。

セッションが接続できない場合、 [OTSessionDelegate session:didFailWithError:] メッセージは セッションのデリゲートに送信されます。

セッションが切断されると、 [OTSessionDelegate sessionDidDisconnect:] メッセージがセッションのデリゲートに送信されます。

アプリが中断されると、セッションは自動的に切断されることに注意してください。

必ず、以下のためのデリゲートメソッドを設定してください。 [OTSessionDelegate session:didFailWithError:] というメッセージを送った。

登録地

OTSession.h

– disconnect:

アクティブな OpenTok セッションから切断します。

- (void)disconnect:(OTError *_Nullable *_Nullable)error

パラメータ

error リクエストの処理中に同期的にエラーが発生した場合は、これを設定します。 OTSessionErrorCode enum(OTError.h ファイルで定義されている)は、 code このオブジェクトのプロパティです。エラーが発生しなかった場合、このオブジェクトはNULLになります。

考察

このメソッドは、初期化済みのすべての OTPublisher および OTSubscriber オブジェクトを 破棄します。

ベストプラクティスとして、このメソッドを呼び出す前に、 [OTSession の公開解除:エラー:] すべてのパブリッシャーに対してこのメソッドを実行し、 [OTPublisherKitDelegate publisher:streamDestroyed:] メッセージ。これにより、パブリッシャが確実に完全に削除されます。特に、ネットワーク接続の 問題により、再接続機能のせいで削除が行えない場合、その機能によってパブリッシャの ストリームが、再接続の可能性に備えて維持され続ける可能性があるためです。

セッションが切断されると、 [OTSessionDelegate sessionDidDisconnect:] メッセージが セッションのデリゲートに送信されます。

登録地

OTSession.h

セッションへのオーディオ・ビデオストリームの配信

– publish:error:

セッションにパブリッシャーを追加します。

- (void)publish:(nonnull OTPublisherKit *)publisher error:(OTError *_Nullable *_Nullable)error

パラメータ

publisher について OTPublisherKit ストリームに使用するオブジェクト。
error リクエストの処理中に同期的にエラーが発生した場合は、これを設定します。 OTPublisherErrorCode enum(OTError.h ファイルで定義されている)は、 code このオブジェクトのプロパティです。エラーが発生しなかった場合、このオブジェクトはNULLになります。非同期エラーが発生した場合は、 [OTPublisherKitDelegate publisher:didFailWithError:] メッセージがパブリッシャーのデリゲートに送信されます。

考察

パブリッシャーがデータのストリーミングを開始すると、 [OTPublisherKitDelegate publisher:streamCreated:] メッセージ がパブリッシャー・デリゲート「delegate」に送信されます。

公開に失敗した場合は、 [OTPublisherKitDelegate publisher:didFailWithError:] はパブリッシャー・デリゲートに送信され、セッション・デリゲートへのメッセージは 渡されません。

なお、複数の発行元はサポートされていません。

登録地

OTSession.h

– unpublish:error:

セッションからパブリッシャーを削除します。

- (void)unpublish:(nonnull OTPublisherKit *)publisher error:(OTError *_Nullable *_Nullable)error

パラメータ

publisher について OTPublisher(出版社 セッションから削除するオブジェクト。
error リクエストの処理中に同期的にエラーが発生した場合は、これを設定します。 OTPublisherErrorCode enum(OTError.h ファイルで定義されている)は、 code このオブジェクトのプロパティです。エラーが発生しなかった場合、このオブジェクトはNULLになります。

考察

発行者を削除すると、 [OTPublisherKitDelegate publisher:streamDestroyed:] ストリーミングが停止した後、 パブリッシャー・デリゲートにメッセージが送信されます。

登録地

OTSession.h

オーディオ・ビデオストリームの購読

– subscribe:error:

このサブスクライバーインスタンスをセッションに接続し、サブスクライブを開始します。 渡されたサブスクライバーが OTStream 別の インスタンスから OTSession 例えば、この関数の挙動は未定義となります。

- (void)subscribe:(nonnull OTSubscriberKit *)subscriber error:(OTError *_Nullable *_Nullable)error

パラメータ

subscriber 加入者は、接続して購読を開始してください。
error リクエストの処理中に同期的にエラーが発生した場合は、これを設定します。 OTSubscriberErrorCode enum(OTError.h ファイルで定義されている)は、 code このオブジェクトのプロパティです。エラーが発生しなかった場合、このオブジェクトはNULLになります。非同期エラーが発生した場合は、 [OTSubscriberKitDelegate subscriber:didFailWithError:] メッセージは、サブスクライバーのデリゲートに送信されます。

登録地

OTSession.h

– unsubscribe:error:

このサブスクライバーインスタンスをセッションから切断し、オブジェクトの クリーンアップを開始します。

- (void)unsubscribe:(nonnull OTSubscriberKit *)subscriber error:(OTError *_Nullable *_Nullable)error

パラメータ

subscriber この加入者は、接続を切断し、このセッションから削除されます。
error リクエストの処理中に同期的にエラーが発生した場合は、これを設定します。 OTSubscriberErrorCode enum(OTError.h ファイルで定義されている)は、 code このオブジェクトのプロパティです。エラーが発生しなかった場合、このオブジェクトはNULLになります。

登録地

OTSession.h

セッションにおける信号の送受信

– signalWithType:string:connection:error:

セッション内の1つ以上のクライアントに信号を送信します。

- (void)signalWithType:(NSString *_Nullable)type string:(NSString *_Nullable)string connection:(OTConnection *_Nullable)connection error:(OTError *_Nullable *_Nullable)error

パラメータ

type 信号の型。この型は、 [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] メッセージ。この文字列の最大長は128文字で、使用できる文字は英字(A~Z、a~z)、数字(0~9)、および「-」、「_」、「~」のみです。
string 送信するデータ。データのサイズ上限は8KBです。
connection 宛先となる OTConnection オブジェクト。セッションのすべての参加者に通知するには、このパラメータを nil に設定します。
error シグナルの送信に失敗した場合、この値は OTError オブジェクトに設定されます。OTSessionErrorCode 列挙型(OTError.h 内)には、これらのエラーに対応する OTSessionInvalidSignalType および OTSessionSignalDataTooLong という定数が含まれています。 なお、成功した場合は、メソッドに渡されたオプションが有効であり、シグナルが送信されたことを示すものです。これは、対象となる受信者のいずれかがシグナルを正常に受信したことを示すものではありません。

考察

参照 [OTSession signalWithType:string:connection:retryAfterReconnect:error:] そして [OTSessionDelegate session:receivedSignalType:fromConnection:withString:].

登録地

OTSession.h

– signalWithType:string:connection:retryAfterReconnect:error:

セッション内の1つ以上のクライアントにシグナルを送信します。このバージョンのメソッドには 以下が含まれます。 retryAfterReconnect パラメータが必要だ。

- (void)signalWithType:(NSString *_Nullable)type string:(NSString *_Nullable)string connection:(OTConnection *_Nullable)connection retryAfterReconnect:(BOOL)retryAfterReconnect error:(OTError *_Nullable *_Nullable)error

パラメータ

type 信号の型。この型は、 [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] メッセージ。この文字列の最大長は128文字で、文字(A~Zおよびa~z)、Numbers(0~9)、および「-」、「_」、「~」のみで構成されている必要があります。 参照 [OTSession signalWithType:string:connection:retryAfterReconnect:error:], [OTSessionDelegate session:receivedSignalType:fromConnection:withString:]そして [OTSessionDelegate sessionDidBeginReconnecting:].
string 送信するデータ。データのサイズ上限は8KBです。
connection 宛先となる OTConnection オブジェクト。セッションのすべての参加者に通知するには、このパラメータを nil に設定します。
retryAfterReconnect セッションへの再接続時に、接続が切断されていた間に開始されたシグナルを送信するかどうか。ネットワーク接続の切断によりクライアントが OpenTok セッションとの接続を失った場合、クライアントはセッションへの再接続を試み、その [OTSessionDelegate sessionDidBeginReconnecting:] メッセージが送信されます。デフォルトでは、接続が切断されている間に発生したシグナルは、クライアントが OpenTok セッションに再接続した際(再接続された場合)に送信されます。これを防ぐには、 retryAfterReconnect パラメータを false. (デフォルト値は true.)
error シグナルの送信に失敗した場合、この値は OTError オブジェクトに設定されます。OTSessionErrorCode 列挙型(OTError.h 内)には、これらのエラーに対応する OTSessionInvalidSignalType および OTSessionSignalDataTooLong という定数が含まれています。 なお、成功した場合は、メソッドに渡されたオプションが有効であり、シグナルが送信されたことを示すものです。これは、対象となる受信者のいずれかがシグナルを正常に受信したことを示すものではありません。

登録地

OTSession.h

ストリームの音声を強制的にミュートにする

– forceMuteAll:error:

そのセッションに参加しているすべての配信者(除外された ストリームを配信している配信者を除く)に対し、音声をミュートするように強制します。

- (void)forceMuteAll:(NSArray<OTStream*> *_Nullable)excludedStreams error:(OTError *_Nullable *_Nullable)error

パラメータ

excludedStreams ミュート要求の対象から除外するストリーム。セッション内のすべてのストリーム(ローカルクライアントによって公開されたストリームを含む)をミュートするには、これをnullに設定します。
error アクションが失敗した場合、この値にはOTErrorオブジェクトが設定されます。なお、成功した場合は、メソッドに渡されたオプションが有効であり、ストリームのミュート要求が送信されたことを示すものです。これは、対象のクライアント側でその要求が正常に処理されたことを示すものではありません。

考察

また、 [OTSession forceMuteAll:error:] メソッド は、音声をミュートした状態で公開されます。セッションのミュート状態を解除するには、 以下の [OTSession disableForceMute:] メソッド。 を呼び出した後、 その [OTSession disableForceMute:] このメソッドを使用すると、 セッションに新たに公開されるストリームの音声は、ミュートされなくなります。

このメソッドを呼び出すと、セッションに接続している各クライアントに対して、 メッセージが送信され、 active プロパティの muteForcedInfo オブジェクトが設定された YES.

チェック canForceMute プロパティの [OTSessionの機能] このオブジェクトを使用して、この関数を正常に呼び出せるかどうかを確認してください。これは、 モデレーターの役割が割り当てられたトークンで接続した クライアント専用です( トークンの 作成の概要).

参照 [OTSession forceMuteStream:error:], [OTSessionの機能], [OTSessionDelegate session:muteForced:], [OTPublisherKitDelegate muteForced:]そして セッション内の ストリームの音声をミュートする.

登録地

OTSession.h

– disableForceMute:

セッションのアクティブなミュート状態を解除します。このメソッドを呼び出した後、 セッションに公開される新しいストリームの音声は、ミュートされなくなります。

- (void)disableForceMute:(OTError *_Nullable *_Nullable)error

パラメータ

error アクションが失敗した場合、これは OTError オブジェクトに設定されます。

考察

を呼び出した後 [OTSession forceMuteAll:error:] メソッド (または、別のクライアントのモデレーターがすべてのストリームをミュートする呼び出しを行った場合)、そのモデレーション呼び出し後に配信されるストリームは、 すべて音声がミュートされた状態で配信されます。以下の disableForceMute() セッションのミュート状態を解除する方法 (これにより、新たに公開されるストリームが自動的にミュートされるのを防ぐ)。

このメソッドを呼び出すと、セッションに接続している各クライアントに対して、 メッセージが送信され、 active プロパティの muteForcedInfo オブジェクトが設定された NO.

チェック canForceMute プロパティの [OTSessionの機能] このオブジェクトを使用して、この関数を正常に呼び出せるかどうかを確認してください。これは、 モデレーターの役割が割り当てられたトークンで接続した クライアント専用です( トークンの 作成の概要).

参照 [OTSession forceMuteAll:error:], [OTSessionの機能], [OTSessionDelegate session:muteForced:]そして セッション内の ストリームの音声をミュートする.

登録地

OTSession.h

– forceMuteStream:error:

指定されたストリームの配信者に、音声をミュートするよう強制します。

- (void)forceMuteStream:(nonnull OTStream *)stream error:(OTError *_Nullable *_Nullable)error

パラメータ

stream ミュートするストリーム。
error アクションが失敗した場合、この値にはOTErrorオブジェクトが設定されます。なお、成功した場合は、メソッドに渡されたオプションが有効であり、ストリームのミュート要求が送信されたことを示すものです。これは、対象のクライアント側でその要求が正常に処理されたことを示すものではありません。

考察

チェック canForceMute プロパティの [OTSessionの機能] このオブジェクトを使用して、この関数を正常に呼び出せるかどうかを確認してください。これは、 モデレーターの役割が割り当てられたトークンで接続した クライアント専用です( トークンの 作成の概要).

参照 [OTSession forceMuteAll:error:], [OTSessionの機能], [OTSessionDelegate session:muteForced:], [OTPublisherKitDelegate muteForced:]そして セッション内の ストリームの音声をミュートする.

登録地

OTSession.h

クライアントの強制切断

– forceDisconnect:error:

クライアントを強制的にセッションから切断します。

- (void)forceDisconnect:(OTConnection *_Nullable)connection error:(OTError *_Nullable *_Nullable)error

パラメータ

connection 切断するには、OTConnectionを使用します。
error 強制切断に失敗した場合、この値は OTError オブジェクトに設定されます。OTSessionErrorCode 列挙型(OTError.h 内)には、これらのエラーに対応する OTSessionUnableToForceDisconnect が含まれています。

考察

以下の方法を使用することもできますが、 [OTSession forceDisconnect:error:] 自身の接続を 終了させる方法として、 [OTSessionの切断:] このメソッドの方が簡単です。 クライアントのロールに、他のユーザーを強制的に切断するために必要な権限が含まれていない場合、 エラーが返されます。クライアントのロールは、 ユーザートークンを作成する際に定義します。この メソッドを使用して接続が切断されると、 [OTSessionDelegate sessionDidDisconnect:], [OTSessionDelegate session:connectionDestroyed:] そして [OTPublisherKitDelegate publisher:streamDestroyed:] メッセージは、 接続が を使用して自動的に切断された場合と同様に [OTSessionの切断:]

登録地

OTSession.h

問題の報告

– reportIssue:

アプリで問題が発生したことを報告してください。問題IDは、 インスペクター あるいは、 Vonage Video APIのサポートチームと問題について話し合う際など。

- (void)reportIssue:(NSString *_Nullable *_Nullable)issueId

パラメータ

issueId 報告された課題の一意の識別子として設定される文字列へのポインタ。メソッドの呼び出しが失敗した場合(たとえば、ネットワーク接続がない場合など)、この値はnilに設定されます。

登録地

OTSession.h

– setEncryptionSecret:error:

すべてのパブリッシャーおよびサブスクライバーが使用するエンドツーエンド暗号化の秘密鍵を設定します。

- (void)setEncryptionSecret:(nonnull NSString *)secret error:(OTError *_Nullable *_Nullable)error

パラメータ

secret 暗号化秘密鍵の値。
error アクションが失敗した場合、このパラメータにはOTErrorオブジェクトが設定されます。

考察

参照 エンドツーエンド 暗号化 開発者ガイド

登録地

OTSession.h