Classe GCKSessionManager

Riferimento alla classe 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 delle sessioni utilizza l'GCKDeviceProvider per quel tipo di dispositivo per creare un nuovo oggetto GCKSession, a cui delegare tutte le richieste di sessione.

GCKSessionManager gestisce la ripresa automatica delle sessioni sospese, ovvero il ripristino di sessioni terminate quando l'applicazione è passata in background o nel caso in cui l'applicazione abbia subito un arresto anomalo o sia stata chiusa forzatamente dall'utente. Quando l'applicazione viene riavviata o riavviata, Gestione sessioni attenderà per un breve periodo di tempo prima che il fornitore del dispositivo della sessione sospesa lo rilevi nuovamente e, in caso affermativo, tenterà di riconnettersi a quel dispositivo e ristabilire automaticamente la sessione.

Se l'applicazione ha creato un GCKUICastButton senza fornire un target e un selettore, quando un utente tocca il pulsante viene visualizzata la finestra di dialogo Trasmetti predefinita, che avvia e interrompe automaticamente le sessioni in base alla selezione o alla disconnessione dell'utente da parte dell'utente. Se, tuttavia, l'applicazione fornisce la propria UI della finestra di dialogo di selezione/controllo del dispositivo, deve usare direttamente GCKSessionManager per creare e controllare le sessioni.

Indipendentemente dal fatto che l'applicazione utilizzi GCKSessionManager per controllare le sessioni, può collegare un GCKSessionManagerListener per ricevere notifiche sugli eventi di sessione. Inoltre, può utilizzare gli oggetti KVO per monitorare la proprietà connectionState e monitorare l'attuale stato del ciclo di vita della sessione.

Dal
3,0

Eredita NSObject.

Riepilogo del metodo di istanza

(instancetype) - init
 Inizializzatore predefinito non disponibile. Altro...
 
(BOOL) - startSessionWithDevice:
 Avvia una nuova sessione con il dispositivo specificato, utilizzando le opzioni per le sessioni predefinite che erano state registrate per la categoria di dispositivo, se presenti. Altro...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 Avvia una nuova sessione con il dispositivo e le opzioni specificati. Altro...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 Tentativi di partecipare o avviare una sessione con le opzioni fornite al metodo UIApplicationDelega::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 mittente; in caso contrario, interrompe la trasmissione se sono connessi più dispositivi. Altro...
 
(BOOL) - hasConnectedSession
 Verifica se una sessione è attualmente gestita da questo gestore delle sessioni ed è attualmente collegata. Altro...
 
(BOOL) - hasConnectedCastSession
 Verifica se una sessione di trasmissione è attualmente gestita da questo gestore delle sessioni e se è connessa. Altro...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 Consente di impostare le opzioni predefinite per le sessioni per la categoria di dispositivi specificata.Le opzioni relative alle sessioni vengono trasmesse al metodo createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) quando l'utente seleziona un dispositivo dalla finestra di dialogo Trasmetti. Altro...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 Consente di acquisire le opzioni di sessione predefinite per una determinata categoria di dispositivi. Altro...
 
(void) - addListener:
 Aggiunge un listener per la ricezione delle notifiche. Altro...
 
(void) - removeListener:
 Rimuove un listener aggiunto in precedenza con addListener:. Altro...
 

Riepilogo proprietà

GCKSessioncurrentSession
 L'eventuale sessione corrente. Altro...
 
GCKCastSessioncurrentCastSession
 L'eventuale sessione di trasmissione corrente. Altro...
 
GCKConnectionState connectionState
 Lo stato di connessione della sessione attuale. Altro...
 

Dettaglio metodo

- (instancetype) init

Inizializzatore predefinito non disponibile.

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

Avvia una nuova sessione con il dispositivo specificato, utilizzando le opzioni per le sessioni predefinite che erano state registrate per la categoria di dispositivo, se presenti.

Si tratta di un'operazione asincrona.

