Push Notification for Post and BuddyPress

July 01, 2024

Push Notification for Post and BuddyPress Plugin

Free Push notifications for WordPress websites with Post/custom post, BuddyPress activities, for Android/IOS mobile apps and to generate PWA.

It sends push notifications to desktop, android/ios mobile apps using Firebase Cloud Messaging (FCM) with latest version Firebase API http v1 version or Onesignal as push notification provider. It has REST API facility to integrate with native/hybrid Android/iOS mobile apps for push notifications. It sends notification whenever new WordPress post, custom post types,new BuddyPress activities,comments published. It has facility to generate PWA – Progressive Web App.

Plugin features:-

Free push notifications

To send Push notifications for following,

  1. New post/custom post type published (including bbpress).
  2. New BuddyPress activities published.
  3. New BuddyPress group activity published (only to members of group).
  4. Notifications for BuddyPress mentions in activities.(only to recipient).
  5. BuddyPress group invite sent (only to recipient).
  6. BuddyPress group details updated.
  7. New Buddypress comments published.
  8. New BuddyPress message or private messages (only to recipient).
    (It is also compatible with Bettermessages plugin).
  9. New BuddyPress member joined.
  10. For Friend request in BuddyPress (only to recipient).
  11. Friendship accepted in BuddyPress (only to requestor).
  12. User avatar change in BuddyPress.
  13. Cover image change in BuddyPress.
  14. Supports Push notifications for BuddyBoss and Better Messages plugins
  15. Woocommerce custom post type push notifications.
  16. Ability to process more than 200,000 subscribers unlimited push notifications using background action scheduler.
  17. Supports Push notification providers Firebase httpv1 Push notifications and Onesignal push notification.

Admin only push notifications (only to administrators)

  1. When contact form(contactform7 plugin) submitted.
  2. When new user registered in site.

Notifications only for loggedin users

Enable/Disable option in admin settings to send push notifications using Firebase httpv1 or Onesignal only for loggedin users.

Custom popup and Bell prompt to subscribe push notifications with subscription options

Enable/Disable custom prompt with icon to subscribe/unsubscribe push notifications in front end in admin settings.
Choose Horizontal or Vertical custom prompt style and customize the text, color and button.
Enable/Disable Bell prompt icon to subscribe/unsubscribe notifications. This option can be customized with custom icon and text in admin settings with local languages.
Custom prompt and Bell icon includes subscription option along with subscribe/unsubscribe button. Front end users will be able to subscribe to particular category like post, activity, comments, friendship request/accept, other options while subscribing for first time or if user wants to update subscribe options from bell prompt at any time it is needed.
Subscription options in bell prompt and in custom prompt shall be enabled/disabled in plugin admin settings under push settings tab -> under customization of custom and bell prompt.

Shortcodes

Use shortcode [member name] and [group name] in push notification title and custom content to display user name in title/content in push notifications, similarly for BuddyPress group activities [group name] place holder is available to display group name in title/content in push notifications.
For front end users Shortcode [subscribe_PNFPB_push_notification] is available to Subscribe/Unsubscribe push notifications

Push notification providers Firebase or Onesignal

Options to use Firebase as push notification provider or to use onesignal as push notification provider are available in admin settings area.

Subscribe/Unsubscribe various push notifications in front end

Front end push notification menu is available for BuddyPress Front end users to subscribe/unsubscribe various push notifications according to their choices. This menu is available in user profile – settings area. For other users, shortcode is available to display subscription menu for Front end users to subscribe/unsubscribe various push notifications according to their choices.

Scheduling Push notification

It allows Scheduled Push notifications to send push notifications hourly(every hour), twice daily(2 times per day), daily, weekly as per WordPress CRON. It also provides option to schedule push notification in background using action scheduler, this will be useful to send notification more than 100000 subscribers simultaneously in background mode.
Push notification scheduling is available for On demand/One time, WordPress Post, BuddyPress activities, BuddyPress group activities and for BuddyPress comments.

REST API

REST API to connect mobile native/hybrid apps to send push notification from WordPress site to both mobile apps and WordPress sites.
Using this REST API WordPress site gets Firebase Push Notification subscription token from Mobile app(Android/Ios).
This allows to send push notifications to WordPress site users as well as to Native mobile app Android/ios users.
REST API url is https://wp-json/PNFPBpush/v1/subscriptiontoken

HOW TO USE PLUGIN API TO INTEGRATE MOBILE APP PUSH NOTIFICATION

Sample code libraries containing how to use this plugin REST API to integrate with Android and IOS mobile apps
Android app code to integrate with this plugin
IOS app code to integrate with this plugin

Refer video tutorial under “How to use this plugin” section to configure Firebase options in plugin admin area.

PWA

This plugin has facility to generate Progressive Web App (PWA).
Progressive Web Apps are supported by Chrome(Desktop,Mobile) browser, Edge browser, Firefox for android, Opera for android. Firefox for desktop will not support PWA.
Go to plugin settings page to enable/disable PWA app and to customize PWA app with app name, app icon, app theme color, background color for PWA and list of pages to be included in offline cache for web app offline mode.

Extra settings for NGINX server

If server is NGINX and not able to create dynamic service worker file https://pnfpb_icpush_pwa_sw.js & PWA manifest json file https://pnfpbmanifest.json then go to plugin settings->nginx tab, enable static file creation option, it will create required static service worker file, PWA manifest json files in root folder. This option is applicable only if hosting/server is based on NGINX and not creating dynamic service worker file, manifest json files. By default, this plugin creates dynamic service worker file and PWA manifest json file.

This plugin uses Firebase Cloud Messaging to send push notification using Firebase registration credentials which is free of cost.

Plugin Demo using Customized WordPress Playground site

Test PNFPB plugin here

Video tutorial showing how to configure Firebase for this plugin

Installation

Following are steps to configure the plugin,

  1. Download the plugin

  2. Activate the plugin

  3. Go to settings of the plugin (in admin menu -> Settings -> Push Notification using FCM)

  4. Enable/Disable push notification when new item published in following,

    4.a. new post types published,
    4.b. new custom post types published,
    4.c. BuddyPress activities,
    4.d. BuddyPress Group members,
    4.e. BuddyPress messages,
    4.f. BuddyPress comments
    4.g. New BuddyPress member joined
    4.h. Friend request in BuddyPress
    4.i. Friendship accepted in BuddyPress
    4.j. User avatar change in BuddyPress
    4.k. Cover image change in BuddyPress
    4.l. Group invite
    4.m. Group details update
    4.n. Contactform7 submitted (Admin notification)
    4.o. New user registration (Admin notification)

Scheduling push notifications

5.Optionally it allows to Schedule push notifications for post types,BuddyPress new activities, BuddyPress new Group activities and for BuddyPress new comments. Push notifications can be scheduled in following schedules. Go to admin settings and schedule it accordingly.Schedule push notifications in Hourly, twice daily,daily,weekly schedules.
6.When BuddyPress Group Members option is enabled, it will send push notification only to users who joined in Group/to Particular group members.
7.When Buddypress private message notification is enabled, Private message notification will be sent only to the recipient id sent by sender.

Firebase configuration

** Video tutorial showing how to configure Firebase for this plugin **

  1. Configure Firebase settings as per below steps,

Firebase configuration setup in plugin admin settings

Sign in to Firebase, then open your project, click settings icon & select Project settings

To get Firebase server key (for field 1 in admin firebase settings)

project settings > cloud messaging tab > get server key or add server key button to get server key

To get Firebase config fields (for fields 2 to 8 in admin firebase settings)

If you do not have web app, Create a new web app. After creating a new app, it will show firebase config fields
Project settings > General under your apps section > click on config button to view configuration fields

To get Firebase public key (for field 9 in admin firebase settings)

Open the Cloud Messaging tab of the Firebase console Settings pane and scroll to the Web configuration section.
In the Web Push certificates tab, click Generate Key Pair. The console displays a notice that the key pair was generated, and displays the public key string and date added.
(If you already Generated key pair then no need to generate it again)

