Bewährte Methoden für BenutzeraktivitätenUser Activities best practices

Dieser Leitfaden beschreibt die empfohlenen Vorgehensweisen zum Erstellen und Aktualisieren von Benutzeraktivitäten.This guide outlines the recommended practices for creating and updating User Activities. Eine Übersicht über das Feature "Benutzeraktivitäten" unter Windows finden Sie unter Fortsetzen der Benutzeraktivität (auch Geräte übergreifend).For an overview of the User Activities feature on Windows, see Continue user activity, even across devices. Weitere Informationen finden Sie im Abschnitt Benutzeraktivitäten von Project Rom für die Implementierungen von Aktivitäten auf anderen Entwicklungsplattformen.Or, see the User Activities section of Project Rome for the implementations of Activities on other development platforms.

Wann sollten Benutzeraktivitäten erstellt oder aktualisiert werden?When to create or update User Activities

Da jede APP anders ist, muss jeder Entwickler die beste Methode zum Zuordnen von Aktionen innerhalb der APP zu Benutzeraktivitäten ermitteln.Because every app is different, it's up to each developer to determine the best way to map actions within the app to User Activities. Ihre Benutzeraktivitäten werden in Cortana und Timeline vorgestellt, die sich auf die Produktivität und Effizienz der Benutzer konzentrieren, indem Sie Ihnen helfen, zu den in der Vergangenheit besuchten Inhalten zurückzukehren.Your User Activities will be showcased in Cortana and Timeline, which are focused on increasing users' productivity and efficiency by helping them get back to content they visited in the past.

Allgemeine RichtlinienGeneral guidelines

  • Aufzeichnen einer einzelnen Aktivität für eine Gruppe verwandter Benutzeraktionen.Record a single activity for a group of related user actions. Dies ist besonders relevant für Musikwiedergabe Listen oder Fernsehsendungen: eine einzelne Aktivität kann in regelmäßigen Abständen aktualisiert werden, um den Fortschritt des Benutzers widerzuspiegeln.This is especially relevant for music playlists or TV Shows: a single Activity can be updated at regular intervals to reflect the user's progress. In diesem Fall verfügen Sie über eine einzelne Benutzeraktivität mit mehreren Verlaufs Elementen, die Zeiträume für die Einbindung mehrerer Tage oder Wochen darstellen.In this case, you will have a single User Activity with multiple History Items representing periods of engagement across multiple days or weeks. Das gleiche gilt für Dokument basierte Aktivitäten, bei denen der Benutzer einen schrittweisen Fortschritt innerhalb Ihrer APP vornimmt.The same applies to document-based activities on which the user makes gradual progress within your app.
  • Speichern Sie Benutzerdaten in der Cloud.Store user data in the cloud. Wenn Sie Geräte übergreifende Aktivitäten unterstützen möchten, müssen Sie sicherstellen, dass die Inhalte, die zum erneuten Einbinden dieser Aktivität erforderlich sind, an einem cloudspeicherort gespeichert werden.If you want to support cross-device Activities, you'll need to make sure the content required to re-engage this Activity is stored to a cloud location. Gerätespezifische Aktivitäten werden auf dem Gerät, auf dem die Aktivität erstellt wurde, in der Zeitachse angezeigt, werden aber möglicherweise nicht auf anderen Geräten angezeigt.Device-specific Activities will appear on Timeline on the device where the activity was created but may not appear on other devices.
  • Erstellen Sie keine Aktivitäten für Aktionen, die von Benutzern nicht fortgesetzt werden müssen.Do not create Activities for actions that users will not need to resume. Wenn Ihre Anwendung verwendet wird, um einfache, einmalige Vorgänge abzuschließen, die den Status nicht beibehalten, müssen Sie wahrscheinlich keine Benutzeraktivität erstellen.If your application is used to complete simple, one-time operations that do not persist status, you probably do not need to create a User Activity.
  • Erstellen Sie keine Aktivitäten für Aktionen, die von anderen Benutzern abgeschlossen wurden.Do not create Activities for actions completed by other users. Wenn ein externes Konto dem Benutzer eine Nachricht oder @-mentions diese innerhalb Ihrer APP sendet, sollten Sie keine Aktivität für dieses erstellen.If an external account sends the user a message or @-mentions them within your app, you should not create an Activity for this. Diese Art von Aktion wird von Benachrichtigungen im Aktions Center besser bedient.This type of action is better served by Action Center Notifications.
    • Zusammenarbeits Szenarien stellen eine Ausnahme dar: Wenn mehrere Benutzer gleichzeitig an derselben Aktivität Arbeiten (z. b. in einem Word-Dokument), gibt es Fälle, in denen ein anderer Benutzer Änderungen vorgenommen hat.Collaboration scenarios are an exception: If multiple users are working on the same activity together (such as a Word document), there will be cases in which another user has made changes after your user. In diesem Fall möchten Sie möglicherweise die vorhandene Aktivität aktualisieren, um Änderungen widerzuspiegeln, die am Dokument vorgenommen wurden.In this case, you may want to update the existing Activity to reflect changes that were made to the document. Dies umfasst das Aktualisieren der vorhandenen Inhaltsdaten der Benutzeraktivität ohne das Erstellen eines neuen Verlaufs Elements.This would involve updating the existing User Activity content data without creating a new History Item.

