0

ライブ タイルは、関連するメトロ アプリを実行しなくても、プッシュ通知を受信できます。

ただし、アプリが通知チャネルを取得して通知サーバーにサブスクライブし、チャネルをサーバーに渡すには、アプリを少なくとも 1 回実行する必要があると思います。

私の質問は -

サーバーがクライアントを切断するとどうなりますか? ユーザーがコンピューターの電源を切ると、サーバーが配信失敗エラーを受信し始めると思います。その後、サーバーはクライアントを切断する可能性があります。

しかし、ユーザーがコンピューターの電源を入れ直すとどうなるでしょうか? ユーザーがアプリを再起動し、サーバーで通知を再サブスクライブするまで、タイルは切断されていますか?

または、アプリを実行しなくても、起動時にタイルを自動的に再サブスクライブする方法はありますか?

4

2 に答える 2

2

プッシュ通知はクライアントに直接送信されません。クラウドの Windows 通知サービスを介して送信されます。これは、サービスがそれらを送信できることを意味します。WNS サービスは、マシンがスリープ状態から復帰したり、ネットワークに再接続したりすると、通知で適切な処理を行います。

http://msdn.microsoft.com/en-us/library/windows/apps/hh913756.aspxには、通知のサービス側の概要があります。

タイル チャネルは 30 日後に有効期限が切れるため、(プログラムで) 更新する必要があることに注意してください。ガイダンスは、期限切れにならないように、アプリの実行時に更新する必要があることです。

ドキュメントで見つけられないように見える唯一のことは、クライアントでキューに入れられているプッシュ通知の数です-特定のタグ通知に対して、1つだけが保持されていると思われます.

これについて考える別の方法は、「新しいアイテム」の数など、悪い通知を使用することです。デバイスがネットワークから切断されている間 (オフ、運転中など) にこの番号をプッシュすると、サービスは通知の送信に成功し、そのマシンが再接続すると、バッジの更新がシームレスに表示されます。

于 2012-08-03T15:10:22.307 に答える
1

サーバーからのクライアントがオフラインになったときにそれらを削除して切断する必要があることをコードで処理する必要があります。クライアント側はライブ タイルでキャッシュされた値のみを受け取ります。

それらが元に戻った場合は、サーバー側でも処理して、新しい通知データをプッシュする必要があります。

簡単なヒント: サービスとして WCF を使用している場合は、クライアントのオンライン/オフライン シナリオを処理できるアナウンスメント サービス クラスを確認することをお勧めします。

于 2012-08-03T13:47:29.203 に答える