Отправлять уведомления отдельным пользователям с помощью Azure Notification Hub

Я создаю веб-интерфейс API для приложения. Приложение в настоящее время планируется только для WP8, но мы также планируем позднее выпустить версии для других платформ.

Мы основываем наши push-уведомления на концентраторе уведомлений Azure. Приложение не будет регистрироваться напрямую, но вызовет метод Web API, который будет выполнять регистрацию для приложения.

Есть две вещи, с которыми мне приходится сталкиваться, обворачивая мою голову:

  • Я не могу найти документацию по отправке уведомлений отдельным пользователям WP8. Я не хочу транслировать; Я просто хочу отправить одно уведомление одному пользователю. Поддерживается ли этот прецедент? Как это можно сделать с помощью API Microsoft.ServiceBus.Notifications?

  • Я нашел это: http://www.windowsazure.com/en-us/documentation/articles/notification-hubs-aspnet-notify-users/ - это реализует множество функций, которые мне нужны, с точки зрения уведомлений. Образец включает только приложения для iOS и Windows. Это потому, что этот вариант использования не поддерживается WP8? Я не понимаю, почему, но я новичок в WP8.

Ответ 1

Абонентские узлы уведомлений Azure поддерживают теги, как в примере здесь.

В веб-трансляции Channel9 (которую я не могу найти прямо сейчас) они говорили об использовании тегов для отправки уведомлений определенным пользователям/группам.

Так как я хотел бы использовать все добавленные значения концентраторов уведомлений, я буду отмечать каждую запись с именем пользователя, используемым в моем приложении, и использовать это для отправки уведомлений определенным пользователям по имени пользователя.

EDIT: Здесь в официальной документации Windows Azure я нашел пример, говорящий о том, что именно я хотел сделать. В качестве дополнительного бонуса они также дали мне идею также пометить идентификатор установки, чтобы вы могли получать один и тот же пользовательские уведомления на разных устройствах с различными операционными системами.

Ответ 3

В то время как другие здесь уже используют теги, есть еще один вариант, который не так хорошо известен. В документации по API-интерфейсу Azure в MSDN имеется следующая страница прямой отправки: https://msdn.microsoft.com/en-us/library/azure/mt608572.aspx

По существу, вы добавляете "прямую" в строку запроса в URL-адресе и предоставляете токен-токен как заголовок "* -DeviceHandle".

Пользователям этого API не нужно использовать регистрацию или установки. Вместо этого пользователи этого API управляют всеми устройствами самостоятельно и используют концентратор уведомлений Azure исключительно как пропуск через службу для связи с различными службами Push Notification.

Что это значит? Вам нужно получить токен устройства от клиента, прежде чем обращаться к ANH REST API (и повторно использовать его эффективно).

Последнее замечание для всех, кто столкнулся с этим предыдущим, но уклонился от него: в документации говорилось, что вам нужно обратиться в службу поддержки, чтобы выбрать эту функцию, но она была недавно обновлена, чтобы удалить это предупреждение, когда я спросил о Это.:)