Richtlinien für bestimmte App-TypenGuidelines for specific types of apps

Obwohl jede APP anders ist, werden die meisten apps auf eines der folgenden Interaktionsmuster aufgeteilt.While every app is different, most apps will fall into one of the following interaction patterns.

  • Dokument basierte apps – erstellen Sie eine Aktivität pro Dokument mit einem oder mehreren Verlaufs Elementen, in denen Zeiträume verwendet werden.Document-based apps — Create one Activity per document, with one or more History Items reflecting periods of use. Es ist wichtig, die Aktivität zu aktualisieren, wenn Änderungen am Dokument vorgenommen werden.It is important to update your Activity as changes are made to the document.
  • Games – erstellen Sie eine Aktivität für jede Spiele Speicherung oder Welt.Games — Create one Activity for each game save or world. Wenn Ihr Spiel nur eine einzelne Sequenz von Ebenen unterstützt, können Sie die gleiche Aktivität im Laufe der Zeit erneut veröffentlichen, obwohl Sie die Inhaltsdaten möglicherweise aktualisieren möchten, um den aktuellen Fortschritt oder die aktuellen Ergebnisse anzuzeigen.If your game supports only a single sequence of levels, you can re-publish the same Activity over time, although you may wish to update the content data to show the latest progress or achievements.
  • Hilfsprogrammanwendungen – wenn in Ihrer APP nichts vorhanden ist, das Benutzer verlassen und fortsetzen müssen, müssen Sie keine Benutzeraktivitäten verwenden.Utility apps — If there is nothing within your app that users would need to leave and resume, you do not need to use User Activities. Ein gutes Beispiel hierfür ist eine einfache APP wie Rechner.A good example is a simple app like Calculator.
  • Branchenspezifische apps – viele apps sind zum Verwalten einfacher Aufgaben oder Workflows vorhanden.Line-of-business apps — Many apps exist for managing simple tasks or workflows. Erstellen Sie eine Aktivität für jeden separaten Workflow, auf den über Ihre App zugegriffen wird (z. b. wären Ausgaben Berichte eine separate Aktivität, sodass der Benutzer dann auf eine Aktivität klicken kann, um zu überprüfen, ob ein bestimmter Bericht genehmigt wurde).Create one activity for each separate workflow accessed through your app (for example, expense reports would each be a separate Activity, so that the user could then click an Activity to see if a particular report was approved).
  • Medienwiedergabe-apps – erstellen Sie eine Aktivität pro logischer Gruppierung von Inhalt (z. b. eine Wiedergabeliste, ein Programm oder eigenständiger Inhalt).Media playback apps — Create one Activity per logical grouping of content (such as a playlist, program, or standalone content). Die zugrunde liegende Frage für App-Entwickler ist, ob jedes Inhalts Element (TV-Episode, Lied) als eigenständiger Inhalt oder Teil einer Auflistung gezählt wird.The underlying question for app developers is whether a each piece of content (TV episode, song) counts as standalone content or part of a collection. Als allgemeine Regel gilt: Wenn der Benutzer eine Auflistung oder einen sequenziellen Inhalt wieder gibt, ist die Auflistung als Ganzes die Aktivität.As a general rule, if the user opts to play a collection or sequential content, the collection as a whole is the activity. Wenn Sie sich für die Wiedergabe eines einzelnen Inhalts entscheiden, ist dies ein Teil der Inhalte.If they opt to play a single piece of content, then that one piece of content is the activity. Weitere spezifische Richtlinien finden Sie unten.See more specific guidelines below.
    • Musik: Album/Artist/Genre – wenn der Benutzer ein Album, einen Künstler oder ein Genre auswählt und auf spielentrifft, ist diese Auflistung die Aktivität. Schreiben Sie für jeden Song keine separate Aktivität.Music: Album/Artist/Genre — If the user selects an Album, Artist, or Genre and hits play, that collection is the activity; do not write a separate Activity for each song. Für kurze Auflistungen wie ein einzelnes Album oder Sammlungen, die in zufälliger Reihenfolge wiedergegeben werden, müssen Sie die Aktivität möglicherweise nicht aktualisieren, um die aktuelle Position des Benutzers widerzuspiegeln.For short collections like a single album or collections being played back in a random order, you may not need to update the Activity to reflect the user's current position. Für eine lange sequenzielle Wiedergabe wie ein Album oder eine Wiedergabeliste ist es möglicherweise sinnvoll, die Position innerhalb des Albums aufzuzeichnen.For long sequential playback such as an album or playlist, recording your position within the album might make sense.
    • Musik: intelligente Wiedergabelisten – Anwendungen, die Musik in zufälliger Reihenfolge abspielen, sollten eine einzelne Aktivität für diese Wiedergabeliste aufzeichnen.Music: smart playlists — Applications which play music in a random order should record a single Activity for that playlist. Wenn der Benutzer die Wiedergabeliste ein zweites Mal wieder gibt, würden Sie zusätzliche Verlaufs Datensätze für dieselbe Aktivität erstellen.If the user plays the playlist a second time, you would create additional history records for the same Activity. Das Aufzeichnen der aktuellen Position des Benutzers in der Wiedergabeliste ist nicht erforderlich, da die Reihenfolge zufällig ist.Recording the user's current position in the playlist is not necessary because the ordering is random.
    • TV-Serie – Wenn Ihre APP für die Wiedergabe der nächsten Folge konfiguriert ist, nachdem die aktuelle Folge fertig ist, sollten Sie eine einzelne Aktivität für die TV-Serie schreiben.TV series — If your app is configured to play the next episode after the current one is complete, you should write a single Activity for the TV series. Wenn Sie die verschiedenen Episoden über mehrere Anzeige Sitzungen hinweg wiedergeben, aktualisieren Sie Ihre Aktivität, um die aktuelle Position in der Reihe widerzuspiegeln, und es werden mehrere Verlaufs Datensätze erstellt.As you play the various episodes across multiple viewing sessions, you'll update your Activity to reflect the current position in the series, and multiple history records will be created.
    • Movie – ein Film ist ein einzelner Inhalt und sollte über einen eigenen Verlaufs Daten Satz verfügen.Movie — A movie is a single piece of content and should have its own history record. Wenn der Benutzer den Film nicht mehr überwachen kann, ist es wünschenswert, seine Position aufzuzeichnen.If the user stops watching the movie part-way through, it is desirable to record their position. Wenn Sie die Aktivität in Zukunft fortsetzen möchten, kann die Aktivität den Film fortsetzen, in dem Sie aufgehört hat, oder den Benutzer Fragen, ob er am Anfang fortgesetzt oder gestartet werden soll.When they wish to resume it in the future, the Activity could resume the movie where they left off, or even ask the user if they wish to resume or start at the beginning.

