Com TeamViewer Software Development Kit (SDK) você pode utilizar a funcionalidade completa Assist AR e fornecer a melhor experiência de suporte remoto AR a seus clientes, incorporando as capacidades de assistência remota AR em seus próprios aplicativos móveis.
O SDK permite que você tenha conexões seguras e compatíveis com a GDPR com os dispositivos de seu cliente.
Pré-requisitos
- iOS 15.4 e superior
- Uma conta existente TeamViewer
Se você não tiver uma conta TeamViewer, siga os passos abaixo para criar uma:
- Acesse https://login.teamviewer.com/ e Clique no Inscreva-se.
- Complete os passos para criar uma conta TeamViewer e valide seu endereço de e-mail.
Gerar uma chave API
1. Vá para https://login.teamviewer.com/ e entre usando sua conta TeamViewer.
2. Na parte inferior da página, clique em Apps.
3. Clique no botão Criar aplicativo.
4. Ativar o Token SDK móvel, digitar um nome e (opcional) adicionar uma breve descrição.
5. Ativar o iOS.
6. Clique em Criar.
Sua ficha é exibida ao abrir o aplicativo criado:
Copie esta ficha em sua prancheta e cole-a em um lugar seguro.
IMPORTANTE: Não compartilhe este símbolo com ninguém!
Adquira o TeamViewer Mobile SDK
A) Instale o TeamViewer Mobile SDK como Gerenciador de Pacotes Swift
A seguir estão as etapas para adicionar o SDK como pacote SPM a qualquer projeto:
1. Abra o projeto e clique em Dependências do pacote .
2. Clique no ícone de adição no canto inferior esquerdo:
3. Insira o link do pacote SPM do GitHub na barra de pesquisa. O pacote TeamViewer-AR-iOS SPM será exibido no resultado:
4. Clique em Adicionar pacote.
5. Selecione o destino ao qual este pacote será adicionado como dependência.
6. Confirme clicando em Adicionar pacote .
7. O TeamViewer SDK será adicionado como uma dependência ao projeto.
8. O pacote também será adicionado ao destino (selecionado na etapa 5):
9. Se o pacote não foi adicionado ao destino na etapa 5, você pode fazê-lo clicando no ícone de adição, como mostrado antes, e selecionando Adicionar dependência de pacote para incluir o pacote SPM.
Desta vez, ele aparecerá na lista Recente (mostrada na etapa 3):
B. Instalar manualmente:
1. O SDK está disponível para clientes com uma licença do Assist AR Professional e é distribuído pela equipe de suporte do TeamViewer.
2. Baixe o arquivo .zip, descompacte e copie todas as pastas xcframework incluídas dentro da pasta do seu projeto.
Obsevação: O SDK é distribuído como XCFramework universal, contendo ambas as arquiteturas: iOS arm64 e Simulator x86. Atualmente, não oferecemos suporte às arquiteturas Apple Silicon ou Mac Catalyst. Além disso, é possível distribuir com o Swift Package Manager (SPM).
3. Vincule as estruturas TVLocalizations e TeamViewerSDK ao seu projeto.
4. Certifique-se de que a opção Incorporar e Assinar esteja selecionada.
5. Você também pode precisar vincular ao ARKit e ao CallKit, dependendo da sua implementação.
6. Somente se você planeja dar suporte ao CallKit: crie um link para o CallKit.
Configurando seu projeto Xcode
O TeamViewer SDK usa a câmera e o microfone durante uma sessão de suporte remoto.
1. Adicione as seguintes chaves ao arquivo Info.Plist:
- Descrição de uso do microfone NS
- Descrição de uso da câmera NS
Se você não adicionar essas chaves, o iOS encerrará a aplicação no momento em que o SDK tentar acessar o microfone ou a câmera.
Usando o TeamViewer SDK
IMPORTANTE: O SDK é uma classe de instância única. Não se pode criar uma diretamente. Você deve acessar a instância compartilhada.
1. Inicializar a instância SDK com sua chave API obtida na seção Pré-requisitos.
2. Definir um delegado em conformidade com o protocolo TeamViewerSDKDelegate.
Isto garante que você seja capaz de reagir a eventos que acontecem durante a vida útil de sua conexão TeamViewer.
3. Conectar a um código de sessão
O SDK compartilhado fornece um método para estabelecer uma conexão com um código de sessão. Este código de sessão pode ser de dois tipos:
- Suporte remoto ou
- Assist AR
4. Crie códigos de sessão em seu cliente TeamViewer ou através do TeamViewer REST API.
O método connectToSessionCode retorna uma sessão TeamViewer.
IMPORTANTE:
- Você é responsável por manter esta variável viva, e também responsável por liberá-la. Caso contrário, a sessão UI poderá ser mantida viva mesmo depois que a sessão remota tiver terminado.
- Uma vez que o SDK se conecta a um código de sessão, ele entra em estado de espera, você é notificado sobre a mudança de estado por meio do método de delegado handleSessionCodeOnline.
Neste ponto, não se deve permitir que o usuário se conecte a um código de sessão diferente. Só é permitido permitir que o usuário deixe a conexão atual.
No lado do apoiador, o código de sessão aparecerá como estando online, permitindo ao cliente estabelecer uma conexão com esse código de sessão.
Reagindo às conexões de entrada
O SDK fornece métodos de delegados para reagir a eventos de conexão de entrada.
Uma vez iniciada a conexão no lado TeamViewer, o SDK é notificado sobre esta tentativa de conexão através do método de delegado handleConnectionRequestWithAuthenticationData.
No parâmetro de dados de autenticação há o nome do apoiador, o tipo de conexão de entrada (ScreenShare ou Assist AR) e uma função de retorno de chamada para permitir ou rejeitar a conexão de entrada.
Se a conexão de entrada for aceita, a conexão TeamViewer correspondente é estabelecida.
- Para a conexão ScreenShare, um prompt para microfone e compartilhamento de tela é mostrado ao usuário.
A IU de sua aplicação é agarrada usando o kit de replay e há comunicação VoIP bidirecional entre o usuário e o apoiador.
- Para a conexão Assist AR, são mostradas as permissões do sistema para acesso de câmera e microfone. Se o usuário permitir isto, a sessão de AR é iniciada. Há comunicação VoIP bi-direcional entre o usuário e o apoiador.
- O método de delegação handleConnectionRequestAbort deve ser implementado a fim de ser notificado quando o usuário remoto cancela o pedido de conexão. O usuário é responsável por limpar quaisquer avisos que sejam mostrados ao usuário, ou cancelar quaisquer notificações de chamadas recebidas do CallKit.
Reagindo a eventos opcionais SDK
- handleSupporterConnected: Este método é chamado quando o apoiador terminou a sessão, também é chamado quando o usuário terminou localmente a sessão.
- handleSupporterDisconnected: Este método é chamado quando o apoiador terminou a sessão, também é chamado quando o usuário terminou localmente a sessão.
Dica: Você deve limpar as referências à sessão, pois a sessão é considerada não mais válida neste momento.
- handleError: Este método é chamado se o código de sessão ou o token API utilizado para estabelecer uma conexão não for válido.
Dica: Você deve limpar os recursos utilizados para a sessão atual, pois a sessão em si é considerada inválida.
Reagindo a eventos opcionais da sessão
- handleSessionError: Isto é chamado quando ocorre um erro durante a sessão. Por exemplo, um recurso foi solicitado, mas a compatibilidade entre cliente e servidor não foi atendida.
Dica: Este erro é apenas informativo. Você pode escrevê-lo em um arquivo de log.
Nota sobre o suporte do CallKit
Se sua aplicação suporta o CallKit:
- Forneça ao TeamViewer SDK informações sobre o identificador exclusivo de sua chamada.
- TeamViewer pergunta ao sistema se há uma chamada em execução e não tenta estabelecer uma conexão VoIP se for este o caso.
- Diga a TeamViewer que a chamada atual é sua para que possamos assumir a tubulação de áudio e iniciar a transmissão VoIP:
- Ligue para o método de configuração setupCallUUID.
- Diga ao SDK que sua chamada terminou chamando o método clearCallUUID.
Habilitando os modos de fundo
Certifique-se de que você tenha pelo menos um desses modos de fundo ativado em seu arquivo Info.plist:
- Áudio,
- AirPlay ou
- Modo de fundo Voice over IP.
IMPORTANTE: Se isso não for feito, o aplicativo será suspenso apenas alguns segundos após ser colocado em segundo plano durante uma sessão ativa TeamViewer.
Configuração de áudio
O SDK móvel funciona com os valores de configuração padrão da AVAudioSession.
- Se você quiser sobrepor estes valores para suportar Bluetooth, Airplay mix, usar alto-falantes, etc., certifique-se de mudar isto antes de uma sessão ser estabelecida. No caso de sua aplicação silenciar outras aplicações, o momento recomendado para configurar a sessão de áudio é bem antes de aceitar a conexão.
- Se sua aplicação mixar áudio com outras aplicações, você pode configurar as opções de áudio no lançamento da aplicação.
Desativar VoIP
Caso você queira usar outro meio para estabelecer comunicação de voz, você pode desativar o recurso VoIP inteiramente definindo as opções na instância compartilhada do SDK antes de estabelecer uma conexão.
Para mais informações, consulte a documentação da TVSDKOptions.
Documentação de classe
Todos os cabeçalhos públicos estão documentados. Para obter informações detalhadas sobre cada classe, consulte o conteúdo QuickHelp gerado pelo Xcode ('⌥ '+ clique no nome constante ou variável).