Класс GCKSessionManager

Справочник по классу GCKSessionManager

Обзор

Класс, управляющий сеансами.

Метод startSessionWithDevice: (GCKSessionManager) используется для создания нового сеанса с данным GCKDevice . Диспетчер сеансов использует GCKDeviceProvider для этого типа устройства для создания нового объекта GCKSession , которому он затем делегирует все запросы сеанса.

GCKSessionManager обрабатывает автоматическое возобновление приостановленных сеансов (то есть возобновление сеансов, которые были завершены, когда приложение перешло в фоновый режим или в случае сбоя приложения или его принудительного завершения пользователем). Когда приложение возобновляет работу или перезапускается, диспетчер сеансов некоторое время будет ждать, пока поставщик устройств приостановленного сеанса снова обнаружит это устройство, и если это произойдет, он попытается повторно подключиться к этому устройству и восстановить сеанс. автоматически.

Если приложение создало GCKUICastButton без указания цели и селектора, то при нажатии пользователем на кнопку отобразится диалоговое окно Cast по умолчанию, и оно будет автоматически запускать и останавливать сеансы в зависимости от выбора пользователя или отключения устройства. Однако, если приложение предоставляет собственный диалоговый пользовательский интерфейс выбора/управления устройством, то оно должно использовать GCKSessionManager напрямую для создания и управления сеансами.

Независимо от того, использует ли приложение GCKSessionManager для управления сеансами, оно может присоединить GCKSessionManagerListener для уведомления о событиях сеанса, а также может использовать KVO для мониторинга свойства connectionState для отслеживания текущего состояния жизненного цикла сеанса.

С
3.0

Наследует NSObject.

Резюме метода экземпляра

(instancetype) - init
Инициализатор по умолчанию недоступен. Более...
(BOOL) - startSessionWithDevice:
Начинает новый сеанс с данным устройством, используя параметры сеанса по умолчанию, которые были зарегистрированы для категории устройств, если таковые имеются. Более...
(BOOL) - startSessionWithDevice:sessionOptions:
Начинает новый сеанс с указанным устройством и параметрами. Более...
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
Попытки присоединиться к сеансу или начать сеанс с параметрами, которые были предоставлены методу UIApplicationDelegate::application:openURL:options:. Более...
(BOOL) - suspendSessionWithReason:
Приостанавливает текущий сеанс. Более...
(BOOL) - endSession
Завершает текущий сеанс. Более...
(BOOL) - endSessionAndStopCasting:
Завершает текущий сеанс и прекращает трансляцию, если подключено одно устройство-отправитель; в противном случае при необходимости останавливает трансляцию, если подключено несколько устройств-отправителей. Более...
(BOOL) - hasConnectedSession
Проверяет, управляется ли сеанс в данный момент этим диспетчером сеансов, и он в настоящее время подключен. Более...
(BOOL) - hasConnectedCastSession
Проверяет, управляется ли сеанс Cast в настоящее время этим диспетчером сеансов и подключен ли он в данный момент. Более...
(void) - setDefaultSessionOptions:forDeviceCategory:
Задает параметры сеанса по умолчанию для данной категории устройств. Параметры сеанса передаются методу createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) когда пользователь выбирает устройство в диалоговом окне Cast. Более...
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
Получает параметры сеанса по умолчанию для данной категории устройств. Более...
(void) - addListener:
Добавляет прослушиватель для получения уведомлений. Более...
(void) - removeListener:
Удаляет прослушиватель, который был ранее добавлен с помощью addListener: . Более...

Сводка свойств

GCKSession currentSession
Текущая сессия, если есть. Более...
GCKCastSession currentCastSession
Текущий сеанс трансляции, если он есть. Более...
GCKConnectionState  connectionState
Текущее состояние соединения сеанса. Более...

Сведения о методе

- (instancetype) init

Инициализатор по умолчанию недоступен.

- (BOOL) startSessionWithDevice: ( GCKDevice *)  device

Начинает новый сеанс с данным устройством, используя параметры сеанса по умолчанию, которые были зарегистрированы для категории устройств, если таковые имеются.

Это асинхронная операция.

