PushNotificationChannelManager.ChannelsRevoked 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
撤销推送通道时引发,以便可以立即请求新通道。 这可最大程度地减少使用吊销的 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.
...
}
注解
创建推送通道以通过 WNS 从服务接收推送通知。 这些通道不是永久性的,可能会因各种原因而更改, (最常见的原因是通道在) 30 天后过期。 平台中还可能发生撤销通道 (例如全局设备 ID 更改) 的事件。 但是,如果你使用此事件,则无需在每次启动应用时请求新频道。