D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
developers.ghanempharmacy.com
/
app
/
Providers
/
Filename :
FirebaseServiceProvider.php
back
Copy
<?php namespace App\Providers; use Kreait\Firebase\Auth; use Kreait\Firebase\Factory; use Kreait\Firebase\Messaging; use Illuminate\Support\ServiceProvider; class FirebaseServiceProvider extends ServiceProvider { /** * Register services. * * @return void */ public function register(): void { $this->app->singleton(Factory::class, function ($app) { $firebaseConfig = getWebConfig('push_notification_key'); if (empty($firebaseConfig) || $firebaseConfig === 'Put your firebase server key here.') { return new Factory; // Return a default factory without service account if not configured } try { return (new Factory)->withServiceAccount($firebaseConfig); } catch (\Exception $e) { \Log::warning('Firebase Service Account loading failed: ' . $e->getMessage()); return new Factory; } }); $this->app->singleton(Auth::class, function ($app) { try { return $app->make(Factory::class)->createAuth(); } catch (\Throwable $e) { return null; } }); $this->app->singleton(Messaging::class, function ($app) { try { return $app->make(Factory::class)->createMessaging(); } catch (\Throwable $e) { return null; } }); // Optionally, you can bind it to a simpler alias $this->app->alias(Messaging::class, 'firebase.messaging'); } /** * Bootstrap services. * * @return void */ public function boot() { // } }