PushNotification Staus Code 200, но не получает сообщение - PullRequest
1 голос
/ 06 июля 2011

После успешной отправки URI в веб-службу от push-клиента я отправляю тост-уведомление из веб-службы с помощью URI, в веб-службе я получаю ответ как:

Push-статус 200, NotificationStatus: получено, DeviceConnectionStatus: подключено, NotificationChannelStatus: Active.

Но в push-клиенте сообщение не получено. Тот же сценарий раньше работал нормально сегодня. Может кто-нибудь сказать мне, что происходит не так?

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

В веб-службе, если, например, задано неправильное значение setRequestProperty, в котором задано неправильное значение X-WindowsPhone-Target и неправильное значение X-NotificationClass, тогда веб-служба будет получать состояние получения уведомлений, но push-клиент не будет получать никаких сообщений.

В моем случае я отправлял тост-сообщение с X-WindowsPhone-Target в качестве токена и X-NotificationClass как 1. После предоставления правильного значения он начал нормально работать.

0 голосов
/ 06 июля 2011

Является ли сообщение, которое вы отправляете, одинаковым (т. Е. Идентичным)? Кажется, я помню, что некоторые случаи искаженного сообщения проходили через службу OK, но затем подавлялись на устройстве.

Есть ли у вас код для обработки всплывающих сообщений, которые приходят во время работы вашего приложения? Если вы это сделаете, установите точку останова и отправьте тост в приложение во время отладки и посмотрите, что получится. Таким образом, вы можете убедиться, что тост попадает на устройство, а также посмотреть, что это за контент или в чем может быть проблема.

channel.ShellToastNotificationReceived += channel_ShellToastNotificationReceived;

, где channel - ваш объект канала, а затем

void channel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)
{
    Dispatcher.BeginInvoke(() => MessageBox.Show(e.Collection["wp:Text1"] + Environment.NewLine + e.Collection["wp:Text2"]));
}

или что-то похожее на вывод сообщения на дисплей.

...