0

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

if (!_pushChannel.IsShellToastBound)
{
    _pushChannel.BindToShellToast();
}

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

查看认证要求,似乎我必须提供一个用户设置,以允许他们不仅启用/禁用一般推送通知,而且还专门启用/禁用 toast 通知。请参阅Windows Phone 特定应用类型的附加要求(要求 6.2.1)

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

4

1 回答 1

0

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

于 2013-01-09T11:35:52.303 回答