Install the package by the following command,
composer require ladumor/laravel-pwa
Add the provider to your config/app.php
into provider
section if using lower version of laravel,
Ladumor\LaravelPwa\PWAServiceProvider::class,
Add the Facade to your config/app.php
into aliases
section,
'LaravelPwa' => \Ladumor\LaravelPwa\LaravelPwa::class,
Run the following command to publish config file,
php artisan laravel-pwa:publish
Add following code in root blade file in header section.
<!-- PWA -->
<meta name="theme-color" content="#6777ef"/>
<link rel="apple-touch-icon" href="{{ asset('logo.PNG') }}">
<link rel="manifest" href="{{ asset('/manifest.json') }}">
Add following code in root blade file in before close the body.
<script src="{{ asset('/sw.js') }}"></script>
<script>
if ("serviceWorker" in navigator) {
// Register a service worker hosted at the root of the
// site using the default scope.
navigator.serviceWorker.register("/sw.js").then(
(registration) => {
console.log("Service worker registration succeeded:", registration);
},
(error) => {
console.error(`Service worker registration failed: ${error}`);
},
);
} else {
console.error("Service workers are not supported.");
}
</script>
The MIT License (MIT). Please see License File for more information
PWA only works with https. so, you need to run either with php artisan serve
or create virtual host with https.
you can watch video for how to creat virtual host with https