登录
首页 >  Golang >  Go问答

Firebase 推送通知到设备组令牌时仅显示发送者信息

来源:stackoverflow

时间:2024-03-10 10:57:23 375浏览 收藏

一分耕耘,一分收获!既然都打开这篇《Firebase 推送通知到设备组令牌时仅显示发送者信息》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我正在开发一项用于处理与 firebase 云消息传递集成的推送通知的服务。当我发送新消息并指定设备令牌时,它工作正常。我收到通知标题、正文等。但是,当我指定设备组 id(当我使用设备令牌注册新组时得到的响应)时,设备会收到通知,但它是空白的 - 仅显示“from”字段是发件人 id。没有显示通知标题、正文等。

消息构造代码

func fcmnewmessage(title, body, collapsekey, token string) *messaging.message {
    onehour := time.duration(1) * time.hour
    message := &messaging.message{
        notification: &messaging.notification{
            title: title,
            body:  body,
        },
        android: &messaging.androidconfig{
            ttl:         &onehour,
            collapsekey: collapsekey,
        },
        apns: &messaging.apnsconfig{
            headers: map[string]string{
                "apns-collapse-id": collapsekey,
            },
        },
        webpush: &messaging.webpushconfig{
            notification: &messaging.webpushnotification{
                icon: "https://my-server/icon.png",
            },
            headers: map[string]string{
                "urgency": "high",
                "topic":   collapsekey,
            },
        },
        token: token,
    }
    return message
}

正如您在上面看到的 - “token”参数可以是设备令牌或设备组通知密钥令牌。当使用设备组令牌时就会出现问题。

以下是客户端通知:

使用设备令牌时:

{
  "from": "53xxxxxxxxxx",
  "priority": "high",
  "notification": {
    "title": "test",
    "body": "test",
    "icon": "https://my-server/icon.png"
  },
  "collapse_key": "collapseme"
}

使用设备组令牌时:

{
  "from": "53xxxxxxxxxx"
}

我还应该提到,当使用设备组令牌时,我从 fcm 得到的响应是:

projects/projectid-123/messages/

所以最后没有消息id。通常响应是:

projects/projectid-123/messages/

解决方案


不再支持设备组令牌。它们是 v1 API 的一项功能,但现在不再使用,这就是它不起作用的原因。 Firebase 文档不是很好,需要进行一些认真的挖掘才能找到这一点。

好了,本文到此结束,带大家了解了《Firebase 推送通知到设备组令牌时仅显示发送者信息》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>