Ir para o conteúdo

Criar um app offline no Jitterbit App Builder

Introdução

Um app offline é um app App Builder que pode ser executado em um dispositivo móvel iOS ou Android sem conexão de rede. Apps offline são úteis em casos onde os usuários têm conexões de internet limitadas ou intermitentes.

Um app offline precisa de um app App Builder principal para sincronizar. O app principal é um app App Builder completo, enquanto a versão offline geralmente é uma versão simplificada do app principal. Os apps offline e principal possuem bancos de dados, fontes, lógica e páginas semelhantes, mas separados.

A sincronização entre os dois apps é feita com App Builder Connectors.

Importante

A sincronização não pode ser automatizada e deve ser iniciada pelo usuário quando há uma conexão de internet estável.

A autenticação do usuário do app offline é feita por meio do app principal e está descrita em Autenticação de App Offline.

Pré-requisitos

Para criar e implantar um app App Builder offline, você precisa do seguinte:

  • App Builder versão 4.0 ou posterior.

  • Um dispositivo móvel iOS ou Android.

  • Um app completo e pronto para go-live em todos os aspectos, incluindo marca, 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 apps móveis oferecidos por meio de app stores.

  • Uma conta de administrador para o app store de implantação (Apple App Store ou Google Play Store) e a configuração de store necessária para permitir a publicação do app.

Criar seu app principal

Siga nossas práticas recomendadas para um fluxo de trabalho de desenvolvimento de app para criar seu app principal como um app App Builder normal e completo que possa se conectar a sistemas e recursos de terceiros.

Tabelas e regras de negócio (lógica) que devem estar acessíveis no app offline precisam ter tanto Acesso Público de Leitura quanto Acesso Público de Gravação habilitados. Recomenda-se criar uma Função offline dedicada para essas tabelas e objetos de negócio.

Os usuários que fazem login no app offline em seus dispositivos móveis são autenticados por meio do provedor de segurança do app principal.

Dois tokens de segurança estão envolvidos na autenticação do usuário:

  1. Um token de sessão, que autentica o acesso de um usuário a um app offline. (Este token corresponde ao token de sessão de um app App Builder 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 app offline, quando menos da metade do período de expiração permanece.

  2. Um token remoto, que autentica o acesso de um usuário ao app 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 autenticar novamente com o app principal, mas isso acontece automaticamente se o usuário consultar uma tabela remota no app offline.

    Dica

    Como o tempo de expiração dos tokens remotos não pode ser alterado, você deve considerar desenvolver seu app offline para que ele se comunique com o app principal logo após a autenticação do usuário e antes que o token remoto expire.

Criar seu app offline

Use as seguintes diretrizes para criar seu app offline como uma versão leve e simplificada do app principal, com apenas as tabelas, colunas, páginas, lógica ou recursos mínimos essenciais necessários para funcionamento:

  • Dados e fontes:

    • Use o recurso de cópia do App Builder para copiar tabelas essenciais do banco de dados do app principal para o banco de dados do app offline.

    • Revise as tabelas copiadas e remova colunas não essenciais.

    • Adicione o app principal como uma fonte de dados App Builder Connector.

    • Use o connector para importar as tabelas e objetos de negócio que o app offline precisa.

    • Verifique se todas as tabelas no App Builder Connector têm tanto Acesso Público de Leitura quanto Acesso Público de Gravação habilitados.

    • Verifique se não há recursos dependentes de internet, como o seguinte:

  • Endpoints da API REST.

  • Widgets que usam serviços de terceiros.

  • Temas com fontes ou outros ativos baseados na internet.

  • Sincronização núcleo para offline:

    • Crie uma regra XP CRUD para extrair dados do App Builder Connector para o banco de dados do aplicativo offline.

    • Adicione um botão (por exemplo, Extrair dados do aplicativo principal) que chame essa regra.

  • Sincronização offline para núcleo:

    • Crie outra regra XP CRUD para enviar dados do banco de dados do aplicativo offline para o aplicativo principal (via App Builder Connector).

    • Adicione outro botão (por exemplo, Enviar dados para o aplicativo principal) que chame essa regra CRUD.

    • Para sincronizar apenas registros alterados, use os campos Audit Lite AddedOn e ChangedOn, ou adicione uma coluna que seja definida quando uma linha muda e seja redefinida quando sincronizada.

    • Para alertar o usuário de que uma conexão com a internet está disponível, ou para ativar e desativar os botões de sincronização, use a função de runtime system(networkstatus).

Implante seu aplicativo offline

Quando seu aplicativo offline estiver pronto, o suporte do Jitterbit implanta o aplicativo na Apple App Store (iOS) ou na Google Play Store (Android), de onde os usuários podem 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 do Jitterbit.

Limitações

Antes de começar a criar 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.

  • Os agendamentos em segundo plano não são executados quando o aplicativo App Builder no dispositivo móvel está fechado.

  • Aplicativos offline não podem criar PDFs em dispositivos móveis.

Solução de problemas

Para solução de problemas relacionada, consulte o seguinte no guia de solução de problemas do App Builder: