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: オペレーションが正常に開始された場合。セッションが現在確立されている場合、NO。オープン URL オプションに必要なキャスト オプションが含まれていない場合。
開始:
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 で、セッションが Cast セッションの場合は、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

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