我有一个用NativeScript编写的应用程序。我使用Firebase插件进行推送通知。第一个问题是当设备处于后台或被杀时,我无法接收任何通知(仅发送数据参数)但是当我打开应用时,通知就是产生
第二个问题是,当我尝试使用通知和数据参数发送推送通知(应用程序被终止)时,本地通知正在生成,但回调在通知点击时执行,而不是在后台执行(我的视图未被新数据更新)。
以下是NativeScript代码的一部分:
firebase.init({
onMessageReceivedCallback: (message: Message) => {
console.log(`Title: ${message.title}`);
console.log(`Body: ${message.body}`);
console.log(`Data: ${message.data}`);
const data = message.data;
const action = data.action;
// STORE RESERVATION
if (action === ItemConstants.STORE_RESERVATION) {
const item = this.prepareOnlineData(data);
const result = this.databaseService.saveReservation(item);
if (result !== -1) {
console.log("Saved to local database!");
} else {
console.log("Error occurred!");
}
}
// DENY RESERVATION
if (action === ItemConstants.DENY_RESERVATION) {
this.databaseService.setReservationStatus(
ItemConstants.STATUS_DENIED, data.tracking_id
).then(result => {
console.log(result);
}, error => {
console.log(error);
});
}
}
}).catch(error => {});
以及调用Google Service的PHP代码部分:
$fields = array(
'to' => $to,
'notification' => [
'title' => 'reservation title',
'body' => 'you have new reservation',
'sound' => 'default'
],
'data' => $data,
'priority' => 'high',
'delay_while_idle ' => true
);
// calling curl - google services.
有没有人知道如何解决这个问题?