Progressive Web App (PWA) settings

  1. Go to PWA settings in plugin admin area and fill all required fields to customize and generate PWA app with offline facility.If pages are included for offline cache then users will be able to view those pages in offline mode without internet if page is not stored in cache then default offline page will be displayed.if all urls needs to be excluded from offline PWA cache then enable exclude all urls option in PWA settings.

  2. Go to on-demand push notification admin panel to send push notification from admin panel to all subscribers whenever it required.

After saving below fields, it will ask to allow notification for this website in browser default popup, click on allow notification to get notifications

Push notifications will better work in normal browser not in cognito private browser as it requires service worker registrations to display push notification.

After completing above steps, push notification will be displayed based on option selected for posts/buddypress while publishing posts or custom post types or during new BuddyPress activities or comments.

11.For front end users Shortcode [subscribe_PNFPB_push_notification] is available to Subscribe/Unsubscribe push notifications for following

11.1. Subscribe all notifications 11.2. Subscribe to all new post/new BuddyPress activity notifications 11.3. Subscribe to all new comments for post,BuddyPress activities notifications 11.4. Subscribe to new comments notifications only from My BuddyPress activities or My post based on Post Author id/BuddyPress activity Author id 11.5. New BuddyPress member joined 11.6. Friend request in BuddyPress 11.7. Friendship accepted in BuddyPress 11.8. User avatar change in BuddyPress 11.9. Cover image change in BuddyPress 11.10. Unsubscribe all notifications 

Front end users/customers can opt/remove for various push notifications listed above according to their own choice.

  1. Shortcode [PNFPB_PWA_PROMPT] to create button to install PWA. If user clicks this button, it will show default prompt to install PWA. This shortcode can be placed anywhere or in sidebar according to convenience.

Screenshots

  1. Push notification in Mobile

    Push notification in Mobile

  2. Desktop push notification

    Desktop push notification

  3. Plugin settings for push notification in admin area

    Plugin settings for push notification in admin area

  4. Plugin settings for push notification with BuddyPress options in admin area

    Plugin settings for push notification with BuddyPress options in admin area

  5. Shortcode push notification options for front-end users to opt for various notifications

    Shortcode push notification options for front-end users to opt for various notifications

  6. BuddyPress Group members can subscribe/remove push notification for every group

    BuddyPress Group members can subscribe/remove push notification for every group

  7. Admin page showing list of tokens subscribed

    Admin page showing list of tokens subscribed

  8. Progressive Web App admin settings page

    Progressive Web App admin settings page

  9. On demand push notification page in plugin settings area 10.Customize plugin buttons 11.API for mobile app which are using webview 12.Special settings for NGINX based server

    On demand push notification page in plugin settings area 10.Customize plugin buttons 11.API for mobile app which are using webview 12.Special settings for NGINX based server

FAQ

Do you have any questions?

Submit or contact us with your question here (or) Please contact us here with your query. (or) Submit your question in plugin forum

Changelog

1.94 version June 29 2024

  • Security fix
  • Bug fix: Removed progress bar if browser is already subscribed
  • Bug fix: Resolved problem related to un-subscribe push notification for BuddyPress group

1.93 version June 19 2024

  • New admin option for custom prompt push notification to hide notification confirmation message.
  • Added new admin field to customize notification confirmation for custom prompt notification.
  • Bug fix: Resolved problem for BuddyBoss push notification on activities.
  • Bug fix: Update to make this plugin compatible with vikinger community theme.

1.91 version June 13 2024

  • Bug fix: Resolved problem related to custom prompt for push notification subscription when push notification providers are changed like Firebase/Onesignal/Others.
  • Bug fix: Resolved problems related to conversion of legacy Firebase subscription tokens to http v1 Firebase version.
  • Bug fix: Resolved problems related to push notifications containing special characters, white space or regional language characters.

1.89 version June 08 2024

  • Bug fix: Fixed loop problem related to httpv1 firebase push notification.

