【问题标题】:Handling IONIC 2 push notification处理 IONIC 2 推送通知
【发布时间】:2017-04-19 06:31:13
【问题描述】:

我创建了 IONIC 2 应用程序并使用 ionic.io 实现了 PUSH 通知,它正在工作。

接下来我需要实现的是应用程序将如何响应点击通知,就像我发送一个值为“1234”的有效负载变量“postid”。

现在App打开和关闭有两种情况:

1) 当应用程序打开时,我想显示一个带有推送标题和消息的弹出窗口 - 点击它会转到详细信息页面。

2) 收到通知后,点击会打开App,不会显示首页,直接进入详情页,带postid参数。

我的代码:

this.push.rx.notification()
  .subscribe((msg) => {           
    this.appCtrl.getRootNav().push(DetailsPage, {postid: 203146});
});

上面代码的问题:

1) 当应用程序关闭时 - 它打开应用程序但什么都不做,但当我删除参数 postid 时,它导航到 DetailsPage 但不使用参数。

2)当应用程序打开时不知道如何执行此操作,因为当应用程序打开时它什么都不做。

请推荐,谢谢!!

【问题讨论】:

  • 你解决了吗?
  • 是的,你在找什么?
  • 当应用关闭时 push.rx.notification() 不会被调用。当应用程序关闭时 - 它会打开应用程序但什么也不做。

标签: ionic-framework ionic2


【解决方案1】:

这是解决我的问题的代码。

现在它可以正常工作了。如果有有效载荷,它将检查有效载荷,如果没有,它将登陆主页。如果 App 已打开,则会显示一个弹出框。

this.push.rx.notification()
              .subscribe((msg) => {
                let pushPayload = msg.payload;
                if(pushPayload == undefined)
                    return;

                if (msg.app.asleep || msg.app.closed) { 
                    if(pushPayload['postid'] !== undefined) {
                        this.appCtrl.getRootNav().push(DetailPage, {id: msg.payload['postid']});                        
                    }
                } else {
                    let confirm = this.alertCtrl.create({
                      title: msg.title,
                      message: msg.text,
                      buttons: [
                        {
                          text: 'Check Later',
                          handler: () => {
                            console.log('Disagree clicked');
                          }
                        },
                        {
                          text: 'Check Now',
                          handler: () => {
                            if(pushPayload['postid'] !== undefined) {
                                this.appCtrl.getRootNav().push(DetailPage, {id: msg.payload['postid']});        

                            } 
                          }
                        }
                      ]
                    });
                    confirm.present();
                }
            });

希望它可以帮助某人。

谢谢

【讨论】:

  • 我正在使用一个信号进行推送通知,并且需要在应用打开时点击通知打开特定页面。无论如何有吗?
猜你喜欢
  • 1970-01-01
  • 2017-01-27
  • 2017-06-17
  • 2017-01-29
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
相关资源
最近更新 更多