SDX Privatbilanz für Windows 8.1: Secondary Tiles

18. November 2013

Neben der primären App-Kachel können Entwickler Windows Store Apps auch mit der Fähigkeit versehen, sekundäre Tiles zu erstellen, die spezifischere Informationen darstellen können. Dieser Beitrag zeigt, wie die Privatbilanz-App von dieser Möglichkeit Gebrauch macht.

Direkteinstiegspunkte

Nicht erst seit Windows 8.1, auch unter Windows 8 war es für Entwickler bereits möglich, Secondary Tiles als Funktionalität anzubieten. Ein schönes Beispiel um zu verstehen, worum es sich dabei handelt, stellt die “Finanzen”-App von Microsoft dar. In dieser App haben Anwender die Möglichkeit für einzelne Wertpapiere die Aktion “An Start anheften” auszuführen. Dadurch wird auf dem Startbildschirm der Modern UI eine neue Kachel erzeugt, die das Wertpapier repräsentiert. Auf der Kachel werden stets aktuelle Informationen angezeigt, z.B. die Wertentwicklung des Papiers zum letzten Stand etc.. Klickt der Benutzer die Kachel an, wird die Finanzen-App direkt in der Detailansicht des jeweiligen Wertpapiers geöffnet.

Win81_SecondaryTiles_Finanzen

Solche “Secondary Tiles” nutzen Anwendern daher auf zweierlei Art:

  1. Sie stellen aktuelle Informationen zu einem spezifischen Datenobjekt dar (im Falle der Finanzen-App Informationen eines Wertpapiers).
  2. Sie sind ein Direkteinstiegspunkt in die App, die dadurch in der Detailansicht des jeweiligen Datenobjekts geöffnet wird.

Es ist erkennbar, dass sich die Nutzung von Secondary Tiles besonders dort anbietet, wo schnell auf Detaildaten einer App zugegriffen werden soll.

Nutzung in der Privatbilanz

In der Privatbilanz-App bieten sich die einzelnen Bilanzposten geradezu an, dem Benutzer die Möglichkeit zu geben, diese als Secondary Tiles auf dem Startbildschirm zu hinterlegen. Und so wurde die Anpassung der Privatbilanz-App an Windows 8.1 dafür genutzt, dieses Feature zu implementieren.

In der App Bar der Detailansicht eines Bilanzpostens gibt es nun die zusätzliche Aktion “An Start anheften”. Führt der Benutzer diese aus, so öffnet sich ein Popup, mit dem er die neue Kachel anlegen kann. Hier hat er die Möglichkeit, die Kachelgröße zu wählen und die Beschriftung festzulegen. Apps ist es nicht erlaubt, vollautomatisch Secondary Tiles anzulegen, der Benutzer muss dies immer bestätigen. Damit wird ein Missbrauch dieser Funktionalität durch Apps verhindert.

Win81_AnStartAnheften

In der Privatbilanz-App wird das Bild mit dem jeweiligen Symbol und der Farbe des Bilanzposten-Typs als Symbol für die neue sekundäre Kachel verwendet, die Beschriftung entspricht standardmäßig dem Namen des Bilanzpostens. Je nach Kachelgröße werden auf dem Live Tile unterschiedliche aktuelle Informationen des jeweiligen Bilanzpostens dargestellt, u.a. die aktuelle Wertentwicklung mit einem symbolischen Indikator und das Bilanzposten-Bild. Bei Änderungen an einem Bilanzposten werden diese Daten auf den Kacheln umgehend aktualisiert. Hierdurch erhält der Benutzer bereits auf dem Startbildschirm eine Fülle an relevanten Informationen über die von ihm gepinnten Bilanzposten, ohne die Privatbilanz überhaupt starten zu müssen:

Win81_SecondaryTiles_Privatbilanz

Klickt der Benutzer auf eine Kachel, wird die Privatbilanz direkt mit der Detailseite des zugehörigen Bilanzpostens geöffnet.

Für Entwickler…

Will eine App ein neues Secondary Tile auf dem Startbildschirm anlegen, so muss sie dem Benutzer wie bereits beschrieben ein Standard-UI für die Erstellung des Tiles anzeigen, das nicht verändert werden kann. Die Anzeige dieses UIs wird durch die Methode SecondaryTile.RequestCreateAsync() ausgelöst, die auf einer Instanz der Klasse SecondaryTile aufgerufen wird. In dieser Klasseninstanz legt ein Entwickler vorab alle für das Tile zu verwendenden Informationen ab, z.B. den Standard-Namen des Tiles, die unterstützten Tile-Größen und die Bilder pro Tile-Größe. Es ist auch möglich, ein Roaming für das Tile zu aktivieren, wodurch Secondary Tiles auf allen Geräten eines Benutzers synchronisiert werden können.

Entscheidend beim Anlegen eines Secondary Tiles ist die Angabe einer Tile-ID. Mit dieser wird das Tile app-gebunden auf dem Startbildschirm identifiziert und diese ID wird beim Klick auf das Tile der App übergeben, sodass diese die entsprechenden Daten direkt laden kann. Eine App kann den Start über ein Secondary Tile herausfinden, indem der Entwickler in der App.OnLaunched()Methode den Methodenparameter LaunchActivatedEventArgs prüft. Ist die Eigenschaft TileId gesetzt und ihr Wert ungleich "App", so wurde die App über ein Secondary Tile aktiviert. Entsprechend können Entwickler dann agieren, indem sie die zugehörigen Daten laden.

Auch das Lösen von Secondary Tiles vom Startbildschirm muss der Benutzer über eine explizite UI bestätigen. Entwickler können diese für eine bestimmte Tile-ID über die Methode SecondaryTile.RequestDeleteAsync() anzeigen lassen. Ob ein Secondary Tile auf dem Startbildschirm existiert, kann von Entwicklern zudem über die Methode SecondaryTile.Exists() abgefragt werden, der die jeweilige Tile-ID übergeben wird.

Die Aktualisierung von Live-Informationen für Secondary Tiles erfolgt nach dem gleichen Schema und mit den gleichen technischen Mitteln wie für die “normale” App-Kachel. Entsprechend gelten alle Aussagen, die hierzu im letzten Artikel getroffen wurden. Es kann aus dem gleichen Template-Bestand für Live Tiles gewählt werden, ebenso lassen sich Secondary Tiles auf verschiedene Trigger hin aktualisieren.