6

我编写了一个 Windows 7.5 手机应用程序,它使用 MPNS 注册磁贴和 toast 推送通知。我的所有基础设施都在工作,并且电话在 MPNS 中注册。我将 ChannelUri 本地保存在手机上,然后将 ChannelUri 发布到我的网站上记录设备 / ChannelUri 的休息服务端点。我能够从网络服务发送 toast 和平铺消息,并在手机上接收它们,没有任何问题。如果应用程序正在运行,我可以捕获 ShellToastNotificationReceived 事件并读取推送通知详细信息,并将消息保存到应用程序的本地数据库中,并且消息也会在列表框中显示给用户。除了必须注册 ChannelUri 之外,系统已与我的网站断开连接,并且我需要的所有数据都包含在通知中。

我的问题是当应用程序被墓碑化并且我发送推送通知时,我看到手机操作系统显示的 toast 消息,如果我点击 toast,我已经在我的应用程序中放置了一个指向页面的 URI,这会重新启动应用程序,我可以捕获消息中的所有数据,并可以再次将其保存到数据库中。但是,如果应用程序被墓碑化并且用户错过了祝酒词,那么我无法保存该消息,除非我编写一些逻辑返回到我的服务器并检查我在本地拥有的消息是否与它发送的消息相匹配,否则它就会丢失。我是否遗漏了什么,或者当应用程序重新启动并与我的服务器重新同步用户可能错过的任何 toast 推送通知时,我是否必须对我的服务器进行检查。

谢谢

4

1 回答 1

6

当应用程序未运行或被墓碑删除时收到推送通知时,如果未对丢失的 toast 进行任何操作,则无法处理数据。您可能需要服务器上的确认逻辑来检查是否收到消息。

于 2012-04-26T21:01:49.653 回答