Panoramica
Un corso che gestisce le sessioni
Il metodo startSessionWithDevice: (GCKSessionManager) viene utilizzato per creare una nuova sessione con un GCKDevice specificato. Il gestore di sessioni utilizza i GCKDeviceProvider per quel tipo di dispositivo per costruire un nuovo oggetto GCKSession a cui delega tutte le richieste di sessione.
GCKSessionManager gestisce la ripresa automatica delle sessioni sospese (ovvero, le sessioni che sono state terminate quando l'applicazione è stata in background o nel caso in cui l'applicazione si sia arrestata in modo anomalo o sia stata forzata dall'utente). Quando l'applicazione riprende o si riavvia, il gestore della sessione attende un breve periodo di tempo affinché il fornitore del dispositivo della sessione sospesa riconosca di nuovo il dispositivo e, in caso affermativo, tenterà di riconnettersi a tale dispositivo e ristabilire automaticamente la sessione.
Se l'applicazione ha creato un GCKUICastButton senza fornire un target e un selettore, se un utente tocca il pulsante viene visualizzata la finestra di dialogo predefinita Trasmetti e avvia e interrompe automaticamente le sessioni 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 dei dispositivi, deve utilizzare GCKSessionManager direttamente 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 delle sessioni e anche per KVO per monitorare la proprietà connectionState per monitorare lo stato attuale del ciclo di vita delle sessioni.
- Since
- 3,0
Eredita NSObject.
Riepilogo del metodo dell'istanza | |
(instancetype) | - init |
L'inizializzazionere predefinito non è disponibile. Altro... | |
(BOOL) | - startSessionWithDevice: |
Avvia una nuova sessione con il dispositivo specificato, utilizzando le opzioni predefinite per la sessione registrate per la categoria del dispositivo (se disponibile). 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 è collegato un dispositivo del mittente; in caso contrario, interrompe la trasmissione se sono collegati più dispositivi del mittente. Altro... | |
(BOOL) | - hasConnectedSession |
Verifica se una sessione è attualmente gestita da questo gestore di sessioni ed è attualmente connessa. Altro... | |
(BOOL) | - hasConnectedCastSession |
Verifica se una sessione di trasmissione è attualmente gestita da questo gestore di sessioni ed è attualmente collegata. 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 dispositivi. 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'attuale sessione di trasmissione, se presente. Altro... | |
GCKConnectionState | connectionState |
Lo stato attuale della connessione di sessione. Altro... | |
Dettaglio metodo
- (instancetype) init |
L'inizializzazionere predefinito non è disponibile.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
Avvia una nuova sessione con il dispositivo specificato, utilizzando le opzioni predefinite per la sessione registrate per la categoria del dispositivo (se disponibile).
Questa è un'operazione asincrona.
- Parameters
-
device The device to use for this session.
- Valori restituiti
YES
se l'operazione è stata avviata correttamente,NO
se è 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 è stata stabilita una sessione o se non è stato possibile avviarla.
- Since
- 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 che è stata avviata 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 è stata stabilita una sessione oppure le opzioni openURL non contengono le opzioni Trasmetti necessarie.
- Since
- 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 è stata stabilita alcuna sessione 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 è stata stabilita alcuna sessione o se non è stato possibile avviarla.
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
Termina la sessione corrente e interrompe la trasmissione se è collegato un dispositivo del mittente; in caso contrario, interrompe la trasmissione se sono collegati più dispositivi del mittente.
Utilizza il parametro stopCasting
per indicare se la trasmissione sul ricevitore deve essere interrotta al termine della sessione. Questo parametro si applica solo quando sono collegati più dispositivi mittente. 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 connessi 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 destinatario interrompe la trasmissione dei 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 avviare l'operazione.
- (BOOL) hasConnectedSession |
Verifica se una sessione è attualmente gestita da questo gestore di sessioni ed è attualmente connessa.
Sarà YES
se lo stato della sessione è GCKConnectionStateConnected.
- (BOOL) hasConnectedCastSession |
Verifica se una sessione di trasmissione è attualmente gestita da questo gestore di sessioni ed è attualmente collegata.
Questa impostazione 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 della sessione possono specificare quale applicazione del ricevitore avviare.
- Parameters
-
sessionOptions The session options. May be nil
to remove any previously set options.category The device category.
- Since
- 4,0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: | (NSString *) | category |
Visualizza le opzioni di sessione predefinite per una determinata categoria di dispositivi.
- Parameters
-
category The device category.
- Valori restituiti
- Le opzioni predefinite per le sessioni o
nil
se nessuna.
- Since
- 4,0
- (void) addListener: | (id< GCKSessionManagerListener >) | listener |
Aggiunge un listener per la ricezione delle notifiche.
L'ascoltatore aggiunto viene trattenuta debole e deve essere conservato per evitare negoziazioni 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'attuale sessione di trasmissione, se presente.
|
readnonatomicassign |
Lo stato attuale della connessione di sessione.