GCKSessionManager クラス

GCKSessionManager クラス リファレンス

概要

セッションを管理するクラス。

メソッド startSessionWithDevice: (GCKSessionManager) は、指定された GCKDevice を持つ新しいセッションを作成するために使用されます。セッション マネージャーは、そのデバイスタイプの GCKDeviceProvider を使用して新しい GCKSession オブジェクトを作成し、このオブジェクトに対してすべてのセッション リクエストを委任します。

GCKSessionManager は、一時停止されたセッションの自動再開(つまり、アプリがバックグラウンドに移動したとき、またはアプリがクラッシュしたか、ユーザーによって強制終了された場合に)終了したセッションを再開します。アプリケーションが再開または再起動されると、セッション マネージャーは一時停止されたセッションのデバイスのデバイス プロバイダが再びそのデバイスを検出するまで待機します。検出されると、そのデバイスへの再接続とセッションの再確立が自動的に試行されます。

アプリがターゲットとセレクタを指定せずに GCKUICastButton を作成した場合、ユーザーがボタンをタップするとデフォルトのキャスト ダイアログが表示され、ユーザーの選択やデバイスの接続解除に基づいてセッションが自動的に開始および停止されます。ただし、アプリが独自のデバイス選択/制御ダイアログ UI を提供する場合は、GCKSessionManager を直接使用してセッションを作成し、制御する必要があります。

アプリケーションが GCKSessionManager を使用してセッションを制御するかどうかにかかわらず、GCKSessionManagerListener をアタッチしてセッション イベントを通知できます。また、KVO を使用して connectionState プロパティをモニタリングし、現在のセッション ライフサイクルの状態を追跡することもできます。

開始:
3.0

NSObject を継承します。

インスタンス メソッドの概要

(instancetype) - init
 デフォルトのイニシャライザは使用できません。その他...
 
(BOOL) - startSessionWithDevice:
 指定したデバイスで新しいセッションを開始します。その際、デバイス カテゴリに登録されているデフォルトのセッション オプションが使用されます(存在する場合)。その他...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 指定されたデバイスとオプションで新しいセッションを開始します。その他...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 UIApplicationDelegate::application:openURL:options: メソッドに指定されたオプションを使用して、セッションへの参加またはセッションの開始を試みます。その他...
 
(BOOL) - suspendSessionWithReason:
 現在のセッションを一時停止します。その他...
 
(BOOL) - endSession
 現在のセッションを終了します。その他...
 
(BOOL) - endSessionAndStopCasting:
 現在のセッションを終了し、1 つの送信側デバイスが接続されている場合はキャストを停止します。接続されていない送信側デバイスが接続されている場合は、必要に応じてキャストを停止します。その他...
 
(BOOL) - hasConnectedSession
 セッションがこのセッション マネージャーによって現在管理されており、接続中かどうかをテストします。その他...
 
(BOOL) - hasConnectedCastSession
 キャスト セッションがこのセッション マネージャーによって現在管理されており、現在接続されているかどうかをテストします。その他...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 指定したデバイス カテゴリのデフォルトのセッション オプションを設定します。ユーザーがキャスト ダイアログでデバイスを選択すると、セッション オプションは createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) メソッドに渡されます。その他...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 指定したデバイス カテゴリのデフォルトのセッション オプションを取得します。その他...
 
(void) - addListener:
 通知を受け取るためのリスナーを追加します。その他...
 
(void) - removeListener:
 以前に addListener: で追加されたリスナーを削除します。その他...
 

プロパティの概要

GCKSessioncurrentSession
 現在のセッション(存在する場合)。その他...
 
GCKCastSessioncurrentCastSession
 現在のキャスト セッション(ある場合)。その他...
 
GCKConnectionState connectionState
 現在のセッションの接続状態。その他...
 

メソッドの詳細

- (instancetype) init

デフォルトのイニシャライザは使用できません。

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

指定したデバイスで新しいセッションを開始します。その際、デバイス カテゴリに登録されているデフォルトのセッション オプションが使用されます(存在する場合)。

これは非同期処理です。

Parameters
deviceThe device to use for this session.
戻り値
YES操作が正常に開始されている場合、NO現在確立済みのセッションがある場合、または操作を開始できない場合。
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

