Actionable alert event listener stopped working on iOS (2.3.0)
sckumar opened this issue · 3 comments
Expected Behaviour
iOS actionable alert event listener should get called when user taps on action from the background push notification
pushObject.on("Approve").subscribe(notification => {
console.log("approved" + notification);
});
Actual Behaviour
Rather than calling actionable alert event, it triggers pushObject.on("registration").subscribe((registration: any) => {
console.log(notification.additionalData.foreground); // false
}
Reproduce Scenario (including but not limited to)
Run the application on iOS 13.0 and above
Steps to Reproduce
- Register with categories
- Send actionable alert with push notification
- Perform action from background push notification
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
iOS 13.x
Cordova CLI version and cordova platform version
Cordova version
9.0.3 (cordova-lib@9.0.2)
Platform versions
android 8.1.0
ios 5.1.1
Plugin version
2.3.0
Sample Push Data Payload
{
"aps": {
"category": "authorize",
"title": "Payment is pending for approval",
"alert": "Payment of 3500 EUR is pending for your approval"
},
"actionInfo": {
"currentAction": "add",
"nextAction": "approve",
"referenceId": "11U5F1lGesVcxzo",
"rejectionInfo": null
}
}
Sample Code that illustrates the problem
this.platform.ready().then(() => {
const options: PushOptions = {
android: {},
windows: {},
ios: {
alert: "true",
badge: true,
sound: "true",
categories: {
authorize: {
yes: {
callback: "Approve",
title: "Approve",
foreground: true,
destructive: false
},
no: {
callback: "Reject",
title: "Reject",
foreground: true,
destructive: true
}
}
}
};
this.pushObject = this.push.init(options);
this.pushObject.on("registration").subscribe((registration: any) => {
}
this.pushObject.on("notification").subscribe((notification: any) => {
}
this.setCallbacks(this.pushObject);
});
setCallbacks(pushObject) {
pushObject.on("Approve").subscribe(notification => {
console.log("approved" + notification);
});
pushObject.on("Reject").subscribe(notification => {
console.log("approved" + notification);
});
}
Logs taken while reproducing problem
Can anyone please help me with this ?
Anybody ? I heard it was working before. I can't get it to work iOS 10.x.