Atualizações over the air (OTA) oferecem uma maneira flexível de Entregar atualizações de tradução para aplicativos móvel e web sem exigir um novo lançamento na App Store, Google Play ou outras plataformas de implantação. Essa abordagem oferece suporte à localização contínua e fluxos de trabalho de desenvolvimento ágil, reduzindo atrasos e processos manuais.
O recurso OTA no Phrase Strings integra-se às plataformas iOS, Android, React Native, Flutter, i18next e Rails. As atualizações para rótulos de texto são enviadas instantaneamente para aplicativos móvel.
Um novo lançamento deve ser criado para que as configurações atualizadas sejam aplicadas para o pedido. Todo conteúdo incluído em um lançamento deve estar disponível no Phrase Strings, que transmite traduções diretamente para o aplicativo. Se o conteúdo não estiver presente, as traduções não serão Entregues.
Para aplicativos móvel, o OTA requer a integração do Software Development Kit (SDK) relevante ao aplicativo para recuperar traduções do Phrase Strings em tempo de execução.
Ao iniciar um aplicativo que implementa o SDK para iOS, Android, React Native ou Flutter pela primeira vez em um dispositivo, um identificador de dispositivo exclusivo e aleatório é gerado. Este identificador rastreia usuários ativo durante um determinado período de tempo. Ele não é usado para nenhuma outra forma ou meio de rastreamento e não contém nenhuma informação de usuário ou dispositivo.
O número de solicitações OTA e a quantidade de Usuários Ativo Mensais (MAU) são limitados, dependendo do plano de preços selecionado.
MAU é o número de dispositivos exclusivos dos quais as traduções são solicitadas. Cada dispositivo recebe um ID aleatório. O MAU é calculado com base no número de IDs exclusivos atribuídos nos últimos 30 dias. Cada interação com os servidores Phrase é considerada uma solicitação.
Dados enviados com solicitações OTA
O SDK se comunica com o serviço OTA para verificar atualizações e inclui os seguintes detalhes em cada pedido:
-
Identificador do dispositivo (por exemplo, "F3AFCB10-80A2-84CB-94C0-27F5EF58876D" Único para este aplicativo e, portanto, não permite rastrear um dispositivo específico.)
-
Versão do aplicativo (por exemplo, "1.2.0")
-
Última atualizar do arquivo de tradução (por exemplo, "1542187679")
-
Versão do SDK (por exemplo, "1.0.0")
-
local (por exemplo, "de-DE")
-
formato de arquivo (por exemplo, "Strings")
-
Cliente (por exemplo, "ios")
-
Distribuição ID (ID da distribuição)
-
Segredo do ambiente (para distinguir o desenvolvimento da produção)
Domínios usados pelos SDKs:
Datacenter da UE
-
ota.eu.phrase.com
-
cdn.eu.phrase.com
-
ota.phraseapp.com
-
cdn.phraseapp.com
Datacenter dos EUA
-
ota.us.phrase.com
-
cdn.us.phrase.com
Os SDKs Phrase OTA são projetados para garantir que os aplicativos permaneçam funcionais mesmo se a API OTA estiver indisponível. Nesses casos, o SDK recorre às últimas Strings buscadas com sucesso armazenadas no dispositivo, ou às Strings agrupadas incluídas no pacote do aplicativo. Isso evita erros ou Strings ausentes para os usuários finais. Para garantir um fallback confiável, as Strings agrupadas devem ser mantidas atualizadas a cada lançamento do aplicativo.
Distribuições são uma configuração definida que determina como e onde as atualizações OTA são entregues para uma plataforma ou projeto específico.
As plataformas de tradução são definidas dentro da distribuição:
-
iOS
-
Android
-
Flutter
-
i18next
-
Rails
Múltiplas distribuições são possíveis, mas, idealmente, há uma distribuição por projeto. Se estiver usando uma distribuição para iOS e Android, os placeholders para os dois formatos são convertidos automaticamente.
Fallbacks
Se os fallbacks de idioma estiverem definidos nas configurações de idioma do projeto ao qual a distribuição está conectada, as Strings do idioma selecionado serão exibidas se o idioma solicitado existir, mas a chave não estiver traduzida.
Se um idioma específico de um país (por exemplo, en-GB) for usado, mas não fizer parte do lançamento, o sistema pode recorrer a uma versão padrão (por exemplo, en) desse idioma, se ela existir no projeto. Se o idioma solicitado não for encontrado, o local padrão do projeto poderá ser fornecido.
Fallbacks não funcionarão em chaves vinculadas.
Criar uma distribuição
Para criar uma distribuição, siga estas etapas:
-
Na caixa na página , clique em Configurar ou no número de configurações, caso já existam algumas.
A página abre e exibe as configurações existentes.
-
Clique em Nova distribuição. A janela abre.
-
Na aba Geral, forneça um , com qual a distribuição está associada, os necessários e as necessárias.
-
Para distribuições Android, clique na aba Android para selecionar a opção de formato que envolve qualquer tradução, incluindo tags HTML em CDATA, se necessário.
-
Após selecionar o projeto para associar à distribuição, a aba Agendamento torna-se disponível. Se necessário, use esta aba para configurar OTA lançamentos agendados na distribuição.
-
-
Na aba Fallback languages, Selecionar as configurações de fallback específicas da distribuição conforme necessário. As opções de fallback são priorizadas conforme exibido na lista.
-
Opcionalmente, clique na aba Translations para Selecionar a opção de usar a versão mais recente revisado de traduções. Ativar esta opção apenas ao trabalhar com o advanced review workflow.
-
Clique em Gravar.
Os detalhes da distribuição são exibidos com os IDs exigidos pelos SDKs. Os detalhes podem ser exibidos novamente clicando na distribuição a partir da página .
Para atualizar traduções, Criar uma nova versão dentro da distribuição. O estado atual do projeto é exportado e disponibilizado para clientes conectados.
Para Criar uma versão, siga estas etapas:
-
Na página over the air, clique em Add release ao lado da distribuição necessária.
A janela é aberta.
-
Forneça uma , necessária, , e .
Se necessário, insira tags para incluir apenas chaves com tags específicas na versão.
-
Clique em Gravar.
A versão é adicionada à lista na parte inferior da página de detalhes da distribuição.
Para configurar agendamentos recorrentes para o lançamento da distribuição, siga estas etapas:
-
Na página , clique no ícone de engrenagem
ao lado da distribuição necessária.
A janela é exibida.
-
Selecionar a aba Schedule release e clique em .
As opções de agendamento de lançamento são exibidas.
Nota
As opções de agendamento também estão disponíveis após a criar de uma nova distribuição.
-
No menu suspenso , escolha a frequência de lançamento ao selecionar uma das opções disponíveis:
-
-
Selecionar os dias da semana desejados para os lançamentos agendados.
-
-
Forneça um horário e o relevante.
-
Se necessário, selecionar , e para os lançamentos agendados.
-
O campo é exibido apenas se a ramificação estiver ativada no projeto. Selecionar um ramo atualiza a lista de localidades e idiomas.
-
-
Opcionalmente, especifique as versões do aplicativo nos campos e .
Deixe em branco para aplicar o lançamento agendado a todas as versões do aplicativo.
-
Clique em Gravar.
A distribuição é atualizada com as informações de agendamento de lançamento.
Desativar o agendamento interrompe o lançamento automático da distribuição, mas as configurações configuradas são salvas.
A integração do SDK móvel ou da biblioteca Web apropriada permite a atualização de traduções com um único clique, mas também fornece métricas para medir o uso. Os relatórios do SDK móvel e da biblioteca Web fornecem informações valiosas sobre usuários ativos do aplicativo e seus idiomas de aplicativo. Este conjunto de relatórios está disponível para cada distribuição, e os dados são atualizados duas vezes ao dia.
Relatórios são fornecidos para o número de usuários ativos, solicitações gerais, solicitações por idioma, solicitações por plataforma e para idiomas de dispositivo não fornecidos.
Os relatórios para cada distribuição são acessados por meio do ícone na página .
A documentação técnica para a integração dos SDKs OTA está disponível no arquivo README de cada repositório de projeto: