Überblick
Eine Klasse, die Sitzungen verwaltet.
Die Methode startSessionWithDevice: (GCKSessionManager) wird verwendet, um eine neue Sitzung mit einer bestimmten GCKDevice zu erstellen. Der Sitzungsmanager verwendet den GCKDeviceProvider für diesen Gerätetyp, um ein neues GCKSession-Objekt zu erstellen, an das er dann alle Sitzungsanfragen delegiert.
GCKSessionManager sorgt für die automatische Wiederaufnahme von angehaltenen Sitzungen (d. h. die Fortsetzung von Sitzungen, die beendet wurden, als die Anwendung in den Hintergrund ging, oder für den Fall, dass die Anwendung abgestürzt ist oder vom Nutzer zwangsweise beendet wurde). Wenn die Anwendung fortgesetzt oder neu gestartet wird, wartet der Sitzungsmanager eine kurze Zeit, bis der Geräteanbieter des Geräts der angehaltenen Sitzung das Gerät wieder erkennt. Ist dies der Fall, wird versucht, die Verbindung zum Gerät wiederherzustellen und die Sitzung automatisch wiederherzustellen.
Wenn die App eine GCKUICastButton erstellt hat, ohne ein Ziel und eine Auswahl anzugeben, kann der Nutzer durch Tippen auf die Schaltfläche das standardmäßige Streaming-Dialogfeld aufrufen und Sitzungen werden automatisch gestartet und beendet, je nachdem, ob der Nutzer ein Gerät ausgewählt hat oder die Verbindung zu einem Gerät getrennt wurde. Wenn die Anwendung jedoch ihre eigene Benutzeroberfläche für den Dialog zur Geräteauswahl/-steuerung bereitstellt, sollte die GCKSessionManager direkt zum Erstellen und Steuern von Sitzungen verwendet werden.
Unabhängig davon, ob die Anwendung die GCKSessionManager zur Steuerung von Sitzungen verwendet, kann sie einen GCKSessionManagerListener anhängen, um über Sitzungsereignisse informiert zu werden. Außerdem kann sie mithilfe von KVO das Attribut connectionState überwachen, um den aktuellen Lebenszyklusstatus der Sitzung zu verfolgen.
- Seit
- 3,0
Übernimmt NSObject.
Übersicht über Instanzmethoden | |
(instancetype) | - init |
Standardinitialisierer ist nicht verfügbar. Mehr... | |
(BOOL) | - startSessionWithDevice: |
Startet auf dem jeweiligen Gerät eine neue Sitzung mit den Standardsitzungsoptionen, die gegebenenfalls für die Gerätekategorie registriert wurden. Mehr... | |
(BOOL) | - startSessionWithDevice:sessionOptions: |
Startet eine neue Sitzung mit dem angegebenen Gerät und den angegebenen Optionen. Mehr... | |
(BOOL) | - startSessionWithOpenURLOptions:sessionOptions: |
Versucht, einer Sitzung beizutreten oder diese zu starten mit Optionen, die der Methode UIApplicationDelegate::application:openURL:options: bereitgestellt wurden. Mehr... | |
(BOOL) | - suspendSessionWithReason: |
Hält die aktuelle Sitzung an. Mehr... | |
(BOOL) | - endSession |
Beendet die aktuelle Sitzung. Mehr... | |
(BOOL) | - endSessionAndStopCasting: |
Beendet die aktuelle Sitzung und beendet das Streamen, wenn ein Sendergerät verbunden ist. Andernfalls wird das Streamen optional beendet, wenn mehrere Sendergeräte verbunden sind. Mehr... | |
(BOOL) | - hasConnectedSession |
Testet, ob eine Sitzung derzeit von diesem Sitzungsmanager verwaltet wird und derzeit verbunden ist. Mehr... | |
(BOOL) | - hasConnectedCastSession |
Testet, ob eine Streamingsitzung gerade von diesem Sitzungsmanager verwaltet wird und aktuell verbunden ist. Mehr... | |
(void) | - setDefaultSessionOptions:forDeviceCategory: |
Legt die Standardsitzungsoptionen für die jeweilige Gerätekategorie fest.Die Sitzungsoptionen werden an die Methode createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) übergeben, wenn der Nutzer ein Gerät im Cast-Dialogfeld auswählt. Mehr... | |
(nullable GCKSessionOptions *) | - defaultSessionOptionsForDeviceCategory: |
Ruft die Standardsitzungsoptionen für eine bestimmte Gerätekategorie ab. Mehr... | |
(void) | - addListener: |
Fügt einen Listener für den Empfang von Benachrichtigungen hinzu. Mehr... | |
(void) | - removeListener: |
Entfernt einen Listener, der zuvor mit addListener: hinzugefügt wurde. Mehr... | |
Property-Zusammenfassung | |
GCKSession * | currentSession |
Die aktuelle Sitzung, falls vorhanden. Mehr... | |
GCKCastSession * | currentCastSession |
Die aktuelle Streamingsitzung, falls vorhanden. Mehr... | |
GCKConnectionState | connectionState |
Der aktuelle Verbindungsstatus der Sitzung. Mehr... | |
Methodendetail
- (instancetype) init |
Standardinitialisierer ist nicht verfügbar.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
Startet auf dem jeweiligen Gerät eine neue Sitzung mit den Standardsitzungsoptionen, die gegebenenfalls für die Gerätekategorie registriert wurden.
Dies ist ein asynchroner Vorgang.
- Parameters
-
device The device to use for this session.
- Rückgaben
YES
, wenn der Vorgang erfolgreich gestartet wurde,NO
, wenn derzeit eine Sitzung eingerichtet ist oder der Vorgang nicht gestartet werden konnte.
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device | |
sessionOptions: | (nullable GCKSessionOptions *) | options | |
Startet eine neue Sitzung mit dem angegebenen Gerät und den angegebenen Optionen.
Dies ist ein asynchroner Vorgang.
- Parameters
-
device The device to use for this session. options The options for this session, if any. May be nil
.
- Rückgaben
YES
, wenn der Vorgang erfolgreich gestartet wurde,NO
, wenn aktuell eine Sitzung eingerichtet ist oder der Vorgang nicht gestartet werden konnte.
- Seit
- 4,0
- (BOOL) startSessionWithOpenURLOptions: | (GCKOpenURLOptions *) | openURLOptions | |
sessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
Versucht, einer Sitzung beizutreten oder diese zu starten mit Optionen, die der Methode UIApplicationDelegate::application:openURL:options: bereitgestellt wurden.
In der Regel ist das eine Anfrage zur Teilnahme an einer bestehenden Streamingsitzung auf einem bestimmten Gerät, die von einer anderen App initiiert wurde.
- Parameters
-
openURLOptions The options that were extracted from the URL. sessionOptions The options for this session, if any. May be nil
.
- Rückgaben
YES
, wenn der Vorgang erfolgreich gestartet wurde,NO
, wenn aktuell eine Sitzung eingerichtet ist, oder die openURL-Optionen enthalten nicht die erforderlichen Streamingoptionen.
- Seit
- 4,0
- (BOOL) suspendSessionWithReason: | (GCKConnectionSuspendReason) | reason |
Hält die aktuelle Sitzung an.
Dies ist ein asynchroner Vorgang.
- Parameters
-
reason The reason for the suspension.
- Rückgaben
YES
, wenn der Vorgang erfolgreich gestartet wurde,NO
, wenn derzeit keine Sitzung eingerichtet wurde oder der Vorgang nicht gestartet werden konnte.
- (BOOL) endSession |
Beendet die aktuelle Sitzung.
Dies ist ein asynchroner Vorgang.
- Rückgaben
YES
, wenn der Vorgang erfolgreich gestartet wurde,NO
, wenn derzeit keine Sitzung eingerichtet wurde oder der Vorgang nicht gestartet werden konnte.
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
Beendet die aktuelle Sitzung und beendet das Streamen, wenn ein Sendergerät verbunden ist. Andernfalls wird das Streamen optional beendet, wenn mehrere Sendergeräte verbunden sind.
Verwenden Sie den Parameter stopCasting
, um anzugeben, ob das Streamen auf den Empfänger nach dem Ende der Sitzung beendet werden soll. Dieser Parameter gilt nur, wenn mehrere Absendergeräte verbunden sind. Dieselbe App ist beispielsweise auf mehreren Sendergeräten geöffnet und jedes Sendergerät hat eine aktive Streamingsitzung mit demselben Empfängergerät.
- Wenn du
stopCasting
aufYES
setzt, beendet die Empfänger-App das Streamen, wenn mehrere Geräte verbunden sind. - Wenn
stopCasting
den WertNO
hat und auf anderen Geräten eine aktive Sitzung läuft, spielt der Empfänger weiter. - Wenn nur ein Sendergerät verbunden ist, beendet die Empfänger-App das Streaming der Medien und ignoriert den
stopCasting
-Wert, auch wenn er aufNO
gesetzt ist.
- Parameters
-
stopCasting Whether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
- Rückgaben
YES
, wenn der Vorgang zum Beenden der Sitzung erfolgreich gestartet wurde,NO
, wenn derzeit keine Sitzung erstellt wurde oder der Vorgang nicht gestartet werden konnte.
- (BOOL) hasConnectedSession |
Testet, ob eine Sitzung derzeit von diesem Sitzungsmanager verwaltet wird und derzeit verbunden ist.
Der Wert ist YES
, wenn der Sitzungsstatus „GCKConnectionStateConnected“ lautet.
- (BOOL) hasConnectedCastSession |
Testet, ob eine Streamingsitzung gerade von diesem Sitzungsmanager verwaltet wird und aktuell verbunden ist.
Der Wert ist YES
, wenn der Sitzungsstatus GCKConnectionStateConnected (GCKConnectionStateConnected) vorliegt und es sich bei der Sitzung um eine Streamingsitzung handelt.
- (void) setDefaultSessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
forDeviceCategory: | (NSString *) | category | |
Legt die Standardsitzungsoptionen für die jeweilige Gerätekategorie fest.Die Sitzungsoptionen werden an die Methode createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) übergeben, wenn der Nutzer ein Gerät im Cast-Dialogfeld auswählt.
Bei Streamingsitzungen kann über die Sitzungsoptionen festgelegt werden, welche Empfänger-App gestartet werden soll.
- Parameters
-
sessionOptions The session options. May be nil
to remove any previously set options.category The device category.
- Seit
- 4,0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: | (NSString *) | category |
Ruft die Standardsitzungsoptionen für eine bestimmte Gerätekategorie ab.
- Parameters
-
category The device category.
- Rückgaben
- Die Standardsitzungsoptionen oder
nil
, wenn keine verfügbar sind.
- Seit
- 4,0
- (void) addListener: | (id< GCKSessionManagerListener >) | listener |
Fügt einen Listener für den Empfang von Benachrichtigungen hinzu.
Der hinzugefügte Listener ist schwach gehalten und sollte beibehalten werden, um eine unerwartete Zuordnung zu vermeiden.
- Parameters
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
Entfernt einen Listener, der zuvor mit addListener: hinzugefügt wurde.
- Parameters
-
listener The listener to remove.
Objektdetails
|
readnonatomicstrong |
Die aktuelle Sitzung, falls vorhanden.
|
readnonatomicstrong |
Die aktuelle Streamingsitzung, falls vorhanden.
|
readnonatomicassign |
Der aktuelle Verbindungsstatus der Sitzung.