Clase GCKSessionManager

Referencia de la clase GCKSessionManager

Descripción general

Es 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 el 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, la reanudación de sesiones que finalizaron cuando la aplicación pasó a segundo plano, o en caso de que la aplicación haya fallado o el usuario haya cerrado la aplicación por la fuerza). Cuando se reanuda o reinicia la aplicación, el administrador de sesiones esperará durante un período breve a que el proveedor del dispositivo de la sesión suspendida lo detecte nuevamente y, si lo hace, intentará volver a conectarse a él y restablecer la sesión automáticamente.

Si la aplicación creó una GCKUICastButton sin proporcionar un objetivo ni un selector, cuando un usuario presione el botón, se mostrará el diálogo predeterminado de transmisión, y se iniciará y detendrá automáticamente las sesiones según la selección o la desconexión del usuario 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 o no GCKSessionManager para controlar las sesiones, puede adjuntar un GCKSessionManagerListener para recibir notificaciones de los eventos de la sesión. También puede usar KVO para supervisar la propiedad connectionState y 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 mediante las opciones de sesión predeterminadas que se registraron para la categoría de dispositivo (si corresponde). Más...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 Inicia una sesión nueva con el dispositivo y las opciones determinados. Más...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 Intenta unirse 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 detiene la transmisión si hay un dispositivo emisor conectado; de lo contrario, si hay varios dispositivos emisores conectados, se detiene la transmisión de manera opcional. Más...
 
(BOOL) - hasConnectedSession
 Prueba si este administrador de sesiones administra una sesión y si está conectada en ese momento. Más...
 
(BOOL) - hasConnectedCastSession
 Prueba si un administrador de sesiones está administrando una sesión de transmisión y si está conectada en ese momento. Más...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 Establece las opciones de sesión predeterminadas para la categoría de dispositivo determinada.Las opciones de sesión se pasan al método createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) cuando el usuario selecciona un dispositivo desde 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ó antes 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 de conexión de la sesión actual. 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 mediante las opciones de sesión predeterminadas que se registraron para la categoría de dispositivo (si corresponde).

Esta es una operación asíncrona.

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

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

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.
Devuelve
YES si la operación se inició correctamente, NO si hay una sesión establecida actualmente o si no se pudo iniciar la operación.
Desde
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

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

Por lo general, se trata de 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.
Devuelve
YES si la operación se inició correctamente, NO si hay una sesión establecida actualmente o si las opciones de openURL no contienen las opciones de transmisión requeridas.
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.
Devuelve
YES si la operación se inició correctamente, NO si no hay una sesión establecida actualmente o si la operación no se pudo iniciar.
- (BOOL) endSession

Finaliza la sesión actual.

Esta es una operación asíncrona.

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

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

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 de envío 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 se conectan varios dispositivos.
  • Si stopCasting es NO y otros dispositivos tienen una sesión activa, el receptor seguirá reproduciendo el contenido.
  • Si solo hay un dispositivo emisor conectado, la app receptora deja de transmitir el contenido multimedia e ignora el valor stopCasting, incluso si está establecido en NO.
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
Devuelve
YES si la operación para finalizar la sesión se inició correctamente, NO si no hay una sesión establecida actualmente o si no se pudo iniciar la operación.
- (BOOL) hasConnectedSession

Prueba si este administrador de sesiones administra una sesión y si está conectada en ese momento.

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

- (BOOL) hasConnectedCastSession

Prueba si un administrador de sesiones está administrando una sesión de transmisión y si está conectada en ese momento.

Es YES si el estado de la sesión es GCKConnectionStateConnected y es una sesión de transmisión.

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

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

Para las sesiones de transmisión, las opciones de la 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.
Devuelve
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 no se retiene y se debe conservar para evitar la desasignación inesperada.

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

Quita un objeto de escucha que se agregó antes 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 de conexión de la sesión actual.