Windows Phone истечение канала
У меня возникли проблемы при отправке push-уведомления на телефон, он возвращается с этими ошибками:
[X-SubscriptionStatus] => Expired
[X-NotificationStatus] => Dropped
[X-DeviceConnectionStatus] => Connected
С этого момента у меня есть два вопроса:
- Что делать сейчас, если я не получаю нормальных инструкций в документах и воссоздании push-канала, возвращающих тот же URL
- Как я понимаю, что истечение срока действия происходит на стороне клиента? Поскольку в реальном времени телефон просто перестанет получать сообщения и не будет знать, что что-то случилось... Спасибо
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-уведомлений.