处理 Toast 和原始推送通知

Posted

技术标签:

【中文标题】处理 Toast 和原始推送通知【英文标题】:Handling Toast and Raw Push Notifications 【发布时间】:2013-01-09 10:42:15 【问题描述】:

我的 WP7 应用需要处理不同类型的推送通知。其中一些仅在应用程序运行时相关,但一种类型用作提示用户启动应用程序以及需要在应用程序运行时进行处理。因此,当打开推送通道时,我的代码会调用 BindToShellToast 并注册事件处理程序,以便收到原始通知和 toast 通知:

if (!_pushChannel.IsShellToastBound)

    _pushChannel.BindToShellToast();


_pushChannel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(pushChannel_HttpNotificationReceived);
_pushChannel.ShellToastNotificationReceived += new EventHandler<NotificationEventArgs>(pushChannel_ShellToastNotificationReceived);

查看认证要求,我似乎必须提供一个用户设置,以允许他们不仅启用/禁用一般推送通知,而且还专门启用/禁用 toast 通知。见Additional requirements for specific app types for Windows Phone(要求6.2.1)

由于用户可能会启用常规推送通知但禁用 toast 通知,因此在我看来,我的服务器需要针对应用未运行时需要处理的类型发送原始通知和 toast 通知。这将使注册 ShellToastNotificationReceived 事件变得毫无意义。我的想法在这里正确吗?

【问题讨论】:

【参考方案1】:

您应该在您的服务器上存储每个注册设备的设置,命名用户允许的通知类型。

【讨论】:

感谢您的建议伊戈尔。不幸的是,这对我来说不是一个简单的选择,但我可以看到它可以解决我的问题,所以我将其标记为答案。

以上是关于处理 Toast 和原始推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Pushwoosh 为 windows Phone 8.1 推送 Toast 通知

wp8 在多个页面中处理原始推送通知

使用 Worklight 6.1 在 Windows Phone 8 上推送通知的 Toast

Windows Phone 使用 PHP 推送 TOAST 通知

在 android 中推送通知:无法从 GCMIntentService 调用 Toast

应用程序关闭时如何接收推送和通知(Toast 和磁贴) windows 通用 8.1 应用程序