【发布时间】:2017-04-10 15:21:25
【问题描述】:
我有一个带有简单信使组件的应用程序。当 user1 向 user2 发送消息时,我正在使用 Azure 通知中心向 user2 发送推送通知。由于我使用通知中心为用户的设备注册推送通知,我不知道他们注册了哪个手机操作系统,所以只需为我支持的每种类型的通知排队:
NotificationOutcome outcome1 = await hub.SendAppleNativeNotificationAsync(jsoniOSPayload, tags);
NotificationOutcome outcome2 = await hub.SendGcmNativeNotificationAsync(jsonAndroidPayload, tags);
...(etc.)
但是,我们需要处理应用被删除的情况。发生这种情况时,如果无法将推送通知发送到用户的任何设备,我们需要向用户发送电子邮件。
我的问题是:我如何判断是否至少一条通知已成功发送到用户设备?我知道 NotificationHubClient.EnableTestSend 属性,它确实会导致 NotificationOutcome 对象具有成功计数。这将完美运行,但documentation 表明这在生产中不是最佳的:
"启用测试发送后,会发生以下情况:所有通知 每次发送呼叫最多只能到达 10 台设备。Send* 方法 返回所有这些通知传递的结果列表。 可能的结果与遥测中显示的结果相同。结果 包括身份验证错误、限制错误、 成功交付,等等。此模式仅用于测试目的, 不用于生产,并且受到限制。”
任何建议将不胜感激!
【问题讨论】: