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 | |
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 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
-
device The 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
-
device The device to use for this session. options The 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
-
openURLOptions The options that were extracted from the URL. sessionOptions The 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
-
reason The 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
comoYES
, la app receptora deja de transmitir cuando se conectan varios dispositivos. - Si
stopCasting
esNO
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 enNO
.
- Parameters
-
stopCasting Whether 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
-
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.
- 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
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
Quita un objeto de escucha que se agregó antes 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 de conexión de la sesión actual.