从推送客户端成功将 URI 发送到 Web 服务后,我使用 URI 从 Web 服务发送 toast 通知,在 Web 服务中我得到如下响应:
推送状态 200,NotificationStatus:已接收,DeviceConnectionStatus:已连接,NotificationChannelStatus:活动。
但是推送客户端没有收到消息。同样的场景在今天早些时候也能正常工作。谁能告诉我出了什么问题?
从推送客户端成功将 URI 发送到 Web 服务后,我使用 URI 从 Web 服务发送 toast 通知,在 Web 服务中我得到如下响应:
推送状态 200,NotificationStatus:已接收,DeviceConnectionStatus:已连接,NotificationChannelStatus:活动。
但是推送客户端没有收到消息。同样的场景在今天早些时候也能正常工作。谁能告诉我出了什么问题?
您发送的消息是否相同(即相同)?我似乎记得某些格式错误的消息实例会通过服务正常,但随后会在设备上被抑制。
您是否有代码来处理在您的应用程序运行时到达的 toast 消息?如果这样做,请在其中放置一个断点,并在调试时向应用程序发送祝酒词,看看会发生什么。通过这种方式,您可以确保 toast 正在进入设备,还可以查看内容是什么或问题可能是什么。
channel.ShellToastNotificationReceived += channel_ShellToastNotificationReceived;
你的频道对象在哪里channel
,然后
void channel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)
{
Dispatcher.BeginInvoke(() => MessageBox.Show(e.Collection["wp:Text1"] + Environment.NewLine + e.Collection["wp:Text2"]));
}
或类似于将消息弹出到显示器的东西。
在web服务中,如果设置了错误的setRequestProperty,例如设置了错误的X-WindowsPhone-Target和错误的X-NotificationClass,那么web服务会收到通知接收状态,但是推送客户端不会收到任何消息。
在我的情况下,我发送了一条带有 X-WindowsPhone-Target 作为令牌和 X-NotificationClass 作为 1 的 toast 消息。在给出正确的值后,它已经开始正常工作了。