PS PrestaShop Intermédio

DataFirefly PWA: guia completo

Instalar, configurar e explorar a PWA: loja instalável, campanhas push enriquecidas e agendadas, alertas de produto, preferências do cliente e modo offline para PrestaShop 8 e 9.

Atualizado Versão do módulo 1.4.1

Panorâmica

O módulo DataFirefly PWA (dfpwa) transforma a sua loja PrestaShop numa Progressive Web App: os clientes instalam-na no ecrã principal, recebem notificações web push e continuam a navegar offline. O módulo é totalmente autónomo: a cifragem corre em PHP nativo, sem Composer, sem serviços externos e sem subscrição.

Quatro pilares: uma loja instalável, um motor de push profissional (campanhas enriquecidas, agendadas, segmentadas), automatizações (encomendas, carrinhos, stock, preços) e um modo offline.

Compatibilidade e requisitos

  • PrestaShop 8.0 a 9.x, loja única e multiloja
  • Módulo traduzido em 7 idiomas: FR, EN, ES, DE, IT, NL, PL
  • Sem dependências: nem Composer, nem framework, nem serviços externos
  • HTTPS obrigatório: as PWA e o web push não existem em HTTP
  • Extensão PHP openssl com a curva prime256v1, para a cifragem VAPID
  • Tarefa cron para campanhas agendadas, alertas de produto e recuperação de carrinhos

Se o openssl ou a curva prime256v1 não estiverem disponíveis, a instalação é bloqueada com uma mensagem explícita. Peça ao seu alojamento para ativar a extensão.

Instalação

  1. Back office: Módulos > Gestor de módulos.
  2. Carregar um módulo e selecione dfpwa.zip.
  3. Clique em Configurar.
  4. Copie o URL de cron indicado no painel e adicione-o ao seu agendador, a cada 5 a 15 minutos.

Na instalação, o módulo gera as suas chaves VAPID e um token de cron, cria as tabelas, instala a página de campanhas e acrescenta a ligação «Preferências de notificação» na conta do cliente. São incluídos ícones PWA válidos, pelo que a loja fica instalável de imediato, antes mesmo de carregar os seus.

Configuração

Aplicação e instalação

  • Nome e nome curto: apresentados sob o ícone depois de instalada.
  • Cor do tema e cor de fundo: barra do sistema e ecrã de arranque.
  • Modo de visualização: standalone recomendado. O modo browser impede qualquer instalação.
  • URL de arranque: página aberta ao iniciar a aplicação.
  • Ícones de 192 e 512 px: PNG ou WebP quadrados. Um ícone demasiado pequeno ou não quadrado é recusado e mantém-se o predefinido do módulo, para não quebrar a instalabilidade.
  • Banner de instalação, atraso de apresentação e ajuda iOS.

Diagnóstico de instalabilidade

O painel verifica ponto por ponto o que o Chrome exige antes de propor a instalação: HTTPS, modo de visualização compatível, ícones de 192 e 512 px válidos, página de recurso offline disponível e módulo ativo. Uma ligação abre o manifest gerado.

Em iPhone e iPad não existe qualquer aviso automático: o Safari impõe o passo manual «Adicionar ao ecrã principal». É normal, e o módulo explica-o ao visitante. O diagnóstico diz respeito, portanto, ao Android e aos navegadores de computador. Na loja, o comando dfpwaDiagnose() na consola do navegador indica exatamente o que está a bloquear.

Web push

  • Assunto VAPID: endereço de contacto enviado aos serviços de push, em mailto: ou https://.
  • Perguntar automaticamente e mensagem de consentimento: aviso prévio antes da janela nativa do navegador, conforme ao RGPD.
  • Sino de subscrição: seis posições, ocultável no carrinho e na finalização. Assim que o visitante subscreve, o sino passa a ser um atalho para as suas preferências.
  • Deslocamentos do sino: quatro valores em píxeis, horizontal e vertical, definidos separadamente para computador e telemóvel (abaixo de 768 px de largura). Servem para libertar uma bolha de chat, um widget de acessibilidade ou uma barra fixa de adicionar ao carrinho já presentes no tema. Nas posições centrais, o valor vertical apenas desloca o sino em relação ao centro. Intervalo aceite: de 0 a 2000.
  • Tempo de vida da mensagem: durante quanto tempo um serviço de push guarda uma notificação não entregue.
  • Máximo de notificações por dispositivo por dia: 0 desativa o limite. As mensagens transacionais nunca o consomem.
  • Horas de silêncio: as campanhas em fila nesse período são enviadas depois pelo cron. Dois valores iguais desativam a função.
  • Mensagens por execução do cron: reduza se o seu alojamento impuser um tempo limite de PHP curto.

