2

私はrss-readerのような機能を備えたWin8javascriptアプリに取り組んでいます。新しい投稿が見つかった場合は、サーバーで新しい投稿を繰り返しチェックし、トーストを表示する必要があります。

私の質問は、タイムトリガー(15分の間隔に制限されている)でバックグラウンドジョブを使用する必要があるかどうか、またはsetTimeout/setIntervalがより良い方法ではないかどうかです。

私がアプリのライフサイクルを理解している限り、私のアプリはフォーカスされていないときはいつでもWindowsによって一時停止される可能性があり、Windowsはその時点を自分自身で決定します。また、アプリが1回中断されると、バックグラウンドジョブは機能せず、setTimeout/setIntervalも起動しません。

4

1 に答える 1

2

可能であれば、ここで通知メカニズムを再考することをお勧めします。

トースト通知を使用する場合は、プッシュ通知をお勧めします。記事のポーリングを実行し、サブスクライブしているクライアントに通知をプッシュするクラウドサービスが必要です。ただし、ポーリングトリガーほどクライアントのバッテリー寿命に負担をかけることはありません。

トースト通知の問題は、見逃しやすいことです。そのため、未読の記事をユーザーに通知する場合は、アプリケーションタイルに保持されるバッジ通知を検討することをお勧めします(メールアプリケーションで見られるように)。そうすれば、ユーザーは一目で未読の記事があることを知ることができますが、たまたま入ってくるトーストを見た場合にのみそれを知ることができます。

タイルとバッジの通知も定期的に更新できます。これは、トーストでやりたかったことと似ていますが、そのためのメカニズムははるかに簡単です。ただし、ここでの課題は、定期的な通知が一般的にパーソナライズされていないことです。つまり、サーバー側でもう少し作業を行わない限り、アプリのすべてのユーザーに同じバッジ/タイルが表示されます。

于 2012-11-11T15:33:14.160 に答える