NativeScript Firebase通知回调问题

时间:2017-12-13 22:41:12

标签: firebase firebase-cloud-messaging nativescript nativescript-firebase

我有一个用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.

有没有人知道如何解决这个问题?

0 个答案:

没有答案