Json Azure FCM NotificationHubClient数据负载配置?

Json Azure FCM NotificationHubClient数据负载配置?,json,azure,firebase-cloud-messaging,azure-notificationhub,payload,Json,Azure,Firebase Cloud Messaging,Azure Notificationhub,Payload,使用 最后,我能够通过Azure hub使用FCM向Xamarin Android应用程序发送和接收通知。但是,即使发送的fcmNotification json有效负载看起来良好并通过验证,有效负载也不存在于接收到的RemoteMessage中。我基本上是在查看RemoteMessage.Data属性,但没有找到预期的有效负载数组。查看RemoteMessage结构,我也没有找到有效负载数组的任何部分 我知道Azure hub通过添加必要的标题(例如“application/json”)来处理

使用

最后,我能够通过Azure hub使用FCM向Xamarin Android应用程序发送和接收通知。但是,即使发送的fcmNotification json有效负载看起来良好并通过验证,有效负载也不存在于接收到的RemoteMessage中。我基本上是在查看RemoteMessage.Data属性,但没有找到预期的有效负载数组。查看RemoteMessage结构,我也没有找到有效负载数组的任何部分


我知道Azure hub通过添加必要的标题(例如“application/json”)来处理通知。是否需要传递任何其他设置以启用仅“数据”有效负载

不需要其他设置,但整个通知内容的格式必须具有以下类型的结构:

“{\'data\':{\'A\':'aaa\','B\':'bbb\','C\':'ccc\','D\':'ddd\','E\':'eee\','F\':'fff\'}”

数据元素的数量由您决定。数据元素名称可以是任何内容,也可以是相关内容,但特殊字符不需要使用反斜杠。可以使用创建传统复合字符串的变量插入元素名称和内容


特别重要的是插入的空格,如图所示。还请注意,由于需要这些空格,传统的Json格式是不可接受的。

不需要其他设置,但整个通知内容的格式必须具有以下类型的结构:

“{\'data\':{\'A\':'aaa\','B\':'bbb\','C\':'ccc\','D\':'ddd\','E\':'eee\','F\':'fff\'}”

数据元素的数量由您决定。数据元素名称可以是任何内容,也可以是相关内容,但特殊字符不需要使用反斜杠。可以使用创建传统复合字符串的变量插入元素名称和内容


特别重要的是插入的空格,如图所示。还请注意,由于需要使用这些空格,传统的Json格式是不可接受的。

您可以分享一个您正在发送的有效负载的示例吗?很高兴看到这个模式。NotificationHubs工作方式的一个特别警告是,它被设置为与传统FCM API兼容,以便与仍然使用GCM模式的所有客户向后兼容。以下是FCM文档的外观:我使用的是hub.SendDirectNotificationAsync(fcmNotification,deviceUri),其中fcmNotification具有以下属性:内容类型:应用程序/json平台类型:FCM正文:{“T\”:“PID\”,“O\”:“ABC\”,“I\”:“54****69\,“IU\”:“Test\,“RI\”:“20032518185600003\,“RD\:\“2020年3月25日下午6:18:56\"您可以分享一个您正在发送的有效负载的示例吗?很高兴看到该架构。NotificationHubs工作方式的一个特别警告是,它被设置为与传统FCM API兼容,以便与仍然使用GCM架构的所有客户向后兼容。以下是FCM文档,它们看起来像什么:我正在使用hub.SendDirectNotificationAsync(fcmNotification,deviceUri),其中fcmNotification具有以下属性:内容类型:应用程序/json平台类型:fcm主体:{“T\:“PID\”,“O\:“ABC\”,“I\:“54****69\”,“IU\”:“Test\,“RI\”:“20032518185600003\,“RD\:“3/25/2020 6:18:56”这到底是在哪里记录的?你是怎么弄出来的?我从来没有找到任何文档。我只是不断地操纵内容,偶然发现了解决方案。我玩了一会儿,标准序列化程序现在似乎可以工作了,但它必须遵循你的结构。空白似乎不再是一个问题。在eart上哪里h这是有文档记录的吗?你是如何发现的?我从来没有找到任何文档。我只是不断地处理内容,偶然发现了解决方案。我对它进行了一些尝试,标准序列化程序现在似乎可以工作了,但它必须遵循你的结构。空白似乎不再是一个问题。
NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString(notificationHubConnection, notificationHubName, enableTestSend);
NotificationOutcome outcome = await hub.SendDirectNotificationAsync(fcmNotification, deviceUri);