As atualizações Over-the-Air (OTA) oferecem uma maneira flexível de entregar atualizações de tradução para aplicativos móveis 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óveis.
Um novo lançamento deve ser criado para que as configurações atualizadas sejam aplicadas. Todo o conteúdo incluído em um lançamento deve estar disponível no Phrase Strings, que transmite as 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óveis, 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.
Dica
Para detalhes sobre distribuição, lançamento e referência de API, consulte o Developer Hub.
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 único e aleatório é gerado. Este identificador rastreia usuários ativos 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 do usuário ou do dispositivo.
O número de solicitações OTA e a quantidade de Usuários Ativos Mensais (MAU) são limitados, dependendo do plano de preços selecionado.
MAU é o número de dispositivos únicos 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 únicos atribuídos nos últimos 30 dias. Cada interação com os servidores do Phrase é considerada uma solicitação.
Dados enviados com solicitações OTA
O SDK comunica-se com o serviço OTA para verificar atualizações e inclui os seguintes detalhes em cada solicitação:
-
Identificador do dispositivo (por exemplo, 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.0.0"). 2.
-
Última atualização do arquivo de tradução (por exemplo, "2023-01-01"). 1542187679.
-
Versão do SDK (por exemplo, "2.3.4"). 1.0.0.
-
Localidade (por exemplo, "de-DE").
-
Formato de arquivo (por exemplo, "strings").
-
Cliente (por exemplo, "ios").
-
Segredo do ambiente (para distinguir entre desenvolvimento e 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 OTA do Phrase 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 traduções buscadas com sucesso armazenadas no dispositivo ou às traduções incorporadas incluídas no pacote do aplicativo. Isso evita erros ou strings ausentes para os usuários finais. Para garantir um fallback confiável, as traduções incorporadas devem ser mantidas atualizadas a cada lançamento de 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 destino 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 usar uma distribuição para iOS e Android, os placeholders para os dois formatos são convertidos automaticamente.
Permissões
O gerenciamento de distribuições e lançamentos OTA é limitado pela atribuição de projeto. Os usuários os gerenciam apenas nos projetos aos quais estão atribuídos.
As funções de Proprietário, Administrador, Gerente de Projeto, Desenvolvedor e Designer têm acesso total às distribuições e lançamentos OTA por padrão. A função de Tradutor não tem acesso.
Proprietários e Administradores têm acesso a todos os projetos.
Os usuários precisam de permissão em nível de conta para gerenciar distribuições antes de criar uma. A nova distribuição é anexada apenas aos projetos que o usuário pode acessar.
Para um controle mais granular, clientes Enterprise podem entrar em contato com a equipe de suporte sobre uma função personalizada.
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 da versão, o sistema pode recorrer a uma versão padrão (por exemplo, en) desse idioma, caso ela exista no projeto. Se o idioma solicitado não for encontrado, a localidade padrão do projeto será utilizada.
Os 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 é aberta e exibe as configurações existentes.
-
Clique em Nova distribuição. A janela é aberta.
-
Na guia Geral, forneça um , indique o ao qual a distribuição está associada e selecione os e as necessárias.
-
Para distribuições Android, clique na guia 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 a ser associado à distribuição, a guia Agendamento torna-se disponível. Se necessário, use esta guia para na distribuição.
-
-
Na guia Idiomas de fallback, selecione 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 guia Traduções para selecionar a opção de usar a versão revisada mais recente das traduções. Habilite esta opção apenas ao trabalhar com o .
-
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 na página .
Para atualizar as traduções, crie uma nova versão dentro da distribuição. O estado atual do projeto é exportado e disponibilizado para os clientes conectados.
Para criar uma versão, siga estas etapas:
-
Na página Over the air, clique em Adicionar versão ao lado da distribuição desejada.
A janela é aberta.
-
Forneça uma , indique a , o e selecione os e as necessárias.
Os idiomas que ainda não foram adicionados à lista de idiomas da distribuição aparecem desmarcados e indisponíveis para seleção. Adicione os idiomas necessários à distribuição para torná-los selecionáveis em versões futuras.
Se nenhum idioma for selecionado manualmente ao criar uma versão, todos os idiomas configurados na distribuição serão incluídos na versão por padrão.
Se necessário, insira tags para incluir apenas chaves com tags específicas na versão. Adicionar um filtro de tag a uma versão inclui apenas as chaves que possuem essa tag. As chaves sem a tag são excluídas completamente da versão, e o aplicativo conectado recorre aos arquivos de tradução estáticos incorporados localmente em sua base de código para essas chaves. A filtragem por tag funciona independentemente do ramificação: se a ramificação estiver ativada, selecione a ramificação e a(s) tag(s) relevante(s); se não estiver, selecione apenas a(s) tag(s) relevante(s).
-
Clique em Gravar.
O lançamento é adicionado à lista na parte inferior da página de detalhes da distribuição.
Para configurar agendamentos recorrentes para o lançamento, siga estas etapas:
-
Na página , clique no ícone de engrenagem
ao lado da distribuição necessária.
A janela é exibida.
-
Selecione a guia Lançamento agendado e clique em .
As opções de agendamento de lançamento são exibidas.
-
No menu suspenso , escolha a frequência de lançamento selecionando uma das opções disponíveis:
-
-
Selecione os dias da semana desejados para os lançamentos agendados.
-
-
Forneça um horário e o relevante.
-
Se necessário, selecione , e para os lançamentos agendados.
-
O campo é exibido apenas se o branching estiver ativado no projeto. Selecionar um branch 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 definidas são salvas.
Nota
Não há opção na interface do Strings para pausar ou desativar temporariamente o OTA. Para impedir que um aplicativo busque traduções, remova o ID de distribuição da configuração OTA do aplicativo; restaure o ID para retomar o OTA. Como último recurso, exclua a distribuição e crie uma nova.
Integrar o SDK móvel ou a biblioteca Web apropriados 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 os usuários ativos do aplicativo e seus idiomas. 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 totais, 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 .
O número de usuários ativos mostrado nestes relatórios reflete uma janela móvel de 30 dias com base na data atual, não um período fixo de calendário ou de ciclo de faturamento.
A documentação técnica para integrar os SDKs OTA está disponível no arquivo README de cada repositório de projeto: