通过 azure 通知中心 apns 发送推送通知

Sending push notifications through azure notification hubs apns

我有一个 Xamarin 表单应用程序在 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());
                });
            });


}

所以看起来这段代码只是在通知中心注册了设备,这很好,但我想向个人用户发送通知。文档在 objective c 中显示了我不理解的代码。基本上我认为每次用户在客户端登录我的应用程序时,我都应该获取他的设备令牌并将其映射到他在后端的用户名,但我不知道这是否是正确的方法。那么如何将用户映射到已注册的 ios 设备,然后向用户已登录的所有已注册 ios 设备发送通知?

如果您想向现有用户发送通知,我建议您在注册用户时使用通知中心标签。如果您没有用户和 devicetokens 之间的映射,您可以在用户登录时追溯映射(如您所建议的那样)。

因此,如果您的用户 BobBarker 的设备 ID 为 abcdef01234567890,并且您的数据库中的唯一 ID 为 29817,则您可以创建一个标签附加到 "user_29817" 用户的通知中心注册。然后,当您想要单独解决此用户时,您可以向通知中心发送请求,以向所有用户发送带有标签 "user_29817".

的消息