霜冻/ webpush-bundle
通过Web Push协议向您的Symfony用户发送推送通知。
0.7
2021-05-13 15:57 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- guzzlehttp/guzzle: ^7.0
- minishlink/web-push: ^6.0
- symfony/http-kernel: ^4.4|^5.0
Requires (Dev)
- doctrine/common: ^2.0
- doctrine/dbal: ~2.5
- nyholm/symfony-bundle-test: ~1.4
- phpunit/phpunit: ^8.5
- symfony/config: ^4.4|^5.0
- symfony/dependency-injection: ^4.4|^5.0
- symfony/framework-bundle: ^4.4|^5.0
- symfony/http-foundation: ^4.4|^5.0
- symfony/routing: ^4.4|^5.0
- symfony/security: ^4.4|^5.0
- symfony/serializer: ^4.4|5.0
- symfony/var-dumper: ^4.4|^5.0
- symfony/yaml: ^4.4|^5.0
- twig/twig: ~1.0|~2.0
README
Webpush Bundle
此包允许您的应用程序利用Web Push协议向用户的设备发送通知,无论他们是否在线。
只需少量代码,您就可以将您的Symfony用户与WebPush订阅相关联
- 单个用户可以从多个浏览器/设备订阅
- 多个用户可以从单个浏览器/设备订阅
此包使用您自己的持久化系统(Doctrine或其他)来管理这些关联。
我们假设您对推送通知的工作原理有基本的了解,否则我们强烈建议您阅读Matt Gaunt的Web Push Book。
示例用例
- 您有一个待办事项应用程序 - 通知用户他们被分配了任务
- 您有一个电子商务应用程序
- 通知您的客户他们的订单已发货
- 通知您的分类经理他们销售了一个产品
摘要
入门
此包只是订阅过程的后端部分。对于前端部分,请查看webpush-client包。
Composer是您的朋友
需要PHP7.1+。
composer require bentools/webpush-bundle 0.6.*
如果您正在使用Symfony 3,请将包添加到您的内核中。使用Symfony Flex,这应该会自动完成。
⚠️ 我们还没有稳定版本 - 预计会有一些更改。
生成您的VAPID密钥
php bin/console webpush:generate:keys
您必须使用给定的密钥更新您的配置。我们鼓励您将它们存储在环境变量中或在parameters.yml中。
测试
./vendor/bin/phpunit
许可协议
MIT
致谢
此包利用了minishlink/web-push库。