Um dos principais recursos do Couchbase Mobile A plataforma de dados é a capacidade de sincronizar dados em toda a Couchbase Lite clientes móveis habilitados e o Gateway de sincronização. A capacidade de executar aplicativos em segundo plano é típica do ciclo de vida dos aplicativos móveis em iOS, Android e .Net e tem vários usos, por exemplo, para reduzir os custos iniciais de sincronização/inicialização, garantindo que o aplicativo seja iniciado com os dados mais recentes.
Nesta postagem, apresentaremos um tutorial simples que discute como você pode usar o iOS Atualização do aplicativo em segundo plano para sincronizar dados em segundo plano. Embora o tutorial em si seja específico para iOS, os conceitos discutidos aqui se aplicam a todas as plataformas compatíveis com o Couchbase Lite.
Introdução
Cada plataforma móvel tem a sua própria implementação de backgrounding de aplicativos. Em alguns casos, elas podem até variar de acordo com a versão do sistema operacional. Por exemplo, entre as várias opções, você tem Serviços em segundo plano no Android, Atualização do aplicativo em segundo plano no iOS e Tarefas em segundo plano em aplicativos UWP. Por esses motivos, com algumas exceções, o suporte a background é uma preocupação em nível de aplicativo e não está incorporado ao Couchbase Lite. Em outras palavras, o aplicativo móvel terá que oferecer suporte ao recurso de backgrounding incorporado da plataforma e, em seguida, invocar os recursos de sincronização de dados do Couchbase Mobile sempre que tiver a oportunidade de executar em segundo plano.
Deve-se observar que, em algumas plataformas, o sistema usa seu critério para encerrar o aplicativo quando ele está em segundo plano. Portanto, não há garantias de que o aplicativo terá a oportunidade de ser executado em segundo plano.
Opções de plano de fundo no iOS
Tarefa em segundo plano
Toda vez que o aplicativo for colocado em segundo plano, o Couchbase Lite usará o aplicativo iOS Tarefa em segundo plano para concluir a sincronização em andamento antes de entrar no modo inativo. Com o recurso Tarefa em segundo plano, o sistema fornece ao aplicativo uma quantidade finita de tempo para ser executado em segundo plano e realizar tarefas críticas antes de suspendê-lo.

Notificações silenciosas
Nesse modo, seu sistema backend pode ser configurado para enviar notificações push silenciosas para seus aplicativos sempre que houver dados disponíveis para serem sincronizados pelos clientes. As notificações push silenciosas são como as notificações push normais, exceto pelo fato de que o usuário final não é notificado. Em vez disso, seu aplicativo é notificado e tem a oportunidade de lidar com a notificação. Quando o aplicativo é ativado nesse modo, ele pode fazer uma replicação única para sincronizar as alterações pendentes com o servidor remoto.
Atualização do aplicativo em segundo plano
Atualização do aplicativo em segundo plano permite que seu aplicativo seja executado periodicamente em segundo plano para que possa atualizar seu conteúdo. Com o tempo, o sistema aprende o uso do seu aplicativo, desperta-o nos momentos apropriados e concede a ele um tempo finito para execução. Quando seu aplicativo é ativado nesse modo, ele pode fazer uma replicação única para sincronizar as alterações pendentes com o servidor remoto.
Tutorial
O tutorial apresentado nesta postagem usa o modo Background App Refresh e está disponível aqui. Neste tutorial, você aprenderá a -
- Configure seu aplicativo iOS para oferecer suporte à atualização de aplicativos em segundo plano
- Configure seu aplicativo para fazer uma sincronização única com o Couchbase Sync Gateway enquanto estiver em segundo plano
Usaremos um aplicativo Swift como exemplo de um cliente habilitado para o Couchbase Lite.
Visão geral do aplicativo
Trabalharemos com um aplicativo simples de "Perfil de usuário" que apresentamos no Tutorial de fundamentos e estendido para oferecer suporte a recursos de sincronização de dados no Tutorial de sincronização. No tutorial, estenderemos esse aplicativo para oferecer suporte à sincronização de dados em segundo plano.
O aplicativo faz o seguinte
- Permite que os usuários façam login e criem ou atualizem suas informações de perfil de usuário. A visualização do perfil do usuário é atualizada automaticamente sempre que as informações do perfil são alteradas no banco de dados subjacente
- As informações do perfil do usuário são sincronizadas com um Sync Gateway remoto que, por sua vez, as sincroniza com outros dispositivos (sujeito ao controle de acesso e às configurações de roteamento especificadas na função de sincronização)
- Quando o aplicativo é ativado em segundo plano, ele faz uma replicação única com o Sync Gateway remoto
Próximas etapas
Ao final do tutorial, você deverá entender como sincronizar entre os aplicativos iOS habilitados para o Couchbase Lite e o Sync Gateway enquanto o aplicativo estiver em segundo plano. Embora tenhamos discutido um modo de segundo plano, você pode aplicá-lo às Notificações silenciosas. Os conceitos também se aplicam a outras plataformas.
Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo Twitter @rajagp ou envie-me um e-mail para priya.rajagopal@couchbase.com. O Fóruns do Couchbase são outro bom lugar para entrar em contato com perguntas.