Crie um aplicativo offline no Jitterbit App Builder
Introdução
Um aplicativo offline é um aplicativo do App Builder que pode ser executado em um dispositivo móvel iOS ou Android sem uma conexão de rede. Aplicativos offline são úteis em casos onde os usuários têm conexões de internet limitadas ou intermitentes.
Um aplicativo offline precisa de um aplicativo principal do App Builder para sincronizar. O aplicativo principal é um aplicativo do App Builder totalmente funcional, enquanto a versão offline é geralmente uma versão simplificada do aplicativo principal. Os aplicativos offline e principal possuem bancos de dados, fontes, lógica e páginas semelhantes, mas separados.
A sincronização entre os dois aplicativos é feita com Conectores do App Builder.
Importante
A sincronização não pode ser automatizada e deve ser iniciada pelo usuário quando houver uma conexão de internet estável.
A autenticação do usuário do aplicativo offline é feita através do aplicativo principal e é descrita em Autenticação de Aplicativo Offline.
Pré-requisitos
Para construir e implantar um aplicativo offline do App Builder, você precisa do seguinte:
-
Versão 4.0 ou posterior do App Builder.
-
Um dispositivo móvel iOS ou Android.
-
Um aplicativo completo e pronto para ser lançado em todos os aspectos, incluindo branding, política de privacidade cobrindo as jurisdições de implantação, termos e condições para o usuário aceitar ou recusar, e outros recursos comumente associados a aplicativos móveis oferecidos através de lojas de aplicativos.
-
Uma conta de administrador para a loja de aplicativos de implantação (Apple App Store ou Google Play Store) e a configuração necessária da loja para permitir a publicação do aplicativo.
Construa seu aplicativo principal
Siga nossas melhores práticas para um fluxo de trabalho de desenvolvimento de aplicativos para construir seu aplicativo principal como um aplicativo do App Builder normal e totalmente funcional que pode se conectar a sistemas e recursos de terceiros.
Tabelas e regras de negócios (lógica) que devem ser acessíveis no aplicativo offline devem ter tanto Acesso Público de Leitura quanto Acesso Público de Escrita habilitados. Recomenda-se que você crie um Papel dedicado offline para essas tabelas e objetos de negócios.
Os usuários que fazem login no aplicativo offline em seus dispositivos móveis são autenticados por meio do provedor de segurança do aplicativo principal.
Dois tokens de segurança estão envolvidos na autenticação do usuário:
-
Um token de sessão, que autentica o acesso de um usuário a um aplicativo offline. (Esse token corresponde ao token de sessão de um aplicativo do App Builder que não é móvel.) Os tokens de sessão têm um tempo de expiração padrão de duas semanas. Eles são renovados enquanto o usuário continua a usar o aplicativo offline, quando menos da metade do período de expiração permanece.
-
Um token remoto, que autentica o acesso de um usuário ao aplicativo principal e suas tabelas públicas. Os tokens remotos têm um tempo de expiração padrão de uma hora. Uma vez expirado, o usuário deve se reautenticar no aplicativo principal, mas isso acontece automaticamente se o usuário consultar uma tabela remota no aplicativo offline.
Dica
Como o tempo de expiração para tokens remotos não pode ser alterado, você deve considerar desenvolver seu aplicativo offline para que ele se comunique com o aplicativo principal logo após a autenticação do usuário e antes que o token remoto expire.
Construa seu aplicativo offline
Use as seguintes diretrizes para construir seu aplicativo offline como uma versão leve e simplificada do aplicativo principal, com apenas as tabelas, colunas, páginas, lógica ou recursos essenciais necessários para que funcione:
-
Dados e fontes:
-
Use o recurso de cópia do App Builder para copiar tabelas essenciais do banco de dados do seu aplicativo principal para o banco de dados do aplicativo offline.
-
Revise as tabelas copiadas e remova quaisquer colunas não essenciais.
-
Adicione o aplicativo principal como um Conector do App Builder como fonte de dados.
-
Use o conector para importar as tabelas e objetos de negócios que o aplicativo offline precisa.
-
Verifique se todas as tabelas no Conector do App Builder têm acesso público de Leitura e Escrita habilitado.
-
Verifique se não há recursos dependentes da internet, como os seguintes:
-
Endpoints da API REST.
-
Widgets que usam serviços de terceiros.
-
-
-
Temas com fontes ou outros ativos baseados na internet.
-
Sincronização do núcleo para offline:
-
Crie uma regra XP CRUD para puxar dados do Conector do App Builder para o banco de dados do seu aplicativo offline.
-
Adicione um botão (por exemplo, Puxar dados do aplicativo principal) que chama essa regra.
-
-
Sincronização do offline para o núcleo:
-
Crie outra regra XP CRUD para enviar dados do banco de dados do aplicativo offline para o aplicativo principal (via o Conector do App Builder).
-
Adicione outro botão (por exemplo, Enviar dados para o aplicativo principal) que chama essa regra CRUD.
-
Para sincronizar apenas registros alterados, use os campos Audit Lite
AddedOn
eChangedOn
, ou adicione uma coluna que é definida quando uma linha muda e é redefinida quando sincronizada. -
Para alertar o usuário que uma conexão com a internet está disponível, ou para habilitar e desabilitar os botões de sincronização, use a função em tempo de execução
system(networkstatus)
.
-
Implantar seu aplicativo offline
Quando seu aplicativo offline estiver pronto, o suporte Jitterbit implantará o aplicativo na Apple App Store (iOS) ou na Google Play Store (Android), de onde os usuários poderão baixá-lo em seus dispositivos móveis.
Em contraste com o aplicativo principal, que você libera por conta própria, se você alterar o aplicativo offline, ele deve ser reimplantado pelo suporte Jitterbit.
Limitações
Antes de começar a construir seu aplicativo offline, você deve estar ciente das seguintes limitações:
-
O banco de dados de um aplicativo offline é apagado quando o aplicativo é atualizado.
-
Sincronizar um grande número de registros (10.000 ou mais) pode levar muito tempo.
-
Agendas em segundo plano não são executadas quando o aplicativo App Builder no dispositivo móvel está fechado.
-
Aplicativos offline não podem criar PDFs em dispositivos móveis.