2017-04-19 116 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(); 
       } 
      }); 

希望它可以幫助別人。

謝謝