Share via


Universelles Schließen

Universal Dismiss, powered by Action Center in the Cloud, bedeutet, dass beim Schließen einer Benachrichtigung von einem Gerät auch dieselbe Benachrichtigung auf Ihren anderen Geräten verworfen wird.

Wichtig

Erfordert Anniversary Update: Sie müssen das SDK 14393 als Ziel verwenden und Build 14393 oder höher ausführen, um Universelles Schließen zu verwenden.

Das gängige Beispiel für dieses Szenario sind Kalendererinnerungen... Sie haben eine Kalender-App auf beiden Geräten... Sie erhalten eine Erinnerung auf Ihrem Smartphone und Desktop... Sie auf Ihrem Desktop auf Schließen klicken... dank Universal Verwerfen wird die Erinnerung auf Ihrem Handy auch verworfen! Für das Aktivieren des universellen Schließens ist nur eine Codezeile erforderlich!

Diagramm der universellen Verwerfen

In diesem Szenario ist die wichtigste Tatsache, dass dieselbe App auf mehreren Geräten installiert ist, was bedeutet, dass jedes Gerät bereits Benachrichtigungen empfängt. Eine Kalender-App ist das ikonische Beispiel, da Sie in der Regel dieselbe Kalender-App sowohl auf Ihrem Windows-PC als auch auf Ihrem Smartphone installiert haben und jede instance der App Ihnen bereits Erinnerungen auf jedem Gerät sendet. Durch Hinzufügen der Unterstützung für Universelles Schließen können diese Instanzen derselben Erinnerungen geräteübergreifend verknüpft werden.

Aktivieren des universellen Verwerfens

Als Entwickler ist die Aktivierung von Universal Dismiss extrem einfach. Sie müssen lediglich eine ID angeben, die es uns ermöglicht, jede Benachrichtigung geräteübergreifend zu verknüpfen, sodass die entsprechende verknüpfte Benachrichtigung vom anderen Gerät verworfen wird, wenn der Benutzer eine Benachrichtigung von einem Gerät verwirbt.

RemoteId-Diagramm

RemoteId: Ein Bezeichner, der eine Benachrichtigung geräteübergreifend eindeutig identifiziert.

Benötigt nur eine Codezeile, um RemoteId hinzuzufügen, wodurch die Unterstützung für universelles Verwerfen aktiviert wird! Wie Sie Ihre RemoteId generieren, liegt bei Ihnen. Sie müssen jedoch sicherstellen, dass ihre Benachrichtigung geräteübergreifend eindeutig identifiziert wird und dass derselbe Bezeichner aus verschiedenen Instanzen Ihrer App generiert werden kann, die auf verschiedenen Geräten ausgeführt wird.

Beispielsweise erstelle ich in meiner Hausaufgabenplaner-App meine RemoteId, indem ich sage, dass sie vom Typ "Erinnerung" ist, und dann schließe ich die Onlinekonto-ID und die Online-ID des Hausaufgabenelements ein. Ich kann immer dieselbe RemoteId generieren, unabhängig davon, welches Gerät die Benachrichtigung sendet, da diese Online-IDs auf den Geräten freigegeben werden.

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

Der folgende Code wird sowohl auf meinem Smartphone als auch auf der Desktop-App ausgeführt, was bedeutet, dass die Benachrichtigung auf beiden Geräten dieselbe RemoteId aufweist.

Das ist alles, was Sie tun müssen! Wenn der Benutzer eine Benachrichtigung verwirf (oder klickt), überprüfen wir, ob sie über eine RemoteId verfügt. Wenn dies der Fall ist, werden wir eine Verlässung dieser RemoteId auf allen Geräten des Benutzers auffächern.

Bekanntes Problem: Beim Abrufen der RemoteId über die ToastNotificationHistory.GetHistory() API wird immer eine leere Zeichenfolge zurückgegeben, anstatt die von Ihnen angegebene RemoteId . Keine Sorge, alles ist funktionsfähig – es ist nur das Abrufen des Werts, der unterbrochen ist.

Hinweis

Wenn der Benutzer oder das Unternehmen die Benachrichtigungsspiegelung für Ihre App deaktiviert (oder die Benachrichtigungsspiegelung vollständig deaktiviert), funktioniert universelles Schließen nicht, da ihre Benachrichtigungen nicht in der Cloud vorhanden sind.

Unterstützte Geräte

Seit dem Anniversary Update wird universelles Verwerfen unter Windows Mobile und Windows Desktop unterstützt. Universal Dismiss funktioniert in beide Richtungen, zwischen PC-PC, PC-Phone und Phone-Phone.