Classe GCKSessionManager

Referência da classe GCKSessionManager

Informações gerais

Uma classe que gerencia sessões.

O método startSessionWithDevice: (GCKSessionManager) é usado para criar uma nova sessão com um determinado GCKDevice. O gerenciador de sessões usa o GCKDeviceProvider desse tipo de dispositivo para criar um novo objeto GCKSession, que delega todas as solicitações de sessão.

GCKSessionManager processa a retomada automática de sessões suspensas, ou seja, a retomada de sessões que foram encerradas quando o aplicativo foi para o segundo plano ou caso o aplicativo tenha falhado ou sido encerrada à força pelo usuário. Quando o aplicativo é retomado ou reiniciado, o gerenciador de sessões aguarda um breve período para que o provedor do dispositivo da sessão suspensa descubra o dispositivo novamente e, se isso acontecer, ele tentará se reconectar a esse dispositivo e restabelecer a sessão automaticamente.

Se o app tiver criado um GCKUICastButton sem fornecer um destino e um seletor, um toque do usuário no botão vai mostrar a caixa de diálogo padrão do Google Cast que vai iniciar e interromper automaticamente sessões com base na seleção ou desconexão do usuário de um dispositivo. No entanto, se o aplicativo estiver fornecendo a própria IU de caixa de diálogo de seleção/controle de dispositivos, ele precisará usar o GCKSessionManager diretamente para criar e controlar sessões.

Independentemente de o aplicativo usar ou não o GCKSessionManager para controlar sessões, ele pode anexar um GCKSessionManagerListener para ser notificado sobre eventos de sessão e também pode usar o KVO para monitorar a propriedade connectionState e acompanhar o estado atual do ciclo de vida da sessão.

Como
3,0

Herda o NSObject.

Resumo do método de instância

(instancetype) - init
 O inicializador padrão não está disponível. Mais...
 
(BOOL) - startSessionWithDevice:
 Inicia uma nova sessão com o dispositivo especificado, usando as opções de sessão padrão que foram registradas para a categoria do dispositivo, se houver. Mais...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 Inicia uma nova sessão com o dispositivo e as opções fornecidos. Mais...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 Tenta entrar ou iniciar uma sessão com opções fornecidas ao método UIApplicationDelegate::application:openURL:options:. Mais...
 
(BOOL) - suspendSessionWithReason:
 Suspende a sessão atual. Mais...
 
(BOOL) - endSession
 Encerra a sessão atual. Mais...
 
(BOOL) - endSessionAndStopCasting:
 Encerra a sessão atual e interrompe a transmissão se um dispositivo remetente estiver conectado. Caso contrário, pode interromper opcionalmente a transmissão se vários dispositivos remetentes estiverem conectados. Mais...
 
(BOOL) - hasConnectedSession
 Testa se uma sessão está sendo gerenciada por esse gerenciador de sessões e se está conectada no momento. Mais...
 
(BOOL) - hasConnectedCastSession
 Testa se uma sessão do Google Cast está sendo gerenciada por esse gerenciador de sessões e se está conectada no momento. Mais...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 Define as opções de sessão padrão para a categoria de dispositivo especificada.As opções de sessão são transmitidas ao método createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) quando o usuário seleciona um dispositivo na caixa de diálogo "Transmitir". Mais...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 Recebe as opções de sessão padrão para determinada categoria de dispositivo. Mais...
 
(void) - addListener:
 Adiciona um listener para receber notificações. Mais...
 
(void) - removeListener:
 Remove um listener que foi adicionado anteriormente com addListener:. Mais...
 

Resumo da propriedade

GCKSessioncurrentSession
 A sessão atual, se houver. Mais...
 
GCKCastSessioncurrentCastSession
 A sessão atual do Google Cast, se houver. Mais...
 
GCKConnectionState connectionState
 O estado atual da conexão da sessão. Mais...
 

Detalhes dos métodos

- (instancetype) init

O inicializador padrão não está disponível.

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

Inicia uma nova sessão com o dispositivo especificado, usando as opções de sessão padrão que foram registradas para a categoria do dispositivo, se houver.

Essa é uma operação assíncrona.

