我需要向已在我的通知中心注册的移动设备发送推送通知。
集线器设置为允许 Windows Phone、Apple 和 Android 设备注册,并且我已准备好适当的 key 和证书。 (根据文档!)
按照 NuGet 包管理器的建议,我正在使用最新版本的 Microsoft.Azure.NotificationHubs 命名空间(版本 2.16)。
我想向所有注册发送一条消息以及向特定设备发送一条消息。我可以看到所有设备都已正确注册到集线器,并且具有允许我向它们发送通知的标签。
我正在尝试使用 SendDirectNotificationAsync() 方法 它接受一个字典和一个字符串标签作为参数。
我还尝试了使用Notification对象作为参数的SendNotificationAsync()方法。
这两种方法都会导致我的 Windows Phone 上出现带有我提供的参数的通知,因此如果没有帮助文件中的示例或更多信息,我就会陷入困境。
我找不到任何使用这些方法和类的当前示例。 我发现的示例早于发布日期,并且没有显示要发送到通知中心以使跨平台通知起作用。
我知道这些刚刚发布,但任何帮助/指导将不胜感激,因为我已经完全陷入了困境。
最佳答案
只是快速更新...
虽然我从未让它按照我想要的方式工作(如上所述),但我最终所做的是使用每个平台的 native 通知,如下所示;
var result1 = await hub.SendMpnsNativeNotificationAsync(windowstoast, mobileDeviceId);
var result2 = await hub.SendGcmNativeNotificationAsync(androidToast, mobileDeviceId);
var result3 = await hub.SendAppleNativeNotificationAsync(iOStoast, mobileDeviceId);
“toast”的格式按照文档中各个平台的要求进行。 “mobileDeviceId”是每个设备向通知中心注册的标签。
所以,虽然笨拙,但它可以可靠地实现相同的目标。
不过,我仍然希望采用跨平台的工作方式。等我有空的时候再仔细研究一下。
关于android - Azure 通知中心跨平台推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32207775/