PATCH V25 - NOTIFICACOES AUTOMATICAS DE VENCIMENTO DO PWA
========================================================

COMO INSTALAR
1) Faca backup da pasta launcher atual.
2) Extraia TODO o conteudo deste ZIP DIRETAMENTE DENTRO da pasta launcher.
3) Confirme a substituicao de apenas estes arquivos existentes:
   - renovar.php
   - sw.js
4) A pasta nova notifications/ deve ser criada automaticamente pela extracao.
5) NAO ha banco de dados neste patch. Seus clientes/revendedores nao sao substituidos.

COMO O CLIENTE ATIVA
- Quem ja tem o PWA instalado NAO precisa reinstalar.
- Ao abrir o PWA atualizado e consultar o codigo, aparece "Ativar notificacoes".
- O cliente toca no botao e permite a notificacao do navegador uma unica vez.
- A assinatura fica vinculada ao CODIGO do cliente e ao reseller_id atual desse codigo.
- Se o cliente for migrado de revendedor depois, o cron le o reseller_id atual na tabela activations.

AVISOS AUTOMATICOS
- 7 dias antes do vencimento
- 3 dias antes do vencimento
- no dia do vencimento
- 1 dia depois do vencimento

HORARIO
O script so envia durante a hora 21:00-21:59 no fuso America/Sao_Paulo.
Para ficar automatico mesmo sem ninguem abrir o site, configure UMA tarefa Cron na hospedagem.

OPCAO A - CRON POR PHP/CLI (RECOMENDADO)
Rode o arquivo abaixo a cada 15 minutos ou a cada hora:
  /CAMINHO/DA/SUA/PUBLIC_HTML/launcher/notifications/cron_expiration_push.php

Exemplo (ajuste o caminho do PHP e da hospedagem):
  */15 * * * * /usr/local/bin/php /home/SEU_USUARIO/public_html/launcher/notifications/cron_expiration_push.php >/dev/null 2>&1

O proprio script verifica o horario de Sao Paulo e so dispara quando for 21h.

OPCAO B - CRON POR URL
Configure o cron da hospedagem/servico para abrir periodicamente:
  https://SEU-DOMINIO/launcher/notifications/cron_expiration_push.php?key=cjwtsRurwwEy2HQANNgSGeghBMZH6y5E

Se seu dominio ja aponta diretamente para a pasta launcher, use:
  https://SEU-DOMINIO/notifications/cron_expiration_push.php?key=cjwtsRurwwEy2HQANNgSGeghBMZH6y5E

STATUS (PROTEGIDO PELA MESMA CHAVE)
  https://SEU-DOMINIO/launcher/notifications/status.php?key=cjwtsRurwwEy2HQANNgSGeghBMZH6y5E

IMPORTANTE
- Web Push exige HTTPS valido no PWA.
- O usuario precisa permitir notificacoes no aparelho.
- O patch cria as tabelas pwa_* automaticamente no api/max.db; nao substitui o banco.
- As notificacoes sao registradas por codigo + aparelho. Um mesmo codigo pode ser ativado em mais de um aparelho.
- O envio aceita endpoints de push conhecidos de Chrome/Android, Firefox, Apple e Windows.
