3
我正在使用Azure函数和通知中心构建原型。使用Azure通知中心向半径内的Android设备发送通知
在我的功能中,我希望根据地理空间查询选择一堆设备,并向这些设备发送通知。
我有使用Firebase和Android的通知,但是如何根据查询结果定位随机一组设备?
#r "Microsoft.Azure.NotificationHubs"
#load "location.csx"
using System;
using System.Net;
using Microsoft.Azure.NotificationHubs;
public static async Task Run(LocationInfo message, IAsyncCollector<Notification> notification, TraceWriter log)
{
log.Info($"Sending GCM notification of a new user");
string gcmNotificationPayload = "{\"data\": {\"message\": \"test message")\" }}";
log.Info($"{gcmNotificationPayload}");
await notification.AddAsync(new GcmNotification(gcmNotificationPayload));
}
不幸的是,我不能更明确地定义我的问题。我已经看过这两种方法。我确定预定义标签对我来说不是一个解决方案,因为我想要定位的设备将根据数据库中的数据而改变。从本质上讲,我正在寻找的是从基于空间查询的数据库中的设备中获取一堆,并在这些设备上通知它们,它们可能是ios或android。 –
如果您已经拥有数据库并且可以运行空间查询,那么请将NH注册ID(或ID标记)作为用户表中的列保留。当查询返回要通知的用户列表时,请使用registrationId或标记推送到这些设备。这与通用推送没有区别。否则,我不确定你是否在问如何使用NH本身或使用哪种数据库技术? –
我正在使用可以运行空间查询的DocumentDB。这正是我想要做的,但我不认为标签是一种合适的方法,因为我可以拥有数百万个设备。如何在Azure函数通知集线器输出绑定中定义标签。我正在关注https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-notification-hubs –