=== Hyper PWA === Contributors: rickey29 Donate link: https://flexplat.com Tags: progressive web apps, pwa, manifest, service worker, publish to app stores, add to home screen, offline, push notifications, firebase, accelerate mobile pages, amp, onesignal Requires at least: 5.1 Tested up to: 5.9.2 Requires PHP: 7.2 Stable tag: 2.7.0 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Provide Manifest and Service Worker, convert WordPress into Progressive Web Apps (PWA). == Description == Hyper PWA plugin is developed based on web.dev and Workbox, provides Manifest and Service Worker, is compatible with Accelerate Mobile Pages (AMP), OneSignal and Firebase -- it converts WordPress into Progressive Web Apps (PWA). Website owners can publish the PWA to App Stores as an App; end users can download the App and add the App icon to Home Screen/Desktop; the App can work in Offline Mode; website owners can send Push Notifications to the App. Features: * Provide Manifest * Provide Service Worker * Support Publish to App Stores * Support Add to Home Screen * Support Offline Work Mode * Support Push Notifications * Is compatible with AMP * Is compatible with OneSignal * Is compatible with Firebase * Support Workbox Strategies * Support Workbox Offline Fallback Page * Support Workbox Default Handler Premium Features: For Manifest: * Display * Background Color * Theme Color * Orientation * Categories * IARC Rating ID For Service Worker: * Offline Fallback Page * Default Handler * Precaching * Periodic Background Sync * Background Sync * Google Analytics * Update Prompt * Console Debug Log == Highlight == This plugin is relying on a 3rd party Software as a Service -- FlexPlat: https://flexplat.com to generate Manifest and Service Workers related files. The Terms and Conditions is located at: https://flexplat.com/terms-and-conditions/ In detail, to make PWA working, end users will ask your website to provide Manifest and Service Workers related files: * hyper-pwa-register.js * hyper-pwa-service-worker.html * hyper-pwa-service-worker.js * hyper-pwa-manifest.json * hyper-pwa-unregister.js * hyper-pwa-offline.html * hyper-pwa-settings.json Inside of producing these files within my plugin, my plugin will send necessary parameters to FlexPlat, FlexPlat will build the Service Workers related files based on the received parameters, and return these files to your website. Then my plugin forwards these files to end users. == Open Issue == None. == Demo == 1. https://flexplat.com == Screenshots == 1. https://download.flexplat.com/flexplat.png == Download == 1. WordPress Plugins Libraries: https://wordpress.org/plugins/hyper-pwa/ == Installation == 1. Upload the plugin files to the '/wp-content/plugins/hyper-pwa' directory, or install the plugin through the WordPress plugins screen directly. 2. Activate the plugin through the 'Plugins' screen in WordPress. == Configuration == Go to your website Dashboard Hyper PWA section for detail. == Upgrade Notice == None. == Frequently Asked Questions == = I find following error message in web browser console: hyper-pwa-register.js:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec. = Your website should have some cache plugin, such as WP Rocket. You should exclude following pages from the cache: /hyper-pwa-register.js /hyper-pwa-service-worker.html /hyper-pwa-service-worker.js /hyper-pwa-manifest.json /hyper-pwa-unregister.js /hyper-pwa-offline.html /hyper-pwa-settings.json such as for WP Rocket, you should do accordingly: https://docs.wp-rocket.me/article/54-exclude-pages-from-the-cache = I find following error message in web browser console: hyper-pwa-manifest.json:1 Manifest: Line: 1, column: 1, Syntax error. = Check the answer of the above question. = How to make App Icons? = https://www.pwabuilder.com/imageGenerator = How to make maskable App Icons? = https://maskable.app/editor = How to find my website Repeat View load time/speed? = You can use following tool: https://www.webpagetest.org/ . In the Advanced Settings, you need to change Repeat View option from "First View Only" to "First View and Repeat View". = How to validate/audit my website PWA status? = We use Google Chrome Lighthouse: https://developers.google.com/web/tools/lighthouse . You can google to find more tools. = How to publish my PWA as an App to Application Stores? = You can use PWABuilder: https://www.pwabuilder.com/ to publish your PWA as an App. = How to add my website to mobile device home screen? = https://natomasunified.org/kb/add-website-to-mobile-device-home-screen/ = How to send Push Notifications? = This plugin is compatible with OneSignal: https://onesignal.com/ and Firebase: https://firebase.google.com/ , you can use OneSignal WordPress plugin, such as: https://wordpress.org/plugins/onesignal-free-web-push-notifications/ and Firebase WordPress plugin, such as: https://wordpress.org/plugins/integrate-firebase/ to do Push Notifications. == Premium == There is a premium version of this plugin, the cost is 30 USD per year or 3 USD per month. Compare to the free version, the premium version adds following features: For Manifest: * Display * Background Color * Theme Color * Orientation * Categories * IARC Rating ID For Service Worker: * Offline Fallback Page * Default Handler * Precaching * Periodic Background Sync * Background Sync * Google Analytics * Update Prompt * Console Debug Log If you want to try, send us an email with your website URL. When the premium version is activated, there is a 90 days free trial. After the 90 days, either pay us, or the premium features will be deactivated. If you are a web development agency, want to apply PWA to a lot of your websites, we can give you a discount on the cost. If you have any questions, feel free to contact us, we can communicate. == Custom Development == If your website is complex, such as WooCommerce, Learning Management System (LMS), Online Booking/Reservation System, and want to have a personalized/customized Manifest and/or Service Worker solution, so different pages can have different routing strategies, different resources have different recipe configuration, different accounts have different precaching list, everyday has a new periodic background sync list... we can do the custom PWA development for you. It is a premium service. Please send an email to me, so we can have more communication. == Changelog == = 2.7.0 = (Wed., Mar. 30, 2022) * Improvement: Move Procedure to Tab. * Bug Fix: Remove "browser primary" from Manifest Display. * Improvement: Server side security. * Improvement: Add Diagnosis. * Improvement: Google Analytics. = 2.6.0 = (Sun., Mar. 20, 2022) * Bug fix: JS version issue. * Improvement: Manifest & Server Worker refresh issue. = 2.5.0 = (Sat., Mar. 19, 2022) * Improvement: Merge Flex PWA with Hyper PWA. * Bug fix: Remove "browser primary" from Manifest Display * Improvement: Move Procedure to Tab = 2.4.0 = (Mon., Mar. 07, 2022) * Improvement: Various optimizations. = 2.3.0 = (Thur., Feb. 10, 2022) * Bug fix: Add to Home Screen icon issue. = 2.2.0 = (Thur., Jan. 27, 2022) * Bug fix: for the error messages in PluginTests. = 2.1.0 = (Sun., Jan. 09, 2022) * Improvement: Update premium features. = 2.0.0 = (Fri., Dec. 17, 2021) * New Feature: Support Id property in manifest. * Improvement: Rewrite server side with Express. = 1.19.0 = (Tue., Nov. 30, 2021) * New Feature: Traffic balance. * New Feature: Fallback. = 1.18.0 = (Fri., Oct. 29, 2021) * New Feature: Verify if is compatible with OneSignal. * New Feature: Verify if is compatible with Firebase. = 1.17.0 = (Thur., Oct. 07, 2021) * New Feature: Support Add to Home screen. = 1.16.0 = (Sun., Aug. 29, 2021) * New Feature: Provide more detail in admin settings page. = 1.15.0 = (Wed., Jul. 28, 2021) * New Feature: Add more functions in admin settings page. = 1.14.0 = (Thur., Jul. 08, 2021) * New Feature: Support Workbox Background Sync. = 1.13.0 = (Mon., Jun. 28, 2021) * Improvement for PluginTests. = 1.12.0 = (Mon., Jun. 21, 2021) * Improvement for Lighthouse Audit. = 1.11.0 = (Mon., Jun. 14, 2021) * New feature: Use corn job to refresh cache. = 1.10.0 = (Tue., May 25, 2021) * Bug fix: nonce not working for multiple users. = 1.9.0 = (Mon., May 24, 2021) * Update according to WordPress Plugin Security guideline. = 1.8.0 = (Fri., May 07, 2021) * New feature: multiple recipes. = 1.7.0 = (Fri., Apr. 23, 2021) * Improve Service Worker recipe. = 1.6.0 = (Mon., Apr. 19, 2021) * Improve Service Worker recipe. = 1.5.0 = (Fri., Apr. 09, 2021) * Improve Service Worker recipe. = 1.4.0 = (Sun., Apr. 04, 2021) * Deactivate Service Worker within Administration Dashboard. = 1.3.0 = (Tue., Mar. 30, 2021) * Provide plugin Settings Page. = 1.2.0 = (Thur., Mar. 18, 2021) * Pass Lighthouse PWA audit. * Work compatible with AMP. * Display an Offline Page when network is not available. * Bypass WordPress Administration Dashboard for PWA. = 1.1.0 = (Thur., Mar. 04, 2021) * Update according to WordPress Plugin Handbook. = 1.0.0 = (Tue., Mar. 02, 2021) * Submission accepted by WordPress Plugin Review Team. = 0.3.0 = (Tue., Mar. 02, 2021) * Update continued according to the comments of WordPress Plugin Review Team. = 0.2.0 = (Sat., Feb. 27, 2021) * Update according to the comments of WordPress Plugin Review Team. = 0.1.0 = (Wed., Feb. 21, 2021) * primary development == Support == Author: Rickey Gu Web: https://flexplat.com Email: rickey29@gmail.com