Push notifications memungkinkan Anda untuk menjangkau pengguna Anda secara real-time, membuat mereka tetap terinformasi, terlibat, dan kembali lagi. Dalam tutorial ini, kita akan mempelajari cara mengimplementasikan notifikasi push di aplikasi Laravel menggunakan Firebase Cloud Messaging (FCM).
Prerequisites
Sebelum masuk ke dalam tutorial ini, pastikan Anda memiliki Proyek Firebase yang aktif. Jika Anda belum membuatnya, kunjungi Konsol Firebase (Firebase Console) dan buatlah proyek baru.
Step 1: Setting Up Laravel Project
Pertama, mari kita buat proyek Laravel baru atau gunakan proyek yang sudah ada:
composer create-project --prefer-dist laravel/laravel firebase-push-notification
cd firebase-push-notification
Step 2: Installing Firebase Admin SDK
Selanjutnya, kita perlu menginstal Firebase Admin SDK untuk PHP. SDK ini memungkinkan kita untuk berinteraksi dengan layanan Firebase dari aplikasi Laravel kita. Instal melalui Composer:
composer require kreait/firebase-php
Step 3: Configure Firebase Credentials
Navigasikan ke Konsol Firebase, pilih proyek Anda, dan masuk ke Pengaturan Proyek > Akun layanan. Buatlah kunci privat baru dan unduh berkas JSON yang berisi kredensial akun layanan Anda.
Letakkan berkas JSON ini di dalam direktori konfigurasi proyek Laravel Anda dan ubah namanya menjadi sesuatu seperti firebase_credentials.json.
Step 4: Sending Push Notifications
Sekarang, mari kita buat contoller untuk menangani push notification. Jalankan perintah pengrajin berikut ini:
php artisan make:controller PushNotificationController
Buka app/Http/Controllers/PushNotificationController.php dan tambahkan kode berikut:
<?php
namespace App\\Http\\Controllers;
use Kreait\\Firebase\\Factory;
use Kreait\\Firebase\\Messaging\\CloudMessage;
class PushNotificationController extends Controller
{
```public function sendPushNotification()
{
$firebase = (new Factory)
->withServiceAccount(__DIR__.'/../../config/firebase_credentials.json');
$messaging = $firebase->createMessaging();
$message = CloudMessage::fromArray([
'notification' => [
'title' => 'Hello from Firebase!',
'body' => 'This is a test notification.'
],
'topic' => 'global'
]);
$messaging->send($message);
return response()->json(['message' => 'Push notification sent successfully']);
}```
}
[code]
### **Step 5: Define Routes**
Selanjutnya, mari kita tentukan route untuk memicu notifikasi push. Buka **routes/web.php** dan tambahkan route berikut ini:
[code]
use App\\Http\\Controllers\\PushNotificationController;
Route::get('/send-notification', [PushNotificationController::class, 'sendPushNotification']);
Step 6: Test the Implementation
Setelah semuanya disiapkan, Anda dapat menguji implementasi dengan menavigasi ke route /send-notification di browser Anda. Ini akan memicu metode sendPushNotification di PushNotificationController, mengirim notifikasi push uji coba ke semua perangkat yang berlangganan topik 'global'.