Push-уведомления Windows Phone 7 не отображаются на моем телефоне

ОБНОВЛЕНИЕ: сюжет усиливается. Я изменил имя моего канала, и он внезапно заработал (это означает, что это не проблема с моей службой push-уведомлений, поскольку я получаю тот же HTTP-ответ от сервера уведомлений Microsoft Push).

Однако для меня это не решение. Как я смогу проверить это и ЗНАТЬ, что мои пользователи получают свои push-уведомления, если я получаю такой же ответ, когда он?

[ОРИГИНАЛЬНАЯ ЗАПИСЬ]

Я пытался получить push-уведомления, отправленные на мое устройство Windows Phone 7, но у меня очень большие проблемы, на которые я не могу найти ответов. Я начну с кода C #.

Я настроил push-уведомления, используя следующий код C #.

private HttpNotificationChannel channel;
private static string PUSH_CHANNEL = "MySpecialPushChannel";
private Uri PushUri = null;
private bool IsPushRegistered = false;

public void StartPushSubscription()
{
    try
    {
        channel = HttpNotificationChannel.Find(PUSH_CHANNEL);
    }
    catch
    {}

    if (channel != null)
    {            
        PushUri = channel.ChannelUri;
        if (!channel.IsShellTileBound)
            channel.BindToShellTile();
    }
    else
    {
        channel = new HttpNotificationChannel(PUSH_CHANNEL);
        channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(channel_ChannelUriUpdated);
        channel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(channel_HttpNotificationReceived);
        channel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(channel_ErrorOccurred);

        try
        {
            channel.Open();
            channel.BindToShellTile();
        }
        catch (Exception err)
        {
            channel = null;
            IsPushRegistered = false;
            // Code to try again
        }
    }
}

void channel_ChannelUriUpdated(object sender, NotificationChannelUriEventArgs e)
{
    PushUri = e.ChannelUri;
    IsPushRegistered = true;
}

Я следую стандартной структуре push WP7:

  1. Найдите HttpNotificationChannel (или запустите новый)
  2. Зарегистрируйте обработчик событий, чтобы вернуть uri push-уведомления
  3. Откройте канал
  4. Привязать к плитке
  5. Обработайте Uri канала (который мы отправляем нашей службе, чтобы дождаться счастливого дня, когда мы отправим push-уведомление

Хорошо ... пока все в порядке. Никаких ошибок, я получил свой Uri, отправил его в мою службу. Я прикрепляю свое приложение к стартовому экрану, и моя служба отправляет push-запрос в Uri (отправляя только счет, так что я получаю небольшое число push-счетчиков в верхнем правом углу). Я возвращаю статус HTTP 200 со следующим:

DeviceConnectionStatus => Connected

NotificationStatus => Received

SubscriptionStatus => Active

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

5
задан Eran 21 March 2013 в 20:54
поделиться