应用程序重新安装后,通过pushsharp的Windows推送通知失败 - 设备订阅已过期

时间:2016-05-20 07:12:54

标签: push-notification windows-phone-8.1 windows-phone pushsharp wns

PushSharp版本:版本2.2.1 问题说明

  • 我正在使用pushsharp向Windows Phone app 8.1发送推送通知。

  • 我在Windows手机上安装了该应用,并获得了一个频道URI。推送通知使用相同的渠道URI为我工作。

  • 然后我在Windows手机上再次卸载并安装了应用程序。这给了我一个更新的频道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"   enter image description here

1 个答案:

答案 0 :(得分:1)

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

System.Web.HttpUtility.UrlEncode(DeviceToken);