Написание фоновой задачи для необработанных push-уведомлений (HTML)
[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]
В этом разделе приводятся сведения о том, как написать код фоновой задачи для получения фоновых сетевых уведомлений, использующих необработанные push-уведомления в приложениях среды выполнения Windows на экране блокировки. В этом разделе объясняется, как написать код фоновой задачи для функции необработанных push-уведомлений для приложения среды выполнения Windows в Windows 8.1.
Что необходимо знать
Технологии
Windows.Networking.PushNotifications
Включает фоновую сетевую связь с помощью необработанных push-уведомлений.
Необходимые условия
Следующая информация относится к приложениям среды выполнения Windows, подключенным к сети или поддерживающим работу в сети и зависящим от сетевых подключений, которые используют необработанные push-уведомления для постоянного поддержания таких подключений. Этот раздел применим к приложениям, написанным на JavaScript для Windows 8.1, Windows Phone 8.1 и Windows Server 2012.
Фоновое сетевое подключение с использованием необработанных push-уведомлений поддерживается приложениями на JavaScript и C++/XAML, а также приложениями, использующими платформу .NET Framework 4.5 и написанными на C#, VB.NET или управляемом C++. Подробнее о фоновых сетевых задачах, относящихся к приложениям на JavaScript, см. в разделе Поддержка приложения с помощью фоновых задач.
Инструкции
Написание кода фоновой задачи
Следующим важным этапом обеспечения постоянной доступности приложения является создание кода, который выполняется при получении необработанного push-уведомления. Например, в случае приложения электронной почты, использующего входящие необработанные push-уведомления для оповещения о получении сервером новых почтовых сообщений, приложению нужно запустить код, чтобы обработать данные, содержащиеся в push-уведомлении. Эти данные могут содержать список новых сообщений электронной почты, чтобы показать уведомление пользователю. Приложение также может запланировать подключение к почтовому серверу и скачивание новых сообщений электронной почты с сервера в следующий раз, когда приложение не будет приостановлено. Эта обработка выполняется в рамках фоновой задачи.
Каждая фоновая задача реализуется с помощью функции, которая запускается при регистрации приложения на получение необработанного push-уведомления. Это было указано в манифесте приложения в качестве специального исходного файла на JavaScript, содержащего одну функцию.
В следующем примере показана функция, которая запускается при инициировании фоновой задачи необработанным push-уведомлением.
(function () {
// Get the background task details
var backgroundTask = Windows.UI.WebUI.WebUIBackgroundTaskInstance.current;
var settings = Windows.Storage.ApplicationData.current.localSettings;
var taskName = backgroundTask.task.name;
console.log("Background task \"" + taskName + "\" starting...");
// Store the content received from the notification so it can be retrieved
// from the UI.
var notificationDetails = backgroundTask.triggerDetails;
settings.values[taskName] = notificationDetails.content;
console.log("Background \"" + taskName + "\" completed!");
// Close the instance running the task
close();
})();
Примечание В фоновой задаче нельзя ссылаться на элементы пользовательского интерфейса приложения, поскольку они не работают. Когда код выполняется в фоновой задаче, можно получить данные от необработанного push-уведомления, проанализировать и обработать их и показать уведомление для пользователя.
Время существования фоновой задачи контролируется функцией, которая реализует фоновую задачу. Когда приложение завершает функцию, оно приостанавливается.
Когда запускается фоновая задача приложения, операционная система гарантирует, что в ходе синхронизации данные необработанных push-уведомлений будут доставлены в приложение либо будет возвращена ошибка (например, "подключение сброшено"). Аналогично, в конце фоновой задачи приложение должно обеспечить отображение уведомлений до того, как приложение будет приостановлено.
Фоновые задачи в основном используются приложениями в состоянии приостановки, но если для приложения настроены фоновые задачи, то они будут запускаться и в то время, когда приложение будет находиться на переднем плане.
Предыдущие шаги
Дополнительные сведения о создании приложения на экране блокировки для получения фоновых сетевых уведомлений, использующих необработанные push-уведомления, см. в разделе Как создать на экране блокировки приложение, использующее необработанные push-уведомления в фоновом режиме.
Дополнительные сведения о процессе регистрации канала push-уведомления и отправки его на ваш сервер, о регистрации фоновой задачи для активации из необработанного push-уведомления, а также об отправке push-уведомления на канал и активации фоновой задачи см. в разделе Использование WNS для доставки необработанных push-уведомлений в приложения на экране блокировки.
Дополнительные сведения о руководстве и контрольных списках для использования необработанных push-уведомлений:
Руководство и контрольный список для необработанных уведомлений.
Связанные разделы
Другие ресурсы
Руководство и контрольный список для необработанных уведомлений
Проверка подлинности с помощью службы push-уведомлений Windows (WNS)
Доставка необработанных push-уведомлений в приложение на экране блокировки с помощью WNS
Общие сведения об экране блокировки
Общие сведения о push-уведомлениях
Поддержка приложения с помощью фоновых задач
Диагностика и отладка сетевых подключений
Ссылки
Windows.ApplicationModel.Background
Windows.Networking.BackgroundTransfer
Windows.Networking.PushNotifications
Примеры
Примеры приложений на экране блокировки