gerinsp / firepush
用于向 FCM (Firebase Cloud Messaging) 发送推送通知的包
v1.0.0
2023-05-10 02:26 UTC
This package is auto-updated.
Last update: 2024-09-11 19:56:29 UTC
README
用于向 FCM (Firebase Cloud Messaging) 发送推送通知的 Laravel 包
该包已上传至 Packagist,您可以通过以下链接访问:[packagist.org](https://packagist.org.cn/packages/gerinsp/firepush)(外部链接)
安装方法
composer require gerinsp/firepush
配置
安装包成功后,您需要在 config/app.php 文件中的服务提供者目录下注册它
如何注册服务提供者
Gsp\Firepush\FirepushServiceProvider::class
将以下代码行添加到 config/app.php [providers] 部分中
例如
'providers' => [ ..... Gsp\Firepush\FirepushServiceProvider::class ],
注册服务提供者成功后,接下来发布配置文件
php artisan vendor:publish --tag=firepush-config
请确保在您的项目配置目录中存在 firepush.php 文件。然后,将您 Firebase 项目的 server_key 添加到 .env 文件中
FIREBASE_SERVER_KEY='your_server_key'
使用方法
配置成功后,我们只需要导入命名空间并调用类。
<?php use Gsp\Firepush\PushNotification; class class HomeController extends Controller { .... PushNotification::sendPush($regis_id, $title, $body, $icon, $url); }
在 sendPush() 方法中,有 5 个参数,分别是
regis_id
,用于向特定用户发送通知,该regis_id
是由 Firebase 提供的设备 id。title
,是我们将要发送的通知的标题。body
,是我们将要发送的通知的消息内容。icon
,是当通知在移动设备上接收时将显示的图标。(可选)url
,是用户点击通知时将导航到的浏览器 URL。(可选)
此外,我们还可以接收 Firebase 的响应以了解通知是否已发送。
例如
$response = PushNotification::sendPush($regis_id, $title, $body, $icon, $url);
然后我们只需保存响应即可。
成功响应示例
{ "multicast_id":9070918413037267170, "success":1, "failure":0, "canonical_ids":0, "results":[ { "message_id":"0:1683778122791572%4d6e21f0f9fd7ecd" } ] }
如果成功,则响应中的 "success"
为 true,并且存在 "message_id"
。
失败响应示例
{ "multicast_id":6600435569629740876, "success":0, "failure":1, "canonical_ids":0, "results":[ { "error":"NotRegistered" } ] }
但是,如果失败,则响应中的 "success"
为 false,而 "failure"
为 true。请注意,如果响应失败,则可能是因为 regis_id
已经过期,因此请定期更新 regis_id
。
许可证
该项目采用 MIT 许可证。