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 | |
GCKSession * | currentSession |
A sessão atual, se houver. Mais... | |
GCKCastSession * | currentCastSession |
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
-
device The 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
-
device The device to use for this session. options The 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
-
openURLOptions The options that were extracted from the URL. sessionOptions The 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
-
reason The 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
comoYES
, o app receptor vai interromper a transmissão quando vários dispositivos estiverem conectados. - Se
stopCasting
forNO
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 comoNO
.
- Parameters
-
stopCasting Whether 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
-
sessionOptions The session options. May be nil
to remove any previously set options.category The 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
-
category The 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
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
Remove um listener que foi adicionado anteriormente com addListener:.
- Parameters
-
listener The listener to remove.
Detalhe da propriedade
|
readnonatomicstrong |
A sessão atual, se houver.
|
readnonatomicstrong |
A sessão atual do Google Cast, se houver.
|
readnonatomicassign |
O estado atual da conexão da sessão.