Windows Phone истечение канала

У меня возникли проблемы при отправке push-уведомления на телефон, он возвращается с этими ошибками:

[X-SubscriptionStatus] => Expired
[X-NotificationStatus] => Dropped
[X-DeviceConnectionStatus] => Connected

С этого момента у меня есть два вопроса:

  1. Что делать сейчас, если я не получаю нормальных инструкций в документах и ​​воссоздании push-канала, возвращающих тот же URL
  2. Как я понимаю, что истечение срока действия происходит на стороне клиента? Поскольку в реальном времени телефон просто перестанет получать сообщения и не будет знать, что что-то случилось... Спасибо

1 ответ

Решение

Со стороны сервера вы ничего не можете сделать - вам просто нужно прекратить отправку уведомлений на этот URI.

Что вы можете сделать, это попробовать и убедиться, что ваш ChannelUri не истекает, или, если это изменяется, уведомите Ваше приложение на стороне сервера об изменении. Основной процесс есть;

1 Однозначно идентифицируйте телефон. Очень вероятный кандидат Microsoft.Phone.Info.UserExtendedProperties.GetValue("ANID") но знайте, что это потребует, чтобы ваше приложение имело ID_CAP_IDENTITY_DEVICE возможность

2 Настройте HttpNotificationChannel по телефону и получите ChannelUri,

3 Отправьте уникальный идентификатор устройства и ChannelUri на ваш сервер.

4 Подписываться на ChannelUriUpdated уведомления на HttpNotificationChannel, Каждый раз, когда происходит это событие, отправьте повторно отправить идентификатор устройства / ChannelUri подключиться к вашему серверу.

Следуя этой схеме, вы всегда должны иметь правильный Uri push-уведомлений на стороне сервера, если пользователь периодически запускает ваше приложение для обновления канала push-уведомлений.

Другие вопросы по тегам