2017-06-22 200 views
0

我使用離子云和Firebase雲消息傳遞推送通知的代碼如下。Ionic 3推送通知主題訂閱

let topic = "topics/" + this.user.userRole + "/" + this.user.location; 

const options:PushOptions = { 
    android: { 
     senderID: "XXXXX", 
     sound: true, 
     vibrate: true, 
     //topics: [topic] 
    }, 
    ios: { 
     alert: "true", 
     badge: false, 
     sound: "true" 
    }, 
    windows: {} 
}; 

它的工作原理,但只要我嘗試訂閱特定話題,從運行Android時,然後應用程序崩潰。

當我使用訂閱,在下面的方式:

pushObject.on('registration').subscribe((data:any) => { 
    console.log("device registered -> ", data); 
    this.saveToken(data.registrationId); 
    let topic = "topics/" + this.user.userRole + "/" + this.user.location; 
    pushObject.subscribe(topic).then((res:any) => { 
     console.log("subscribed to topic: ", res); 
    }); 
}); 

再次,什麼也沒有發生,我沒有收到展示我能夠訂閱一個主題的任何信息。

我該如何完成主題訂閱?

回答

0

我在android studio中打開項目並從那裏運行它,而不是使用ionic-cli。 我看到關於無效主題名稱的IllegalArgumentException。 這answer幫助我解決了關於主題名稱中可接受字符的問題。