2

私は最初の Windows UWP アプリに取り組んでいます。また、Windows プッシュ通知を使用して、サーバーの更新についてアプリに通知することを計画しています。このアプリは常にインターネットにアクセスできるわけではありません。数日間オフラインになる可能性があります。そんなときにプッシュ通知が使えるかどうかを確認したかったのです。そのデバイスがオフラインの場合にサーバーから通知が送信されたとき、キューから削除されずにどれくらいの期間存在しますか?

「既定では、プッシュ通知は、Windows プッシュ通知サービス (WNS) が受信した時点から 3 日で期限切れになります。必要に応じて、この既定値を明示的な有効期限で上書きできます。」という記事を読んだことがあります。しかし、これが私が求めていることを指しているのか、それともデバイスに配信されたときにタイル、バッジなどが 3 日後に削除されると言っているのかはわかりません。

これを明確にしてください。

4

1 に答える 1

0

既定では、プッシュ通知は、Windows プッシュ通知サービス (WNS) によって受信されてから 3 日後に期限切れになります。必要に応じて、明示的な有効期限でこのデフォルトをオーバーライドできます。

どこでこれを読んだかわかりません。しかし、これは正しくありません。3 日間の有効期限は、デバイスによって配信されたときのタイルとバッジの通知の有効期間を指します。WNS が受信した時点から開始されるわけではありません。

既定では、ローカル タイルとバッジの通知は期限切れになりませんが、プッシュ、定期的、およびスケジュールされた通知は 3 日後に期限切れになります。したがって、タイルとバッジの通知の有効期限には、次のように表示されます

デフォルトでは、タイルとバッジの通知は、ダウンロード後 3 日で期限切れになります。

また、 X-WNS-TTL ヘッダーを設定することで、各通知の有効期限を変更できます。このヘッダーは、通知が特定の時間以降に表示されないようにする場合に通常使用されます。TTL は秒単位で指定され、WNS が要求を受信する時間を基準にしています。

ご質問については、Windows プッシュ通知サービス (WNS) の概要で通知を送信するの重要な注意事項から、次のことがわかります。

デバイスがオフラインの場合、既定では、WNS は最大 5 つのタイル通知 (キューイングが有効な場合、それ以外の場合は 1 つのタイル通知) とチャネル URI ごとに 1 つのバッジ通知を保存し、未加工の通知は保存しません。このデフォルトのキャッシュ動作は、 X-WNS-Cache-Policy ヘッダーで変更できます。デバイスがオフラインの場合、トースト通知は保存されないことに注意してください。

X-WNS-Cache-Policy ヘッダーでは、より多くの情報を取得できます。

通知対象デバイスがオフラインの場合、WNS はアプリごとに 1 つのバッジと 1 つのタイル通知をキャッシュします。アプリで通知サイクルが有効になっている場合、WNS は最大 5 つのタイル通知をキャッシュします。デフォルトでは、直接通知はキャッシュされませんが、直接通知キャッシュが有効になっている場合は、直接通知が 1 つキャッシュされます。アイテムは無期限にキャッシュに保持されるわけではなく、妥当な期間が経過すると削除されます。それ以外の場合、デバイスが次にオンラインになったときに、キャッシュされたコンテンツが配信されます。

そのため、アプリがオフラインの場合、WNS はプッシュ通知をキャッシュすることができますが、どれくらいの期間キャッシュされるかはわかりません。

WNS は、通知が受信され、次の利用可能な機会に配信されることを示すために応答します。ただし、WNS は、通知がデバイスまたはアプリケーションによって受信されたというエンド ツー エンドの確認を提供しません。

WNS は、通知の信頼性または遅延を保証しません。サーバーの更新についてユーザーに確実に通知できるようにする場合は、他の手法を使用する必要がある場合があります。たとえば、アプリがオンラインのときにサーバーの更新を求めるアクティブな要求をサーバーに送信できます。

于 2016-06-29T11:26:52.627 に答える