Modo offline

  • Estratégia de cache: stale-while-revalidate (recomendada), rede primeiro ou cache primeiro.
  • Título e mensagem da página de recurso, e lista de URL em pré-cache.

Carrinho, finalização e conta de cliente ficam sempre excluídos da cache. Desativar o modo offline não impede a instalação: a página de recurso continua a ser servida, porque um navegador só instala uma aplicação capaz de responder offline.

Ligações de instalação, sem pop-ups

Se não quiser qualquer pop-up na loja, desative o banner de instalação, o pedido automático de notificações e o sino flutuante, e coloque simplesmente ligações «Clique aqui para instalar a nossa aplicação». O visitante clica quando decidir.

Locais disponíveis

  • Rodapé (ativo por predefinição)
  • Navegação superior
  • Conta do cliente (ativa por predefinição)
  • Página de confirmação da encomenda (ativa por predefinição), logo após a compra
  • Página de produto
  • E-mails transacionais (ativos por predefinição)

Cada local tem o seu próprio interruptor. Há três aparências: botão, ligação de texto ou banner largo, e o texto é editável por idioma.

Em qualquer outro sítio: o widget

Para um local que o módulo não cobre, por exemplo o agradecimento depois de uma avaliação ou um bloco do seu tema, acrescente esta linha ao modelo em causa:

{widget name='dfpwa'}

Nos e-mails

Um e-mail não pode iniciar uma instalação, por isso a ligação abre a loja com o parâmetro ?dfpwa_install=1, que arranca o processo assim que o cliente chega, sem esperar pelo atraso habitual. Indique os modelos em causa separados por vírgulas (por exemplo order_conf,shipped), ou deixe o campo vazio para todos os e-mails. É acrescentada uma versão em texto para programas de correio sem HTML.

A ligação só é apresentada se a instalação for realmente possível. Fica oculta quando a aplicação já está instalada, quando o navegador não a consegue instalar, ou enquanto o Chrome não validar os critérios. No iPhone, um clique abre diretamente o guia «Adicionar ao ecrã principal», já que o Safari não tem aviso nativo.

Enviar uma campanha

  1. Abra PWA Push no menu de administração.
  2. Escreva um título (cerca de 50 caracteres) e uma mensagem (cerca de 120 caracteres).
  3. Acrescente uma imagem de banner carregando-a (JPG, PNG ou WebP, máximo 2 MB, proporção ideal 2:1) ou indicando um URL. Um ficheiro carregado tem prioridade.
  4. Acrescente até dois botões de ação, cada um com o seu rótulo e o seu URL.
  5. Segmente por idioma, grupo de clientes, dispositivo (iOS, Android, computador) e público (todos, clientes registados, visitantes).
  6. Deixe Agendar para vazio para enviar já, ou indique uma data no formato AAAA-MM-DD HH:MM.
  7. Use o modo de teste para enviar a notificação primeiro para si.

O modo de teste abrange apenas dispositivos associados a uma conta de cliente com o seu endereço de e-mail de funcionário. Se nenhuma conta corresponder, o envio é recusado em vez de seguir para todo o segmento.

Fila de envio

Cada envio entra numa fila e é processado por lotes. Uma parte segue de imediato, o resto é entregue pelo cron. Uma base de dezenas de milhares de subscritores não provoca, assim, qualquer tempo limite nem estatísticas truncadas. O painel mostra quantas notificações aguardam e permite forçar um processamento.

Histórico e estatísticas

