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 许可证。