- You need to setup OneSignal account to support push notification (https://onesignal.com)
- Install OneSignal Wordpress plugin to support push notification after publish a post:
iOS Config
Login to Onesignal, create a new app, go to app setting Config the Apple IOS
Click Config to open the popup config, follow the guide Generate ios push Certificate to generate the certificate and upload to the site.
Select Tab "Keys & Id" to get the OneSignal app id, and open MStore project, common/config.js file and change the AppId:
OneSignal: {
appId: '85cbc2b5-4e0d-4214-9653-8054d06f4256'
},
Android config
Follow the same guide above for iOS
Select Tab "Keys & Id" to get the OneSignal app id, and open MStore project, common/config.js file and change the AppId:
OneSignal: {
appId: '85cbc2b5-4e0d-4214-9653-8054d06f4256'
},
NOTE: The download package has already configure all the setting for you, but you need to replace the APP_ID
to integrate with your OneSignal account. You can also refer detail document here for setting up.
Install Wordpress plugin
Go to Configuration and fill in the APP ID, REST API Key, and your subdomain.
The default setting for the plugin "Automatically send a push notification when I create a post from the WordPress editor" is turn on, it's mean whenever you publish the post item, it will send notification auto to your user mobiles.
Notes: when testing the app with push notification, you may could not open the post directly when receiving the message, instead of opening the Webview from the app. To fix this issues, please update the functions.php file, this file is also discussed at the Basic app setting topic (the comment section):
function onesignal_send_notification_filter($fields, $new_status, $old_status, $post)
{
$fields['isAndroid'] = true;
$fields['isIos'] = true;
$fields['isAnyWeb'] = false;
$fields['isChrome'] = false;
$fields['data'] = array(
"id" => $post->ID,
);
/* Unset the URL to prevent opening the browser when the notification is clicked */
unset($fields['url']);
return $fields;
}
add_filter('onesignal_send_notification', 'onesignal_send_notification_filter', 10, 4);
You can also send the push notification manually through the OneSignal admin.