Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой теме обсуждаются начальные шаги по устранению неполадок, которые следует предпринять при возникновении проблем с уведомлениями плиток, тостов и бейджей, включая различные способы уведомления: локальные, push-уведомления, периодические и запланированные уведомления.
Устранение конкретных ошибок
В этом разделе рассматриваются некоторые распространенные ошибки, которые могут возникнуть при работе с push-уведомлениями.
- Проверка журналов событий
- Push-уведомление получает ответ "200 ОК", но не отображается
- Push-уведомление возвращает код, отличный от "200 OK"
- Ошибки при попытке создания канала push-уведомлений
Проверка журналов событий
Если плитка или всплывающие push-уведомления не отображаются должным образом, просмотрите журналы событий.
- Если уведомление получено, но не отображается: запустите средство просмотра событий и проверьте журнал Microsoft-Windows-TWinUI/Operational в разделе "Приложения и службы\Microsoft\Windows\Apps".
- Если уведомление не получено вообще: запустите средство просмотра событий и просмотрите операционный журнал в папке "Приложения и службы\Microsoft\Windows\PushNotifications-Platform".
Push-уведомление получает ответ "200 ОК", но не отображается
Если службы push-уведомлений Windows (WNS) возвращают ответ "200 ОК", он будет доставлять уведомление клиенту, если клиент находится в сети. Если вы убедились, что клиент находится в сети, но не отображает уведомление, выполните следующие действия.
причина: ошибки XML в содержимом уведомления.
исправить: проверьте правильность синтаксиса XML и убедитесь, что ваш XML-документ завершен и верный. Ниже приведены некоторые распространенные моменты сбоя в xml-содержимом:
- Case sensitivity. Имена тегов, имена атрибутов и значения атрибутов чувствительны к регистру. Убедитесь, что XML имеет правильный регистр.
- Элемент привязки должен быть предоставлен для каждого поддерживаемого формата плитки. Вы должны предоставить элемент привязки для каждого из поддерживаемых вами размеров плиток в каждом из отправленных уведомлений.
- Текстовые строки не должны содержать зарезервированные XML-символы. Например, нельзя курсивировать плитку или всплываемые строки, включив <i> и </i> теги. Если вы собираетесь отобразить символы в их буквальном виде "<i>", они должны быть правильно экранированы. Дополнительные сведения о экранирующих символах в XML см. в разделе "Сущности символов XML" и разделе XAML.
- Значения, указанные для атрибутов lang, должны соответствовать спецификации ITEF BCP 47.
- XML-строки, отправленные через push-уведомления, должны использовать кодировку UTF-8.
- Если вы включаете изображение элемент в полезные данные XML с непустым атрибутом src, необходимо обязательно включить ссылку на допустимое изображение, иначе уведомление будет отклонено.
причина: неправильное использование параметров API push-уведомлений
Исправление. Дополнительные сведения см. в документации по API в Windows.Networking.PushNotifications пространства имен.
причина: тип заголовка не соответствует содержимому уведомления. Если заголовок X-WNS-Type не имеет значения — плитки, значка или тоста — соответствующих шаблону уведомлений, указанному в объекте данных, уведомление не будет отображаться. Это несоответствие приведет к ошибке клиента, и уведомление будет удалено.
Исправление : Обратитесь к запросу и заголовкам ответа службы push-уведомлений, чтобы убедиться, что ваш сервер приложений использует правильное значение для заголовка X-WNS-Type.
причина: время жизни (TTL), заданное в заголовке X-WNS-TTL, имеет слишком малое значение.
исправление: Укажите большее значение TTL, учитывая, что значение задано в секундах.
Если уведомление по-прежнему не отображается после выполнения пунктов из предыдущих шагов, см. шаги устранения неполадок для локальных уведомлений в разделе "Уведомление локальной плитки не отображается" этого материала для получения дополнительных рекомендаций.
Push-уведомление возвращает код, отличный от "200 OK"
Если WNS не возвращает "200 OK", уведомление не будет доставлено клиенту. Если возвращаемый код находится в диапазоне 400, то вы, как разработчик, должны иметь возможность устранить проблему.
Note
Для получения сведений об ошибках, не перечисленных здесь, см. коды ошибок COM () для WPN, MBN, P2P, Bluetooth.
- Запрос на уведомление возвращает "400 неверный запрос"
- Запрос на уведомление возвращает "401 Несанкционированный"
- Запрос на уведомление возвращает значение "401 Несанкционированный", срок действия маркера истекает
- Запрос на уведомление возвращает значение "403 Запрещено"
- Запрос на уведомление возвращает значение "404 Не найдено"
- Запрос на уведомление возвращает значение "406 Not Acceptable"
- Запрос на уведомление возвращает "410 Gone"
Запрос на уведомление возвращает "400 неверный запрос"
причина. Использование одного или нескольких заголовков WNS может быть неверным, или HTTP-запрос был недопустимым.
Исправление: Обратитесь к заголовкам запросов и ответов службы push-уведомлений , чтобы убедиться, что сервер приложений использует все пользовательские заголовки, как описано.
Запрос на уведомление возвращает "401 Несанкционированный"
причина. Сервер приложений должен использовать правильный идентификатор безопасности пакета (SID пакета) и секретный ключ, предоставленный при регистрации приложения. Если вы недавно изменили секретный ключ на панели мониторинга Магазина Windows, вам также потребуется обновить сервер приложений.
исправление: Посетите панель инструментов магазинов Windows, чтобы проверить SID пакета и секрет.
Запрос на уведомление возвращает значение "401 Несанкционированный", срок действия маркера истекает
причина: маркер доступа имеет ограниченное время существования. Если вы отправляете уведомление с маркером доступа с истекшим сроком действия, учетные данные сервера приложений недопустимы и уведомление не может быть отправлено.
Исправление: Запросите новый токен доступа у WNS, произведя аутентификацию с WNS, используя идентификатор безопасности пакета (SID пакета) и секретный ключ. Дополнительные сведения см. в обзоре служб push-уведомлений Windows (WNS)
Запрос на уведомление возвращает значение "403 Запрещено"
причина. Эта ошибка возникает, когда предоставленный маркер доступа не соответствует учетным данным, необходимым для отправки уведомлений на соответствующий URL-адрес канала. Каждое приложение должно быть зарегистрировано в Магазине Windows для получения учетных данных для своего сервера приложений. Для каждого приложения можно использовать только учетные данные, предоставленные Магазином Windows, для отправки уведомлений в это приложение и их можно использовать только для этого конкретного приложения.
исправление: войдите на Панель управления Магазина Windows с помощью учетной записи разработчика. Выберите приложение и нажмите кнопку "Дополнительные функции" —> "Управление параметрами облачной службы". Выберите "Идентификация приложения", чтобы прочитать инструкции по обновлению манифеста приложения в соответствии с учетными данными облачной службы.
Запрос на уведомление возвращает значение "404 Не найдено"
причина: эта ошибка обычно означает, что URL-адрес канала не сформирован правильно. URL-адрес канала никогда не должен быть изменен при отправке уведомления в WNS. URL-адрес канала всегда должен рассматриваться как непрозрачная строка— вам никогда не нужно изучить или даже знать его содержимое.
исправление: Убедитесь, что ваш код не изменяет URL-адрес канала, изменяя один или несколько его символов или его кодировку.
Запрос на уведомление возвращает значение "406 Not Acceptable"
причина: WNS имеет защитные политики, чтобы предотвратить негативное воздействие вредоносных приложений на службу для других пользователей и разработчиков. Слишком короткое количество уведомлений может привести к явному удалению уведомлений WNS.
Исправление. Просмотрите частоту уведомлений, чтобы узнать, можно ли уменьшить или оптимизировать ее, чтобы улучшить взаимодействие с пользователем.
Запрос на уведомление возвращает "410 Gone"
причина: срок действия URL-адреса канала истек. Дальнейшие уведомления не могут быть отправлены до тех пор, пока приложение не будет запущено и запрашивает новый URL-адрес канала.
Фикс: Приложение Windows Store должно запрашивать URL-адрес канала при каждом запуске. URL-адрес, назначенный каналу, не гарантируется как неизменный. Если URL-адрес изменился, клиент должен обновить сведения на облачном сервере.
Ошибки при попытке создания канала push-уведомлений
- Создание канала уведомлений приводит к ошибке ERROR_NO_NETWORK
- Создание канала уведомлений приводит к ошибке WPN_E_CLOUD_INCAPABLE.
- Создание канала уведомлений приводит к ошибке WPN_E_INVALID_APP
Note
Для получения сведений об ошибках, не перечисленных здесь, см. коды ошибок COM () для WPN, MBN, P2P, Bluetooth.
Создание канала уведомлений приводит к ошибке ERROR_NO_NETWORK
причина: WNS требует подключения к Интернету для создания канала уведомлений.
исправление: Проверьте подключение к Интернету.
Создание канала уведомлений приводит к ошибке WPN_E_CLOUD_INCAPABLE.
причина: ваше приложение не объявило возможность Интернета в манифесте приложения (package.appxmanifest).
Исправление: Убедитесь, что манифест вашего приложения включает интернет-возможности. В редакторе манифестов Visual Studio этот параметр можно найти на вкладке "Возможности" как Интернет (клиент). Дополнительные сведения см. в разделе о возможностях .
Создание канала уведомлений приводит к ошибке WPN_E_INVALID_APP
причина: Приложение должно использовать допустимое имя пакета. Если вы еще не получили его, его можно получить на портале Магазина Windows в разделе "Дополнительные функции".
Исправление. Дополнительные сведения о получении идентификатора безопасности пакета (PKSID) для приложения Windows Store см. в обзоре Windows Push Notification Services (WNS) .
Сообщить о проблеме
Если вы попробовали решения, предложенные в этой статье, и не устранили проблему, опубликуйте сообщение на форумах Майкрософт , чтобы обсудить его как с разработчиками Майкрософт, так и с другими заинтересованными сторонами.
Для push-уведомлений в дополнение к описанию проблемы может потребоваться указать URL-адрес канала и пример ответа, полученного от WNS, включая коды ошибок HTTP и заголовки HTTP. Существуют определенные заголовки, которые сервер приложений должен фиксировать в журнале при сообщении о проблеме. Для получения дополнительной информации см. раздел заголовки запросов и ответов службы push-уведомлений.
Windows developer