C# 通过azure通知中心APN发送推送通知
我有一个Xamarin forms应用程序,在C# 通过azure通知中心APN发送推送通知,c#,azure,xamarin,apple-push-notifications,azure-notificationhub,C#,Azure,Xamarin,Apple Push Notifications,Azure Notificationhub,我有一个Xamarin forms应用程序,在AppDelegate.cs文件中为IOS运行此代码 public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) { Hub = new SBNotificationHub(WBUtility.ListenConnectionString, WBUtility.Noti
AppDelegate.cs
文件中为IOS运行此代码
public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
{
Hub = new SBNotificationHub(WBUtility.ListenConnectionString, WBUtility.NotificationHubName);
Hub.UnregisterAllAsync(deviceToken, (error) => {
if (error != null)
{
System.Diagnostics.Debug.WriteLine("Error calling Unregister: {0}", error.ToString());
return;
}
NSSet tags = null; // create tags if you want
Hub.RegisterNativeAsync(deviceToken, tags, (errorCallback) => {
if (errorCallback != null)
System.Diagnostics.Debug.WriteLine("RegisterNativeAsync error: " + errorCallback.ToString());
});
});
}
因此,这段代码看起来只是在通知中心注册了设备,这很好,但我想发送个人用户通知。文档显示了我不理解的目标c中的代码。基本上,我认为每次用户在客户端登录到我的应用程序时,我都应该获取他的设备令牌,并将其映射到后端的用户名,但我不知道这是否是正确的方法。那么,如何将用户映射到已注册的ios设备,然后向用户登录的所有已注册ios设备发送通知?如果要向现有用户发送通知,我建议在注册用户时使用通知中心标记。如果您没有用户和devicetokens之间的映射,您可以在用户登录时随时间追溯映射(如您所建议的) 因此,如果您的用户BobBarker具有设备ID abcdef01234567890和数据库29817中的唯一ID,您可以创建一个附加到用户通知中心注册“user29817”的标记。然后,当您想单独向该用户发送地址时,可以向通知中心发送一个请求,向所有用户发送带有“user29817”标记的消息