指定されたデバイスとオプションで新しいセッションを開始します。

これは非同期処理です。

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
戻り値
YES操作が正常に開始されている場合、NO現在確立済みのセッションがある場合、または操作を開始できない場合。
開始:
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

UIApplicationDelegate::application:openURL:options: メソッドに指定されたオプションを使用して、セッションへの参加またはセッションの開始を試みます。

通常は、別のアプリによって開始された、特定のデバイスでの既存のキャスト セッションに参加するためのリクエストです。

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
戻り値
オペレーションが正常に開始された場合は YES、セッションが現在確立されている場合、または openURL オプションに必要なキャスト オプションが含まれていない場合は NO
開始:
4.0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

現在のセッションを一時停止します。

これは非同期処理です。

Parameters
reasonThe reason for the suspension.
戻り値
YES操作が正常に開始された場合、NO現在確立済みのセッションがない場合、または操作を開始できない場合。
- (BOOL) endSession

現在のセッションを終了します。

これは非同期処理です。

戻り値
YES操作が正常に開始された場合、NO現在確立済みのセッションがない場合、または操作を開始できない場合。
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

現在のセッションを終了し、1 つの送信側デバイスが接続されている場合はキャストを停止します。接続されていない送信側デバイスが接続されている場合は、必要に応じてキャストを停止します。

stopCasting パラメータを使用して、セッション終了時にレシーバーでのキャストを停止するかどうかを指定します。このパラメータは、複数のセンダー デバイスが接続されている場合のみ適用されます。たとえば、複数の送信側デバイスで同じアプリが開いており、各送信側デバイスで、同じ受信側デバイスとのアクティブなキャスト セッションが存在している場合です。

  • stopCastingYES に設定すると、複数のデバイスが接続されているときにレシーバー アプリがキャストを停止します。
  • stopCastingNO で、他のデバイスにアクティブなセッションがある場合、レシーバーは再生を続けます。
  • センダー デバイスが 1 つだけ接続されている場合、レシーバー アプリはメディアのキャストを停止し、NO に設定されていても stopCasting の値を無視します。
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
戻り値
YESセッション終了の操作が正常に開始された場合、NO現在確立済みのセッションがない場合、または操作を開始できない場合。
- (BOOL) hasConnectedSession

セッションがこのセッション マネージャーによって現在管理されており、接続中かどうかをテストします。

セッション状態が GCKConnectionStateConnected の場合、YES になります。

- (BOOL) hasConnectedCastSession

キャスト セッションがこのセッション マネージャーによって現在管理されており、現在接続されているかどうかをテストします。

セッション状態が GCKConnectionStateConnected で、セッションがキャスト セッションの場合、YES になります。

- (void) setDefaultSessionOptions: (nullable GCKSessionOptions *)  sessionOptions
forDeviceCategory: (NSString *)  category 

指定したデバイス カテゴリのデフォルトのセッション オプションを設定します。ユーザーがキャスト ダイアログでデバイスを選択すると、セッション オプションは createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) メソッドに渡されます。

キャスト セッションの場合は、セッション オプションで起動するレシーバー アプリを指定できます。

Parameters
sessionOptionsThe session options. May be nil to remove any previously set options.
categoryThe device category.
開始:
4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

指定したデバイス カテゴリのデフォルトのセッション オプションを取得します。

Parameters
categoryThe device category.
戻り値
デフォルトのセッション オプション。存在しない場合は nil
開始:
4.0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

通知を受け取るためのリスナーを追加します。

追加されたリスナーは弱く保持されるため、予期しない割り当て解除を避けるために保持する必要があります。

Parameters
listenerThe listener to add.
- (void) removeListener: (id< GCKSessionManagerListener >)  listener

以前に addListener: で追加されたリスナーを削除します。

Parameters
listenerThe listener to remove.

物件の詳細

- (GCKSession*) currentSession
readnonatomicstrong

現在のセッション(存在する場合)。

- (GCKCastSession*) currentCastSession
readnonatomicstrong

現在のキャスト セッション(ある場合)。

- (GCKConnectionState) connectionState
readnonatomicassign

現在のセッションの接続状態。