Отправка push-уведомлений через концентраторы уведомлений Azure APNS - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть приложение форм Xamarin, которое запускает этот код для IOS в AppDelegate.cs файле

 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, в которых пользователь вошел в систему?

1 Ответ

0 голосов
/ 13 ноября 2018

Если вы хотите отправлять уведомления существующим пользователям, я предлагаю использовать теги Notification Hub при регистрации пользователя.Если у вас нет сопоставления между пользователями и устройствами, вы можете задним числом отобразить это с течением времени, когда пользователи войдут в систему (как вы предложили).

Таким образом, если у вашего пользователя BobBarker есть идентификатор устройства abcdef01234567890 и уникальный идентификатор в вашей базе данных 29817, вы можете создать тег, прикрепленный к регистрации в концентраторе уведомлений пользователя «user_29817».Затем, когда вы хотите обратиться к этому пользователю индивидуально, вы можете отправить запрос в центр уведомлений, чтобы отправить сообщение всем пользователям с тегом «user_29817».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...