Classe GCKSessionManager

Riferimento al corso GCKSessionManager

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à

GCKSessioncurrentSession
 La sessione corrente, se presente. Altro...
 
GCKCastSessioncurrentCastSession
 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
deviceThe 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
deviceThe device to use for this session.
optionsThe 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
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe 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
reasonThe 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 su YES, l'app del ricevitore smette di trasmettere quando sono collegati più dispositivi.
  • Se stopCasting è impostato su NO 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 su NO.
Parameters
stopCastingWhether 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
sessionOptionsThe session options. May be nil to remove any previously set options.
categoryThe device category.
Dal
4,0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

Visualizza le opzioni di sessione predefinite per una determinata categoria di dispositivo.

Parameters
categoryThe 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
listenerThe listener to add.
- (void) removeListener: (id< GCKSessionManagerListener >)  listener

Rimuove un listener precedentemente aggiunto con addListener:.

Parameters
listenerThe listener to remove.

Dettaglio proprietà

- (GCKSession*) currentSession
readnonatomicstrong

La sessione corrente, se presente.

- (GCKCastSession*) currentCastSession
readnonatomicstrong

L'eventuale sessione di trasmissione corrente.

- (GCKConnectionState) connectionState
readnonatomicassign

Lo stato attuale della connessione alla sessione.