PushNotificationChannelManager.ChannelsRevoked Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возникает при отзыве канала push-уведомлений, чтобы можно было немедленно запросить новый канал. Это позволяет свести к минимуму время простоя, возникающее в результате использования отозванного канала WNS. Тип аргументов события — PushNotificationChannelsRevokedEventArgs.
// Register
static event_token ChannelsRevoked(EventHandler<PushNotificationChannelsRevokedEventArgs> const& handler) const;
// Revoke with event_token
static void ChannelsRevoked(event_token const* cookie) const;
// Revoke with event_revoker
static PushNotificationChannelManager::ChannelsRevoked_revoker ChannelsRevoked(auto_revoke_t, EventHandler<PushNotificationChannelsRevokedEventArgs> const& handler) const;
public static event System.EventHandler<PushNotificationChannelsRevokedEventArgs> ChannelsRevoked;
function onChannelsRevoked(eventArgs) { /* Your code */ }
Windows.Networking.PushNotifications.PushNotificationChannelManager.addEventListener("channelsrevoked", onChannelsRevoked);
Windows.Networking.PushNotifications.PushNotificationChannelManager.removeEventListener("channelsrevoked", onChannelsRevoked);
- or -
Windows.Networking.PushNotifications.PushNotificationChannelManager.onchannelsrevoked = onChannelsRevoked;
Public Shared Custom Event ChannelsRevoked As EventHandler(Of PushNotificationChannelsRevokedEventArgs)
Тип события
Требования к Windows
Семейство устройств |
Windows 10, version 2004 (появилось в 10.0.19041.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v10.0)
|
Примеры
// Create the manager, and subscribe to the ChannelsRevoked event.
PushNotificationChannel channel = null;
PushNotificationChannelManager.ChannelsRevoked += OnChannelsRevoked;
try
{
// Create the channel manager for the user.
PushNotificationChannelManagerForUser channelManagerForUser = PushNotificationChannelManager.GetDefault();
// Create the channel.
channel = await channelManagerForUser.CreatePushNotificationChannelForApplicationAsync();
// If the channel isn't null, send to app service.
if (channel != null)
{
sendChannelURIToServer(channel.Uri);
}
}
catch (Exception e){ ... }
...
private async void OnChannelsRevoked(PushNotificationChannelsRevokedEventArgs e)
{
// PushNotificationChannelsRevokedEventArgs has no members.
// Previous channel was revoked, time to create a new channel as shown above.
...
}
Комментарии
Вы создаете канал push-уведомлений для получения push-уведомлений от службы через WNS. Эти каналы не являются постоянными и могут изменяться по ряду причин (чаще всего каналы заканчиваются через тридцать дней). На платформе также могут возникать события, которые отменяют канал (например, глобальные изменения идентификатора устройства). Но вам не нужно запрашивать новый канал при каждом запуске приложения, если вы используете это событие.