В настоящее время я разрабатываю мобильное приложение на основе Cordova (версия 4.0.0) для Windows Phone 8.1.Плохой запрос MPNS при push-уведомлении (WP 8.1)
Я внедрил Java-код из API Java-MPNS (из github notnoop) для отправки уведомлений на свое устройство.
Когда я нажимаю сообщение уведомления в MPNS, я получаю эту ошибку:
HTTP/1.1 400 Bad Request [Content-Length: 0, X-WNS-MSG-ID: 50267BB8627BC17D, X-WNS- DEBUG-TRACE: DB5SCH101121935, Strict-Transport-Security: max-age = 31536000; IncludeSubdomains, WWW-Authenticate: Знаменосец, дата: чт, 7 января 2016 9:13:01 GMT] [email protected]
Из документа кодов ответа Notification Service Толчок для Windows Phone 8, этот код ошибки означает, что XML-документ или URI уведомления отклонен.
Вот мое уведомление URI:
Вот документ XML (сгенерированный Java-MPNS из класса TileNotification Java):
<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
<wp:Tile>
<wp:Count>1</wp:Count>
<wp:Title>Demo App Windows</wp:Title>
<wp:BackContent>New notification</wp:BackContent>
</wp:Tile>
</wp:Notification>
Когда я сравниваю этот XML-документ и XML-документ от документации Как отправлять и получать оповещения Tile для Windows Phone 8, я не вижу никаких различий или ошибок. О моем URI уведомления, я думаю, что ссылка правильная.
Но какая разница между http://db3.notify.live.net и https://db5.notify.windows.com?
Есть ли кто-нибудь, кто уже использует этот API? У вас есть идея, как это исправить?
Благодарим вас за полезный ответ! Мне хотелось бы получить дополнительную информацию из ваших объяснений. Я использую API Java только для поддержки MPNS. Но, как я узнаю, что мой Windows Phone нацелен на Silverlight или Universal? Я разрабатываю гибридное мобильное приложение с Cordova. Проблема возникает из API Javascript, который я использую для получения URI канала (имя API - это плагин для подключения к телефонной карте для поддержки Кордовы). Затем этот плагин использует WNS. Когда мое мобильное приложение будет в Windows Store, я должен использовать платформу Azure Notification? – PauloDev
Привет, Пауло, я не знаком с Кордовой, но я предполагаю, что у вас есть WMAppManifest.xml где-то в проекте?Если да, можете ли вы открыть его в редакторе XML и проверить атрибут NotificationService. Если значение «MPN», вы используете MPNS и должны использовать API-интерфейсы Windows.Phone.Notification. Если значение говорит «WNS», вы должны использовать Windows.UI.Notifications –
Чтобы ответить на ваш вопрос об использовании концентраторов уведомлений Azure, вы не обязаны использовать это. Вы можете строить непосредственно поверх API WNS/MPNS или использовать множество других сервисов, которые помогут вам использовать кросс-платформу (Parse, Urban Airship, Pushwoosh и т. Д.). –