Entwurf der BenutzeraktivitätUser Activity design

Benutzeraktivitäten bestehen aus drei Komponenten: einem Aktivierungs-URI, visuellen Daten und Inhalts Metadaten.User Activities consist of three components: an activation URI, visual data, and content metadata.

  • Der Aktivierungs-URI ist ein URI, der an eine Anwendung oder eine-Funktion übermittelt werden kann, um die Anwendung mit einem bestimmten Kontext fortzusetzen.The activation URI is a URI that can be passed to an application or experience in order to resume the application with a specific context. In der Regel verwenden diese Verknüpfungen die Form des Protokoll Handlers für ein Schema (z. b. "My-App://Page2? Action = Edit").Typically, these links take the form of protocol handler for a scheme (for example, "my-app://page2?action=edit"). Der Entwickler muss feststellen, wie URI-Parameter von der APP behandelt werden.It is up to the developer to determine how URI parameters will be handled by their app. Weitere Informationen finden Sie unter handle-URI-Aktivierung .See Handle URI activation for more information.
  • Die visuellen Daten, die aus einem Satz erforderlicher und optionaler Eigenschaften (z. b. Titel, Beschreibung oder adaptiver Kartenelemente) bestehen, ermöglichen Benutzern eine visuelle Identifizierung einer Aktivität.The visual data, consisting of a set of required and optional properties (for example: title, description, or Adaptive Card elements), allow users to visually identify an Activity. Im folgenden finden Sie Richtlinien zum Erstellen von adaptiven Karten Visualisierungen für Ihre Aktivität.See below for guidelines on creating Adaptive Card visuals for your Activity.
  • Die Inhalts Metadaten sind JSON-Daten, die zum Gruppieren und Abrufen von Aktivitäten in einem bestimmten Kontext verwendet werden können.The content metadata is JSON data that can be used to group and retrieve activities under a specific context. In der Regel nimmt dies die Form von http://schema.org Daten an.Typically, this takes the form of http://schema.org data. Im folgenden finden Sie Richtlinien zum Ausfüllen dieser Daten.See below for guidelines on filling out this data.

