2017-04-19 173 views
2

我已经创建了IONIC 2 App,并使用ionic.io实现了PUSH通知,并且它正在工作。处理IONIC 2推送通知

接下来我需要实现的是如何应用将在点击通知喜欢我送的有效载荷变量“帖子ID”与价值“”回应。

现在有两种情况,当应用程序是开放的,当它被关闭:

1)当应用程序打开时,我想,以显示与推标题和消息一展身手按钮弹出 - 点击它会采取详细信息页面。

2)收到通知后,点击它将打开应用程序,它不会显示主页,并会直接转到具有参数postid的详细信息页面。

我的代码:上面的代码

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

问题:

1)当应用程序被关闭 - 它会打开应用程序,但什么都不做,但是当我删除了参数帖子ID它定位到详细信息页面但不包含参数。

2)当应用程序打开时不确定如何做到这一点,因为它应用程序打开时什么也不做。

请建议,谢谢!

+0

你解决了吗? –

+0

是的,你在找什么? –

+0

当应用程序关闭时,不会调用push.rx.notification()。当应用程序关闭时 - 它会打开应用程序,但什么都不做。 –

回答

0

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

现在它按照需要工作。如果有一个有效载荷,它将检查有效载荷,如果没有,它将登陆主页。如果应用程序打开,则会显示一个弹出框。

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(); 
       } 
      }); 

希望它可以帮助别人。

谢谢