Parameters
deviceThe device to use for this session.
Retorna
YES se a operação tiver sido iniciada com sucesso, NO se houver uma sessão estabelecida no momento ou se a operação não puder ser iniciada.
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

Inicia uma nova sessão com o dispositivo e as opções fornecidos.

Essa é uma operação assíncrona.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
Retorna
YES se a operação tiver sido iniciada com sucesso, NO se houver uma sessão atualmente estabelecida ou se a operação não puder ser iniciada.
Como
4,0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

Tenta entrar ou iniciar uma sessão com opções fornecidas ao método UIApplicationDelegate::application:openURL:options:.

Normalmente, essa é uma solicitação para participar de uma sessão de transmissão em um dispositivo específico que foi iniciada por outro app.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
Retorna
YES se a operação tiver sido iniciada com sucesso, NO se houver uma sessão estabelecida no momento ou se as opções de openURL não tiverem as opções de transmissão necessárias.
Como
4,0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

Suspende a sessão atual.

Essa é uma operação assíncrona.

Parameters
reasonThe reason for the suspension.
Retorna
YES se a operação tiver sido iniciada com sucesso, NO se não houver sessão estabelecida no momento ou se a operação não puder ser iniciada.
- (BOOL) endSession

Encerra a sessão atual.

Essa é uma operação assíncrona.

Retorna
YES se a operação tiver sido iniciada com sucesso, NO se não houver sessão estabelecida no momento ou se a operação não puder ser iniciada.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

Encerra a sessão atual e interrompe a transmissão se um dispositivo remetente estiver conectado. Caso contrário, pode interromper opcionalmente a transmissão se vários dispositivos remetentes estiverem conectados.

Use o parâmetro stopCasting para indicar se a transmissão no receptor será interrompida quando a sessão terminar. Esse parâmetro só se aplica quando vários dispositivos emissores estão conectados. Por exemplo, o mesmo app é aberto em vários dispositivos emissores e cada dispositivo remetente tem uma sessão de transmissão ativa com o mesmo dispositivo receptor.

  • Se você definir stopCasting como YES, o app receptor vai interromper a transmissão quando vários dispositivos estiverem conectados.
  • Se stopCasting for NO e outros dispositivos tiverem uma sessão ativa, o receptor vai continuar tocando.
  • Se apenas um dispositivo remetente estiver conectado, o app receptor vai interromper a transmissão da mídia e ignorar o valor stopCasting, mesmo que ele esteja definido como NO.
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
Retorna
YES se a operação para encerrar a sessão for iniciada, NO se não houver sessão estabelecida no momento ou se a operação não puder ser iniciada.
- (BOOL) hasConnectedSession

Testa se uma sessão está sendo gerenciada por esse gerenciador de sessões e se está conectada no momento.

Ele será YES se o estado da sessão for GCKConnectionStateConnected.

- (BOOL) hasConnectedCastSession

Testa se uma sessão do Google Cast está sendo gerenciada por esse gerenciador de sessões e se está conectada no momento.

Ele será YES se o estado da sessão for GCKConnectionStateConnected e a sessão for de transmissão.

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

Define as opções de sessão padrão para a categoria de dispositivo especificada.As opções de sessão são transmitidas ao método createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) quando o usuário seleciona um dispositivo na caixa de diálogo "Transmitir".

Nas sessões do Cast, as opções de sessão podem especificar qual aplicativo receptor será iniciado.

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

Recebe as opções de sessão padrão para determinada categoria de dispositivo.

Parameters
categoryThe device category.
Retorna
As opções de sessão padrão, ou nil se nenhuma.
Como
4,0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

Adiciona um listener para receber notificações.

O listener adicionado é fraco e precisa ser mantido para evitar desalocação inesperada.

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

Remove um listener que foi adicionado anteriormente com addListener:.

Parameters
listenerThe listener to remove.

Detalhe da propriedade

- (GCKSession*) currentSession
readnonatomicstrong

A sessão atual, se houver.

- (GCKCastSession*) currentCastSession
readnonatomicstrong

A sessão atual do Google Cast, se houver.

- (GCKConnectionState) connectionState
readnonatomicassign

O estado atual da conexão da sessão.