Masquage universel

Universal Dismiss, alimenté par le Centre de notifications dans le cloud, signifie que lorsque vous ignorez une notification d’un appareil, la même notification sur vos autres appareils est également ignorée.

Important

Nécessite la mise à jour anniversaire : vous devez cibler le Kit de développement logiciel (SDK) 14393 et exécuter la build 14393 ou une version ultérieure pour utiliser universal Dismiss.

L’exemple courant de ce scénario est les rappels de calendrier... vous disposez d’une application calendrier sur vos deux appareils... vous recevez un rappel sur votre téléphone et votre bureau... vous cliquez sur Ignorer sur votre bureau... grâce à Universal Dismiss, le rappel sur votre téléphone est également ignoré! L’activation de l’option Universal Dismiss ne nécessite qu’une seule ligne de code !

Diagramme de l’abandon universel

Dans ce scénario, le fait clé est que la même application est installée sur plusieurs appareils, ce qui signifie que chaque appareil reçoit déjà des notifications. Une application de calendrier est l’exemple emblématique, car vous avez généralement la même application de calendrier installée sur votre PC Windows et votre téléphone, et chaque instance de l’application vous envoie déjà des rappels sur chaque appareil. En ajoutant la prise en charge de Universal Dismiss, les instances des mêmes rappels peuvent être liées entre les appareils.

Guide pratique pour activer l’abandon universel

En tant que développeur, il est extrêmement facile d’activer Universal Dismiss. Vous devez simplement fournir un ID qui nous permet de lier chaque notification entre les appareils, de sorte que lorsque l’utilisateur ignore une notification d’un appareil, la notification liée correspondante est ignorée de l’autre appareil.

Diagramme RemoteId d’abandon universel

RemoteId : identificateur qui identifie de manière unique une notification sur plusieurs appareils.

t prend une seule ligne de code pour ajouter RemoteId, ce qui permet la prise en charge de Universal Dismiss! La façon dont vous générez votre RemoteId dépend de vous. Toutefois, vous devez vous assurer qu’il identifie votre notification de manière unique sur les appareils, et que le même identificateur peut être généré à partir de différentes instances de votre application s’exécutant sur différents appareils.

Par exemple, dans mon application planificateur de devoirs, je génère mon RemoteId en disant qu’il est de type « rappel », puis j’inclue l’ID de compte en ligne et l’identificateur en ligne de l’élément de devoirs. Je peux générer systématiquement le même RemoteId, quel que soit l’appareil qui envoie la notification, car ces ID en ligne sont partagés entre les appareils.

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);

Le code suivant s’exécute sur mon téléphone et mon application de bureau, ce qui signifie que la notification sur les deux appareils aura le même RemoteId.

C’est tout ce que vous avez à faire ! Lorsque l’utilisateur ignore (ou clique sur) une notification, nous case activée s’il a un RemoteId, et si c’est le cas, nous allons faire disparaître ce RemoteId sur tous les appareils de l’utilisateur.

Problème connu : la récupération du RemoteId par le biais de l’API ToastNotificationHistory.GetHistory() renvoie toujours une chaîne vide plutôt que le RemoteId que vous avez spécifié. Ne vous inquiétez pas, tout est fonctionnel : il s’agit uniquement de récupérer la valeur qui est cassée.

Notes

Si l’utilisateur ou l’entreprise désactive la mise en miroir des notifications pour votre application (ou désactive complètement la mise en miroir des notifications), universal Dismiss ne fonctionnera pas, car nous n’avons pas vos notifications dans le cloud.

Appareils pris en charge

Depuis la mise à jour anniversaire, universal Dismiss est pris en charge sur Windows Mobile et Windows Desktop. Universal Dismiss fonctionne dans les deux sens, entre PC-PC, PC-Téléphone et Téléphone-Téléphone.