使用Azure通知中心向半径内的android设备发送通知

使用Azure通知中心向半径内的android设备发送通知,azure,azure-functions,azure-notificationhub,Azure,Azure Functions,Azure Notificationhub,我正在使用Azure函数和通知中心构建原型 在我的功能中,我希望根据地理空间查询选择一组设备,并向这些结果设备发送通知 我有使用Firebase和Android的通知,但如何根据查询结果确定随机设备组的目标 #r "Microsoft.Azure.NotificationHubs" #load "location.csx" using System; using System.Net; using Microsoft.Azure.NotificationHubs; public stat

我正在使用Azure函数和通知中心构建原型

在我的功能中,我希望根据地理空间查询选择一组设备,并向这些结果设备发送通知

我有使用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本身还是选择哪种DB技术?我使用的是可以运行空间查询的DocumentDB。这正是我想要做的,但我不认为标签是一个合适的方法,因为我可以拥有数百万台设备。如何在Azure函数通知中心输出绑定中定义标记。我正在跟踪Bind on tagExpression。tagExpression将是一个标记,它将是发送推送到的用户ID。进行设备注册时,将用户ID作为标记提供,并将ID保存在数据库中。当您返回查询时,它将成为您的标记表达式。NH设计用于处理数百万次推送,这种规模不是问题。在azure函数中,有一种方法可以在JSON文件中定义标记,但不能通过代码动态定义。