为什么Azure Notification Hub标记不能保存?
我正在尝试向通知中心发送消息,但我的标签未保存。
我使用服务中心资源管理器检查了服务中心,标签是空的:
设备注册:
var hs = new HashSet(); hs.Add(tag); hs.Add(sys.ToString()); switch (sys) { case SystemVendorEnum.Android: await Hub.CreateGcmNativeRegistrationAsync(pnsHandle, hs); break; case SystemVendorEnum.Ios: await Hub.CreateAppleNativeRegistrationAsync(pnsHandle, hs); break; }
向集线器发送消息的测试方法调用:
// param1: json payload, param2: tag await Hub.SendGcmNativeNotificationAsync("{ \"data\": { \"methodId\":\"1\" }}", "ae65d2d5-103e-4023-a784-c5c8e2684db0");
有什么我想念的吗? 我在通知中心没有标签:
是这样的吗?
我知道,这很令人困惑,但是有两种完全独立的标签彼此没有任何关系:
- Azure Notification Hub服务上下文中的标记。 这些适用于设备注册。 因此,它是Notification Hubs service -specific并描述设备。 有关详细信息,请参阅路由和标记表达式 。
- 标记为Azure资源管理器(ARM)的概念。 这些适用于Azure中的任何资源。 所以它是特定于平台的 ,用于描述Azure中的任何资源/服务。 有关更多详细信息,请参阅使用标记来组织Azure资源 。
因此,当您调用hs.Add(tag)
,关联的标记将应用于设备注册(即“第一类标记”),并且应显示在Service Bus资源管理器中:
如果您转到Azure门户并导航到任何资源(或者像您一样,导航到您的集线器),您将看到那里的ARM标记(即“第二类标记”):