DataFirefly PWA: guia completo
Instalar, configurar e explorar a PWA: loja instalável, notificações push web, lembrete de carrinho por cron e modo offline para PrestaShop 8 e 9.
Apresentação
O módulo DataFirefly PWA (dfpwa) transforma a sua loja PrestaShop numa Progressive Web App: os seus clientes podem instalá-la no ecrã inicial, receber notificações push web e continuar a navegar mesmo sem ligação. O módulo é totalmente autónomo: a cifragem das notificações é gerida em PHP nativo, sem Composer, sem serviço de terceiros e sem subscrição.
Três pilares: uma loja instalável (ícone no ecrã inicial), notificações push (campanhas, seguimento de encomenda, lembrete de carrinho) e um modo offline (service worker + página de reserva).
Adaptação para Portugal: o módulo é entregue em 5 idiomas (FR, EN, ES, DE, IT). Traduza as cadeias do módulo em Internacional → Traduções (banner de instalação, guia iOS, pedido de consentimento, página offline) para uma loja portuguesa; caso contrário, o visitante verá o texto em inglês.
Compatibilidade
- PrestaShop 8.0 a 9.x
- Loja única e multiloja
- 5 idiomas: FR, EN, ES, DE, IT
- Nenhuma dependência (nem Composer nem framework)
Pré-requisitos
- HTTPS obrigatório: as PWA e o push web só funcionam numa loja servida em HTTPS. A quase totalidade das lojas em produção já dispõe dele.
- Extensão PHP openssl: usada para a cifragem VAPID das notificações. O módulo verifica a sua presença na instalação.
Se o openssl ou a curva prime256v1 não estiverem disponíveis no seu servidor, a instalação é bloqueada com uma mensagem explícita. Contacte o seu alojamento para ativar a extensão.
Instalação
- No back-office, abra Módulos > Gestor de módulos.
- Clique em Instalar um módulo e selecione o ficheiro
dfpwa.zip. - Uma vez instalado, clique em Configurar.
Na instalação, o módulo gera automaticamente as suas chaves VAPID (pública e privada) e um token de cron, cria as tabelas das subscrições e do registo de envios, e regista a página de configuração das campanhas no menu de administração.
Configuração
Aplicação (PWA)
- Nome da aplicação e nome curto: apresentados por baixo do ícone quando a loja está instalada.
- Cor do tema e cor de fundo: usadas para a barra do sistema e o ecrã de arranque.
- Modo de apresentação: standalone (ecrã inteiro, recomendado), fullscreen ou minimal-ui.
- URL de arranque: página aberta no lançamento da aplicação instalada.
- Ícones 192 e 512 px: carregue os seus próprios ícones (PNG ou WebP). Na falta deles, é usado automaticamente o logótipo da loja.
Banner de instalação
- Mostrar o banner: propõe a instalação aos visitantes elegíveis.
- Atraso de apresentação: número de segundos antes do aparecimento do banner, para não incomodar a chegada ao site.
- Ajuda iOS: mostra um guia passo a passo «Adicionar ao ecrã principal» para os utilizadores do Safari no iPhone e iPad.
No iOS, a instalação não pode ser acionada automaticamente pelo site: passa obrigatoriamente pelo menu de partilha do Safari. O guia integrado explica cada passo ao visitante.
Notificações push
- Ativar o push: autoriza a inscrição e o envio de notificações.
- Consentimento prévio: mostra uma mensagem explícita antes do pedido nativo do navegador, em conformidade com o RGPD.
- Atraso antes do pedido: tempo de espera antes de propor a inscrição no push.
- Assunto VAPID: endereço de contacto (mailto ou URL) transmitido aos servidores de push, de acordo com a especificação.
- Notificação na mudança de estado da encomenda: avisa automaticamente o cliente (encomenda expedida, por exemplo).
- Lembrete de carrinhos abandonados e atraso do lembrete: aciona uma notificação após um carrinho deixado sem encomenda.
Modo offline
- Ativar o modo offline: regista o service worker e a página de reserva.
- Estratégia de cache: stale-while-revalidate (apresentação imediata e depois atualização em segundo plano, recomendado), rede primeiro ou cache primeiro.
- Título e mensagem offline: textos apresentados na página de reserva.
- Pré-cache: lista de URL a colocar em cache logo na instalação do service worker.
As páginas sensíveis (carrinho, funil de encomenda, conta de cliente) são sempre excluídas da cache para nunca servir conteúdo desatualizado sobre dados pessoais ou transacionais.
Partilha
Ative o botão de partilha nativo para permitir aos seus clientes partilhar uma página de produto através da janela de partilha do seu dispositivo (Web Share API). Adicione o atributo data-dfpwa-share a qualquer elemento do seu tema para o tornar um acionador de partilha.
Notificações push: funcionamento
O módulo implementa o push web padrão (VAPID + cifragem conforme às RFC 8291 e 8188), inteiramente em PHP através do openssl. Nenhum dado de subscrição sai do seu servidor.
Enviar uma campanha
- Abra a página Campanhas push no menu de administração.
- Introduza um título, uma mensagem e um URL de destino.
- Segmente por idioma e por grupo de clientes, se necessário.
- Use o modo de teste para enviar a notificação a si próprio antes de um envio em massa, e confirme depois.
As notificações são enviadas em paralelo por lotes, e as subscrições expiradas (códigos 404 / 410) são automaticamente limpas. Cada envio é registado no registo com o número de destinatários, de entregas e de cliques.
Gatilhos automáticos
- Seguimento de encomenda: a cada mudança de estado, o cliente subscrito recebe uma notificação (se tiver aceitado o push).
- Carrinho abandonado: uma tarefa cron deteta os carrinhos com artigos, associados a um cliente subscrito e sem encomenda, na janela de lembrete configurada.
O lembrete de carrinho é executado através de uma tarefa cron protegida por um token. Obtenha o URL de cron completo na página de configuração e adicione-o ao seu agendador (por exemplo a cada hora). O token impede qualquer disparo não autorizado.
Modo offline: funcionamento
O service worker é registado no âmbito raiz da loja graças ao cabeçalho Service-Worker-Allowed, o que lhe permite controlar o conjunto das páginas. Consoante a estratégia escolhida, serve as páginas a partir da cache, da rede ou de ambas. Quando a ligação é totalmente perdida e não há nenhuma versão em cache disponível, é apresentada uma página de reserva autónoma com as cores da sua loja, com um botão «Tentar de novo» e um regresso à página inicial.
Painel
A página de configuração mostra num relance o número de subscritores do push, o número de notificações enviadas e a taxa de cliques das suas campanhas. Como as subscrições expiradas são limpas automaticamente, estas estatísticas mantêm-se fiáveis.
FAQ e resolução de problemas
O banner de instalação não aparece
Verifique que a loja é servida em HTTPS, que o módulo está ativo e que a PWA ainda não está instalada. Num navegador de secretária, a instalação é frequentemente feita através do ícone dedicado na barra de endereço. No iOS, use o guia «Adicionar ao ecrã principal».
As notificações não partem
Certifique-se de que o push está ativo, que as chaves VAPID estão presentes (caso contrário aparece um aviso no painel) e que há clientes subscritos. O modo de teste permite validar a cadeia de envio de ponta a ponta.
O lembrete de carrinho não dispara
Confirme que o URL de cron está a ser chamado pelo seu agendador e que contém o token correto. Verifique também o atraso de lembrete configurado e a presença de clientes subscritos com um carrinho elegível.
O push funciona no iPhone?
Sim, a partir do iOS 16.4, mas apenas depois de a loja estar instalada no ecrã inicial. O guia de instalação iOS é portanto essencial para ativar o push nesses dispositivos.