Schnellstart: Senden von Benachrichtigungen an eine sekundäre Kachel (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Hinweis  Sie verwenden nicht JavaScript? Weitere Informationen finden Sie unter Schnellstart: Senden von Benachrichtigungen an eine sekundäre Kachel (XAML).

 

In dieser Schnellstartanleitung wird gezeigt, wie Sie die sekundäre Kachel einer App aktualisieren, indem Sie eine lokale Benachrichtigung senden. Sie werden bemerken, dass der Vorgang zum Senden einer Benachrichtigung an eine sekundäre Kachel mit Ausnahme des letzten Schritts identisch mit dem Vorgang zum Senden einer Benachrichtigung an die Hauptkachel der App ist. Der einzige Unterschied besteht darin, dass Sie bei sekundären Kacheln ein spezielles Kachelupdate für sekundäre Kacheln (CreateTileUpdaterForSecondaryTile) verwenden.

Unter Beispiel für sekundäre Kacheln wird der in diesem Thema bereitgestellte Code in einem vollständigen Beispiel angewendet. Das Beispiel wird als JavaScript-, C#-, C++- und Visual Basic-Version zur Verfügung gestellt.

Wenn eine App gestartet wird, sollte diese immer ihre sekundären Kacheln aufzählen, um zu überprüfen, ob Kacheln hinzugefügt oder entfernt wurden, ohne dass die App dies erfasst hat. Wenn ein Benutzer eine sekundäre Kachel löscht, entfernt Windows die Kachel lediglich. Die App muss alle von der sekundären Kachel verwendeten Ressourcen freigeben. Wenn Windows sekundäre Kacheln über die Cloud kopiert, werden aktuelle Kachel- oder Signalbenachrichtigungen der sekundären Kachel, geplante Benachrichtigungen, Pushbenachrichtigungskanäle und bei regelmäßigen Benachrichtigungen verwendete URIs (Uniform Resource Identifier) nicht mit der sekundären Kachel kopiert und müssen neu eingerichtet werden.

Hinweis  In dieser Anleitung wird der Benachrichtigungsinhalt direkt über das XML-DOM (Dokumentobjektmodell) gesteuert. Über die NotificationsExtensions-Bibliothek steht ein optionaler Ansatz zur Verfügung, bei dem der XML-Inhalt in Form von Objekteigenschaften dargestellt wird, wobei Sie u. a. IntelliSense nutzen können. Weitere Informationen finden Sie unter Schnellstart: Verwenden der NotificationsExtensions-Bibliothek im Code. Die NotificationsExtensions-Variante des Codes in dieser Schnellstartanleitung finden Sie unter Beispiel für sekundäre Kacheln.

 

Voraussetzungen

Die Ausführungen in diesem Thema setzen Folgendes voraus:

Anweisungen

1. Optional: Deklarieren einer Namespacevariablen

In diesem Schritt wird Ihnen ein Kurzname zur Verfügung gestellt, den Sie anstelle des vollständigen Namespacenamens verwenden können. Dies ist das Äquivalent zur "using"-Anweisung in C# oder der "Imports"-Anweisung in Visual Basic. So können Sie den Code vereinfachen.

Hinweis  Im verbleibenden Teil des Codes in diesem Schnellstart wird davon ausgegangen, dass diese Variable deklariert wurde.

 

var notifications = Windows.UI.Notifications;

2. Abrufen einer leeren Kachelvorlage

Für eine sekundäre Kachel kann jede beliebige Kachelvorlage verwendet werden. Hier verwenden wir die Nur-Text-Vorlage TileWide310x150Text04.


var wideTemplate = notifications.TileTemplateType.tileWide310x150Text04;                       
var tileXml = notifications.TileUpdateManager.getTemplateContent(wideTemplate);

3. Zuweisen von Text zur Benachrichtigung

Die TileWide310x150Text04-Vorlage enthält ein einziges Textelement, dem wir eine Zeichenfolge zuweisen.


var tileTextAttributes = tileXml.getElementsByTagName("text");
tileTextAttributes[0].appendChild(tileXml.createTextNode("This text was delivered through a notification"));

4. Bereitstellen der mittelgroßen Version der Benachrichtigung

Es empfiehlt sich, in jeder an eine Kachel gesendeten Benachrichtigungsnutzlast stets eine Bindung für jede von der App unterstützte Kachelgröße anzugeben. Im Rahmen des Anheftungsvorgangs kann der Benutzer aus den von Ihnen bereitgestellten Optionen die Größe der sekundären Kachel auswählen. Wenn Sie in jeder Benachrichtigung eine Bindung für jede dieser Größenoptionen bereitstellen, können Sie sicherstellen, dass Ihre Benachrichtigung unabhängig von der Kachelgröße angezeigt wird. Wenn Sie auch eine große sekundäre Kachel unterstützen, wiederholen Sie diesen und den nächsten Schritt für eine der großen Vorlagen.

Hinweis  Unter Windows Phone 8.1 werden alle Kacheln als mittelgroße Kacheln angeheftet und können anschließend vom Benutzer vergrößert/verkleinert werden. Dies gilt auch für sekundäre Kacheln.


var squareTemplate = notifications.TileTemplateType.tileSquare150x150Text04;                       
var squareTileXml = notifications.TileUpdateManager.getTemplateContent(squareTemplate);

var squareTileTextAttributes = squareTileXml.getElementsByTagName("text");
squareTileTextAttributes[0].appendChild(squareTileXml.createTextNode("This text was delivered through a notification"));

5. Anfügen der mittelgroßen Benachrichtigung an die Nutzlast der breiten Benachrichtigung

var node = tileXml.importNode(squareTileXml.getElementsByTagName("binding").item(0), true);
tileXml.getElementsByTagName("visual").item(0).appendChild(node);

6. Verpacken des fertigen XML-Codes als Kachelbenachrichtigung

var tileNotification = new notifications.TileNotification(tileXml);

7. Erstellen Sie ein Update für sekundäre Kacheln

Bis zu diesem Schritt ist das Verfahren identisch mit dem für eine Standardkachelbenachrichtigung. In diesem Schritt verwenden wir jedoch die für sekundäre Kacheln spezifische createTileUpdaterForSecondaryTile-Methode. Diese Methode erfordert die eindeutige ID der sekundären Zielkachel. Wir gehen in diesem Beispiel davon aus, dass eine sekundäre Kachel mit einer in der Variable appbarTileId gespeicherten ID aktuell an die Startseite geheftet ist.

var updater = notifications.TileUpdateManager.createTileUpdaterForSecondaryTile(appbarTileId);

8. Senden der Benachrichtigung an die sekundäre Kachel

updater.update(tileNotification);

9. Optional: Aktualisieren des Logos der sekundären Kachel

Beim Erstellen der sekundären Kachel müssen Sie ein Logobild angeben. Das Logobild – dessen Name daher rührt, dass es normalerweise das Logo einer App zeigt – ist ein Bild in der vollen Kachelgröße, das auf der Kachel angezeigt wird, bevor Benachrichtigungen empfangen werden. Wenn die Benachrichtigung entfernt wird oder abläuft, wird auf der Kachel wieder das Logobild angezeigt. In einigen Szenarien kann es sinnvoll sein, das standardmäßige Logobild zu ändern, z. B. um eine Änderung des angehefteten Inhalts anzuzeigen, wenn Sie kein vollständiges Benachrichtigungsupdate senden möchten. In diesem Schritt wird gezeigt, wie Sie das Logo für die sekundäre Kachel mit einer in der Variable appbarTileId gespeicherten ID anhand eines Bilds aus dem lokalen Speicher der App ändern. Beachten Sie, dass in diesem Beispiel die Windows.Foundation.Uri-Klasse verwendet wird.


var tileToUpdate = new Windows.UI.StartScreen.SecondaryTile("SecondaryTile.01");
var uriUpdatedLogo = new Windows.Foundation.Uri("ms-appdata:///local/NewSecondaryTileDefault.png");
tileToUpdate.logo = uriUpdatedLogo;
tileToUpdate.updateAsync();

Zusammenfassung und nächste Schritte

In dieser Schnellstartanleitung haben Sie eine Benachrichtigung an eine zugeordnete sekundäre Kachel Ihrer App gesendet. Sie haben gesehen, dass sich die Verfahren zum Senden einer Benachrichtigung an die Hauptkachel der App und zum Senden einer Benachrichtigung an eine sekundäre Kachel nur in einem Punkt unterscheiden. Außerdem haben Sie das standardmäßige Logobild Ihrer sekundären Kachel aktualisiert.

In dieser Schnellstartanleitung wurde das Update für die sekundäre Kachel in Form einer lokalen Benachrichtigung gesendet. Zum Übermitteln von Benachrichtigungen stehen Ihnen außerdem folgende Methoden zur Verfügung: geplante Benachrichtigung, regelmäßige Benachrichtigung und Pushbenachrichtigung. Weitere Informationen finden Sie unter Zustellen von Benachrichtigungen.

Verwandte Themen

Schnellstart: Anheften einer sekundären Kachel

Schnellstart: Senden eines Kachelupdates

Beispiel für sekundäre Kacheln

Übersicht über sekundäre Kacheln

Richtlinien und Prüfliste für sekundäre Kacheln

Kachelschema