如何获取iOS设备的Azure Notification Hub RegistrationId?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取iOS设备的Azure Notification Hub RegistrationId?相关的知识,希望对你有一定的参考价值。
我正在将Azure Notification中心实施到跨平台Xamarin应用程序中。我唯一识别注册通知的每个设备的方式是临时存储azure分配给手机的RegistrationId。一旦用户登录,我就将RegstrationId和一些用户的独特特征发送给后端服务。 RegistrationId用于识别电话,然后用户的详细信息将作为标记通知的标签添加到该电话。
这适用于android,因为我需要做的就是获取registrationId如下:
var regID = hub.Register(token,tags.ToArray())。RegistrationId;
但是,ios的等效项不起作用,因为类SBNotificationHub不包含任何获取RegistrationId的方法。如何获取iOS设备的Azure RegistrationId?
谢谢。
我相信你可以在RegisteredForRemoteNotifications
类中的AppDelegate
覆盖中获得设备ID,如this documentation中所述。
尝试将以下内容添加到AppDelegate
类:
// Add to top of class file, outside of namespace
using Newtonsoft.Json.Linq;
// Add inside of class
public override void RegisteredForRemoteNotifications(UIApplication application,
NSData deviceToken)
{
const string templateBodyAPNS = "{"aps":{"alert":"$(messageParam)"}}";
JObject templates = new JObject();
templates["genericMessage"] = new JObject
{
{"body", templateBodyAPNS}
};
// Register for push with your mobile app
Push push = TodoItemManager.DefaultManager.CurrentClient.GetPush();
push.RegisterAsync(deviceToken, templates);
}
我认为deviceToken是你在iOS中寻找的东西吗?
以上是关于如何获取iOS设备的Azure Notification Hub RegistrationId?的主要内容,如果未能解决你的问题,请参考以下文章
Android/iOS:如何使用 SAML 协议通过 Azure AD 为移动设备提供 SSO
如何在 Azure Notification Hub 中将 iOS 设备注册的到期日期设置为 31-12-9999 23:59:59?