2017-06-22 20 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: {} 
}; 

これは機能しますが、特定のトピックを購読しようとすると、アンドロイドから実行するとアプリがクラッシュします。

私は、以下の方法で、サブスクライブを使用する場合:

再び
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

私はアンドロイドスタジオでプロジェクトを開き、ionic-cliを使用する代わりにそこから実行しました。 無効なトピック名に関するIllegalArgumentExceptionが見つかりました。 このanswerは、トピック名に許容される文字に関する問題を解決するのに役立ちました。