v-pack/laravel-firebase-push

Laravel package for sending push notification via Firebase

dev-main 2025-04-30 02:16 UTC

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.