filament fcm
v1.0.10
Firebase Cloud Messaging integration to Native FilamentPHP Notification Package
composer require tomatophp/filament-fcm
after install your package you need to update this keys in your .env
file
# Firebase ProjectFIREBASE_API_KEY=FIREBASE_AUTH_DOMAIN=FIREBASE_DATABASE_URL=FIREBASE_PROJECT_ID=FIREBASE_STORAGE_BUCKET=FIREBASE_MESSAGING_SENDER_ID=FIREBASE_APP_ID=FIREBASE_MEASUREMENT_ID=# Firebase Admin SDKFIREBASE_CREDENTIALS=# Firebase Cloud MessagingFIREBASE_VAPID=# Firebase Alert SoundFCM_ALERT_SOUND=
after update clear config
php artisan config:clear
then please run this command
php artisan filament-fcm:install
if you are not using this package as a plugin please register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(TomatoPHPFilamentFcmFilamentFcmPlugin::make() )
you can use the filament native notification and we add some macro for you
use FilamentNotificationsNotification;Notification::make('send') ->title('Test Notifications') ->body('This is a test notification') ->icon('heroicon-o-bell') ->color('success') ->actions([FilamentNotificationsActionsAction::make('view') ->label('View') ->url('https://google.com') ->markAsRead() ]) ->sendToFCM( user: auth()->user(), data: ['key' => 'value'], sendToDatabase: false, type: 'fcm-web' // or fcm-api )
or you can send it directly from the user model
$user->notifyFCMSDK( message: $this->message, type: $this->provider, title: $this->title, url: $this->url, image: $this->image, icon: $this->icon, data: ['url' => $this->url,'id' => $this->model_id,'actions' => [],'body' => $this->message,'color' => null,'duration' => null,'icon' => $this->icon,'iconColor' => null,'status' => null,'title' => $this->title,'view' => null,'viewData' => null,'data'=> $this->data], sendToDatabase: false);
you can publish config file by use this command
php artisan vendor:publish --tag="filament-fcm-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-fcm-views"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-fcm-migrations"
Checkout our Awesome TomatoPHP