For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /pt/docs/mobile/deep-links.md (or send Accept: text/markdown).
Deep links e configuração da app
O scheme de URL, o mapa de rotas dos ecrãs e o contrato de configuração embebida.
Um valor de env deriva o scheme
EXPO_PUBLIC_APP_SCHEME alimenta apps/mobile/app.config.ts, que deriva o scheme de deep link e as origens permitidas de produção através da mesma configuração de auth mobile que o fluxo de início de sessão usa. O valor é validado — só caracteres de scheme em minúsculas — e schemes reservados como http, https, file, javascript, data, exp e exps são recusados. A predefinição enviada é supastack.
Os dois identificadores saem como com.supastack.app em app.json (ios.bundleIdentifier e android.package); renomeia-os antes do primeiro upload à loja, junto com o scheme.
# apps/mobile/.env.local
EXPO_PUBLIC_APP_SCHEME=supastackFormas de link que a app aceita
Os deep links são só de scheme personalizado: <scheme>://auth/callback conclui um handoff de início de sessão e <scheme>://invite/<token> abre o ecrã de convite, que envia o token para a rota de aceitação de convites. Universal links não estão configurados — o app.json não declara associatedDomains — por isso todos os links resolvem através do scheme.
O mapa expo-router em apps/mobile/app: index é o ecrã de início de sessão, onboarding e new-organization tratam da configuração de primeira execução, paywall apresenta as compras e feedback é um ecrã autónomo que funciona sem sessão iniciada. Dentro do grupo (app) os separadores são home, chat, notifications e settings; content, commerce e assistant são ecrãs escondidos alcançados a partir das ações rápidas do home, e settings guarda a sua própria sub-stack de ecrãs.
Embebido significa que os dois lados têm de concordar
Os valores públicos Expo ficam cozidos no binário distribuído, enquanto o servidor valida os callbacks mobile contra MOBILE_ALLOWED_ORIGINS por pedido. O par tem de corresponder: uma mudança de scheme ou origem significa um novo build da app e um deploy do servidor, nunca um sem o outro.
Sem canal over-the-air
O kit não inclui a dependência expo-updates nem configuração de updates — as mudanças de JavaScript chegam aos utilizadores só através de novos builds de loja. Mantém a API compatível com o build mais antigo suportado, ou protege capacidades novas atrás de estado gerido pelo servidor.
Verificação e resolução de problemas
Testa links de arranque a frio, links que chegam com a app em segundo plano e um link recebido sem sessão iniciada. Se um link abrir uma listagem de loja ou um browser em vez da app, o scheme do build instalado não corresponde a EXPO_PUBLIC_APP_SCHEME.