Azure 功能:向特定用户发送通知

Posted

技术标签:

【中文标题】Azure 功能:向特定用户发送通知【英文标题】:Azure function: send notification to specific users 【发布时间】:2017-08-15 04:34:03 【问题描述】:

我编写了一个 Azure 函数并将输出连接到通知中心,以使用 APNS 发送推送通知。只要我将通知发送到所有注册的设备,它就可以正常工作,但我不知道如何使用标签来解决特定用户的问题。如果我尝试使用标签,我会收到一条错误消息,提示“执行函数时出现异常:Functions.SendSinglePushNotification。Microsoft.Azure.WebJobs.Host:函数返回后处理参数通知时出错:Microsoft.Azure.NotificationHubs:通知。标记属性应为空。”

到目前为止,这是我的代码:

#r "Microsoft.Azure.NotificationHubs"
#r "Newtonsoft.Json"


using System;
using Microsoft.Azure.NotificationHubs;
using Newtonsoft.Json;using         
Microsoft.Azure.WebJobs.Host.Bindings.Runtime;

public static void Run(HttpRequestMessage req, TraceWriter log,Binder     
binder, out AppleNotification notification)

    string user = "Test";
    string tagExpression = "Test";
    string userTag = req.GetQueryNameValuePairs()
    .FirstOrDefault(q => string.Compare(q.Key, "userid", true) == 0)
    .Value;

    string apnsNotificationPayload = "\"aps\": \"alert\": \"Test: (" + user + ")\" ";
    notification = new AppleNotification(apnsNotificationPayload); 

我试图使用通知 = 新 AppleNotification(apnsNotificationPayload,tagExpression); 但这不起作用。我怎样才能做到这一点?

非常感谢和最好的问候

【问题讨论】:

我有一个类似的用例,你在上面有什么进展吗? 【参考方案1】:

我有类似的问题。最终,对我有用的是手动构建通知客户端。我在 Visual Studio 中开发函数,所以我的代码与你的略有不同。

    [FunctionName("MyFunction")]
    public static async Task Run([ServiceBusTrigger("queuename", AccessRights.Listen, Connection =
    "<connection-settings-name>")] string myQueueItem, TraceWriter log)

    log.Info($"C# Queue trigger function processed: myQueueItem");

    var notificationHubSas = "<DefaultFullSharedAccessSignature from Azure portal>";
    var notificationHubName = "myhub";
    var nhClient = NotificationHubClient.CreateClientFromConnectionString(notificationHubSas, notificationHubName);
    var tags = "";
    await nhClient.SendTemplateNotificationAsync(<notification payload>, tags);

【讨论】:

以上是关于Azure 功能:向特定用户发送通知的主要内容,如果未能解决你的问题,请参考以下文章

Android 上的 Azure 通知中心。如何发送给特定用户?

PHP 中的 Azure 通知给单个用户

定期发送 Azure 推送通知

如何使用 azure hub 向某些用户发送批量推送通知

社交网络场景中的 Azure 通知中心最佳实践

尝试使用 Azure 通知中心批量发送时出现 403 禁止