Push notification Azure通知:跟踪收到通知的设备,或如何避免将多个通知推送到任何设备
我有一个调度程序,每15分钟运行一次,检查是否有任何通知通过azure通知中心发送到注册设备。计划程序获取标记字符串和通知消息,并将其发送到此方法“SendAppleNativeNotificationAsync(消息,标记)”。可以针对不同的标记组合发送多条消息 比方说 设备A-标记有“性别:女性”、“年龄:25”、“年龄组:20-30” 设备B-标记有“性别:男性”、“年龄:31”、“年龄组:30-40” 设备C-标记有“性别:女性”、“年龄:35”、“年龄组:30-40” 我有3个通知要在当前15分钟的周期内发送 标签“性别:女性”的信息1和 标签“年龄组:30-40”的消息2 标签“性别:男性”的信息3 现在的问题是设备C和B属于多个通知类别,它应该在几秒钟内接收多条消息 我正在寻找一种更好地避免/处理这种情况的方法。我将感谢任何帮助。谢谢可能会有所帮助。如果你的信息本身是相同的,那么只需将你的标签组合成这样的表达:“性别:女性| |年龄组:30-40 | |性别:男性”。如果仅使用“| |”运算符,则最多可以有20个标记 如果它不起作用,那么我们可以讨论更多选项,但我需要有关您的业务逻辑的更多详细信息。更新 我有了一个新的想法,您确实可以使用标记表达式来实现您的目标:Push notification Azure通知:跟踪收到通知的设备,或如何避免将多个通知推送到任何设备,push-notification,apple-push-notifications,azure-notificationhub,Push Notification,Apple Push Notifications,Azure Notificationhub,我有一个调度程序,每15分钟运行一次,检查是否有任何通知通过azure通知中心发送到注册设备。计划程序获取标记字符串和通知消息,并将其发送到此方法“SendAppleNativeNotificationAsync(消息,标记)”。可以针对不同的标记组合发送多条消息 比方说 设备A-标记有“性别:女性”、“年龄:25”、“年龄组:20-30” 设备B-标记有“性别:男性”、“年龄:31”、“年龄组:30-40” 设备C-标记有“性别:女性”、“年龄:35”、“年龄组:30-40” 我有3个通知要在
SendAppleNativeNotificationAsync(Message1, '(gender:female && !ageGroup:30-40 && !gender:male)');
SendAppleNativeNotificationAsync(Message2, '(ageGroup:30-40 && !gender:female && !gender:male)');
SendAppleNativeNotificationAsync(Message3, '(gender:male !ageGroup:30-40 && !gender:female)');
SendAppleNativeNotificationAsync(merge(Message1,Message2), '(gender:female && ageGroup:30-40 && !gender:male)');
SendAppleNativeNotificationAsync(merge(Message2,Message3), '(ageGroup:30-40 && gender:male && !gender:female)');
SendAppleNativeNotificationAsync(merge(Message1,Message3), '(gender:female && gender:male && !ageGroup:30-40)'); //everything is possible!
SendAppleNativeNotificationAsync(merge(Message1,Message2,Message3), '(gender:female && gender:male && ageGroup:30-40)');
当然,你应该为此实现一些算法,但我想你会明白。。。这个解决方案的缺点是表达式是,所以只有当您最多有6个标记时,这才有效。您可以在第一次迭代时这样做,但为了将来证明,我建议您坚持使用原始答案
原始答案
我猜Azure通知中心不是为处理这种情况而设计的。
我想说,您最好的选择是不使用Azure通知中心上的标记,而是自己实现一些映射
- ,而非团体
- 在应用程序后端存储用户的属性/兴趣
- 在发送通知之前,请检查一些用户是否会根据其属性/兴趣收到多个通知
- 如果是这种情况,请将通知消息合并为这些用户的一个通知
- 使用用户标记专门向用户发送(合并)通知