Ionic 3推送通知主题订阅

时间:2017-06-22 16:12:13

标签: firebase ionic-framework push-notification

我有以下使用离子云和Firebase云消息传递的推送通知代码。

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运行时应用程序崩溃。

当我使用subscribe时,按以下方式:

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

同样,没有任何反应,而且我没有收到任何显示我能够订阅某个主题的信息。

如何完成主题订阅?

1 个答案:

答案 0 :(得分:0)

我在android studio中打开项目并从那里运行它,而不是使用ionic-cli。 我看到有关无效主题名称的IllegalArgumentException。 这个answer帮助我解决了主题名称中可接受字符的问题。