首页 > 解决方案 > 使用 Azure 通知中心传递 Toast 通知标记/主键

问题描述

我正在使用 asp.net 核心中的 azure 通知中心将 toast 通知发送到 UWP 应用程序。我可以在哪里设置 toast 通知标签(不是注册标签)以便稍后更新通知?

发送通知:

var payload = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<toast>\r\n<visual><binding template=\"ToastText01\">\r\n<text id=\"1\">Test message</text>\r\n</binding>\r\n</visual>\r\n</toast>\r\n";
var azureNotificationHub = NotificationHubClient.CreateClientFromConnectionString("Endpoint=sb://XXXX.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=XXXXX=", "XXXX");
await azureNotificationHub.SendWindowsNativeNotificationAsync(payload, new List<string> { token });

注册到 azure 通知中心:

var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
var id = Windows.System.Profile.SystemIdentification.GetSystemIdForPublisher();
var deviceID = RetrieveStringFromUtf8IBuffer(id.Id);
var hub = new NotificationHub("XXXX", "Endpoint=sb://XXXX.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=XXXX=");
var result = await hub.RegisterNativeAsync(channel.Uri, new List<string> { deviceID });

当我现在想要更新或删除通知时,我不能这样做,因为通知标签是空的:

ToastNotificationManager.History.Remove(tag: ???);

如何提供标签作为 toast 通知的主键?

此外,是否可以使用 azure 通知中心对toast 通知进行分组?

标签: c#uwppush-notificationwindows-10azure-notificationhub

解决方案


推荐阅读