10 exemplos para configurar esquemas personalizados, links universais e a configuração do Expo - a base que todo app SDK 57 precisa antes de direcionar usuários de e-mail, SMS, códigos QR ou notificações push para a tela correta.
Deep links móveis chegam em duas formas. Escolha com base se você precisa de roteamento HTTPS verificado ou um caminho rápido apenas para desenvolvimento.
┌──────────────────────────────────────────────────────────────────────────┐│ Tipo │ URL de Exemplo │ Abre sem prompt │├───────────────────┼────────────────────────────────┼──────────────────────┤│ Esquema personalizado │ myapp://orders/42 │ Sim (se o app estiver instalado) ││ Universal/App Link│ https://shop.example.com/o/42 │ Sim (quando verificado) ││ Fallback da Web │ https://shop.example.com/o/42 │ Navegador (sem app) │└──────────────────────────────────────────────────────────────────────────┘
Esquemas personalizados são os mais rápidos para enviar - registre scheme em app.config.ts e manipule caminhos no código
Links Universais/Links de Aplicativo exigem arquivos de verificação hospedados no servidor, mas parecem nativos - sem folha de desambiguação no iOS
E-mails de marketing e posts sociais devem preferir links HTTPS com fallbacks da web para usuários sem o app
Deep links HTTPS precisam de uma associação de domínio - adicione associatedDomains (iOS) e intentFilters (Android) via plugins de configuração ou app.config.ts.
Smart banners (apple-itunes-app) melhoram o handoff web-para-app do iOS quando links universais ainda não foram verificados
Timeout de fallback evita que usuários fiquem olhando para uma página em branco quando o app não está instalado
Deep links adiados (instalação → primeira abertura) precisam de SDKs de atribuição ou encanamento de install-referrer personalizado - veja Deep Links Adiados
Mantenha os caminhos da web e do app alinhados - /orders/42 deve significar a mesma entidade em ambas as superfícies
Preciso de um esquema personalizado e links universais?
Apenas o esquema é suficiente para OAuth, testes de desenvolvimento e ferramentas internas.
Aplicativos de consumo em produção devem adicionar links HTTPS verificados para e-mail e web - esquemas exibem UI de desambiguação e quebram quando outro app registra o mesmo esquema.
Mantenha o esquema como fallback durante a implementação de links universais.
O Expo Go lida com meu esquema de produção?
O Expo Go usa o esquema exp:// - seus links shopapp:// abrem o cliente de desenvolvimento ou uma build standalone, não o Expo Go.
Teste deep links no expo-dev-client ou em builds de preview com o ID de bundle real antes do lançamento.
Posso alterar o esquema após a submissão para a App Store?
Sim, mas os links de marketing existentes quebrarão até que você envie uma nova build e atualize todos os URLs de saída.
Trate alterações de esquema como uma alteração de API que quebra a compatibilidade - versione seus links ou mantenha redirecionamentos no host da web.
Quem analisa a URL - Expo Router ou expo-linking?
Expo Router mapeia caminhos para telas ao usar roteamento baseado em arquivos - a escolha padrão.
Linking.parse é para análises, configurações legadas do React Navigation ou URLs não de rota (por exemplo, shopapp://reset-password?token=…).
Por que meu link abre o navegador em vez do app?
A verificação do link universal/link de aplicativo falhou - verifique o AASA e a hospedagem de assetlinks.json.
O usuário pressionou longamente e escolheu "Abrir no Safari" - o iOS lembra por domínio.
O link usa http:// em vez de https:// - a verificação requer TLS.