带有前缀的节点JS谷歌云消息传递主题出现错误:主题名称格式错误

时间:2018-10-05 15:01:15

标签: node.js firebase firebase-cloud-messaging

我想使用Node.js创建后端服务,以向所有订阅者发送通知。我想使其动态化,我已经从this link阅读了有关如何使用NodeJS来使用GCM的文档,其中说:“主题名称可以选择以“ / topics /”为前缀

没有前缀,一切正常,但是当我尝试在其上添加前缀时,出现“错误:主题名称格式错误”

这是我的代码

app.post('/notify', (request, response) => {
// console.log(request.body);
var message = {
    android: {
        ttl: 3600 * 1000, // 1 hour in milliseconds
        priority: 'normal',
        notification: {
            title: request.body.fullname + ' want to join',
            body: 'email: ' + request.body.email + '; tel: ' + request.body.no_telp,
            icon: 'stock_ticker_update',
            color: '#0088aa'
        },
        data: request.body
    },
    topic: '/register/guest'
};

admin.messaging().send(message)
.then((res) => {
    // Response is a message ID string.
    console.log('Successfully sent message:', res);
    response.send("success");
})
.catch((error) => {
    console.log('Error sending message:', error);
    response.send('error');
});

})

1 个答案:

答案 0 :(得分:0)

在我看来,https://firebase.google.com/docs/cloud-messaging/admin/send-messages页上的示例代码第一行中的注释不正确。在“定义消息”下,明确指出

  

主题名称不得包含/ topics /前缀。