Reputation: 1095
I have implemented ionic push notification on my app for android. Push notification works well when app is not running(either is in background or not started), however, it does not get status bar notification(notification bar) or vibration that worked when running in background or not started at all.
$ionicPlatform.ready(function() {
localStorage.myPush = ''; // I use a localStorage variable to persist the token
var tokenID = '';
$cordovaPushV5.initialize( // important to initialize with the multidevice structure !!
{
android: {
senderID: "457390407561"
},
ios: {
alert: 'true',
badge: true,
sound: 'false',
clearBadge: true
},
windows: {}
}
).then(function (result) {
$cordovaPushV5.onNotification();
$cordovaPushV5.onError();
$cordovaPushV5.register().then(function (resultreg) {
localStorage.myPush = resultreg;
console.log(localStorage);
}, function (err) {
// handle error
});
});
$rootScope.$on('$cordovaPushV5:notificationReceived', function(event, data){
// data.message,
// data.title,
// data.count,
// data.sound,
// data.image,
// data.additionalData
console.log("notification received");
console.log(event);
console.log(data);
console.log(data.message);
console.log(data.title);
console.log(data.count);
console.log(data.sound);
if (data.additionalData.foreground === true) {
// do something if the app is in foreground while receiving to push - handle in app push handling
console.log("notification received in foreground");
}
else {
// handle push messages while app is in background or not started
console.log("notification received in background");
$state.go('app.orderlist');
}
});
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
Any advice or suggestion?
Thank you in advance.
Upvotes: 1
Views: 135
Reputation: 1095
You can add
forceShow: true
like below
$cordovaPushV5.initialize( // important to initialize with the multidevice structure !!
{
android: {
senderID: "xxxxxxxxx",
forceShow: true
},
ios: {
alert: 'true',
badge: true,
sound: 'false',
clearBadge: true,
},
windows: {}
}
)
Upvotes: 2