gigadrive / webpush-bundle
此包已被废弃,不再维护。没有建议的替代包。
通过 Web Push 协议向您的 Symfony 用户发送推送通知。
0.6
2020-05-07 06:17 UTC
Requires
- php: >=7.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- guzzlehttp/guzzle: ~6.0
- minishlink/web-push: ~4.0|~5.0
- symfony/http-kernel: ~3.0|~4.0|~5.0
Requires (Dev)
- bentools/doctrine-static: 1.0.x-dev
- doctrine/dbal: ~2.5
- nyholm/symfony-bundle-test: ~1.4
- phpunit/phpunit: ~5.0|~6.0|~7.0
- symfony/config: ~4.0
- symfony/dependency-injection: ~3.0|~4.0|~5.0
- symfony/framework-bundle: ~3.0|~4.0|~5.0
- symfony/http-foundation: ~3.0|~4.0|~5.0
- symfony/routing: ~3.0|~4.0|~5.0
- symfony/security: ~3.0|~4.0|~5.0
- symfony/var-dumper: ~3.0|~4.0|~5.0
- symfony/yaml: ~3.0|~4.0|~5.0
- twig/twig: ~1.0|~2.0
README
Webpush Bundle
此包允许您的应用程序利用 Web Push 协议 向用户的设备发送通知,无论用户是否在线。
通过少量代码,您可以将您的 Symfony 用户 与 WebPush 订阅关联起来
- 单个用户可以从多个浏览器/设备订阅
- 多个用户可以从单个浏览器/设备订阅
此包使用您自己的持久化系统(Doctrine 或其他)来管理这些关联。
我们假设您对推送通知的工作原理有一定的了解,否则我们强烈建议您阅读 Matt Gaunt 的 Web Push 书籍。
示例用例
- 您有一个待办事项应用 - 通知用户分配了任务
- 您有一个电子商务应用
- 通知客户订单已发货
- 通知类别经理他们销售了产品
总结
入门
此包只是订阅过程的后端部分。对于前端部分,请查看 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 库。