Mengirim notifikasi ke pengguna menggunakan templat notifikasi dan saluran multi notifikasi, mendukung Layanan Notifikasi Asli Filamen dengan makro, dan integrasi penuh ke notifikasi pekerja layanan FCM
Kirim Pemberitahuan ke pengguna
Gunakan Pemberitahuan Asli Filamen
Gunakan Templat Pemberitahuan
Integrasi Pekerja Layanan FCM Penuh
Gunakan Beberapa Saluran Pemberitahuan
API untuk mendapatkan notifikasi
Sembunyikan Sumber Pemberitahuan
Gunakan Pengemudi Slack
Gunakan Driver Perselisihan
Gunakan Driver Gema
Gunakan SMS Misr Driver
Gunakan Pengemudi Email
Gunakan Driver Basis Data
Gunakan Driver MessageBird
sebelum menggunakan paket ini pastikan Anda sudah menginstalnya
Filamen Spatie Dapat Diterjemahkan
Perpustakaan Media Filamen Spatie
Hub Pengaturan Filamen
komposer memerlukan tomatophp/filament-alerts
sekarang Anda perlu mempublikasikan dan memigrasikan tabel pengaturan
vendor tukang php:publish --provider="SpatieLaravelSettingsLaravelSettingsServiceProvider" --tag="migrations"
setelah menginstal paket Anda, silakan jalankan perintah ini
peringatan filamen artisan php:install
jika Anda tidak menggunakan paket ini sebagai plugin, silakan daftarkan plugin di /app/Providers/Filament/AdminPanelProvider.php
->plugin(TomatPHPFilamentAlertsFilamentAlertsPlugin::make() )
untuk mengatur model apa pun agar menerima pemberitahuan kepada Anda
<?phpnamespace AppModels; gunakan IlluminateContractsAuthMustVerifyEmail; gunakan IlluminateDatabaseEloquentFactoriesHasFactory; gunakan IlluminateFoundationAuthUser sebagai Authenticatable; gunakan IlluminateNotificationsNotifying; gunakan LaravelFortifyTwoFactorAuthenticatable; gunakan LaravelJetstreamHasProfilePhoto; gunakan LaravelSanctumHasApiTokens; gunakan SpatiePermissionTraitsHasRoles;gunakan TomatoPHPFilamentAlertsTraitsInteractsWithNotifications;kelas Pengguna memperluas Authenticatable{menggunakan HasApiTokens;menggunakan HasFactory;menggunakan HasProfilePhoto;menggunakan Notifying;menggunakan TwoFactorAuthenticatable;menggunakan HasRoles;menggunakan InteractsWithNotifications; ...
dan Anda harus mengatur pengaturan FCM untuk mendapatkan notifikasi real-time
notifikasi dijalankan pada antrian, jadi Anda harus menjalankan pekerja antrian untuk mengirim notifikasi
antrian tukang php: kerja
Anda dapat menggunakan notifikasi asli filamen dan kami menambahkan beberapa macro
untuk Anda
gunakan FilamentNotificationsNotification;Notification::make('send') ->judul('Pemberitahuan Tes') ->body('Ini adalah notifikasi ujian') ->icon('heroicon-o-bell') ->warna('sukses') ->tindakan([FilamentNotificationsActionsAction::make('view') ->label('Lihat') ->url('https://google.com') ->tandaiSebagaiBaca() ]) ->sendToDiscord(auth()->pengguna()) ->sendToEmail(auth()->pengguna()) ->siaran(auth()->pengguna()) ->sendToDatabase(auth()->pengguna()) ->sendToSlack(auth()->pengguna()) ->kirimKeFCM(auth()->pengguna())
untuk membuat template baru anda dapat menggunakan template CRUD dan pastikan bahwa kunci template unik karena Anda akan menggunakannya pada setiap notifikasi.
untuk mengirim pemberitahuan Anda harus menggunakan pembantu kami SendNotification::class like
SendNotification::make($template->penyedia) ->templat($templat->kunci) ->findTitle($matchesTitle) ->replaceTitle($titleIsi) ->findBody($matchesBody) ->replaceBody($titleBody) ->model(Pengguna::kelas) ->id(Pengguna::pertama()->id) ->privasi('pribadi') ->api();
di mana $template
dipilih dari templat berdasarkan kunci dan $matchesTitle dan $matchesBody adalah larik kecocokan untuk menggantikan templat dan $titleFill dan $titleBody adalah larik nilai untuk menggantikan kecocokan
Anda dapat menggunakan beberapa saluran notifikasi seperti
SMS
FCM
Berkumandang
Basis data
Kendur
Perselisihan
itu dapat bekerja dengan metode pengguna langsung seperti
$user->notifySMSMisr(string $message);$user->notifyEmail(string $message, ?string $subject = null, ?string $url = null);$user->notifyFCMSDK(string $message, string $type= 'web', ?string $title=null, ?string $url=null, ?string $image=null, ?string $icon=null, ?array $data=[]);$pengguna->notifyDB(string $message, ?string $title=null, ?string $url =null);$user->notifySlack(string $title,string $message=null,?string $url=null, ?string $image=null, ?string $webhook=null);$pengguna->notifyDiscord(string $title,string $message=null,?string $url=null, ?string $gambar=null, ?string $webhook=null);
agar Notifikasi FCM Berfungsi, Anda perlu menginstal Filament Settings Hub dan mengizinkan penggunaan Setting Hub pada Plugin
->plugin(TomatPHPFilamentAlertsFilamentAlertsPlugin::make() -> gunakanSettingsHub() -> gunakanFCM() )
daripada Anda perlu menginstal paket filament-fcm
dengan menggunakan perintah ini
komposer memerlukan tomatophp/filament-fcm
dan tambahkan plugin penyedia layanan
->plugin(TomatoPHPFilamentFcmFilamentFcmPlugin::make())
sekarang Anda perlu memperbarui konfigurasi
# Proyek FirebaseFIREBASE_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 Cloud MessagingFIREBASE_VAPID=# Firebase Suara PeringatanFCM_ALERT_SOUND=
daripada menjalankan perintah ini
php artisan filamen-fcm:install
itu akan menghasilkan pekerja FCM bagi Anda untuk membuat notifikasi berfungsi di latar belakang.
untuk menyembunyikan sumber notifikasi dari sidebar Anda dapat menggunakan metode plugin seperti hideNotificationsResources
->plugin(TomatPHPFilamentAlertsFilamentAlertsPlugin::make() ->sembunyikanSumberPemberitahuan() )
untuk menggunakan driver slack Anda harus mengatur webhook slack di hub pengaturan dan menggunakan metode plugin useSlack
like
->plugin(TomatPHPFilamentAlertsFilamentAlertsPlugin::make() -> gunakanSlack() )
sekarang di file .env
Anda, tambahkan kunci SLACK_WEBHOOK
dengan URL webhook
untuk menggunakan driver perselisihan Anda harus mengatur webhook perselisihan di hub pengaturan dan menggunakan metode plugin useDiscord
seperti
->plugin(TomatPHPFilamentAlertsFilamentAlertsPlugin::make() -> gunakan Perselisihan() )
sekarang di file .env
Anda, tambahkan kunci DISCORD_WEBHOOK
dengan URL webhook
kami mendukung beberapa API untuk mendapatkan notifikasi dan melakukan beberapa tindakan, Anda dapat menemukannya di bawah rute api/notifications
Anda dapat mengubah model pengguna dengan menggunakan metode plugin seperti apiModel
->plugin(TomatPHPFilamentAlertsFilamentAlertsPlugin::make() ->apiModel(Pengguna::kelas) )
Anda dapat mempublikasikan file konfigurasi dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-alerts-config"
Anda dapat mempublikasikan file tampilan dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-alerts-views"
Anda dapat mempublikasikan file bahasa dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-alerts-lang"
Anda dapat mempublikasikan file migrasi dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-alerts-migrations"
Lihat TomatoPHP kami yang Luar Biasa