Parameters
deviceThe device to use for this session.
Ritorni
YES se l'operazione è stata avviata correttamente, NO se esiste una sessione attualmente stabilita o se non è stato possibile avviare l'operazione.
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

Avvia una nuova sessione con il dispositivo e le opzioni specificati.

Si tratta di un'operazione asincrona.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
Ritorni
YES se l'operazione è stata avviata correttamente, NO se è già presente una sessione attualmente stabilita o se non è stato possibile avviare l'operazione.
Dal
4,0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

Tentativi di partecipare o avviare una sessione con le opzioni fornite al metodo UIApplicationDelega::application:openURL:options:.

In genere si tratta di una richiesta per partecipare a una sessione di trasmissione esistente su un determinato dispositivo, avviata da un'altra app.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
Ritorni
YES se l'operazione è stata avviata correttamente, NO se è già stata stabilita 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.

Si tratta di un'operazione asincrona.

Parameters
reasonThe reason for the suspension.
Ritorni
YES se l'operazione è stata avviata correttamente, NO se non è attualmente stabilita alcuna sessione o se non è stato possibile avviare l'operazione.
- (BOOL) endSession

Termina la sessione corrente.

Si tratta di un'operazione asincrona.

Ritorni
YES se l'operazione è stata avviata correttamente, NO se non è attualmente stabilita alcuna sessione o se non è stato possibile avviare l'operazione.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

Termina la sessione corrente e interrompe la trasmissione se è connesso un dispositivo mittente; in caso contrario, interrompe la trasmissione se sono connessi più dispositivi.

Utilizza il parametro stopCasting per indicare se la trasmissione sul ricevitore deve interrompersi al termine della sessione. Questo parametro si applica solo quando sono connessi più dispositivi di invio. Ad esempio, la stessa app è aperta su più dispositivi emittente e ogni dispositivo ha una sessione di trasmissione attiva con lo stesso dispositivo ricevente.

  • Se imposti stopCasting su YES, l'app del ricevitore smette di trasmettere quando sono connessi più dispositivi.
  • Se stopCasting è NO e gli altri dispositivi hanno una sessione attiva, il destinatario continua a riprodurre.
  • Se è connesso un solo dispositivo mittente, l'app del destinatario interrompe la trasmissione dei 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.
Ritorni
YES se l'operazione per terminare la sessione è iniziata correttamente, NO se non è attualmente stabilita alcuna sessione o se non è stato possibile avviare l'operazione.
- (BOOL) hasConnectedSession

Verifica se una sessione è attualmente gestita da questo gestore delle sessioni ed è attualmente collegata.

Sarà YES se lo stato della sessione è GCKConnectionStateConnection.

- (BOOL) hasConnectedCastSession

Verifica se una sessione di trasmissione è attualmente gestita da questo gestore delle sessioni e se è connessa.

Sarà YES se lo stato della sessione è GCKConnectionStateConnection e la sessione è una sessione di trasmissione.

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

Consente di impostare le opzioni predefinite per le sessioni per la categoria di dispositivi specificata.Le opzioni relative alle sessioni 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 relative alla sessione consentono di specificare quale applicazione del ricevitore 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

Consente di acquisire le opzioni di sessione predefinite per una determinata categoria di dispositivi.

Parameters
categoryThe device category.
Ritorni
Le opzioni predefinite per la sessione oppure nil se nessuna.
Dal
4,0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

Aggiunge un listener per la ricezione delle notifiche.

Il listener aggiunto è bloccato in modo debole e deve essere mantenuto per evitare una deallocation imprevista.

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

Rimuove un listener aggiunto in precedenza con addListener:.

Parameters
listenerThe listener to remove.

Dettagli della proprietà

- (GCKSession*) currentSession
readnonatomicstrong

L'eventuale sessione corrente.

- (GCKCastSession*) currentCastSession
readnonatomicstrong

L'eventuale sessione di trasmissione corrente.

- (GCKConnectionState) connectionState
readnonatomicassign

Lo stato di connessione della sessione attuale.