Azure通知中心Web Push配置失败:JSON无法转为BrowserPushSubscription
无法通过Azure Notification Hubs创建Web Push通知安装目标的问题
我在尝试通过Azure Notification Hubs实现Web Push通知时遇到了极大困难。尽管Azure在2024年3月宣布了浏览器通知支持,但相关PR已等待数月仍未合并,功能似乎仍未正常可用。我尝试过一些特殊解决方案,但始终无法创建基于浏览器的推送通知安装目标,报错信息如下:
Microsoft.Azure.NotificationHubs.Messaging.BadRequestException: The provided request body is invalid. Error: The JSON value could not be converted to Microsoft.NotificationHubs.Contracts.LegacyModels.BrowserPushSubscription. Path: $.pushChannel | LineNumber: 0 | BytePositionInLine: 487.. TrackingId:dacca0ce-6af8-45b5-9ab5-ea1d1f78a57e,TimeStamp:9/21/2024 6:02:33 PM +00:00 at Microsoft.Azure.NotificationHubs.NotificationHubClient.SendRequestAsync(HttpRequestMessage request, String trackingId, HttpStatusCode[] successfulResponseStatuses, CancellationToken cancellationToken) at Microsoft.Azure.NotificationHubs.NotificationHubClient.SendRequestAsync(HttpRequestMessage request, String trackingId, HttpStatusCode successfulResponseStatus, CancellationToken cancellationToken) at Microsoft.Azure.NotificationHubs.NotificationHubClient.<>c__DisplayClass91_0.<<CreateOrUpdateInstallationAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.Azure.NotificationHubs.NotificationHubRetryPolicy.RunOperation[T](Func`2 operation, CancellationToken cancellationToken) at Microsoft.Azure.NotificationHubs.NotificationHubRetryPolicy.RunOperation[T](Func`2 operation, CancellationToken cancellationToken) at Microsoft.Azure.NotificationHubs.NotificationHubClient.CreateOrUpdateInstallationAsync(Installation installation, CancellationToken cancellationToken)
看起来Notification Hubs SDK会将BrowserPushSubscription实例序列化为JSON字符串存入PushChannel属性,但通知中心端点无法正常反序列化。我尝试过手动将其序列化为不同格式(例如将P256DH和Auth属性归入Keys子属性的常见格式),但均未成功。请问有人成功实现该功能了吗?感谢解答。
内容的提问来源于stack exchange,提问作者Menion Leah
相关产品推荐
相关产品推荐

