genkgo / push
本包最新版本(3.6.0)没有可用的许可信息。
通过一个接口向Android和Apple发送推送消息。
3.6.0
2024-08-22 20:33 UTC
Requires
- php: ~8.2.0 || ~8.3.0
- ext-json: *
- apple/apn-push: ^3.0
- guzzlehttp/guzzle: ^7.0
- lcobucci/jwt: ^4.1.4
Requires (Dev)
- dev-master
- 3.6.0
- 3.5.0
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.0
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.0
- dev-upgrade_81
- dev-support_php_8_0
- dev-upgrade_guzzle
- dev-convert_apple_exception
- dev-fix_too_many_provider_token_updates
- dev-catch_not_found
- dev-upgrade
This package is auto-updated.
Last update: 2024-09-22 20:53:28 UTC
README
通过一个接口向Android、Apple和Firebase发送推送消息
安装
需要PHP 7.4或更高版本。可以通过Composer安装和自动加载,作为 genkgo/push。
质量
在命令行运行单元测试,请执行 phpunit -c tests/
。需要 PHPUnit。
此库试图遵守 PSR-1、PSR-2 和 PSR-4。如果您发现遵守错误,请通过pull request发送补丁。
发送推送消息
<?php use Genkgo\Push\Body; use Genkgo\Push\Firebase\CloudMessaging; use Genkgo\Push\Gateway; use Genkgo\Push\Message; use Genkgo\Push\Sender\FirebaseSender; use Genkgo\Push\Sender\AppleApnSender; use Genkgo\Push\Recipient\AndroidDeviceRecipient; use Genkgo\Push\Recipient\AppleDeviceRecipient; use Genkgo\Push\Recipient\FirebaseRecipient; // construct the gateway, using the different senders $gateway = new Gateway([ AppleApnSender::fromToken('/location/to/key.p8', 'keyId', 'teamId', 'bundleId'), new FirebaseSender(new CloudMessaging($guzzleClient, $auth), 'fcm-project-id') ]); // below message will automatically go to their own specific sender $gateway->send(new Message(new Body('message content')), new AndroidDeviceRecipient('token')); $gateway->send(new Message(new Body('message content')), new AppleDeviceRecipient('token')); $gateway->send(new Message(new Body('message content')), new FirebaseRecipient('token'));
贡献
- 发现了bug?请先尝试自己解决,并提交pull request。如果您无法修复它,至少提供清晰的错误描述。有时间时我们会查看。
- 想看到添加新功能,请提交pull request并看看会发生什么。您也可以提交缺少功能的bug,我们可以讨论如何实现它。