Versão 1.2.3
Por que uma nova Versão?
Esta versão traz melhorias críticas de estabilidade e segurança para builds de produção (Release). Focamos na compatibilidade total com ferramentas de ofuscação e minificação (R8/ProGuard) e na resiliência da comunicação de dados (JSON/Gson).
Mapeamento rigoroso de anotações @Keep aplicadas a todas as classes de Modelo, DTOs (Data Transfer Objects) e entidades públicas (MPPViewData, UiMessage, etc.). Isso garante que o aplicativo cliente possa ativar o R8 em seus builds de release sem quebrar a comunicação com a nossa SDK.
Além disso, no setup da Application, a única mudança é que agora o campo packageName passa a não aceitar valores nulos.
Como implementar ?
A única alteração necessária no setup da Application é que o campo packageName não aceita mais valores nulos (null). Para preencher este campo, você pode passar a string literal ou capturar o valor dinamicamente utilizando applicationContext.packageName
Obs: Quando minifyEnabled true ser habilitado, o próprio build exigirá mudanças em um arquivo chamado
Ao ativar o minifyEnabled true, o R8 (o otimizador e ofuscador de código do Android) vasculha todo o código e pode encontrar referências a classes que não existem no seu projeto. Isso geralmente acontece porque algumas bibliotecas de terceiros fazem referência a outras bibliotecas "opcionais" que não foram incluídas por você.
Como medida de segurança para evitar que o app quebre, o R8 pausa o build, alerta sobre essas referências e gera automaticamente um arquivo de texto contendo as regras para ignorar esses alertas. Esse arquivo é salvo no caminho: C:\caminho_do_seu_projeto\...\release\missing_rules.txt.
É importante notar que essas regras são totalmente exclusivas para cada projeto, pois dependem diretamente das bibliotecas que estão sendo importadas. Portanto, o arquivo disponibilizado abaixo serve apenas como exemplo, já que cada aplicativo terá suas próprias regras geradas de maneira personalizada.
Atualizado