Entwurfs Richtlinien für Adaptive KartenAdaptive Card design guidelines

Wenn Aktivitäten in der Zeitachse angezeigt werden, werden Sie mit dem adaptiven Karten Frameworkangezeigt.When Activities appear in Timeline, they are displayed using the Adaptive Card framework. 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 Titel Feld und dem optionalen Beschreibungsfeld.If the developer does not provide an Adaptive Card for each Activity, Timeline will automatically create a simple card based on the app name/icon, the required Title field, and the optional Description field.

App-Entwicklern wird empfohlen, benutzerdefinierte Karten mithilfe des JSON-Schemas für die einfache Adaptive Karte bereitzustellen.App developers are encouraged to provide custom cards using the simple Adaptive Card JSON schema. Technische Anweisungen zum Erstellen von adaptiven Karten Objekten finden Sie in der Dokumentation zu adaptiven Karten .See the Adaptive Cards documentation for technical instructions on how to construct Adaptive Card objects. Beachten Sie die nachstehenden Richtlinien zum Entwerfen von adaptiven Karten in Benutzeraktivitäten.Refer to the guidelines below for designing Adaptive Cards in User Activities.

  • Verwenden von BildernUse images
    • Verwenden Sie, sofern möglich, ein eindeutiges Image für jede Aktivität.Use a unique image for each Activity, if possible. Der Name und das Symbol der Anwendung werden automatisch neben der Karte der Aktivität angezeigt. Weitere Images helfen Benutzern, die gesuchte Aktivität zu finden.Your application name and icon will automatically be displayed next to your Activity's card; additional images will help users locate the Activity they are looking for.
    • Bilder sollten keinen Text enthalten, der vom Benutzer erwartet wird.Images should not include text that the user is expected to read. Dieser Text ist nicht für Benutzer mit Barrierefreiheits Anforderungen verfügbar und kann nicht durchsucht werden.This text won't be available to users with accessibility needs and cannot be searched.
    • Wenn das Bild keinen Text enthält und auf ungefähr ein 2:1-Verhältnis zugeschnitten werden kann, sollten Sie es als Hintergrundbild verwenden.If the image doesn't contain text and can be cropped to about a 2:1 ratio, you should use it as a background image. Dies führt zu einer fetten Aktivitäts Karte, die in der Zeitachse angezeigt wird.This results in a bold activity card which will stand out in Timeline. Das Bild wird leicht abgeblendet, um sicherzustellen, dass der Text auf der Karte sichtbar bleibt, und es wird empfohlen, in diesem Fall nur den Aktivitäts Namen zu verwenden, da kleinerer Text schwer lesbar werden kann.The image will be darkened slightly to ensure the text remains visible on the card, and you are encouraged to only use the Activity Name in this case, as smaller text can become hard to read.
    • Wenn das Bild nicht auf 2:1 zugeschnitten werden kann, sollten Sie es in der Aktivitäts Karte ablegen.If the image cannot be cropped to 2:1, you should put it within the Activity Card.
      • Wenn das Seitenverhältnis Square oder Hochformat ist, verankern Sie das Bild auf der rechten Seite der Karte ohne Ränder.If the aspect ratio is Square or Portrait, anchor the image on the right side of the card with no margins.
      • Wenn das Seitenverhältnis Querformat ist, verankern Sie das Bild in der oberen rechten Ecke der Karte.If the aspect ratio is Landscape, anchor the image to the upper-right corner of the card.
  • Jede Aktivität muss einen Aktivitäts Namen bereitstellen, der immer angezeigt werden sollte.Each activity is required to provide an Activity Name, which should always be shown.
    • Dieser Name sollte in der oberen linken Ecke der Karte mit der Option für den großen fetten Text angezeigt werden.This name should be displayed in the upper-left corner of the card using the large bold text option. Es ist wichtig, dass der Name leicht erkennbar ist, da dies der einzige Teil ist, den Benutzer sehen, wenn die Aktivität in Cortana-Szenarios angezeigt wird.It is important that the name is easily recognizable, as this is the only part users will see when the activity is shown in Cortana scenarios. Wenn Sie den gleichen Namen in der Zeitachse anzeigen, ist es für Benutzer einfacher, eine große Anzahl von Aktivitäten zu durchsuchen.Showing the same name in Timeline makes it easier for users to browse a large number of Activities.
  • Verwenden Sie für alle Aktivitäten Ihrer APP denselben visuellen Stil, damit Benutzer die Aktivitäten Ihrer APP auf der Zeitachse leicht finden können.Use the same visual style for all of the Activities from your app, so that users can easily locate your app's activities in the Timeline.
    • Beispielsweise sollten Aktivitäten alle die gleiche Hintergrundfarbe verwenden.For example, Activities should all use the same background color.
  • Verwenden Sie ergänzende Textinformationen sparsam.Use supplemental text information sparingly.
    • Vermeiden Sie es, die Karte mit Text zu füllen, und verwenden Sie nur ergänzende Informationen, die Benutzern bei der Suche nach der richtigen Aktivität oder der Wiederverwendung von Zustandsinformationen (z. b. dem aktuellen Status einer bestimmten Aufgabe) unterstützt.Avoid filling the card with text, and only use supplemental information that aids users in finding the right activity or reflects state information (such as the current progress in a particular task).

Richtlinien für Inhalts MetadatenContent metadata guidelines

Benutzeraktivitäten können auch Inhalts Metadaten enthalten, die von Windows und Cortana zum Kategorisieren von Aktivitäten und zum Generieren von Rückschlüsse verwendet werden.User Activities can also contain content metadata, which Windows and Cortana use to categorize Activities and generate inferences. Aktivitäten können dann nach einem bestimmten Thema gruppiert werden, z. b. nach einem Speicherort (wenn der Benutzer einen Urlaub untersucht), nach dem Objekt (wenn der Benutzer etwas untersucht) oder nach der Aktion (wenn der Benutzer ein bestimmtes Produkt über verschiedene apps und Websites hinweg kauft).Activities can then be grouped around a particular topic, such as a location (if the user is researching vacations), object (if the user is researching something) or action (if the user is shopping for a particular product across different apps and websites). Es empfiehlt sich, sowohl die Nomen als auch die Verben zu repräsentieren, die an einer Aktivität beteiligt sind.It's a good idea to represent both the nouns and the verbs involved in an activity.

Im folgenden Beispiel stellt der Content Metadata JSON (Content Metadata JSON) gemäß den Standards von Schema.orgdas Szenario dar: "John hat wütende Vögel mit Steve gespielt".In the following example, the content metadata JSON, following the standards of Schema.org, represents the scenario: "John played 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"
  }
}

Wichtige APIsKey APIs