1.88 version June 06 2024

  • New features: PWA new features – New admin PWA tabs for PWA Desktop, Mobile screenshot images, PWA Protocol handler and re-designed PWA admin settings tab.
  • Update: Changes to Service worker refresh to reflect changes immediately without waiting, so that PWA changes will be reflected immediately (applicable only for apache servers without NGINX). If NGINX is used then it depends on NGINX cache time in the server.
  • Update: Latest httpv1 Firebase version push notification will work without legacy Firebase server key.
  • Update: Post/Custom post notification logic changed to trigger based on action transition_post_status instead of save_post to avoid duplicate post notification.
  • Update: PWA is now available for all push notification providers onesignal/Firebase push notification.
  • Update: Re-designed admin panel for push notification settings.

1.87 version Apr 21 2024

  • Updated logic to have click url in one time custom push notification and for all push notifications using httpv1 Firebase api version under data array for webview.
  • Fixed problem on selecting page url from drop down list for one time push notification click url in admin settings one time push notification tab.
  • Regenerated pot file for text domain to have latest text strings.

1.86 version Apr 17 2024

  • BuddyBoss users – Frontend push notification settings for various notifications are available under user profile – account – push notification subscription, users will be able to control notifications for Firebase/Onesignal push notifications.
  • Onesignal push notifications updates based on Frontend notifications settings. If Frontend settings are switched off then notification will be sent to all users for general BuddyPress activities/comments. For group activities,it will be sent only to group users based on frontend settings ON/OFF. Similarly other notifications will work according Front end settings enabled/disabled and based on user subscription settings.
  • Optimize SQL logic in function PNFPB_update_database to execute only for older version of this plugin version less than 1.65.

1.85 version Apr 16 2024

  • New feature for Onesignal Push notification: Frontend push notification settings for onesignal push notification for BuddyPress frontend users. Frontend user will be able to subscribe/unsubscribe various BuddyPress related push notifications. Frontend push notification menu is available in BuddyPress user profile -> settings -> push notification subscription.
  • New feature for Onesignal Push notification: BuddyPress group push notifications with subscribe/unsubscribe group push notifications for every group are available for Onesignal push notifications.
  • Changes to make it compatible with PHP 8.2 version.
  • Replaced bp_core_get_user_domain function with latest version of BuddyPress function bp_members_get_user_url to get members click url in push notification.

1.84 version Apr 08 2024

Bug fix: Resolved problem related to OneSignal Push notifcation already defined window.OneSignal variable. OneSignal plugin is required along with this PNFPB plugin to send OneSignal push notifications for BuddyPress, custom post, on demand push notifications.

1.83 version Apr 05 2024

Compatible with latest WordPress version 6.5
Bug fix: Fixed problem related to exclude all urls from PWA cache.

1.82 version Mar 26 2024

Update: Compatible with Bedrock roots-io WordPress boilerplate. Static service worker file for push notification and PWA manifest json static files can also be generated using Bedrock (roots.io) WordPress boilerplate.

1.81 version Mar 15 2024

New feature: New admin settings field added for number of days to show custom prompt for push notification again for front end users who cancels push notification in custom prompt.
PWA New feature: New admin settings field added for number of days to show PWA custom prompt for push notification again for front end users who cancels push notification in PWA custom prompt.
Update: Removed please wait processing message while subscribing notification.
Update: Optimized subscription of push notifications from custom prompt/bell icons.
Bug fix: Fix problems related to browser check logic to be compatible with Elementor and other plugins
Bug fix: Fixed problems related to duplicate notification for my comments push notifications
Update: PWA cache will not be enabled automatically, unless exclude all urls in PWA settings field set to OFF manually.
Bug fix: Resolved problem related to threadid(private messages),click url fields for webview app push notification – friendship request,accepted,private messages.

1.80 version Mar 4 2024

Updated readme.txt. refer below change log for 1.79 changes.

1.79 version Mar 4 2024

New feature: Various Subscription options are included in custom prompt, bell icon while subscribing for push notification first time. Users will be able to select subscription options while subscribing for the first time from custom prompt/bell icon. From bell icon, front end users will be able to modify subscription options whenever it is needed. Subscription option can be turned on/off to include/exclude in custom prompt or in bell icon from admin settings.

Old release version details are available here

Details

  • Version: 1.94
  • Active installations: 300
  • WordPress Version: 5.0
  • Tested up to: 6.5.5
  • PHP Version: 7.4

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars