Push Notifications Not Received
- Browser permission – Check that the browser has allowed notifications for your domain (
chrome://settings/content/notifications). - Firebase credentials – Verify all fields in Firebase configuration are correct (Project ID, Public Key, etc.).
- Service worker – Open DevTools → Application → Service Workers and ensure
pnfpb_icpush_pwa_sw.jsis registered and active. - HTTPS – Push only works over HTTPS. Confirm your site has a valid SSL certificate.
- Token in database – Check PNFPB → Device tokens to see whether your browser/device has a stored token.
Service Worker Not Loading on NGINX
Enable the static file creation option under PNFPB → Settings for NGINX server. This writes pnfpb_icpush_pwa_sw.js and pnfpbmanifest.json directly to your web root. See the NGINX Setup guide.
Firebase OAuth Token Issues (HTTP v1)
- Check options
pnfpb_firebase_oauth_tokenandpnfpb_firebase_oauth_timestampin the database. - If the timestamp is more than 1 hour old the plugin regenerates the token automatically on the next cron run.
- Verify the uploaded service account JSON is valid and has the Firebase Messaging Admin role.
- Ensure WP Cron is running: visit
wp-admin/site-health.php→ Info → Scheduled events to see ifPNFPB_cron_generate_Firebase_oauth_token_hookis present.
Action Scheduler Not Found
PNFPB bundles the Action Scheduler library in libraries/action-scheduler/. It is loaded automatically if neither the Action Scheduler plugin nor WooCommerce (which bundles its own copy) are active. If you see errors about missing Action Scheduler functions, ensure the plugin is fully extracted and the libraries/action-scheduler/action-scheduler.php file exists.
BuddyPress Notifications Not Firing
- Confirm BuddyPress is active (
bp_is_active()must return true). - Confirm the specific notification type is enabled in PNFPB → Push settings → BuddyPress.
- Check that the relevant BuddyPress component is active (e.g. Activity, Messages, Friends, Groups).
- If using scheduling, check that cron jobs are running.
Large Subscriber Base (1000+ Subscribers) – Timeouts
- Enable Background scheduling for every notification type you use.
- This offloads delivery to Action Scheduler which runs as a background HTTP request.
- Optionally set a custom seconds interval for fine-grained control.
PWA Not Installable
- All required manifest fields must be filled in (name, short_name, start_url, display, icons).
- Icons must be at least 192×192 and 512×512 PNG.
- The manifest file must be served with
Content-Type: application/manifest+json. - HTTPS is required.
- Use Chrome DevTools → Application → Manifest to debug manifest issues.