| Herdado de | NSObject |
| Declarado em | OTSession.h |
Visão geral
O primeiro passo para usar o SDK do OpenTok para iOS é inicializar um objeto OTSession com sua chave de API e um ID da sessão Use o objeto OTSession para se conectar ao OpenTok usando sua conta de desenvolvedor Chave de API e um válido token.
Obter informações sobre a sessão
sessionConnectionStatus
O status desta instância da OTSession. Útil para consultas pontuais sobre o status da sessão.
@property (readonly) OTSessionConnectionStatus sessionConnectionStatus
Discussão
Os valores válidos estão definidos em OTSessionConnectionStatus:
OTSessionConnectionStatusNotConnected- A sessão não está conectada.OTSessionConnectionStatusConnected- A sessão está conectada.OTSessionConnectionStatusConnecting- A sessão está se conectando.OTSessionConnectionStatusDisconnecting- A sessão está sendo encerrada.OTSessionConnectionStatusFailed- A sessão sofreu um erro fatal
Ao instanciar, espere que o sessionConnectionStatus ter o valor
OTSessionConnectionStatusNotConnected.
Você pode usar um observador de chave-valor para monitorar essa propriedade. No entanto, o [OTSessionDelegate sessionDidConnect:] e [OTSessionDelegate sessionDidDisconnect:] As mensagens são enviadas ao delegado da sessão quando a sessão se conecta e se desconecta.
Declarado em
OTSession.h
sessionId
O ID da sessão desta instância. Este é um valor imutável.
@property (readonly) NSString *sessionId
Declarado em
OTSession.h
streams
Os streams que fazem parte desta sessão, identificados pelo streamId.
@property (readonly) NSDictionary<NSString*OTStream*> *streams
Declarado em
OTSession.h
connection
O OTConnection objeto para esta sessão. A propriedade de conexão só fica disponível assim que o [OTSessionDelegate sessionDidConnect:] A mensagem é enviada. Se a sessão não conseguir se conectar, essa propriedade permanecerá nula.
@property (readonly) OTConnection *connection
Declarado em
OTSession.h
delegate
O OTSessionDelegate objeto que atua como um objeto delegado para este objeto OTSession, tratando mensagens em nome desta sessão.
@property (nonatomic, assign) id<OTSessionDelegate> _Nullable delegate
Declarado em
OTSession.h
apiQueue
A fila de callbacks do delegado pode ser definida pelo aplicativo. A fila do GCD para emitir callbacks ao delegado pode ser substituída para permitir a integração com o XCTest (novidade no Xcode 5) ou outras estruturas que precisem operar na thread principal.
@property (nonatomic, assign) dispatch_queue_t _Nonnull apiQueue
Declarado em
OTSession.h
capabilities
Um OTSessionCapabilities objeto, que indica se o cliente pode
publicar e assinar fluxos na sessão, com base na função atribuída
ao token usado para se conectar à sessão. Essa propriedade é definida como nil
até que você tenha se conectado a uma sessão e o
[OTSessionDelegate sessionDidConnect:] O método foi chamado.
@property (readonly) OTSessionCapabilities *capabilities
Declarado em
OTSession.h
Inicializando e conectando-se a uma sessão
– initWithApiKey:sessionId:delegate:
Inicialize esta sessão com sua chave da API do OpenTok, uma ID da sessão, e delegue antes de se conectar ao OpenTok. Envie o [OTSession connectWithToken:error:] mensagem para se conectar à sessão.
- (nullable id)initWithApiKey:(nonnull NSString *)apiKey sessionId:(nonnull NSString *)sessionId delegate:(nullable id<OTSessionDelegate>)delegate
Parâmetros
apiKey |
Sua chave da API do OpenTok. Importante: Se você estiver usando um aplicativo da Vonage (em vez de um projeto do OpenTok), insira o ID do aplicativo (e não uma chave da API do OpenTok) neste parâmetro. |
sessionId |
O ID da sessão desta instância. |
delegate |
O delegado (OTSessionDelegate) que processa as mensagens em nome desta sessão. |
Valor de retorno
O objeto OTSession ou nil, caso a inicialização falhe.
Declarado em
OTSession.h
– initWithApiKey:sessionId:delegate:settings:
Inicialize o objeto OTSession com as configurações definidas por um OTSessionSettings objeto.
- (nullable id)initWithApiKey:(nonnull NSString *)apiKey sessionId:(nonnull NSString *)sessionId delegate:(nullable id<OTSessionDelegate>)delegate settings:(nullable OTSessionSettings *)settings
Parâmetros
apiKey |
Sua chave da API do OpenTok. Importante: Se você estiver usando a Video API com um aplicativo da Vonage (em vez de um projeto do OpenTok), insira o ID do aplicativo (e não uma chave da API do OpenTok) nesse parâmetro. |
sessionId |
O ID da sessão desta instância. |
delegate |
O delegado (OTSessionDelegate) objeto para a sessão. |
settings |
O (OTSessionSettings) objeto que define as configurações da sessão. |
Declarado em
OTSession.h
– connectWithToken:error:
Assim que sua inscrição tiver um token, conecte-se com o seu Chave de API para começar a participar de uma sessão do OpenTok.
- (void)connectWithToken:(nonnull NSString *)token error:(OTError *_Nullable *_Nullable)error
Parâmetros
token |
O token gerado para esta conexão. |
error |
Defina se ocorrer um erro de forma síncrona durante o processamento da solicitação. O OTSessionErrorCode A enumeração (definida no arquivo OTError.h) define valores para o code propriedade deste objeto. Este objeto é NULL se não ocorrer nenhum erro síncrono. Se ocorrer um erro assíncrono, o [OTSessionDelegate session:didFailWithError:] A mensagem é enviada ao delegado da sessão. |
Discussão
Quando a sessão for estabelecida com sucesso, o [OTSessionDelegate sessionDidConnect:] a mensagem é enviada ao delegado da sessão.
Se a sessão não conseguir se conectar, o [OTSessionDelegate session:didFailWithError:] a mensagem é enviada ao delegado da sessão.
Quando a sessão é encerrada, o [OTSessionDelegate sessionDidDisconnect:] A mensagem é enviada ao delegado da sessão.
Observe que as sessões são desconectadas automaticamente quando o aplicativo é suspenso.
Certifique-se de definir um método delegado para o [OTSessionDelegate session:didFailWithError:] mensagem.
Declarado em
OTSession.h
– disconnect:
Desconectar-se de uma sessão ativa do OpenTok.
- (void)disconnect:(OTError *_Nullable *_Nullable)error
Parâmetros
error |
Defina se ocorrer um erro de forma síncrona durante o processamento da solicitação. O OTSessionErrorCode A enumeração (definida no arquivo OTError.h) define valores para o code propriedade deste objeto. Este objeto é NULL se não ocorrer nenhum erro. |
Discussão
Este método libera todos os objetos OTPublisher e OTSubscriber que foram inicializados.
Como prática recomendada, antes de chamar esse método, chame o [OTSession unpublish:error:] método para todos os editores e aguardar o [OTPublisherKitDelegate publisher:streamDestroyed:] mensagem. Isso garante a remoção completa dos editores, especialmente se problemas de conectividade de rede impedir a remoção devido ao recurso de reconexão, que pode manter os fluxos dos editores ativos para uma possível reconexão.
Quando a sessão é encerrada, o [OTSessionDelegate sessionDidDisconnect:] a mensagem é enviada ao delegado da sessão.
Declarado em
OTSession.h
Publicação de fluxos de áudio e vídeo em uma sessão
– publish:error:
Adiciona um editor à sessão.
- (void)publish:(nonnull OTPublisherKit *)publisher error:(OTError *_Nullable *_Nullable)error
Parâmetros
publisher |
O OTPublisherKit objeto a ser transmitido. |
error |
Defina se ocorrer um erro de forma síncrona durante o processamento da solicitação. O OTPublisherErrorCode A enumeração (definida no arquivo OTError.h) define valores para o code propriedade deste objeto. Este objeto é NULL se não ocorrer nenhum erro. Se ocorrer um erro assíncrono, o [OTPublisherKitDelegate publisher:didFailWithError:] A mensagem é enviada ao delegado do editor. |
Discussão
Quando o editor começa a transmitir dados, o [OTPublisherKitDelegate publisher:streamCreated:] A mensagem é enviada ao delegado do editor.
Se a publicação falhar, [OTPublisherKitDelegate publisher:didFailWithError:] é enviada ao delegado do editor e nenhuma mensagem do delegado de sessão será transmitida.
Observe que não é possível utilizar vários editores.
Declarado em
OTSession.h
– unpublish:error:
Remove um editor da sessão.
- (void)unpublish:(nonnull OTPublisherKit *)publisher error:(OTError *_Nullable *_Nullable)error
Parâmetros
publisher |
O OTPublisher objeto a ser removido da sessão. |
error |
Defina se ocorrer um erro de forma síncrona durante o processamento da solicitação. O OTPublisherErrorCode A enumeração (definida no arquivo OTError.h) define valores para o code propriedade deste objeto. Este objeto é NULL se não ocorrer nenhum erro. |
Discussão
Ao remover o editor, o [OTPublisherKitDelegate publisher:streamDestroyed:] A mensagem é enviada ao delegado do editor após o término da transmissão.
Declarado em
OTSession.h
Inscrever-se em transmissões de áudio e vídeo
– subscribe:error:
Conecta esta instância de assinante à sessão e inicia a assinatura.
Se o assinante passado for criado a partir de um OTStream instância de um
diferente OTSession Nesse caso, o comportamento dessa função é indefinido.
- (void)subscribe:(nonnull OTSubscriberKit *)subscriber error:(OTError *_Nullable *_Nullable)error
Parâmetros
subscriber |
O assinante deve se conectar e iniciar a assinatura. |
error |
Defina se ocorrer um erro de forma síncrona durante o processamento da solicitação. O OTSubscriberErrorCode A enumeração (definida no arquivo OTError.h) define valores para o code propriedade deste objeto. Este objeto é NULL se não ocorrer nenhum erro. Se ocorrer um erro assíncrono, o [OTSubscriberKitDelegate subscriber:didFailWithError:] A mensagem é enviada ao delegado do assinante. |
Declarado em
OTSession.h
– unsubscribe:error:
Desconecta esta instância de assinante da sessão e inicia a limpeza de objetos.
- (void)unsubscribe:(nonnull OTSubscriberKit *)subscriber error:(OTError *_Nullable *_Nullable)error
Parâmetros
subscriber |
O assinante será desconectado e removido desta sessão. |
error |
Defina se ocorrer um erro de forma síncrona durante o processamento da solicitação. O OTSubscriberErrorCode A enumeração (definida no arquivo OTError.h) define valores para o code propriedade deste objeto. Este objeto é NULL se não ocorrer nenhum erro. |
Declarado em
OTSession.h
Envio e recebimento de sinais em uma sessão
– signalWithType:string:connection:error:
Envia um sinal para um ou mais clientes em uma sessão.
- (void)signalWithType:(NSString *_Nullable)type string:(NSString *_Nullable)string connection:(OTConnection *_Nullable)connection error:(OTError *_Nullable *_Nullable)error
Parâmetros
type |
O tipo do sinal. O tipo também é definido no [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] mensagem. O comprimento máximo do tipo “string” é de 128 caracteres, e ele deve conter apenas letras (A-Z e a-z), números (0-9), “-”, “_” e “~”. |
string |
Os dados a serem enviados. O limite de tamanho dos dados é de 8 KB. |
connection |
Um objeto OTConnection de destino. Defina este parâmetro como nil para enviar um sinal a todos os participantes da sessão. |
error |
Se o envio de um sinal falhar, esse valor é definido como um objeto OTError. A enumeração OTSessionErrorCode (em OTError.h) inclui as constantes OTSessionInvalidSignalType e OTSessionSignalDataTooLong para esses erros. Observe que o sucesso indica que as opções passadas ao método são válidas e que o sinal foi enviado. Isso não significa que o sinal tenha sido recebido com sucesso por qualquer um dos destinatários pretendidos. |
Discussão
Veja [OTSession signalWithType:string:connection:retryAfterReconnect:error:] e [OTSessionDelegate session:receivedSignalType:fromConnection:withString:].
Declarado em
OTSession.h
– signalWithType:string:connection:retryAfterReconnect:error:
Envia um sinal para um ou mais clientes em uma sessão. Esta versão do método
inclui um retryAfterReconnect parâmetro.
- (void)signalWithType:(NSString *_Nullable)type string:(NSString *_Nullable)string connection:(OTConnection *_Nullable)connection retryAfterReconnect:(BOOL)retryAfterReconnect error:(OTError *_Nullable *_Nullable)error
Parâmetros
type |
O tipo do sinal. O tipo também é definido no [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] mensagem. O comprimento máximo do tipo “string” é de 128 caracteres, e ele deve conter apenas letras (A-Z e a-z), números (0-9), “-”, “_” e “~”. Veja [OTSession signalWithType:string:connection:retryAfterReconnect:error:], [OTSessionDelegate session:receivedSignalType:fromConnection:withString:], e [OTSessionDelegate sessionDidBeginReconnecting:]. |
string |
Os dados a serem enviados. O limite de tamanho dos dados é de 8 KB. |
connection |
Um objeto OTConnection de destino. Defina este parâmetro como nil para enviar um sinal a todos os participantes da sessão. |
retryAfterReconnect |
Ao se reconectar à sessão, deve-se decidir se os sinais iniciados durante o período em que a conexão estava interrompida devem ser enviados. Se o seu cliente perder a conexão com a sessão do OpenTok devido a uma queda na conectividade de rede, ele tentará se reconectar à sessão, e o [OTSessionDelegate sessionDidBeginReconnecting:] a mensagem é enviada. Por padrão, os sinais gerados enquanto o cliente está desconectado são enviados quando (e se) ele se reconectar à sessão do OpenTok. É possível evitar isso definindo o retryAfterReconnect parâmetro para false. (O valor padrão é true.) |
error |
Se o envio de um sinal falhar, esse valor é definido como um objeto OTError. A enumeração OTSessionErrorCode (em OTError.h) inclui as constantes OTSessionInvalidSignalType e OTSessionSignalDataTooLong para esses erros. Observe que o sucesso indica que as opções passadas ao método são válidas e que o sinal foi enviado. Isso não significa que o sinal tenha sido recebido com sucesso por qualquer um dos destinatários pretendidos. |
Declarado em
OTSession.h
Forçar as transmissões a silenciar o áudio
– forceMuteAll:error:
Obliga todos os transmissores na sessão (exceto aqueles que estão transmitindo canais excluídos) a silenciar o áudio.
- (void)forceMuteAll:(NSArray<OTStream*> *_Nullable)excludedStreams error:(OTError *_Nullable *_Nullable)error
Parâmetros
excludedStreams |
Streams a serem excluídos da solicitação de silenciamento. Defina este valor como nulo para silenciar todos os streams da sessão (incluindo aqueles publicados pelo cliente local). |
error |
Se a ação falhar, esse valor será definido como um objeto OTError. Observe que o sucesso indica que as opções passadas ao método são válidas e que a solicitação para silenciar os fluxos foi enviada. Isso não significa que a solicitação tenha sido processada com sucesso pelos clientes de destino. |
Discussão
Além disso, quaisquer streams publicados após a chamada à função
[OTSession forceMuteAll:error:] método
são publicados com o áudio silenciado. Você pode desativar o silenciamento de uma sessão
chamando o [OTSession disableForceMute:] método. Depois de chamar
o [OTSession disableForceMute:] Com esse método, as novas transmissões publicadas na
sessão não terão mais o áudio silenciado.
A chamada a este método faz com que a mensagem
seja enviada a cada cliente conectado à sessão, com o active propriedade do
muteForcedInfo objeto definido como YES.
Verifique o canForceMute propriedade do [Recursos do OTSession]
objeto para verificar se você consegue chamar essa função com sucesso. Isso está reservado
para clientes que se conectaram com um token ao qual foi atribuída
a função de moderador (consulte o
Visão geral
da criação de tokens).
Veja [OTSession forceMuteStream:error:], [Recursos do OTSession], [OTSessionDelegate session:muteForced:], [OTPublisherKitDelegate muteForced:], e Silenciar o áudio das transmissões em uma sessão.
Declarado em
OTSession.h
– disableForceMute:
Desativa o estado de mudo ativo da sessão. Após chamar esse método, os novos streams publicados na sessão não terão mais o áudio silenciado.
- (void)disableForceMute:(OTError *_Nullable *_Nullable)error
Parâmetros
error |
Se a ação falhar, este campo será definido como um objeto OTError. |
Discussão
Depois de chamar a [OTSession forceMuteAll:error:] método
(ou quando um moderador em outro cliente inicia uma chamada para silenciar todas as transmissões), quaisquer transmissões
publicadas após a chamada de moderação são publicadas com o áudio silenciado. Chame o
disableForceMute() método para desativar o silêncio de uma sessão
(para que os novos streams publicados não sejam automaticamente silenciados).
A chamada a este método faz com que a mensagem
seja enviada a cada cliente conectado à sessão, com o active propriedade do
muteForcedInfo objeto definido como NO.
Verifique o canForceMute propriedade do [Recursos do OTSession]
objeto para verificar se você consegue chamar essa função com sucesso. Isso está reservado
para clientes que se conectaram com um token ao qual foi atribuída
a função de moderador (consulte o
Visão geral
da criação de tokens).
Veja [OTSession forceMuteAll:error:], [Recursos do OTSession], [OTSessionDelegate session:muteForced:], e Silenciar o áudio das transmissões em uma sessão.
Declarado em
OTSession.h
– forceMuteStream:error:
Obliga o emissor de um stream especificado a silenciar seu áudio.
- (void)forceMuteStream:(nonnull OTStream *)stream error:(OTError *_Nullable *_Nullable)error
Parâmetros
stream |
A transmissão a ser silenciada. |
error |
Se a ação falhar, esse valor será definido como um objeto OTError. Observe que o sucesso indica que as opções passadas ao método são válidas e que a solicitação para silenciar os fluxos foi enviada. Isso não significa que a solicitação tenha sido processada com sucesso pelos clientes de destino. |
Discussão
Verifique o canForceMute propriedade do [Recursos do OTSession]
objeto para verificar se você consegue chamar essa função com sucesso. Isso está reservado
para clientes que se conectaram com um token ao qual foi atribuída
a função de moderador (consulte o
Visão geral
da criação de tokens).
Veja [OTSession forceMuteAll:error:], [Recursos do OTSession], [OTSessionDelegate session:muteForced:], [OTPublisherKitDelegate muteForced:], e Silenciar o áudio das transmissões em uma sessão.
Declarado em
OTSession.h
Forçar os clientes a se desconectarem
– forceDisconnect:error:
Obliga um cliente a se desconectar da sessão.
- (void)forceDisconnect:(OTConnection *_Nullable)connection error:(OTError *_Nullable *_Nullable)error
Parâmetros
connection |
A conexão OTConnection para se desconectar. |
error |
Se a desconexão forçada falhar, esse valor é definido como um objeto OTError. A enumeração OTSessionErrorCode (em OTError.h) inclui OTSessionUnableToForceDisconnect para esses erros. |
Discussão
Embora você possa usar o [OTSession forceDisconnect:error:] método para encerrar sua própria conexão, chamando o [Desconexão da sessão OTS:] O método é mais simples. É retornado um erro se a função do cliente não incluir as permissões necessárias para forçar outros usuários a se desconectarem. Você define a função de um cliente ao criar o token do usuário. Quando uma conexão é encerrada usando este método, [OTSessionDelegate sessionDidDisconnect:], [OTSessionDelegate session:connectionDestroyed:] e [OTPublisherKitDelegate publisher:streamDestroyed:] as mensagens são enviadas da mesma forma que seriam se a conexão tivesse sido encerrada automaticamente usando [Desconexão da sessão OTS:]
Declarado em
OTSession.h
Como relatar um problema
– reportIssue:
Relate que seu aplicativo apresentou um problema. Você pode usar o ID do problema com o Inspetor ou ao discutir um problema com a equipe de suporte da Video API da Vonage.
- (void)reportIssue:(NSString *_Nullable *_Nullable)issueId
Parâmetros
issueId |
Um ponteiro para uma string que será definida como o identificador exclusivo do problema relatado. Se a chamada ao método falhar (por exemplo, devido à falta de conexão de rede), esse valor será definido como nil. |
Declarado em
OTSession.h
– setEncryptionSecret:error:
Define o segredo de criptografia de ponta a ponta utilizado por todos os emissores e assinantes.
- (void)setEncryptionSecret:(nonnull NSString *)secret error:(OTError *_Nullable *_Nullable)error
Parâmetros
secret |
Valor do segredo de criptografia. |
error |
Se a ação falhar, esse parâmetro é definido como um objeto OTError. |
Discussão
Veja o Criptografia ponta a ponta guia do desenvolvedor.
Declarado em
OTSession.h