Panoramica
Un corso che gestisce le sessioni.
Il metodo startSessionWithDevice: (GCKSessionManager) viene utilizzato per creare una nuova sessione con un determinato GCKDevice. Il gestore di sessioni utilizza i GCKDeviceProvider per quel tipo di dispositivo per creare un nuovo oggetto GCKSession, al quale delega tutte le richieste di sessione.
GCKSessionManager gestisce la ripresa automatica delle sessioni sospese (ovvero le sessioni terminate quando l'applicazione è stata messa in background o nel caso in cui l'applicazione si sia arrestata in modo anomalo o sia stata terminata forzatamente dall'utente). Quando l'applicazione riprende o si riavvia, il gestore di sessioni attenderà per un breve periodo di tempo che il provider del dispositivo della sessione sospesa scopra di nuovo il dispositivo e, in caso affermativo, proverà a riconnettersi a tale dispositivo e a ristabilire automaticamente la sessione.
Se l'applicazione ha creato un GCKUICastButton senza fornire un target e un selettore, un utente toccando il pulsante mostrerà la finestra di dialogo Trasmetti predefinita e verranno avviate e interrotte automaticamente in base alla selezione dell'utente o alla disconnessione di un dispositivo. Tuttavia, se l'applicazione fornisce una propria UI per la finestra di dialogo di selezione/controllo del dispositivo, dovrebbe utilizzare la GCKSessionManager direttamente per creare e controllare le sessioni.
Indipendentemente dal fatto che l'applicazione utilizzi o meno GCKSessionManager per controllare le sessioni, può collegare un GCKSessionManagerListener per la notifica degli eventi di sessione; inoltre, può utilizzare il KVO per monitorare la proprietà connectionState per monitorare lo stato del ciclo di vita della sessione corrente.
- Dal
- 3,0
Eredita l'oggetto NSObject.
Riepilogo metodo istanza | |
(instancetype) | - init |
L'inizializzazioner predefinito non è disponibile. Altro... | |
(BOOL) | - startSessionWithDevice: |
Avvia una nuova sessione con il dispositivo specificato, utilizzando le opzioni di sessione predefinite registrate per la categoria del dispositivo. Altro... | |
(BOOL) | - startSessionWithDevice:sessionOptions: |
Avvia una nuova sessione con il dispositivo e le opzioni specificati. Altro... | |
(BOOL) | - startSessionWithOpenURLOptions:sessionOptions: |
Tenta di partecipare o avviare una sessione con le opzioni fornite al metodo UIApplicationDelegate::application:openURL:options:. Altro... | |
(BOOL) | - suspendSessionWithReason: |
Sospende la sessione corrente. Altro... | |
(BOOL) | - endSession |
Termina la sessione corrente. Altro... | |
(BOOL) | - endSessionAndStopCasting: |
Termina la sessione corrente e interrompe la trasmissione se è connesso un dispositivo del mittente; in caso contrario, interrompe la trasmissione se sono collegati più dispositivi di invio. Altro... | |
(BOOL) | - hasConnectedSession |
Verifica se una sessione è attualmente gestita da questo gestore di sessioni e al momento è connessa. Altro... | |
(BOOL) | - hasConnectedCastSession |
Verifica se una sessione di trasmissione è attualmente gestita da questo gestore di sessioni e la connessione è attiva. Altro... | |
(void) | - setDefaultSessionOptions:forDeviceCategory: |
Consente di impostare le opzioni di sessione predefinite per la categoria di dispositivo specificata.Le opzioni di sessione vengono trasmesse al metodo createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) quando l'utente seleziona un dispositivo dalla finestra di dialogo Trasmetti. Altro... | |
(nullable GCKSessionOptions *) | - defaultSessionOptionsForDeviceCategory: |
Visualizza le opzioni di sessione predefinite per una determinata categoria di dispositivo. Altro... | |
(void) | - addListener: |
Aggiunge un listener per la ricezione delle notifiche. Altro... | |
(void) | - removeListener: |
Rimuove un listener precedentemente aggiunto con addListener:. Altro... | |
Riepilogo proprietà | |
GCKSession * | currentSession |
La sessione corrente, se presente. Altro... | |
GCKCastSession * | currentCastSession |
L'eventuale sessione di trasmissione corrente. Altro... | |
GCKConnectionState | connectionState |
Lo stato attuale della connessione alla sessione. Altro... | |
Dettaglio metodo
- (instancetype) init |
L'inizializzazioner predefinito non è disponibile.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
Avvia una nuova sessione con il dispositivo specificato, utilizzando le opzioni di sessione predefinite registrate per la categoria del dispositivo.
Questa è un'operazione asincrona.
- Parameters
-
device The device to use for this session.
- Valori restituiti
YES
se l'operazione è stata avviata correttamente,NO
se è già stata stabilita una sessione o se non è stato possibile avviarla.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device | |
sessionOptions: | (nullable GCKSessionOptions *) | options | |
Avvia una nuova sessione con il dispositivo e le opzioni specificati.
Questa è un'operazione asincrona.
- Parameters
-
device The device to use for this session. options The options for this session, if any. May be nil
.
- Valori restituiti
YES
se l'operazione è stata avviata correttamente,NO
se è già in corso una sessione o se non è stato possibile avviarla.
- Dal
- 4,0
- (BOOL) startSessionWithOpenURLOptions: | (GCKOpenURLOptions *) | openURLOptions | |
sessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
Tenta di partecipare o avviare una sessione con le opzioni fornite al metodo UIApplicationDelegate::application:openURL:options:.
In genere si tratta di una richiesta di partecipazione a una sessione di trasmissione esistente su un particolare dispositivo, avviato da un'altra app.
- Parameters
-
openURLOptions The options that were extracted from the URL. sessionOptions The options for this session, if any. May be nil
.
- Valori restituiti
YES
se l'operazione è stata avviata correttamente,NO
se è già in corso una sessione o se le opzioni openURL non contengono le opzioni di trasmissione richieste.
- Dal
- 4,0
- (BOOL) suspendSessionWithReason: | (GCKConnectionSuspendReason) | reason |
Sospende la sessione corrente.
Questa è un'operazione asincrona.
- Parameters
-
reason The reason for the suspension.
- Valori restituiti
YES
se l'operazione è stata avviata correttamente,NO
se non sono state stabilite sessioni o se non è stato possibile avviarla.
- (BOOL) endSession |
Termina la sessione corrente.
Questa è un'operazione asincrona.
- Valori restituiti
YES
se l'operazione è stata avviata correttamente,NO
se non sono state stabilite sessioni o se non è stato possibile avviarla.
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
Termina la sessione corrente e interrompe la trasmissione se è connesso un dispositivo del mittente; in caso contrario, interrompe la trasmissione se sono collegati più dispositivi di invio.
Utilizza il parametro stopCasting
per indicare se la trasmissione sul ricevitore deve essere interrotta al termine della sessione. Questo parametro si applica solo quando più dispositivi di mittente sono connessi. Ad esempio, la stessa app è aperta su più dispositivi di invio e ogni dispositivo di invio ha una sessione di trasmissione attiva con lo stesso dispositivo di ricezione.
- Se imposti
stopCasting
suYES
, l'app del ricevitore smette di trasmettere quando sono collegati più dispositivi. - Se
stopCasting
è impostato suNO
e altri dispositivi hanno una sessione attiva, il ricevitore continua a giocare. - Se è connesso un solo dispositivo mittente, l'app del ricevitore smette di trasmettere i contenuti multimediali e ignora il valore
stopCasting
, anche se è impostato suNO
.
- Parameters
-
stopCasting Whether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
- Valori restituiti
YES
se l'operazione per terminare la sessione è iniziata correttamente,NO
se non è stata stabilita alcuna sessione o se non è stato possibile avviarla.
- (BOOL) hasConnectedSession |
Verifica se una sessione è attualmente gestita da questo gestore di sessioni e al momento è connessa.
Questo sarà YES
se lo stato della sessione è GCKConnectionStateConnected.
- (BOOL) hasConnectedCastSession |
Verifica se una sessione di trasmissione è attualmente gestita da questo gestore di sessioni e la connessione è attiva.
Questo sarà YES
se lo stato della sessione è GCKConnectionStateConnected e la sessione è una sessione di trasmissione.
- (void) setDefaultSessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
forDeviceCategory: | (NSString *) | category | |
Consente di impostare le opzioni di sessione predefinite per la categoria di dispositivo specificata.Le opzioni di sessione vengono trasmesse al metodo createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) quando l'utente seleziona un dispositivo dalla finestra di dialogo Trasmetti.
Per le sessioni di trasmissione, le opzioni di sessione possono specificare l'applicazione di ricezione da avviare.
- Parameters
-
sessionOptions The session options. May be nil
to remove any previously set options.category The device category.
- Dal
- 4,0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: | (NSString *) | category |
Visualizza le opzioni di sessione predefinite per una determinata categoria di dispositivo.
- Parameters
-
category The device category.
- Valori restituiti
- Le opzioni predefinite della sessione o
nil
se nessuna è presente.
- Dal
- 4,0
- (void) addListener: | (id< GCKSessionManagerListener >) | listener |
Aggiunge un listener per la ricezione delle notifiche.
Il listener aggiunto viene mantenuto in modalità debole e deve essere conservato per evitare località di deal impreviste.
- Parameters
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
Rimuove un listener precedentemente aggiunto con addListener:.
- Parameters
-
listener The listener to remove.
Dettaglio proprietà
|
readnonatomicstrong |
La sessione corrente, se presente.
|
readnonatomicstrong |
L'eventuale sessione di trasmissione corrente.
|
readnonatomicassign |
Lo stato attuale della connessione alla sessione.