Clase GCKSessionManager

Referencia de la clase GCKSessionManager

Descripción general

Una clase que administra sesiones.

El método startSessionWithDevice: (GCKSessionManager) se usa para crear una sesión nueva con un GCKDevice determinado. El administrador de sesiones usa GCKDeviceProvider para ese tipo de dispositivo a fin de construir un nuevo objeto GCKSession, al que luego delega todas las solicitudes de sesión.

GCKSessionManager controla la reanudación automática de sesiones suspendidas (es decir, reanudar las sesiones que finalizaron cuando la aplicación pasó a segundo plano o en caso de que la aplicación haya fallado o el usuario la haya forzado a cerrar). Cuando se reanude o reinicie la aplicación, el administrador de sesiones esperará un momento a que el proveedor del dispositivo de la sesión suspendida vuelva a descubrirlo y, si es así, intentará reconectarse y restablecer la sesión.

Si la aplicación creó una GCKUICastButton sin proporcionar un objetivo y un selector, cuando un usuario presione el botón, se mostrará el diálogo predeterminado de transmisión y se iniciarán y detendrán automáticamente las sesiones según la selección o desconexión de un dispositivo. Sin embargo, si la aplicación proporciona su propia IU de diálogo de selección/control de dispositivos, debe usar GCKSessionManager directamente para crear y controlar sesiones.

Independientemente de si la aplicación usa GCKSessionManager para controlar sesiones, puede adjuntar GCKSessionManagerListener para recibir notificaciones de eventos de sesión y también puede usar KVO para supervisar la propiedad connectionState a fin de hacer un seguimiento del estado actual del ciclo de vida de la sesión.

Desde
3.0

Hereda NSObject.

Resumen del método de instancia

(instancetype) - init
 El inicializador predeterminado no está disponible. Más...
 
(BOOL) - startSessionWithDevice:
 Inicia una nueva sesión con el dispositivo determinado y, si corresponde, usa las opciones de sesión predeterminadas que se registraron para la categoría de dispositivo. Más...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 Inicia una nueva sesión con el dispositivo y las opciones correspondientes. Más...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 Intentas iniciar o iniciar una sesión con opciones que se proporcionaron al método UIApplicationDelegate::application:openURL:options:. Más...
 
(BOOL) - suspendSessionWithReason:
 Suspende la sesión actual. Más...
 
(BOOL) - endSession
 Finaliza la sesión actual. Más...
 
(BOOL) - endSessionAndStopCasting:
 Finaliza la sesión actual y deja de transmitir si hay un dispositivo emisor conectado. De lo contrario, se detiene la transmisión si hay varios dispositivos emisores conectados. Más...
 
(BOOL) - hasConnectedSession
 Prueba si una sesión está siendo administrada por este administrador de sesiones y si está conectada actualmente. Más...
 
(BOOL) - hasConnectedCastSession
 Prueba si una sesión de transmisión está siendo administrada por este administrador de sesiones y si está conectada en este momento. Más...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 Establece las opciones de sesión predeterminadas para la categoría de dispositivos determinada.Las opciones de sesión se pasan al método createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) cuando el usuario selecciona un dispositivo en el diálogo de transmisión. Más...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 Obtiene las opciones de sesión predeterminadas para una categoría de dispositivo determinada. Más...
 
(void) - addListener:
 Agrega un objeto de escucha para recibir notificaciones. Más...
 
(void) - removeListener:
 Quita un objeto de escucha que se agregó anteriormente con addListener:. Más...
 

Resumen de la propiedad

GCKSessioncurrentSession
 La sesión actual, si corresponde. Más...
 
GCKCastSessioncurrentCastSession
 La sesión de transmisión actual, si corresponde. Más...
 
GCKConnectionState connectionState
 El estado actual de la conexión de la sesión. Más...
 

Detalle del método

- (instancetype) init

El inicializador predeterminado no está disponible.

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

Inicia una nueva sesión con el dispositivo determinado y, si corresponde, usa las opciones de sesión predeterminadas que se registraron para la categoría de dispositivo.

