2014-02-06 2 views
10

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

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

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

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

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

+1

если вы еще этого не видели, проверьте это http://blogs.msdn.com/b/andy_wigley/archive/2013/08/22/push-notifications-made-easy-using-windows- azure-notification-hubs-with-windows-phone.aspx – Aravind

+0

@Aravind - Спасибо. Я видел это, но он показывает, как отправлять широковещательные уведомления. Я ищу пример отправки одного уведомления одному пользователю, и в этом примере отсутствует часть, где регистрация идентифицируется идентификатором устройства и идентификатором установки. –

+0

Когда-то назад я работал над проектом, который использовал MPNS для отправки push-уведомлений зарегистрированным пользователям WP. Когда u регистрирует MPNS, он предоставляет каналUri, который связан с конкретным устройством/пользователем. что-то вроде этого http://stackoverflow.com/questions/19149995/windows-phone-8-push-notification-push-channel-always-creates-new-channel-uri – Aravind

ответ

12

Azure концентраторы уведомления поддержки тегов, как в примере here.

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

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

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

+0

Любая ссылка для выполнения той же задачи на бэкэнд javascript? –

3

Центр уведомлений - для трансляции уведомлений большой аудитории мобильной связи.

Push via mobile services - для особых уведомлений. См Q4 в Q & раздел здесь http://blogs.msdn.com/b/windowsazure/archive/2013/10/11/recap-mobile-services-azurechat.aspx

Push notification in mobile services

+1

Ницца! :), но у меня все еще есть проблема с этим. Хосты уведомлений выглядят более управляемыми. Я все для подхода DIY, но не тогда, когда мне придется вручную управлять миллионами пользователей (надеясь на лучшее :)). Архитектура мобильных хабов звучит более надежной и полнофункциональной, а мобильные службы, по-видимому, ограничены 500 уведомлениями на устройство в день. –

+0

@EladLachmi посмотрю ваш пункт. Я не разбирался в мобильных услугах. Может быть, вам нужно спроектировать его таким образом, чтобы классифицировать пользователей, которые хотят получать уведомления отдельно и часть массовых уведомлений. Если индивидуальные уведомления являются единственным вариантом, вы можете подумать об использовании подхода uri. – Aravind

3

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

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

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

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

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

+0

Небольшое обновление: вам нужно будет использовать концентратор уведомлений типа Standard (у которого разные цены) –

+0

Обновление: похоже, эта методология больше не поддерживается. –

Смежные вопросы