Класс GCKSessionManager

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

Обзор

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

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

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

Если приложение создало GCKUICastButton без указания цели и селектора, то при нажатии пользователем кнопки откроется диалоговое окно трансляции по умолчанию, и сеансы будут автоматически запускаться и останавливаться в зависимости от выбора пользователя или отключения устройства. Однако если приложение предоставляет собственный диалоговый пользовательский интерфейс выбора/управления устройством, то ему следует использовать 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:.

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

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

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

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

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

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

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

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

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

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

  • Если для параметра 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

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