v-pack / laravel-firebase-push
Laravel package for sending push notification via Firebase
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/support: >=9.0
This package is not auto-updated.
Last update: 2025-04-30 05:33:28 UTC
README
Sebuah paket Laravel untuk mengirim notifikasi push melalui Firebase Cloud Messaging (FCM), mendukung token perangkat individu, pesan topik, dan payload data yang fleksibel.
Fitur
- Kirim notifikasi ke:
- Token perangkat tunggal
- Beberapa token
- Topik Firebase
- Payload yang dapat disesuaikan (notification + data)
- Dapat dikonfigurasi melalui
.env
Instalasi
composer require v-pack/laravel-firebase-push
Publikasikan file konfigurasi:
php artisan vendor:publish --tag=config --provider="VPack\FirebasePush\FirebasePushServiceProvider"
Konfigurasi
Di file .env
kamu:
FCM_SERVER_KEY=server-key-fcm-kamu
FCM_ENDPOINT=https://fcm.googleapis.com/fcm/send
FCM_PRIORITY=high
FCM_SOUND=default
File konfigurasi yang dipublikasikan berada di config/firebase-push.php
.
Penggunaan
Gunakan dependency injection FirebasePush
di class atau controller kamu:
1. Kirim ke Token Perangkat
use VPack\FirebasePush\FirebasePush;
public function kirimKeToken(FirebasePush $fcm)
{
$tokens = ['token1', 'token2'];
$response = $fcm->send($tokens, 'Selamat Datang!', 'Terima kasih telah bergabung!', [
'custom_key' => 'value'
], [
'notification' => [
'image' => 'https://contoh.com/gambar.png'
]
]);
dd($response);
}
2. Kirim ke Topik
public function kirimKeTopik(FirebasePush $fcm)
{
$response = $fcm->send('/topics/berita', 'Update Baru!', 'Lihat kabar terbaru dari kami!', [
'type' => 'berita',
'id' => 101
]);
dd($response);
}
3. Kirim dengan Kondisi (lanjutan)
public function kirimDenganKondisi(FirebasePush $fcm)
{
$options = [
'condition' => "'berita' in topics || 'olahraga' in topics"
];
$response = $fcm->send('', 'Untuk Kamu!', 'Notifikasi untuk pecinta berita atau olahraga', [], $options);
dd($response);
}
Pengujian
Kamu bisa menguji secara lokal menggunakan token perangkat dari Firebase atau dengan membuat perangkat berlangganan pada topik tertentu. Gunakan alat seperti Postman atau langsung dari aplikasi Laravel kamu untuk mengirim notifikasi.
Keamanan
Pastikan server key FCM kamu tidak pernah dipublikasikan secara terbuka. Simpan hanya di file .env
.
Lisensi
Lisensi MIT.