2

我正在开发一个具有类似 rss 阅读器功能的 Win 8 javascript 应用程序。如果发现新帖子,它应该反复检查服务器是否有新帖子并显示toast

我的问题是,如果我应该使用带有时间触发器的后台作业(限制为 15 分钟的间隔),或者 setTimeout / setInterval 不是更好的方法。

据我了解应用程序生命周期,我的应用程序可以在任何时候被 Windows 挂起,它不集中并且 Windows 自行决定该时间点。如果应用程序暂停一次,后台作业都不会工作,setTimeout / setInterval 也不会触发。

4

1 回答 1

2

如果可以的话,我建议在这里重新考虑通知机制。

如果您想使用 toast 通知,我建议您使用推送通知。它确实需要一个云服务来为您轮询文章,然后将通知推送给订阅客户;但是,它不会像轮询触发器那样对客户端的电池寿命征税。

Toast 通知的一个问题是它们很容易被错过,因此如果您想通知用户未读文章,您可能需要考虑在应用程序磁贴上持续存在的徽章通知(就像您在邮件应用程序上看到的那样)。然后一目了然,用户会知道有未读文章,而不是仅当他们碰巧看到传入的 toast 时才知道。

磁贴和徽章通知也可以定期更新,这类似于您想要对 toast 执行的操作,但这样做的机制要容易得多。不过这里的挑战是定期通知通常不是个性化的,也就是说,除非您在服务器端做更多的工作,否则您的应用程序的每个用户都会看到相同的徽章/磁贴。

于 2012-11-11T15:33:14.160 回答