> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 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=supastack
```


## Formas 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.


## Seguinte

[UI nativa e theming](https://supastack.dev/pt/docs/mobile/ui.md)
