con4gis/pwa

为 contao 应用添加 PWA 功能。

安装量: 1,253

依赖项: 1

建议者: 0

安全: 0

星标: 9

关注者: 4

分支: 1

开放问题: 4

类型:contao-bundle


README

概述

将您的 Contao 网站转变为一个 渐进式网页应用。con4gis-PwaBundle 提供了您所需的一切来实现基本的 PWA 功能,包括生成 service worker 脚本和清单文件。

功能包括

  • 配置 webmanifest 所需的参数
  • 在页面根目录中选择 pwa 配置。提交后,将为该页面根目录生成服务工作者和清单。
  • 多种离线行为:选择是否要缓存所有内容,还是始终要重定向到选定的离线页面。
  • WebPush 配置:在后台配置 web push 库,以便用户可以注册推送通知。
  • 添加应用启动屏幕图标(Android & iOS)

安装

通过 composer

composer require con4gis/pwa

或者,您还可以使用 Contao Manager 安装 con4gis-PwaBundle。

要求

  • Contao(最新稳定版本)
  • CoreBundle最新稳定版本
  • WebPushBundle(3.*(最新))
  • php-gmp 扩展是用于 web-push-library 的 所需的,如果因为此原因安装失败,则需要安装/激活它

用法

此包为 contao 提供了两个前端模块

PWA 模块(添加清单)

创建必要的 HTML 代码以加载清单文件和服务工作者。可以在页面的任何位置包含它,因为它本身不包含可见元素。

推送订阅按钮

创建用于订阅推送通知的按钮,以及加载处理订阅所需的javascript。按钮未定义样式,但可以通过“btn-push-subscribe”-ID进行单独样式化。

发送通知

此包提供三种不同的方式发送推送通知

  • 控制台命令(con4gis:send-push <message>
  • 后台模块(创建新数据集并存储 - 它不会存储在数据库中,而是发送给所有已订阅用户)
  • 编程发送通知

要在您的脚本中发送通知,您必须创建一个 PushNotificationEvent 并使用 Symfony 事件调度器。

// get the event dispatcher
$eventDispatcher = $this->eventDispatcher;
// instantiate event
$event = new PushNotificationEvent();
// this sends the notification to every subscribed user. You can send a notification to only one subscription, too
$event->setSendToAll(true);
// set message contents
$event->setTitle($title);
$event->setMessage($content);
// dispatch the event
$eventDispatcher->dispatch($event::NAME, $event);

文档

访问 docs.con4gis.org 了解用户文档。您也可以通过该论坛联系我们。