Esta es una operación asíncrona.

Parameters
deviceThe device to use for this session.
Muestra
YES si la operación se inició correctamente, NO si hay una sesión establecida actualmente o si no se pudo iniciar.
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

Inicia una nueva sesión con el dispositivo y las opciones correspondientes.

Esta es una operación asíncrona.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
Muestra
YES si la operación se inició correctamente, NO si hay una sesión establecida actualmente o si no se pudo iniciar.
Desde
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

Intentas iniciar o iniciar una sesión con opciones que se proporcionaron al método UIApplicationDelegate::application:openURL:options:.

Por lo general, es una solicitud para unirse a una sesión de transmisión existente en un dispositivo en particular que inició otra app.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
Muestra
YES si la operación se inició correctamente, NO si hay una sesión establecida actualmente o las opciones de OpenURL no contienen las opciones de transmisión necesarias.
Desde
4.0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

Suspende la sesión actual.

Esta es una operación asíncrona.

Parameters
reasonThe reason for the suspension.
Muestra
YES si la operación se inició correctamente, NO si no hay una sesión establecida actualmente o si no se pudo iniciar.
- (BOOL) endSession

Finaliza la sesión actual.

Esta es una operación asíncrona.

Muestra
YES si la operación se inició correctamente, NO si no hay una sesión establecida actualmente o si no se pudo iniciar.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

Finaliza la sesión actual y deja de transmitir si hay un dispositivo emisor conectado. De lo contrario, se detiene la transmisión si hay varios dispositivos emisores conectados.

Usa el parámetro stopCasting para indicar si la transmisión en el receptor debe detenerse cuando finaliza la sesión. Este parámetro solo se aplica cuando hay varios dispositivos emisores conectados. Por ejemplo, la misma app está abierta en varios dispositivos emisores, y cada uno de ellos tiene una sesión de transmisión activa con el mismo dispositivo receptor.

  • Si configuras stopCasting como YES, la app receptora deja de transmitir cuando hay varios dispositivos conectados.
  • Si stopCasting es NO y otros dispositivos tienen una sesión activa, el receptor continúa reproduciendo.
  • Si solo hay un dispositivo emisor, la app receptora deja de transmitir el contenido multimedia y omite el valor stopCasting, incluso si está configurado como NO.
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
Muestra
YES si la operación para finalizar la sesión se inició correctamente, NO si no hay una sesión establecida actualmente o si la operación no se pudo iniciar.
- (BOOL) hasConnectedSession

Prueba si una sesión está siendo administrada por este administrador de sesiones y si está conectada actualmente.

Este será YES si el estado de la sesión es GCKConnectionStateConnected.

- (BOOL) hasConnectedCastSession

Prueba si una sesión de transmisión está siendo administrada por este administrador de sesiones y si está conectada en este momento.

Este será YES si el estado de la sesión es GCKConnectionStateConnected y la sesión es de Cast.

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

Establece las opciones de sesión predeterminadas para la categoría de dispositivos determinada.Las opciones de sesión se pasan al método createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) cuando el usuario selecciona un dispositivo en el diálogo de transmisión.

En las sesiones de transmisión, las opciones de sesión pueden especificar qué aplicación receptora se debe iniciar.

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

Obtiene las opciones de sesión predeterminadas para una categoría de dispositivo determinada.

Parameters
categoryThe device category.
Muestra
Son las opciones de sesión predeterminadas o nil si no hay ninguna.
Desde
4.0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

Agrega un objeto de escucha para recibir notificaciones.

El objeto de escucha agregado se retiene ligeramente y se debe retener para evitar la desasignación inesperada.

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

Quita un objeto de escucha que se agregó anteriormente con addListener:.

Parameters
listenerThe listener to remove.

Detalles de la propiedad

- (GCKSession*) currentSession
readnonatomicstrong

La sesión actual, si corresponde.

- (GCKCastSession*) currentCastSession
readnonatomicstrong

La sesión de transmisión actual, si corresponde.

- (GCKConnectionState) connectionState
readnonatomicassign

El estado actual de la conexión de la sesión.