Deep Links em Flutter sem pacotes: do zero até produção (Parte 1)
Recentemente precisei implementar deep links em um app Flutter — e decidi não usar nenhum pacote pronto.
Não por hype, mas porque já tive problema em produção com soluções "caixa preta" (principalmente quando envolve Android + iOS + fallback web).
Então comecei a montar tudo do zero, entendendo cada camada:
- Android (intent-filter, lifecycle, onNewIntent)
- iOS (AppDelegate, URL schemes, Universal Links)
- Comunicação com Flutter (MethodChannel / EventChannel)
- E depois: deferred deep linking + redirect web
Resolvi transformar isso em uma série de posts, documentando o processo completo.
O que tem nesse primeiro post
Nesse começo eu foquei na base:
- O que são deep links (sem enrolação)
- Diferença entre custom schemes vs App/Universal Links
- Estrutura inicial no Flutter (constantes, enum, model)
Nada de código nativo ainda — só preparando o terreno pra não virar bagunça depois.
Por que não usar pacote?
Minha motivação principal foi:
- entender o fluxo real (principalmente lifecycle nativo)
- evitar dependência em algo que pode quebrar em edge cases
- conseguir debugar quando algo não funciona (que sempre acontece)
Mas fiquei curioso:
👉 Quem aqui usa uni_links, app_links ou algo similar em produção?
👉 Já tiveram problema com isso?
Link do post
https://medium.com/p/d56ea3619192?postPublishedType=initial
Se fizer sentido, posso ir trazendo os próximos aqui também — principalmente as partes mais "chatas" (Android e iOS nativo).