con4gis / pwa
为 contao 应用添加 PWA 功能。
v2.5.9
2024-05-21 10:31 UTC
Requires
- php: ^7.4 || ^8.0
- con4gis/core: ^6.0 || ^7.0
- contao-components/jquery: ^3.6
- contao/core-bundle: ^4.9 || ^5.0
- doctrine/data-fixtures: ^1.4.4
- doctrine/orm: ^2.8.5
- doctrine/persistence: ^2.3.0
- minishlink/web-push-bundle: ^6
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
- dev-main
- v2.5.9
- v2.5.8
- v2.5.7
- v2.5.6
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.0
- v2.1.1
- v2.1.0
- v2.1.0rc2
- v2.1.0rc1
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- dev-dependabot/npm_and_yarn/webpack-5.94.0
- dev-dependabot/npm_and_yarn/braces-3.0.3
- dev-feature_multidomain
This package is auto-updated.
Last update: 2024-08-31 04:10:55 UTC
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 了解用户文档。您也可以通过该论坛联系我们。