Sem categoria

Couchbase LIVE Nova York: Couchbase Mobile 103 - Criando um aplicativo peer-to-peer com o Couchbase Mobile

Na sessão 103 do Couchbase LIVE New York pista móvelNa seção "Sincronização", examinamos o recurso do Couchbase Lite que nos permitiria ativar a sincronização ponto a ponto entre dois ou mais dispositivos. A partir da seção "Couchbase Mobile 103: Criação de um aplicativo ponto a ponto com o Couchbase Mobile" slidesNa seção "Compartilhamento de fotos", exploramos em profundidade o código e os componentes que permitiram que o aplicativo de compartilhamento de fotos trocasse fotos com outro dispositivo cliente que executava o Couchbase Lite por meio do recurso P2P.

O aplicativo de amostra do PhotoDrop P2P pode ser encontrado no repositório do GitHub para iOS e Android. Neste blog, recapitularemos em alto nível os recursos e APIs do Couchbase Lite que foram apresentados na sessão Couchbase 103, bem como alguns dos códigos encontrados no exemplo de Compartilhamento de Fotos. Você pode consultar o Couchbase Mobile 101 e 102 blogs para obter orientação sobre como começar.

Aqui estão os storyboards do aplicativo, onde temos três ViewControllers simples, sendo que o ViewController é o ponto de entrada do aplicativo. O fluxo de experiência do usuário começa quando o remetente seleciona as fotos do telefone e clica em enviar. A câmera será aberta para escanear o código QR de recebimento do outro telefone a fim de autenticar e iniciar a transferência. Vamos examinar os principais componentes do código do aplicativo que habilita o recurso ponto a ponto a partir de Couchbase Lite.

[1] Iniciar ouvinte

No ReceiveViewController, definimos a porta como sendo igual a zero para que deixemos o Couchbase Lite decidir o que usar. Isso significa que, sempre que quisermos compartilhar as fotos, a porta será alterada toda vez que ele iniciar uma transferência. Ativamos a autenticação, na qual a autenticação é o resumo e é suportada pelo ouvinte do Couchbase Lite por padrão. Depois disso, temos o nome de usuário e a senha e definimos o nome de usuário/senha para a autenticação. Depois disso, estamos prontos para iniciar os ouvintes.

iOS

Depois que o ouvinte é iniciado, geramos o URL de sincronização do ponto de extremidade do URL para o banco de dados receptor usando o URL do ouvinte com o nome de usuário/senha e o nome do banco de dados. Definimos o URL na variável de URL de sincronização e o usamos mais tarde quando geramos o código QR, a partir do qual iniciamos os ouvintes de alteração do banco de dados adequadamente.

[2] Observar alterações no banco de dados

Iniciamos o ouvinte de alterações no banco de dados para sabermos quando a foto é sincronizada com o banco de dados do receptor. Quando isso acontece, obtemos as fotos compartilhadas dos documentos compartilhados e as aceitamos no dispositivo.

iOS

[3] Gerar e exibir código QR

Na última etapa do ReceiveViewController, quando temos os ouvintes do Couchbase Lite, configuramos os ouvintes compartilhados do banco de dados e, em seguida, temos o URL de sincronização. Com o URL de sincronização, podemos gerar o código QR. Para fazer isso, usamos o filtro de imagem principal do iOS. O código QR contém a porta do ouvinte e o nome de usuário/senha incluídos para autenticação.

[4] Ler o código QR

Agora, no SendViewController, usamos a classe iOS AVCaptureSession, que faz parte da estrutura AV Foundation com o tipo de saída AVMetadataObjectTypeQRCode. Isso agora nos permitirá usar o scanner de código QR e escanear o código QR.

[5] Criar documentos

Agora, iteramos as fotos que queremos enviar aos destinatários. Para cada foto, criamos um documento e, em seguida, anexamos a foto ao documento para salvar no banco de dados. No último snippet, salvaremos os IDs dos documentos na variável docIds, que é uma propriedade que será usada na etapa seguinte.

iOS

[6] Replicar documentos

A última etapa, agora que temos o URL de sincronização que obtivemos do código QR, é replicar os documentos adequadamente. Temos os documentos com foto do banco de dados e estamos prontos para replicar do dispositivo cliente emissor para o dispositivo receptor. Aqui, criamos uma replicação por push com a URL de sincronização, na qual enviamos o ID do documento para o replicador, permitindo que o replicador faça push dos documentos com o ID. E, como etapa opcional, definimos os estados dos ouvintes de alteração de replicação para capturar o status atual.

iOS

Resumo

Os principais pontos de implementação dos aplicativos Photodrop são que eles usam o código QR para descoberta de pares, onde geramos um nome de usuário e uma senha únicos para autenticação. O código principal para envio/recebimento de fotos tem cerca de 100 linhas de código e não contém nenhum código diretamente envolvido na comunicação de rede.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por William Hoang

William foi um defensor do desenvolvedor na equipe de engenharia móvel/experiência do desenvolvedor na Couchbase. Seu amor por café e código o levou ao mundo dos dispositivos móveis, ao mesmo tempo em que apreciava as experiências presenciais off-line. Antes disso, William trabalhou na equipe de relações com desenvolvedores do Twitter, BlackBerry e Microsoft, além de ter sido engenheiro de GPS incorporado a software na Research In Motion. William se formou na McGill University em Engenharia Elétrica de Software

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.