【问题标题】:Sending push notifications through azure notification hubs apns通过 azure 通知中心 apns 发送推送通知
【发布时间】:2018-11-13 14:36:18
【问题描述】:

我有一个 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());
                });
            });


}

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

【问题讨论】:

    标签: c# azure xamarin apple-push-notifications azure-notificationhub


    【解决方案1】:

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

    因此,如果您的用户 BobBarker 具有设备 ID abcdef01234567890 和数据库中的唯一 ID 29817,您可以创建一个附加到用户通知中心注册“user_29817”的标签。然后,当您想单独处理此用户时,您可以向通知中心发送请求,向所有带有“user_29817”标签的用户发送消息。

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2013-12-10
      • 2022-01-12
      • 2013-04-16
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多