В моих предыдущих публикациях я упоминал о системе уведомлений, которая поставляется с Windows Phone, в частности, об обновлении Live Tiles на начальном экране. Мы расскажем о том, как работает система push-уведомлений, и о типах доступных вам уведомлений. Во-первых, есть три типа уведомлений, которые ваше приложение может использовать:
Тост Уведомление
Если вы хотите уведомить пользователя о важном событии в вашем приложении, вы можете отправить Toast Notification. Это уведомление состоит из двух фрагментов текста, которые отображаются в виде наложения на любое приложение, в котором пользователь в данный момент находится, как показано на рисунке 1. Первый текст, в данном случае слово «Tile», выделено жирным шрифтом, а второй текст — не. В области уведомлений будет отображаться только одна строка текста, поэтому будьте внимательны, решая, какой текст включить в уведомление о тосте. Чтобы пользователь мог определить, из какого приложения пришло уведомление, оно сопровождается значком приложения.
Единственное исключение, о котором следует знать, это то, что если пользователь фактически находится в приложении, которому принадлежит уведомление о тосте, он не увидит уведомление. Вместо этого в приложении возникает событие, и приложение должно обработать тост-уведомление.
Плитка Уведомление
Одной из целей начального экрана является предоставление пользователю информации о состоянии их приложений, которая позволяет «бегать и ходить». Как обсуждалось в предыдущем посте, вы можете сделать это с помощью графика обновления плитки . Однако иногда вы хотите динамически обновлять плитки на основе события, а не привязываться к определенной частоте обновления. Для этого вы можете отправить плитку уведомления на устройство. Это можно использовать для обновления фонового изображения, текста и значка, отображаемого на плитке. На рисунках 2 и 3 показано, как можно настроить всю плитку, отправив уведомление через плитку.
На рисунке 2 фон был обновлен до динамически сгенерированной плитки, которая показывает направление и силу ветра за последние два часа. На рисунке 3 та же плитка была сброшена обратно на фон по умолчанию, но текст был изменен, и в правом верхнем углу был установлен значок 5.
Значок обычно используется для указания количества непрочитанных или необработанных элементов в приложении. Установка значка в 0 полностью скроет значок. Вы не можете полностью удалить текстовый оверлей, но вы можете установить для него пробел (например, «»), который даст тот же эффект.
Сырое уведомление
Последний тип уведомлений, который поддерживает Windows Phone, — это необработанное уведомление. В отличие от уведомлений Tile или Toast, для необработанных уведомлений нет связанных визуальных подсказок или индикаторов. Необработанные уведомления, как вы можете себе представить, используются для отправки небольшого объема данных непосредственно в приложение. Представьте себе сценарий, когда ваше приложение Windows Phone вызывает веб-сервис, чтобы запустить длительный пакетный процесс. Пару минут спустя служба отправляет необработанное уведомление на устройство, указывающее, что процесс завершен. Это перехватывается приложением, которое может инициировать какое-либо другое действие в приложении или использоваться для обновления статуса для пользователя. Чтобы получить необработанное уведомление, приложение, разумеется, должно быть запущено во время отправки уведомления. По этой причине сырые уведомления имеют несколько ограниченную ценность для большинства приложений.
Прежде чем подписаться на этот пост, давайте взглянем на обзор того, как работает система уведомлений, выполнив шаги, показанные на рисунке 4. Все начинается с того, что ваше приложение работает на Windows Phone. Приложение регистрируется в размещенной Microsoft службе push-уведомлений, которая возвращает URI канала. Вы можете рассматривать это как а ) уникальный идентификатор вашего приложения, работающего на определенном устройстве, и б ) как URI, на который любой может отправить сообщение, чтобы оно могло быть направлено в качестве уведомления на конкретное устройство.
После возвращения URI канала в приложение, работающее на Windows Phone, в большинстве сценариев приложению необходимо будет отправить URI канала любой службе или приложению, которые будут генерировать уведомления. Вы можете думать об этом как о процессе идентификации, когда приложение говорит: «Привет, я здесь, вот мой URI канала, который вы можете использовать для отправки мне уведомлений». Как выглядит этот источник уведомлений, полностью зависит от вас. В большинстве случаев это будет веб-служба, которая получает URI канала и некоторый другой идентификатор (например, идентификатор устройства) для связи с URI канала.
Чтобы отправить уведомление (мозаичное, тостовое или необработанное) на устройство, источник уведомлений просто должен выполнить HTTP-публикацию в соответствующий URI канала. Структура сообщения определяет, какой тип уведомления отправляется на устройство службой push-уведомлений.
В этом посте вы увидели обзор службы push-уведомлений для Windows Phone и типы уведомлений, которые можно отправлять на телефон. Далее мы рассмотрим и покажем, как ваше приложение может зарегистрироваться для получения уведомлений, а затем, как вы можете отправлять уведомления, настраивая соответствующий XML.