当前位置: 首页 > 知识库问答 >
问题:

Firebase Cloud消息未以正确格式发送用于iOS通知内容和服务扩展的aps有效负载

辛可人
2023-03-14

我正在尝试使用Firebase实现通知。当应用程序处于后台或前台时,会正确接收通知。所以,基本的机制起作用了。

现在我已经为应用程序添加了内容扩展和服务扩展。Content扩展在我使用本地通知时起作用,但Firebase消息负载似乎不正确,因为考虑了可选字段。这里有一个指向我的控制台映像的链接:

下面是遇到的Firebase远程通知负载(为了匿名而编辑了一些长的Google号码:

{
    aps = 
    {
        alert = 
        {
        body = "Eureka! 11";
        title = "Patient is not doing well";
        };
    };
    category = provider-body-panel;
    gcm.message_id = 0:149073;
    gcm.n.e = 1;
    google.c.a.c_id = 2825604;
    google.c.a.e = 1;
    google.c.a.ts = 149073;
    google.c.a.udt = 0;
    mutable-content = 1;
}

共有1个答案

慕学海
2023-03-14

首先,我要提到FCM有两种类型的消息负载。通知数据。请参阅此处的文档

当通过Firebase通知控制台发送通知时,它将被视为通知负载。但是,如果添加自定义数据,它会将其作为自定义键-值对添加到有效负载中。

例如,在您的文章中,FCM负载应该如下所示:

{
    "notification": {
        "body" : "Eureka!",
        "title": "Patient is not doing well"
    },

    "data": {
        "category": "provider-body-panel",
        "mutable-content" : true,
        "click_action" : "provider-body-panel"
    }
}
    null

这里的参数见文档。

当使用Firebase通知控制台时,当前无法设置click_actionmutable_content的值。您必须自己构建有效载荷,如下所示:

{
    "to": "<REGISTRATION_TOKEN_HERE>",
    "mutable_content" : true,
    "notification": {
        "body" : "Eureka!",
        "title": "Patient is not doing well",
        "click_action" : "provider-body-panel"
    }
}

然后从自己的App服务器上发送。您还可以使用Postman或cURL来完成此操作

 类似资料:
  • 我正在尝试使用亚马逊 SNS 发送推送通知。以下是我创建消息正文的方式: 通知到达目标设备,但消息是“bar”,而不是“foo”。换句话说,使用的是默认传输,而不是特定于APNS的传输。我做错了什么?

  • 在定义消息有效负载时的Firebase云消息文档中: 通过使用数据和/或通知键创建对象,可以指定一种或两种消息类型。 文档给出了组合消息的示例: 另请参阅后台应用程序中处理通知消息的文档: 这包括同时包含通知和数据有效负载的消息(以及从通知控制台发送的所有消息)。在这些情况下,通知会发送到设备的系统托盘,数据有效负载会在启动器活动的目的之外发送。 我用这个有效载荷发送通知: 但是始终为空: 我做错

  • 说明 此接口用于向排队的微信用户发送消息,如到号时的叫号信息 请求地址 http://api.dc78.cn/Api/wwnotify 请求方式 GET 请求参数 URL参数 参数名称 必填 描述 范例 id 排队号id msg 要发送的信息 POST参数 参数名称 必填 描述 范例 无 GET参数 参数名称 必填 描述 范例 id 排队号id 是 排队列表协议中的id 223729 msg 通知

  • 线下取的号不能发送通知 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 wwget string get GET参数组,本组参数需要参与签名 是 object └id 排队号id 否 47302320 number └msg 通知消息 否 38号客人请返回用餐啦 string 请求示例 { "action

  • 问题内容: 我只想知道如何确定在无提示推送中要执行的操作: 这是我发送给客户的: 现在的问题是,当我添加以确定静默推送是为了让“订单更新”显示警报通知时。 问题答案: 有一些选择!让我们花点时间了解所有不同的有效负载及其用法。 简单有效载荷 显示在通知中心:是 唤醒应用以执行后台任务:否 带有自定义通知声音的有效负载 显示在通知中心:是 唤醒应用以执行后台任务:否 :在您的应用程序包中添加自定义通

  • 我想使用firebase云消息将通知从我的应用程序发送到另一个应用程序。所以我使用这个方法retrieveFCMToken(forSenderID:senderid)来处理这个过程。我将以下代码添加到我的应用程序委托中: 这是我的应用程序代理: 我遵循这个场景:我有两个应用程序,分别是“A”和“B”。我想将通知从应用程序“A”发送到应用程序“B”。因此,我将应用程序A的发件人id放入应用程序B代理