genkgo/push

本包最新版本(3.6.0)没有可用的许可信息。

通过一个接口向Android和Apple发送推送消息。

3.6.0 2024-08-22 20:33 UTC

README

通过一个接口向Android、Apple和Firebase发送推送消息

安装

需要PHP 7.4或更高版本。可以通过Composer安装和自动加载,作为 genkgo/push

质量

workflow code check

在命令行运行单元测试,请执行 phpunit -c tests/。需要 PHPUnit

此库试图遵守 PSR-1PSR-2PSR-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,我们可以讨论如何实现它。