O histórico lista as trinta últimas campanhas com estado, destinatários, entregas, falhas, cliques e taxa de cliques. O clique é atribuído à campanha que gerou a notificação, e o contador nunca pode ultrapassar o número de mensagens realmente entregues. Os subscritores exportam-se em CSV.

Automatizações

Seguimento da encomenda

Selecione os estados que acionam uma notificação. Por predefinição: pagamento aceite, expedido, entregue. Nenhum estado selecionado significa notificar em cada mudança.

Recuperação de carrinhos abandonados

O cron deteta os carrinhos com artigos, associados a um cliente subscrito e sem encomenda, dentro da janela configurada (de 1 a 168 horas).

Alertas de reposição de stock e de descida de preço

Aparece um botão na página do produto. O de reposição de stock só é apresentado quando o produto está indisponível; o de descida de preço é sempre proposto. O visitante não precisa de conta: o alerta fica ligado à subscrição do seu dispositivo. O preço no momento do pedido é memorizado e você define a percentagem mínima de descida que aciona o alerta.

Notificação de boas-vindas

Enviada uma única vez, na primeira subscrição de um dispositivo. Confirma a adesão e nunca é bloqueada pelas preferências do cliente.

Preferências do cliente

A partir da sua conta, o cliente abre Preferências de notificação e ativa ou desativa quatro categorias:

  • Atualizações de encomendas: expedição e mudanças de estado
  • Alertas de produto: reposição de stock e descidas de preço
  • Lembretes de carrinho: recuperação do carrinho abandonado
  • Ofertas e novidades: campanhas de marketing

Tudo está ativo por predefinição, incluindo para os subscritores existentes após uma atualização. A escolha aplica-se a todos os dispositivos do cliente, e um dispositivo novo herda as suas preferências. Uma categoria desativada nunca é enviada, mesmo nas mensagens transacionais que ignoram o limite diário e as horas de silêncio.

RGPD

  • Consentimento pedido com uma mensagem explícita antes de qualquer subscrição
  • O cliente gere as suas categorias na conta e pode desativar tudo
  • Apagar uma conta de cliente elimina subscrições, alertas de produto e mensagens em fila, através do hook RGPD do PrestaShop
  • Nenhum dado é transmitido a serviços externos: a cifragem é feita no seu servidor

Personalização pelo tema

  • data-dfpwa-bell num elemento transforma-o em botão de subscrição e substitui o sino flutuante.
  • data-dfpwa-share num elemento transforma-o em botão de partilha nativo.
  • A classe dfpwa-prefs-form fica propositadamente sem estilo para as suas próprias regras CSS.

FAQ e resolução de problemas

O banner de instalação não aparece no Android

O Chrome não mostra nada enquanto a loja não cumprir os seus critérios. Consulte o diagnóstico no painel e depois execute dfpwaDiagnose() na consola do navegador na loja: o veredicto indica o que falta. Se já tinha instalado a PWA no dispositivo, desinstale-a e limpe os dados do site antes de testar de novo. Uma recusa memorizada pelo visitante expira ao fim de 30 dias, ou de imediato com dfpwaResetPrompts().

No iPhone não se instala nada

É o comportamento normal do Safari, que não tem aviso automático. O guia «Adicionar ao ecrã principal» do módulo explica os passos. O web push só funciona aí a partir do iOS 16.4 e apenas com a loja já instalada.

As notificações não saem

Verifique se o push está ativo, se as chaves VAPID existem e se há clientes subscritos. O modo de teste valida toda a cadeia. Se as mensagens ficarem em fila, confirme que o cron está mesmo a ser chamado.

Uma campanha fica pendente

Está agendada para uma data futura, em fila durante as horas de silêncio, ou a ser distribuída por lotes. O painel permite forçar o processamento.

Um cliente diz que não recebe nada

Consulte as suas preferências de notificação: pode ter desativado uma categoria. Verifique também o limite diário por dispositivo e as horas de silêncio.

Os alertas de produto não são acionados

Dependem do cron. Confirme que é executado, que o tipo de alerta está ativo e, nas descidas de preço, que o desconto atinge a percentagem mínima configurada.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte