Migrar chamadas de geocodificação feitas diretamente de um aplicativo móvel traz algumas restrições que uma migração puramente no servidor não enfrenta, e vale a pena nomeá-las com clareza antes de começar, já que elas mudam o formato do plano.
A primeira é o ritmo de lançamentos. Uma mudança no servidor pode entrar no ar no momento em que é implantada. Uma mudança em um aplicativo móvel precisa passar pela revisão da loja de aplicativos, e a adoção depois depende de os usuários realmente atualizarem, o que para muitos aplicativos leva semanas para alcançar a maioria da base instalada e pode levar bem mais tempo para alcançar todos. Qualquer plano de migração de um aplicativo móvel precisa prever a execução de dois provedores, ou de duas versões do aplicativo, lado a lado por mais tempo do que uma migração de servidor normalmente exige.
A segunda é a exposição de credenciais. Uma chave de API embutida diretamente no binário de um aplicativo móvel pode ser extraída por qualquer pessoa motivada a procurá-la, o que é uma questão de segurança independentemente do provedor envolvido. Se a sua integração atual chama uma API de geocodificação diretamente do cliente com uma chave embutida, uma migração é um momento razoável para repensar esse padrão e passar a chamada para trás do seu próprio backend, mesmo que isso acrescente um pouco de latência e um pouco de trabalho no backend.
Alguns passos práticos que se aplicam à maioria das migrações móveis:
Se for mover a chamada para o servidor, projete primeiro o novo endpoint do backend e faça o aplicativo móvel conversar com a sua própria API antes de se preocupar com qual provedor fica por trás dela, desacoplando totalmente a mudança no aplicativo da mudança de provedor
Se for manter a chamada no cliente, use um valor de configuração definido no build para o host e a chave da API em vez de deixá-los fixos no código, para que uma migração futura não exija encontrar e substituir de novo uma string literal em todo o código
Teste em versões antigas do aplicativo que ainda estão em uso, e não apenas no build mais recente, se você pretende oferecer suporte aos dois provedores durante um período de transição, já que uma versão antiga do aplicativo chamando um host antigo, prestes a ser desativado, é um cenário realista que merece uma decisão explícita sobre por quanto tempo continuar oferecendo suporte a ele
As opções de autenticação do My Geocode (um cabeçalho X-API-Key, um cabeçalho Authorization: Bearer, autenticação HTTP Basic ou um parâmetro de consulta) funcionam da mesma forma, quer a requisição parta diretamente de um cliente móvel ou do seu próprio backend fazendo proxy da chamada, então essa decisão em particular (cliente ou servidor) não restringe o estilo de autenticação disponível em nenhum dos casos. O uso da cota fica visível em todas as respostas por meio de cabeçalhos como X-Quota-Used e X-Quota-Reset, documentados em /docs/rate-limits/, o que é útil para acompanhar o progresso da implantação de uma migração móvel, se você conseguir acessar esses cabeçalhos no ponto de origem das requisições.
Migrações móveis recompensam mais a paciência do que as de servidor, principalmente porque o ciclo de lançamento e adoção impõe um prazo que você não consegue encurtar trabalhando mais rápido. Planejar uma janela de transição mais longa desde o início evita a frustração de esperar o ritmo de uma migração de servidor de um processo que, por sua estrutura, não consegue andar tão rápido.
Automações no-code construídas sobre uma etapa de geocodificação exigem uma abordagem de migração diferente da usada em código próprio. Veja como lidar com essa troca.
Trocar de fornecedor de dados de localização não é apenas uma decisão técnica. Veja o que revisar do lado do processamento de dados e da privacidade nessa mudança.
Desligar a chave de API de um provedor antigo cedo demais ou tarde demais traz riscos nos dois casos. Veja como aposentar credenciais corretamente quando uma migração estiver concluída.