← blog

um link para iOS e Android: como mandar cada pessoa para a loja certa

você tem um app nas duas lojas e um espaço para link na bio. as saídas de sempre são ruins de dois jeitos diferentes: ou você posta os dois links e pede para a pessoa escolher, ou monta uma página com dois botões e perde gente no caminho.

a segmentação resolve isso com um link só. quem abre no iPhone vai para a App Store, quem abre no Android vai para a Play Store, e quem abre no computador vai para onde você mandar por padrão.

no painel

crie ou abra um link em meus links, clique em segmentação e preencha:

iOShttps://apps.apple.com/br/app/seu-app/id123456789

Androidhttps://play.google.com/store/apps/details?id=com.seuapp

pronto. o campo link de destino continua valendo para todo o resto: computador, tablet fora do iPadOS, qualquer aparelho que não casar com nenhuma regra. deixe ali a sua página do app, ou o site, ou o que faça sentido para quem não está no celular.

esse campo não é opcional e isso é de propósito. um link que não sabe o que fazer com um visitante é um link quebrado.

a regra de iOS vale para iPad também

parece detalhe e é o erro mais fácil de cometer construindo isso do zero. o iPad se identifica como iPadOS, não como iOS, então uma verificação ingênua manda quem está de iPad para a Play Store.

aqui a regra de iOS cobre os dois. quem abre no iPad vai para a App Store, como esperado.

por país

o segundo bloco do painel é uma lista de países. escolha o país, cole o destino, e quem abrir de lá vai para ele:

Portugal   → https://seusite.pt/precos
Brasil     → https://seusite.com.br/precos

serve para preço em moeda local, idioma, ou uma página de disponibilidade quando o produto não existe em todo lugar. o país vem da rede da pessoa, não de uma pergunta na tela.

são no máximo 50 países por link. não é um limite que alguém encoste sem querer, e ele existe para o registro que o redirecionamento lê não crescer sem controle.

quando as duas regras batem ao mesmo tempo

um iPhone no Brasil casa com a regra de iOS e com a de BR. alguma das duas tem que ganhar, então:

o sistema operacional tem prioridade sobre o país.

esse iPhone vai para a App Store. a lógica é que a regra de país é a afirmação mais ampla das duas, e quem está no celular quase sempre quer a loja. o painel diz isso embaixo dos campos e a documentação repete, porque o resultado errado aqui é silencioso: a pessoa cai numa página plausível e ninguém percebe.

pela API

o mesmo link, em uma requisição:

curl -X PATCH https://api.arvore.link/links/a1b2c3d4 \
  -H "Authorization: Bearer arv_seu_token" \
  -H "Content-Type: application/json" \
  -d '{"targeting":{
        "ios":"https://apps.apple.com/br/app/id123456789",
        "android":"https://play.google.com/store/apps/details?id=com.seuapp",
        "geo":{"PT":"https://seusite.pt"}
      }}'

duas coisas para saber antes de automatizar isso:

targeting é substituído por inteiro, não mesclado. mande o conjunto completo de regras a cada vez, ou null para remover todas. se fosse mesclado não haveria como apagar um país, porque não existe jeito de dizer "esse não existe mais".

os códigos de país são ISO 3166-1 alfa-2 em maiúsculas: BR, PT, US. minúsculas viram maiúsculas na gravação, então pt também funciona.

dá para saber se está funcionando

cada clique registra qual regra decidiu o destino: ios, android, geo:BR, ou nada quando ninguém casou e a pessoa foi para o destino padrão.

isso importa mais do que parece. sem esse registro, "a segmentação está funcionando?" não tem resposta, e a resposta honesta muitas vezes é "não casou com ninguém" porque o link foi compartilhado num lugar onde todo mundo abre no computador.

sendo direto sobre o estado disso hoje: o dado é gravado em cada clique, mas a tela de métricas ainda não mostra essa divisão. ela chega numa próxima; o histórico já está sendo guardado desde agora, então quando aparecer não vai começar vazia.

o que a segmentação não é

não é segredo. quem abre o link vê o destino na barra de endereço, como em qualquer link curto. segmentação é conveniência, não privacidade. se você precisa que um destino não seja visto, o caminho é senha no link, e mesmo ela protege o acesso e não o endereço.

não funciona com link expirado. se o link tem data de expiração e ela passou, acabou para todo mundo, sem exceção por país. um link que morreu não deveria continuar vivo para quem tem regra própria.

mexe pouco, mas mexe, no card de compartilhamento. um rastreador do WhatsApp ou do LinkedIn não é iPhone nem Android, então as regras de sistema operacional nunca casam com ele e a prévia vem do destino padrão. mas o rastreador tem um país, o do servidor de onde ele sai, e esse país pode casar com uma regra de geo. na prática: se você usa segmentação por país, o card que aparece no compartilhamento pode ser o de um país que não é o seu.

vale saber se isso te incomoda. o jeito de não depender disso é definir a prévia ao compartilhar, que fixa título, descrição e imagem no próprio link curto, independente de para onde ele manda quem clica.

o caso mais comum, de novo

se você chegou aqui procurando "um link que abre a loja certa", são dois campos e trinta segundos:

  1. abra o link em meus links
  2. clique em segmentação
  3. cole a URL da App Store e a da Play Store, aplique, salve

o link curto continua o mesmo. quem já compartilhou não precisa trocar nada.