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 | |
GCKSession * | currentSession |
La sesión actual, si corresponde. Más... | |
GCKCastSession * | currentCastSession |
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
-
device The 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
-
device The device to use for this session. options The 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
-
openURLOptions The options that were extracted from the URL. sessionOptions The 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
-
reason The 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
comoYES
, la app receptora deja de transmitir cuando hay varios dispositivos conectados. - Si
stopCasting
esNO
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 comoNO
.
- Parameters
-
stopCasting Whether 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
-
sessionOptions The session options. May be nil
to remove any previously set options.category The 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
-
category The 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
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
Quita un objeto de escucha que se agregó anteriormente con addListener:.
- Parameters
-
listener The listener to remove.
Detalles de la propiedad
|
readnonatomicstrong |
La sesión actual, si corresponde.
|
readnonatomicstrong |
La sesión de transmisión actual, si corresponde.
|
readnonatomicassign |
El estado actual de la conexión de la sesión.