概要
セッションを管理するクラス。
メソッド 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: で追加されたリスナーを削除します。その他... | |
プロパティの概要 | |
GCKSession * | currentSession |
現在のセッション(存在する場合)。その他... | |
GCKCastSession * | currentCastSession |
現在のキャスト セッション(ある場合)。その他... | |
GCKConnectionState | connectionState |
現在のセッションの接続状態。その他... | |
メソッドの詳細
- (instancetype) init |
デフォルトのイニシャライザは使用できません。
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
指定したデバイスで新しいセッションを開始します。その際、デバイス カテゴリに登録されているデフォルトのセッション オプションが使用されます(存在する場合)。
これは非同期処理です。
- Parameters
-
device The device to use for this session.
- 戻り値
YES
操作が正常に開始されている場合、NO
現在確立済みのセッションがある場合、または操作を開始できない場合。
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device | |
sessionOptions: | (nullable GCKSessionOptions *) | options | |
指定されたデバイスとオプションで新しいセッションを開始します。
これは非同期処理です。
- Parameters
-
device The device to use for this session. options The 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
-
openURLOptions The options that were extracted from the URL. sessionOptions The options for this session, if any. May be nil
.
- 戻り値
- オペレーションが正常に開始された場合は
YES
、セッションが現在確立されている場合、または openURL オプションに必要なキャスト オプションが含まれていない場合はNO
。
- 開始:
- 4.0
- (BOOL) suspendSessionWithReason: | (GCKConnectionSuspendReason) | reason |
現在のセッションを一時停止します。
これは非同期処理です。
- Parameters
-
reason The reason for the suspension.
- 戻り値
YES
操作が正常に開始された場合、NO
現在確立済みのセッションがない場合、または操作を開始できない場合。
- (BOOL) endSession |
現在のセッションを終了します。
これは非同期処理です。
- 戻り値
YES
操作が正常に開始された場合、NO
現在確立済みのセッションがない場合、または操作を開始できない場合。
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
現在のセッションを終了し、1 つの送信側デバイスが接続されている場合はキャストを停止します。接続されていない送信側デバイスが接続されている場合は、必要に応じてキャストを停止します。
stopCasting
パラメータを使用して、セッション終了時にレシーバーでのキャストを停止するかどうかを指定します。このパラメータは、複数のセンダー デバイスが接続されている場合のみ適用されます。たとえば、複数の送信側デバイスで同じアプリが開いており、各送信側デバイスで、同じ受信側デバイスとのアクティブなキャスト セッションが存在している場合です。
stopCasting
をYES
に設定すると、複数のデバイスが接続されているときにレシーバー アプリがキャストを停止します。stopCasting
がNO
で、他のデバイスにアクティブなセッションがある場合、レシーバーは再生を続けます。- センダー デバイスが 1 つだけ接続されている場合、レシーバー アプリはメディアのキャストを停止し、
NO
に設定されていてもstopCasting
の値を無視します。
- Parameters
-
stopCasting Whether 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
-
sessionOptions The session options. May be nil
to remove any previously set options.category The device category.
- 開始:
- 4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: | (NSString *) | category |
指定したデバイス カテゴリのデフォルトのセッション オプションを取得します。
- Parameters
-
category The device category.
- 戻り値
- デフォルトのセッション オプション。存在しない場合は
nil
。
- 開始:
- 4.0
- (void) addListener: | (id< GCKSessionManagerListener >) | listener |
通知を受け取るためのリスナーを追加します。
追加されたリスナーは弱く保持されるため、予期しない割り当て解除を避けるために保持する必要があります。
- Parameters
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
以前に addListener: で追加されたリスナーを削除します。
- Parameters
-
listener The listener to remove.
物件の詳細
|
readnonatomicstrong |
現在のセッション(存在する場合)。
|
readnonatomicstrong |
現在のキャスト セッション(ある場合)。
|
readnonatomicassign |
現在のセッションの接続状態。