Пуши в Windows Phone 8.1
Итак, для доставки пушей у вас должен быть свой сервер (если вы не используете Azure), который авторизуется на WNS, затем телефоны передают серверу URI, и наконец, ваш сервер, когда необходимо, шлёт сообщения на телефоны по полученным URI
Стоит помнить, что:
1. URI периодически меняется и его нужно обновлять
2. При авторизации сервера указывается именно SID приложения, а не client_id
Скачать «заменитель» сервера для отправки пушей на телефон можно тут:
https://yadi.sk/d/WS6QmSTTcke7t
Получение Uri на телефоне:
private async void OpenChannelAndRegisterTask()
{
// Open the channel. See the "Push and Polling Notifications" sample for more detail
try {
if (rootPage.Channel == null) {
PushNotificationChannel channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
String uri = channel.Uri;
rootPage.Channel = channel;
// This event comes back in a background thread, so we need to move to the UI thread to access any UI elements
await _dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
OutputToTextBox(uri);
RootPage.NotifyUser("Channel request succeeded!", NotifyType.StatusMessage);
});
}
}
catch (Exception ex) {
rootPage.NotifyUser("Could not create a channel. Error number:" + ex.Message, NotifyType.ErrorMessage);
}
}
Дополнительно:
How to write a background task for raw push notifications (HTML)