Laravel FCM 通知项目使用教程
1. 项目的目录结构及介绍
laravel-fcm-notification/
├── src/
│ ├── FcmNotificationServiceProvider.php
│ └── FcmMessage.php
├── tests/
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .styleci.yml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── composer.json
├── phpunit.xml.dist
目录结构介绍
- src/: 包含项目的主要源代码文件。
FcmNotificationServiceProvider.php
: Laravel 服务提供者,用于注册和引导 FCM 通知服务。FcmMessage.php
: 用于构建和发送 FCM 消息的类。
- tests/: 包含项目的测试文件。
- .editorconfig: 编辑器配置文件,用于统一代码风格。
- .gitattributes: Git 属性配置文件。
- .gitignore: Git 忽略文件配置。
- .styleci.yml: StyleCI 配置文件,用于代码风格检查。
- CHANGELOG.md: 项目更新日志。
- CONTRIBUTING.md: 贡献指南。
- LICENSE.md: 项目许可证。
- README.md: 项目说明文档。
- composer.json: Composer 依赖管理文件。
- phpunit.xml.dist: PHPUnit 测试配置文件。
2. 项目的启动文件介绍
项目的启动文件主要是 FcmNotificationServiceProvider.php
,它负责在 Laravel 应用中注册和引导 FCM 通知服务。
namespace Benwilkins\FCM;
use Illuminate\Support\ServiceProvider;
class FcmNotificationServiceProvider extends ServiceProvider
{
public function boot()
{
$this->app->make('Illuminate\Notifications\ChannelManager')->extend('fcm', function ($app) {
return new FcmChannel($app->make('HttpClient'));
});
}
public function register()
{
// 注册服务
}
}
启动文件介绍
- boot(): 引导方法,用于扩展 Laravel 的通知通道管理器,注册 FCM 通知通道。
- register(): 注册方法,用于注册服务。
3. 项目的配置文件介绍
项目的配置文件主要是 config/services.php
,需要在其中添加 Firebase API Key。
return [
/*
* Add the Firebase API key
*/
'fcm' => [
'key' => env('FCM_SECRET_KEY')
]
];
配置文件介绍
- fcm: 配置项,用于存储 Firebase API Key。
key
: 从环境变量FCM_SECRET_KEY
中读取 Firebase API Key。
以上是 Laravel FCM 通知项目的目录结构、启动文件和配置文件的介绍。希望这份教程能帮助你更好地理解和使用该项目。