Inserindo uma caixa de diálogo (popup) no seu aplicativo usando Dialog Pro
Este artigo explica, passo a passo, como criar uma caixa de diálogo com o Dialog Pro, extrair os arquivos gerados e integrá-la ao seu APK para que seja exibida na tela principal do aplicativo.
1. Criando a caixa de diálogo no Dialog Pro
No Dialog Pro, vá em Custom dialog → dialog v1 e crie a caixa de diálogo. As configurações principais são:
- Enter title: coloque o título (por exemplo, o nome do app ou do grupo).
- Convite: texto do convite ou mensagem que aparecerá na caixa.
- Negative: comportamento do botão negativo — ao clicar, a caixa simplesmente fecha.
- Positive: comportamento do botão positivo — ao clicar, o usuário é direcionado para o destino configurado (grupo, site etc.).
- Cores: configure as cores do background, do texto do convite e dos botões.
- URL / Endereço: coloque o endereço do seu grupo ou site.
- Custom time: número de vezes que o popup deve aparecer. Se colocar, por exemplo, 2, o popup será mostrado nas duas primeiras execuções; a partir da terceira, não aparecerá mais. Alternativamente, marque show always para que apareça sempre.
Depois de ajustar tudo, gere (salve) a caixa de diálogo. O Dialog Pro indicará que a caixa foi gerada com sucesso e criará os arquivos dentro da pasta dialog correspondente ao projeto.
2. Preparando a integração no aplicativo
Agora que a caixa foi extraída, o objetivo é fazê-la aparecer na área principal do seu app. Os passos a seguir resumem como localizar a chamada do popup e adicioná-la ao onCreate da activity principal.
3. Copiando a chamada do popup
- Acesse a pasta do Dialog Pro no seu gerenciador de arquivos (a pasta onde foi extraída a caixa).
- Abra o arquivo mencionado (no exemplo, um arquivo chamado redmi) e copie toda a string que corresponde à chamada do popup — essa é a invoke que vai disparar o diálogo.
4. Abrindo o APK no editor (TrebEdit) e localizando a activity
No TrebEdit (ou editor de classes DEX que você estiver usando):
- Vá em View → classes Dex e selecione a opção Dex editor Plus (ou equivalente) para visualizar as classes.
- Abra a aba de busca (no exemplo chamada de start a new search) e cole a string da activity/copied invoke que você copiou anteriormente. Execute a busca para localizar a activity onde a chamada do popup deve ser inserida.
5. Inserindo a chamada no onCreate
- Com a activity correta localizada (ex.: my activity), abra a lista de classes (botão branco no topo do editor) para visualizar todos os métodos.
- Procure por onCreate e abra esse método.
- No trecho de início do aplicativo, logo abaixo do onCreate, insira um espaçamento e cole a chamada/invoke do popup.
- Salve as alterações (ícone de disquete ou comando equivalente no editor).
6. Compilando e mesclando as classes DEX
Após salvar, compile o APK no editor. Durante o processo de compilação e extração das classes DEX, faça o seguinte:
- Escolha uma classe DEX pequena (uma classe com menor tamanho, no exemplo foi selecionada uma de 339 KB) para extrair.
- Extraia essa DEX para dentro da pasta do Dialog (ou pasta apropriada onde está o material do diálogo).
- Abra as duas DEX lado a lado no editor. Use a função de merge (mesclar DEX) para unir as classes necessárias. No exemplo, foram visualizadas várias classes (Class 2, Class 3 etc.) e optou-se por usar a Class 3 por ser a menor.
- Renomeie/ajuste conforme necessário (colocar o mesmo nome quando solicitado) e confirme a mesclagem.
- Adicione a classe mesclada ao APK (opção Add ou equivalente) e confirme (OK).
Quando o processo terminar, a modificação estará pront a para ser instalada.
7. Instalando e testando
Instale o APK modificado no dispositivo. Se tudo foi feito corretamente, ao abrir o aplicativo a caixa de diálogo deverá aparecer na área principal conforme configurado.
No exemplo final ficou confirmado que a caixa de diálogo apareceu conforme o esperado.
Observações finais
- Mantenha os nomes dos métodos e das chamadas exatamente como estão no seu projeto para evitar erros na compilação.
- Se tiver mais de uma activity ou versões diferentes de DEX, confirme sempre em qual activity o onCreate está sendo alterado.
- Tenha backups do APK original antes de modificar e testar alterações em ambientes reais.