bentools / webpush-bundle
通过Web Push协议向您的Symfony用户发送推送通知。
0.12
2024-05-22 15:07 UTC
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- guzzlehttp/guzzle: ^6.5.8|^7.4
- minishlink/web-push: ~6.0|~7.0|~8.0
- symfony/http-kernel: ^4.4.50|^5.4.20|^6.0
Requires (Dev)
- bentools/doctrine-static: 1.0.x-dev
- doctrine/dbal: ~2.5 <=2.9
- nyholm/symfony-bundle-test: ~1.8
- phpunit/phpunit: ^8.5.38|~9.0
- symfony/config: ~4.0|~5.0|~6.0
- symfony/dependency-injection: ~3.0|~4.0|~5.0|~6.0
- symfony/framework-bundle: ~3.0|~4.0|~5.0|~6.0
- symfony/http-foundation: ~3.0|~4.0|~5.0|~6.0
- symfony/routing: ~3.0|~4.0|~5.0|~6.0
- symfony/security: ~3.0|~4.0|~5.0|~6.0
- symfony/var-dumper: ~3.0|~4.0|~5.0|~6.0
- symfony/yaml: ~3.0|~4.0|~5.0|~6.0
- twig/twig: ~1.0|~2.0
- web-token/jwt-util-ecc: >=2.1
README
Webpush Bundle
此扩展允许您的应用程序利用Web Push协议向用户设备发送通知,无论他们是否在线。
只需少量代码,您就能将您的Symfony用户与WebPush订阅相关联
- 单个用户可以从多个浏览器/设备进行订阅
- 多个用户可以从单个浏览器/设备进行订阅
此扩展使用您自己的持久化系统(Doctrine或其他)来管理这些关联。
我们假设您对推送通知的工作原理有基本了解,否则我们强烈建议您阅读Matt Gaunt的Web Push书籍。
示例用例
- 您有一个待办事项应用 - 通知用户他们被分配了任务
- 您有一个电子商务应用
- 通知您的客户他们的订单已发货
- 通知您的类别经理他们出售了产品
摘要
入门
此扩展只是订阅过程的后端部分。对于前端部分,请查看webpush-client包。
Composer是您的朋友
需要PHP8.1+。
composer require bentools/webpush-bundle
⚠️ 我们尚未达到稳定版本 - 预计会有一些变化。
生成您的VAPID密钥
php bin/console webpush:generate:keys
您需要使用给定的密钥更新您的配置。我们鼓励您将它们存储在环境变量或parameters.yml
中。
下一步:创建您的用户订阅类
测试
./vendor/bin/phpunit
许可证
MIT
鸣谢
此扩展利用了minishlink/web-push库。