Bewährte Methoden für Benutzeraktivitäten
In diesem Leitfaden werden die empfohlenen Methoden zum Erstellen und Aktualisieren von Benutzeraktivitäten beschrieben. Eine Übersicht über das Feature "Benutzeraktivitäten" unter Windows finden Sie unter "Benutzeraktivitäten fortsetzen" auch auf allen Geräten. Oder die Implementierungen von Aktivitäten auf anderen Entwicklungsplattformen finden Sie im Abschnitt "Benutzeraktivitäten" von Project Rome.
Hinweis
Ab Juli 2021 haben Benutzer, deren Aktivitätsverlauf auf ihren Windows-Geräten über ihr Microsoft-Konto (MSA) synchronisiert wird, nicht mehr die Möglichkeit, neue Aktivitäten auf die Zeitachse hochzuladen. Sie können die Zeitachse weiterhin verwenden und ihren Aktivitätsverlauf (Informationen zu aktuellen Apps, Websites und Dateien) auf ihrem lokalen PC anzeigen. Mit AAD verbundene Konten sind nicht betroffen.
Wann Benutzeraktivitäten erstellt oder aktualisiert werden sollen
Da jede App anders ist, liegt es an jedem Entwickler, die beste Methode zu ermitteln, um Aktionen innerhalb der App benutzeraktivitäten zuzuordnen. Ihre Benutzeraktivitäten werden in Cortana und der Zeitachse vorgestellt, die sich auf die Steigerung der Produktivität und Effizienz der Benutzer konzentrieren, indem sie ihnen helfen, zu Inhalten zurückzukehren, die sie in der Vergangenheit besucht haben.
Allgemeine Richtlinien
- Zeichnen Sie eine einzelne Aktivität für eine Gruppe verwandter Benutzeraktionen auf. Dies ist besonders für Musikwiedergabelisten oder TV-Sendungen relevant: Eine einzelne Aktivität kann in regelmäßigen Abständen aktualisiert werden, um den Fortschritt des Benutzers widerzuspiegeln. In diesem Fall haben Sie eine einzelne Benutzeraktivität mit mehreren Verlaufselementen, die Zeiträume des Engagements über mehrere Tage oder Wochen hinweg darstellen. Das gleiche gilt für dokumentbasierte Aktivitäten, auf denen der Benutzer in Ihrer App schrittweise Fortschritte macht.
- Speichern Sie Benutzerdaten in der Cloud. Wenn Sie geräteübergreifende Aktivitäten unterstützen möchten, müssen Sie sicherstellen, dass die für die erneute Einbindung dieser Aktivität erforderlichen Inhalte an einem Cloudspeicherort gespeichert sind. Gerätespezifische Aktivitäten werden auf der Zeitachse auf dem Gerät angezeigt, auf dem die Aktivität erstellt wurde, aber möglicherweise nicht auf anderen Geräten angezeigt.
- Erstellen Sie keine Aktivitäten für Aktionen, die Benutzer nicht fortsetzen müssen. Wenn Ihre Anwendung verwendet wird, um einfache einmalige Vorgänge auszuführen, die den Status nicht beibehalten, müssen Sie wahrscheinlich keine Benutzeraktivität erstellen.
- Erstellen Sie keine Aktivitäten für Aktionen, die von anderen Benutzern ausgeführt werden. Wenn ein externes Konto dem Benutzer eine Nachricht sendet oder ihn innerhalb Ihrer Anwendung mit einem @ erwähnt, sollten Sie dafür keine Aktivität erstellen. Diese Art von Aktion wird besser von Info-Center-Benachrichtigungen bedient.
- Szenarien für die Zusammenarbeit sind eine Ausnahme: Wenn mehrere Benutzer gemeinsam an derselben Aktivität arbeiten (z. B. ein Word-Dokument), gibt es Fälle, in denen ein anderer Benutzer nach Ihrem Benutzer Änderungen vorgenommen hat. In diesem Fall möchten Sie möglicherweise die vorhandene Aktivität aktualisieren, um Änderungen widerzuspiegeln, die am Dokument vorgenommen wurden. Dies würde das Aktualisieren der vorhandenen Benutzeraktivitätsinhaltsdaten umfassen, ohne ein neues Verlaufselement zu erstellen.
Richtlinien für bestimmte Arten von Apps
Obwohl jede App anders ist, fallen die meisten Apps in eines der folgenden Interaktionsmuster ein.
- Dokumentbasierte Apps – Erstellen Sie eine Aktivität pro Dokument mit einem oder mehreren Verlaufselementen, die den Zeitraum der Nutzung widerspiegeln. Es ist wichtig, Ihre Aktivität zu aktualisieren, wenn Änderungen am Dokument vorgenommen werden.
- Spiele – Erstellen Sie eine Aktivität für jeden Spielstand oder jede Welt. Wenn Ihr Spiel nur eine einzelne Abfolge von Levels unterstützt, können Sie dieselbe Aktivität im Laufe der Zeit erneut veröffentlichen, auch wenn Sie die Inhaltsdaten aktualisieren möchten, um den neuesten Fortschritt oder die neuesten Erfolge anzuzeigen.
- Hilfs-Apps – Wenn in Ihrer App nichts vorhanden ist, das Benutzer verlassen und fortsetzen müssen, müssen Sie keine Benutzeraktivitäten verwenden. Ein gutes Beispiel ist eine einfache App wie Rechner.
- Branchenspezifische Apps – Viele Apps sind zum Verwalten einfacher Aufgaben oder Workflows vorhanden. Erstellen Sie eine Aktivität für jeden separaten Workflow, auf den über Ihre App zugegriffen wird (z. B. wäre Spesenabrechnungen jeweils eine separate Aktivität, sodass der Benutzer dann auf eine Aktivität klicken kann, um festzustellen, ob ein bestimmter Bericht genehmigt wurde).
- Medienwiedergabe-Apps – Erstellen Sie eine Aktivität pro logischer Gruppierung von Inhalten (z. B. Wiedergabeliste, Programm oder eigenständiger Inhalt). Die zugrunde liegende Frage für App-Entwickler ist, ob ein Einzelner Inhalt (TV-Episode, Song) als eigenständiger Inhalt oder Teil einer Sammlung zählt. Wenn sich der Benutzer für die Wiedergabe einer Sammlung oder sequenzieller Inhalte entscheidet, ist die Sammlung als Ganzes die Aktivität. Wenn sie sich für die Wiedergabe eines einzelnen Inhalts entscheiden, ist dieser Inhalt die Aktivität. Spezifischere Richtlinien siehe unten.
- Musik: Album/Künstler/Genre – Wenn der Benutzer ein Album, einen Künstler oder ein Genre auswählt und auf Wiedergabe drückt, ist diese Sammlung die Aktivität; schreiben Sie keine separate Aktivität für jeden Song. Für kurze Sammlungen wie ein einzelnes Album oder Sammlungen, die in einer zufälligen Reihenfolge wiedergegeben werden, müssen Sie die Aktivität möglicherweise nicht aktualisieren, um die aktuelle Position des Benutzers widerzuspiegeln. Für eine lange sequenzielle Wiedergabe wie ein Album oder eine Wiedergabeliste kann es sinnvoll sein, Ihre Position innerhalb des Albums aufzuzeichnen.
- Musik: intelligente Wiedergabelisten – Anwendungen, die Musik in einer zufälligen Reihenfolge wiedergeben, sollten eine einzelne Aktivität für diese Wiedergabeliste aufzeichnen. Wenn der Benutzer die Wiedergabeliste ein zweites Mal abspielt, würden Sie zusätzliche Verlaufsdatensätze für dieselbe Aktivität erstellen. Das Aufzeichnen der aktuellen Position des Benutzers in der Wiedergabeliste ist nicht erforderlich, da die Sortierung zufällig ist.
- TV-Serie – Wenn Ihre App so konfiguriert ist, dass die nächste Episode nach Abschluss der aktuellen Episode wiedergegeben wird, sollten Sie eine einzelne Aktivität für die TV-Serie schreiben. Während Sie die verschiedenen Episoden über mehrere Anzeigesitzungen wiedergeben, aktualisieren Sie Ihre Aktivität so, dass sie die aktuelle Position in der Serie widerspiegelt, und mehrere Verlaufsdatensätze werden erstellt.
- Film – Ein Film ist ein einzelner Inhalt und sollte über einen eigenen Verlaufsdatensatz verfügen. Wenn der Benutzer das Anschauen des Films beendet, ist es wünschenswert, seine Position aufzuzeichnen. Wenn der Benutzer den Film später fortsetzen möchte, kann die Aktivität den Film an der Stelle fortsetzen, an der er aufgehört hat, oder den Benutzer sogar fragen, ob er den Film fortsetzen oder am Anfang beginnen möchte.
Design der Benutzeraktivitäten
Benutzeraktivitäten bestehen aus drei Komponenten: einem Aktivierungs-URI, visuellen Daten und Inhaltsmetadaten.
- Der Aktivierungs-URI ist ein URI, der an eine Anwendung oder Oberfläche übergeben werden kann, um die Anwendung mit einem bestimmten Kontext fortzusetzen. In der Regel verwenden diese Links die Form des Protokollhandlers für ein Schema (z. B. „my-app://page2?action=edit“). Es liegt am Entwickler, zu bestimmen, wie URI-Parameter von ihrer App behandelt werden. Weitere Einzelheiten finden Sie unter Handle-URI-Aktivierung.
- Die visuellen Daten, die aus einer Reihe erforderlicher und optionaler Eigenschaften bestehen (z. B. Titel, Beschreibung oder Adaptive Kartenelemente), ermöglichen Benutzern die visuelle Identifizierung einer Aktivität. Im Folgenden finden Sie Richtlinien zum Erstellen von visuellen Adaptiven Karten für Ihre Aktivität.
- Die Inhaltsmetadaten sind JSON-Daten, die zum Gruppieren und Abrufen von Aktivitäten in einem bestimmten Kontext verwendet werden können. Dies geschieht in der Regel in Form von http://schema.org Daten. Im Folgenden finden Sie Richtlinien zum Ausfüllen dieser Daten.
Entwurfsrichtlinien für adaptive Karten
Wenn Aktivitäten auf der Zeitachse angezeigt werden, werden sie mit dem Framework für adaptive Karten angezeigt. Wenn der Entwickler keine adaptive Karte für jede Aktivität bereitstellt, erstellt die Zeitachse automatisch eine einfache Karte basierend auf dem App-Namen/Symbol, dem erforderlichen Titelfeld und dem optionalen Feld "Beschreibung".
App-Entwickler werden ermutigt, benutzerdefinierte Karten mithilfe des einfachen JSON-Schemas für adaptive Karten bereitzustellen. In der Dokumentation zu adaptiven Karten finden Sie technische Anweisungen zum Erstellen adaptiver Kartenobjekte. Weitere Informationen zum Entwerfen adaptiver Karten in Benutzeraktivitäten finden Sie in den folgenden Richtlinien.
- Verwenden von Bildern
- Verwenden Sie nach Möglichkeit ein eindeutiges Bild für jede Aktivität. Ihr Anwendungsname und Ihr Symbol werden automatisch neben der Karte Ihrer Aktivität angezeigt. Zusätzliche Bilder helfen Benutzern, die gesuchte Aktivität zu finden.
- Bilder sollten keinen Text enthalten, den der Benutzer lesen soll. Dieser Text steht Benutzern mit Barrierefreiheitsanforderungen nicht zur Verfügung und kann nicht durchsucht werden.
- Wenn das Bild keinen Text enthält und auf ein Verhältnis von 2:1 zugeschnitten werden kann, sollten Sie es als Hintergrundbild verwenden. Dies führt zu einer fett formatierten Aktivitätskarte, die in der Zeitachse hervorstechen wird. Das Bild wird leicht abgedunkelt, um sicherzustellen, dass der Text auf der Karte sichtbar bleibt, und Sie werden ermutigt, in diesem Fall nur den Aktivitätsnamen zu verwenden, da kleinerer Text schwer zu lesen sein kann.
- Wenn das Bild nicht auf 2:1 zugeschnitten werden kann, sollten Sie es auf der Aktivitätskarte platzieren.
- Wenn das Seitenverhältnis quadratisch oder hochformatiert ist, verankern Sie das Bild auf der rechten Seite der Karte ohne Seitenränder.
- Wenn das Seitenverhältnis "Querformat" lautet, verankern Sie das Bild an der oberen rechten Ecke der Karte.
- Jede Aktivität ist erforderlich, um einen Aktivitätsnamen anzugeben, der immer angezeigt werden sollte.
- Dieser Name sollte in der oberen linken Ecke der Karte mit der Option für großen fett formatierten Text angezeigt werden. Es ist wichtig, dass der Name leicht erkennbar ist, da dies der einzige Teil ist, den Benutzer sehen, wenn die Aktivität in Cortana-Szenarien angezeigt wird. Das Anzeigen desselben Namens in der Zeitachse erleichtert Benutzern das Durchsuchen einer großen Anzahl von Aktivitäten.
- Verwenden Sie den gleichen visuellen Stil für alle Aktivitäten aus Ihrer App, damit Benutzer die Aktivitäten Ihrer App auf einfache Weise in der Zeitachse finden können.
- "Aktivitäten" sollten z. B. die gleiche Hintergrundfarbe verwenden.
- Verwenden Sie ergänzende Textinformationen sparsam.
- Vermeiden Sie das Ausfüllen der Karte mit Text, und verwenden Sie nur ergänzende Informationen, die Benutzern bei der Suche nach der richtigen Aktivität helfen oder Statusinformationen widerspiegeln (z. B. den aktuellen Fortschritt in einer bestimmten Aufgabe).
Richtlinien für Inhaltsmetadaten
Benutzeraktivitäten können auch Inhaltsmetadaten enthalten, die Windows und Cortana verwenden, um Aktivitäten zu kategorisieren und Rückschlüsse zu generieren. Aktivitäten können dann um ein bestimmtes Thema gruppiert werden, z. B. um einen Ort (wenn der Benutzer Urlaub recherchiert), Objekt (wenn der Benutzer etwas recherchiert) oder Aktion (wenn der Benutzer für ein bestimmtes Produkt in verschiedenen Apps und Websites einkaufen). Es ist ratsam, sowohl die Substantive als auch die Verben darzustellen, die an einer Aktivität beteiligt sind.
Im folgenden Beispiel stellt der JSON-Code der Inhaltsmetadaten nach den Standards von Schema.org das Szenario dar: "John spielte Angry Birds with Steve."
// John played angry birds with Steve.
{
"@context": "http://schema.org",
"@type": "PlayAction",
"agent": {
"@type": "Person",
"name": "John"
},
"object": {
"@type": "MobileApplication",
"name": "Angry Birds."
},
"participant": {
"@type": "Person",
"name": "Steve"
}
}