我正在尝试将失败的通知存储在一个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
,其他相关数据将存储在单独的表中。
收到通知的客户端上的事件随后将向服务器发送一条消息,说明已收到通知。然后从表中删除该条目。
客户端未收到的通知将通过 abackground task
被发现。这将是每次background task
火灾时,例如每 6 小时,background task
将检索所有丢失的通知。这使background task
用户能够创建相关通知,并且用户不会错过任何通知。