PushSharp版本:版本2.2.1 问题说明
我正在使用pushsharp向Windows Phone app 8.1发送推送通知。
我在Windows手机上安装了该应用,并获得了一个频道URI。推送通知使用相同的渠道URI为我工作。
然后我在Windows手机上再次卸载并安装了应用程序。这给了我一个更新的频道URI。
使用更新的通道URI,推送通知失败并显示错误:"设备订阅已过期: PushSharp.Windows.WindowsPushService - > <>"
示例代码
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"
答案 0 :(得分:1)
解决了这个问题。设备令牌在从角度UI发送到pushsharp应用程序时被解码。再次编码有助于获得实际的频道URI。
System.Web.HttpUtility.UrlEncode(DeviceToken);