35 lines
1.4 KiB
PHP
35 lines
1.4 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\WebsiteController;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Kreait\Firebase\Factory;
|
|
use Kreait\Firebase\Messaging\CloudMessage;
|
|
use Kreait\Firebase\Messaging\Notification;
|
|
|
|
// Firebase test route
|
|
Route::get('/v1/test-firebase', function () {
|
|
$messaging = (new Factory)
|
|
->withServiceAccount(storage_path('firebase/firebase_credentials.json'))
|
|
->createMessaging();
|
|
|
|
// Replace with your actual FCM device token
|
|
$deviceToken = 'dUYkBkPmRN11Z15hlHLE4c:APA91bG1SHwTBPpkLDbtlRYqu4UHSzdfxIMsmRrcXwqT1ULfxVNqMarMmr8pSNqQEg-bs2LXPag3N3APgAJOVaYsEzYOmFck2GH_tYhoiCzNwHZYKN99V0k';
|
|
$message = CloudMessage::withTarget('token', $deviceToken)
|
|
->withNotification(Notification::create('Test Title', 'Test Body'));
|
|
|
|
try {
|
|
$messaging->send($message);
|
|
|
|
return response()->json(['status' => 'SUCCESS', 'message' => 'Notification sent!']);
|
|
} catch (\Kreait\Firebase\Exception\MessagingException $e) {
|
|
return response()->json(['status' => 'ERROR', 'message' => $e->getMessage()]);
|
|
} catch (\Throwable $e) {
|
|
return response()->json(['status' => 'ERROR', 'message' => $e->getMessage()]);
|
|
}
|
|
});
|
|
|
|
Route::middleware('auth:api')->group(function () {
|
|
Route::post('v1/save-fcm-token', [WebsiteController::class, 'saveFcmToken']);
|
|
Route::get('v1/sent-notification', [WebsiteController::class, 'sentNotification']);
|
|
});
|