2

PushSharp 版本:版本 2.2.1 问题描述

  • 我正在使用 pushsharp 向 windows phone 应用程序 8.1 发送推送通知。

  • 我在 Windows 手机上安装了该应用程序并获得了一个频道 URI。使用相同的频道 URI 推送通知对我有用。

  • 然后我在windows phone上再次卸载并安装了该应用程序。这给了我一个更新的频道 URI。

  • 使用更新的通道 URI,推送通知失败并显示错误:“设备订阅已过期:PushSharp.Windows.WindowsPushService -> <>”

  • 请让我知道我做错了什么,因为重新安装应用程序后通知失败(即使用新频道 URI)。

示例代码

push.RegisterWindowsService(new WindowsPushChannelSettings("package name", "package security identifier", "client secret")); push.QueueNotification(new WindowsToastNotification() .AsToastText01("This is a test notification") .ForChannelUri("https://db5.notify.windows.com/?token=AwYAAADhaxGQuJHxAGCdCOJa+kyrZ012wjF19Zm+VfriKZVxKqM3Dt4kQz9t6EllMZHgiA4oE1uvij2wdiTwItmp7UUnGoAPp3hc9FnLkJqpckt1xQAux/wez++MVGaty0QKRNk="));

例外

“设备订阅已过期:PushSharp.Windows.WindowsPushService -> 新频道 URI” 在此处输入图像描述

4

1 回答 1

1

解决了这个问题。设备令牌在从 Angular UI 传输到 pushsharp 应用程序时被 url 解码。再次编码有助于获得实际的频道 URI。

System.Web.HttpUtility.UrlEncode(DeviceToken);
于 2016-05-20T18:02:37.797 回答