A escolha da arquitetura do nosso aplicativo foi pensada em cima da nossa necessidade de modularização do app, porém, ainda havia algum mistério sobre como iríamos usar deep links com as rotas do flutter modular.
O que são Deep Links?
Os deep links são links acessados de fora do app, que direcionam para uma página específica dentro do app.
Para verificação dessa funcionalidade usamos o app de campo.É também importante que eles sejam de fácil manutenção e que tenham um código claro para novos integrantes do time.
Possibilidades
Foi avaliada a possibilidade de usarmos um código diretamente nativo. Porém haveria o problema que apesar da configuração ser igual, o código que ouve esse links não seria flutter e sim nativo.
Havia também a possibilidade de usar uma solução do firebase chamada: “Dynamic Links”, e apesar da documentação ser muito legal e coloridinha (rs), a configuração e implementação levava mais tempo. Além de que teríamos que entrar com esse recurso a mais no console do firebase, ao invés de ser algo claro no código.
E também havia a lib uni_links, que foi o que resolveu a parada.
Essa proposta é de simples implementação e só necessita adicionar configurações nas duas plataformas, sem necessidade de codificar nada nativo. Dessa forma, se sobressai sobre a proposta de implementação pura pois só exige flutter, o que devido ao tamanho do time é um ganho muito importante.
Você pode ver as instruções de instalação da solução aqui.
E vamos à implementação!