Partager via


Masquage universel

L’abandon universel, 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 SDK 14393 et exécuter la build 14393 ou ultérieure pour utiliser le masquage universel.

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

Diagramme du masquage 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 l’abandon universel, ces instances des mêmes rappels peuvent être liées entre les appareils.

Comment activer le masquage universel

En tant que développeur, l’activation de l’abandon universel est extrêmement facile. Vous devez simplement fournir un ID qui nous permet de lier chaque notification entre les appareils, afin 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 entre les appareils.

ne prend pas seulement une ligne de code pour ajouter RemoteId, ce qui active la prise en charge du masquage universel ! Comment vous générez votre RemoteId . Toutefois, vous devez vous assurer qu’il identifie de manière unique votre notification 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’inclut l’ID de compte en ligne et l’identificateur en ligne de l’élément de devoirs. Je peux générer constamment 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 devez faire ! Lorsque l’utilisateur ignore (ou clique dessus) une notification, nous allons vérifier s’il a un RemoteId et, le cas échéant, 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() retourne toujours une chaîne vide plutôt que le RemoteId que vous avez spécifié. Ne vous inquiétez pas, tout est fonctionnel : il récupère uniquement la valeur qui est rompue.

Remarque

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

Appareils pris en charge

Depuis la mise à jour anniversaire, l’abandon universel est pris en charge sur Windows Mobile et Windows Desktop. Universal Dismiss fonctionne dans les deux sens, entre PC-PC, PC-Phone et Phone-Phone.