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

通过AWS SNS向FCM发送JSON数据负载

柯昆杰
2023-03-14
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}

下面是我的代码:

    public override void OnMessageReceived(RemoteMessage message)
    {
        string messageBody = message.GetNotification().Body; //Fails here
        int custom1;
        string custom2 = string.Empty;

        try { custom1 = Convert.ToInt32(message.Data["custom1"]); }
        catch (KeyNotFoundException e) { custom1 = -1; }

        try { custom2 = message.Data["custom2"].ToString(); }
        catch (KeyNotFoundException e) { custom2 = "err"; }

        PublishNotification(messageBody, custom1, custom2);
    }

当我使用上面写的JSON消息通过SNS发送自定义通知时,消息被成功接收。但是,当我试图处理JSON时,一旦它到达message.getnotification().body就会失败。我收到的错误告诉我JSON消息中没有包含正文。

我的问题是,当将数据有效负载从AWS SNS发送到FCM时,正确的JSON消息是什么。

{
"GCM": "{ \"data\": { \"text\": \"test message\" } }"
}

{
"GCM": "{ \"data\": { \"body\": \"test message\" } }"
}

共有1个答案

蒋俊
2023-03-14

基于这个相关的SO线程,由SNS生成的消息的形式如下:

{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}

由于data有效负载将被忽略,如果没有实现接收有效负载的服务,我们应该发送通知有效负载。为此,只需将JSON消息改为:

{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}

有关更多信息,您可以从给定的链接中查看答案。

 类似资料:
  • 问题内容: 我想知道是否可以在POST请求中直接发送一个数组(未包装在字典中)。显然,该参数应获取以下内容的映射:[String:AnyObject]?但我希望能够发送以下示例json: 问题答案: 您可以使用JSON进行编码,然后自行构建。例如,在Swift 3中:

  • 我正在工作的谷歌Chrome推送通知,我正在尝试发送有效负载到谷歌Chrome工作者,但我不知道我如何接收这个有效负载。 我有一个API可以在数据库中创建和保存通知,我需要通过发送值,并在worker.js上接收 这是我的工作人员。JS 我就是这么叫GCM的 我试图获取,但这是未定义的。 有人有什么想法或建议吗?

  • 问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将

  • 问题内容: 我有一个在线网关,要求将HTML表单与隐藏字段一起提交。我需要通过没有任何HTML形式的PHP脚本来执行此操作(我具有数据库中隐藏字段的数据) 要通过GET发送数据,请执行以下操作: 并通过POST发送数据? 问题答案: 您无法使用PHP执行此操作。 正如其他人所说,您可以使用cURL-但是PHP代码成为客户端而不是浏览器。 如果必须使用POST,那么唯一的方法就是使用PHP生成填充的

  • 我正在使用一个外部api,在这里我得到了与该api相关的以下详细信息 我计划做的是: 我将通过codeigniter表单从用户收集数据,然后将数据转发到上述api,并从api获得响应,因此,如果成功,则将执行进一步的操作,否则需要显示错误消息 然而,出于测试目的,我使用了一个静态数组,并试图将其发送到api。 实际上发生的是,我得到了一个空白的结果,所以不确定它是否有效。 下面是我的代码 PS:我