Descartar Universal
Descartar universal, con tecnología del Centro de actividades en la nube, significa que al descartar una notificación de un dispositivo, también se descarta la misma notificación en los demás dispositivos.
Importante
Requiere actualización de aniversario: debe tener como destino el SDK 14393 y ejecutar la compilación 14393 o posterior para usar El descarte universal.
El ejemplo común de este escenario es recordatorios de calendario... tiene una aplicación de calendario en ambos dispositivos... usted recibe un recordatorio en su teléfono y escritorio... haga clic en descartar en el escritorio... gracias a Universal Dismiss, el aviso en su teléfono también se descarta! La habilitación del descarte universal solo requiere una línea de código.
En este escenario, el hecho clave es que la misma aplicación está instalada en varios dispositivos, lo que significa que cada dispositivo ya recibe notificaciones. Una aplicación de calendario es el ejemplo emblemático, ya que normalmente tiene la misma aplicación de calendario instalada en su PC Windows y su teléfono, y cada instancia de la aplicación ya le envía recordatorios en cada dispositivo. Al agregar compatibilidad con Descarte universal, esas instancias de los mismos recordatorios se pueden vincular entre dispositivos.
Habilitación del descarte universal
Como desarrollador, habilitar Descarte universal es extremadamente fácil. Solo tiene que proporcionar un identificador que nos permita vincular cada notificación entre dispositivos, de modo que cuando el usuario descarte una notificación de un dispositivo, se descarta la notificación vinculada correspondiente del otro dispositivo.
RemoteId: identificador que identifica de forma única una notificación entre dispositivos.
t solo toma una línea de código para agregar RemoteId, habilitando la compatibilidad con Descarte universal. Sin embargo, la forma de generar remoteId depende de usted; sin embargo, debe asegurarse de que identifica de forma única la notificación entre dispositivos y que el mismo identificador se puede generar a partir de diferentes instancias de la aplicación que se ejecutan en diferentes dispositivos.
Por ejemplo, en mi aplicación de planificador de tareas, generar mi RemoteId diciendo que es de tipo "recordatorio" y, a continuación, incluí el identificador de cuenta en línea y el identificador en línea del elemento de tarea. Puedo generar de forma coherente el mismo RemoteId exacto, independientemente del dispositivo que envíe la notificación, ya que estos identificadores en línea se comparten entre los dispositivos.
var toast = new ScheduledToastNotification(content.GetXml(), startTime);
// If the RemoteId property is present
if (ApiInformation.IsPropertyPresent(typeof(ScheduledToastNotification).FullName, nameof(ScheduledToastNotification.RemoteId)))
{
// Assign the RemoteId to add support for Universal Dismiss
toast.RemoteId = $"reminder_{account.AccountId}_{homework.Identifier}"
}
ToastNotificationManager.CreateToastNotifier().AddToSchedule(toast);
El código siguiente se ejecuta tanto en mi teléfono como en la aplicación de escritorio, lo que significa que la notificación en ambos dispositivos tendrá el mismo RemoteId.
¡Eso es todo lo que tienes que hacer! Cuando el usuario descarte (o haga clic en) una notificación, comprobaremos si tiene un RemoteId y, si es así, se descartará ese RemoteId en todos los dispositivos del usuario.
Problema conocido: la recuperación de RemoteId a través de la ToastNotificationHistory.GetHistory()
API siempre devolverá una cadena vacía en lugar de remoteId que especificó. No se preocupe, todo es funcional: solo se recupera el valor que está roto.
Nota:
Si el usuario o la empresa deshabilita la creación de reflejo de notificaciones para la aplicación (o deshabilita completamente la creación de reflejo de notificaciones), el descarte universal no funcionará, ya que no tenemos las notificaciones en la nube.
Dispositivos admitidos
Desde la actualización de aniversario, el descarte universal se admite en Windows Mobile y escritorio de Windows. El descarte universal funciona en ambas direcciones, entre PC-PC, PC-Phone y Phone-Phone.