Parameters
deviceThe device to use for this session.
Возвращает
YES , если операция была запущена успешно, NO , если в настоящее время установлен сеанс или операция не может быть запущена.
- (BOOL) startSessionWithDevice: ( GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options  

Начинает новый сеанс с указанным устройством и параметрами.

Это асинхронная операция.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil .
Возвращает
YES , если операция была запущена успешно, NO , если в настоящее время установлен сеанс или операция не может быть запущена.
С
4.0
- (BOOL) startSessionWithOpenURLOptions: ( GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions  

Попытки присоединиться к сеансу или начать сеанс с параметрами, которые были предоставлены методу UIApplicationDelegate::application:openURL:options:.

Обычно это запрос на присоединение к существующему сеансу Cast на определенном устройстве, который был инициирован другим приложением.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil .
Возвращает
YES если операция была запущена успешно, NO , если в настоящее время установлен сеанс или параметры openURL не содержат требуемых параметров Cast.
С
4.0
- (BOOL) suspendSessionWithReason: ( GCKConnectionSuspendReason reason

Приостанавливает текущий сеанс.

Это асинхронная операция.

Parameters
reasonThe reason for the suspension.
Возвращает
YES если операция была запущена успешно, NO , если в настоящее время не установлено ни одного сеанса или если операция не может быть запущена.
- (BOOL) endSession

Завершает текущий сеанс.

Это асинхронная операция.

Возвращает
YES , если операция была запущена успешно, NO , если в настоящее время не установлено ни одного сеанса или если операция не может быть запущена.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

Завершает текущий сеанс и прекращает трансляцию, если подключено одно устройство-отправитель; в противном случае при необходимости останавливает трансляцию, если подключено несколько устройств-отправителей.

Используйте параметр stopCasting , чтобы указать, следует ли прекращать приведение к получателю после завершения сеанса. Этот параметр применяется только при подключении нескольких отправляющих устройств. Например, одно и то же приложение открыто на нескольких устройствах-отправителях, и на каждом устройстве-отправителе есть активный сеанс Cast с одним и тем же устройством-получателем.

  • Если вы установите stopCasting значение YES , приложение-приемник прекратит трансляцию при подключении нескольких устройств.
  • Если stopCasting установлено значение NO , а другие устройства имеют активный сеанс, приемник продолжает воспроизведение.
  • Если подключено только одно устройство-отправитель, приложение-получатель прекращает трансляцию мультимедиа и игнорирует значение stopCasting , даже если для него установлено значение NO .
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
Возвращает
YES , если операция по завершению сеанса началась успешно, NO , если в настоящее время не установлено ни одного сеанса или если операция не может быть запущена.
- (BOOL) hasConnectedSession

Проверяет, управляется ли сеанс в данный момент этим диспетчером сеансов, и он в настоящее время подключен.

Это будет YES , если состояние сеанса — GCKConnectionStateConnected.

- (BOOL) hasConnectedCastSession

Проверяет, управляется ли сеанс Cast в настоящее время этим диспетчером сеансов и подключен ли он в данный момент.

Это будет YES , если состояние сеанса GCKConnectionStateConnected и сеанс является сеансом Cast.

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

Задает параметры сеанса по умолчанию для данной категории устройств. Параметры сеанса передаются методу createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) когда пользователь выбирает устройство в диалоговом окне Cast.

Для сеансов Cast параметры сеанса могут указывать, какое приложение-приемник запускать.

Parameters
sessionOptionsThe session options. May be nil to remove any previously set options.
categoryThe device category.
С
4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

Получает параметры сеанса по умолчанию для данной категории устройств.

Parameters
categoryThe device category.
Возвращает
Параметры сеанса по умолчанию или nil , если нет.
С
4.0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

Добавляет прослушиватель для получения уведомлений.

Добавленный слушатель удерживается слабо, и его следует сохранить, чтобы избежать неожиданного освобождения.

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

Удаляет прослушиватель, который был ранее добавлен с помощью addListener: .

Parameters
listenerThe listener to remove.

Сведения о собственности

- ( GCKSession *) currentSession
read nonatomic strong

Текущая сессия, если есть.

- ( GCKCastSession *) currentCastSession
read nonatomic strong

Текущий сеанс трансляции, если он есть.

- (GCKConnectionState) connectionState
read nonatomic assign

Текущее состояние соединения сеанса.