失敗した通知を に保存しようとしdb
ています。たとえば、クライアントにインターネット アクセスがありません。backgroundService
これにより、欠落している通知があるかどうかを から確認し、から作成することができますbackgroundService
。
したがって、私には次のものがありますAzure App Service Mobile
。
var notStat = await hub.SendWindowsNativeNotificationAsync(wnsToast, tag);
telemetry.TrackTrace("failure : " + notStat.Failure + " | Results : " + notStat.Results + " | State : " + notStat.State + " | Success : " + notStat.Success + " | trackingID : " + notStat.TrackingId + ");
コード スニペットはクライアントからの影響をテストするためのものでしたが、何をしても結果のログはメッセージがenqueued
.
質問
では、失敗した通知を検出するにはどうすればよいですか?
結論
受け入れられた回答に対して行われた議論を要約するには:
通知が送信されるNotificationId
と、その他の関連データが別のテーブルに保存されます。
通知を受信したクライアントのイベントは、通知が受信されたことを示すメッセージをサーバーに送信します。その後、エントリはテーブルから削除されます。
クライアントが受信しない通知は、 を通じてbackground task
検出されます。これは、起動するたびにbackground task
、たとえば 6 時間ごとに行わbackground task
れ、欠落しているすべての通知が取得されます。これにより、background task
関連する通知を作成できるようになり、ユーザーは通知を見逃すことはありません。