Schnellstart: Teilen von Inhalt (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]

Erfolgreiche Apps machen es den Benutzern leicht, Erlebnisse mit Freunden und der Familie zu teilen. Apps, die Benutzern das Teilen von Inhalten erleichtern, erhalten mehr Aufmerksamkeit und werden von Benutzern häufiger verwendet.

Lesen Sie weiter, um weitere Informationen zur Verwendung dieser APIs zu erhalten. Wenn Sie lieber erfahren möchten, wie Ihre App geteilte Inhalte empfangen kann, lesen Sie Schnellstart: Empfangen von geteilten Inhalten.

Ziel: Nach dem Lesen dieser Schnellstartanleitung sollten Sie mit dem Teilen von Inhalten vertraut sein.

Voraussetzungen

  • Sie sollten mit Visual Studio und den darin enthaltenen Vorlagen vertraut sein.
  • Sie sollten mit der Entwicklung mit HTML und JavaScript vertraut sein.

Anweisungen

Auswählen von Datenformaten

Das DataPackage-Objekt ist das wichtigste Objekt beim Teilen. Dieses Objekt enthält die Daten, die der Benutzer teilen möchte. Ein DataPackage kann folgende Inhaltstypen beinhalten:

  • Nur-Text
  • URIs (Uniform Resource Identifiers)
  • HTML
  • Formatierter Text
  • Bitmaps
  • Dateien
  • Vom Entwickler definierte Daten

Ein DataPackage-Objekt kann mehrere dieser Formate in beliebiger Kombination enthalten. Darüber hinaus kann ein DataPackage einen Delegaten enthalten. Dabei handelt sich um eine Funktion, die aufgerufen wird, wenn die empfangende App Daten anfordert. Es wird empfohlen, einen Delegaten immer dann zu verwenden, wenn die von einem Benutzer geteilten Daten ressourcenintensiv sind. Ein Delegat kann zum effizienteren Teilen von Daten beitragen.

Auswählen von Eigenschaften

Beim Verpacken von Daten für das Teilen können Sie eine Vielzahl von Eigenschaften angeben, die weitere Informationen zum geteilten Inhalt enthalten. Durch die Nutzung dieser Eigenschaften kann die Benutzererfahrung für Ziel-Apps verbessert werden. Die Angabe eines Titels und einer Beschreibung mit einem Hinweis darauf, was der Benutzer teilt, kann nützlich sein, wenn der Benutzer Inhalte mit mehreren Apps teilt. Eine Miniaturansicht beim Teilen eines Bilds oder eines Links zu einer Webseite stellt eine visuelle Referenz für den Benutzer dar. Weitere Informationen zu den verfügbaren Eigenschaften finden Sie in der Dokumentation zu DataPackage.DataPackagePropertySet.

Einrichten Ihrer Freigabequelle

Damit Sie Ihre Anwendung als Freigabequelle einrichten können, müssen Sie zunächst die Instanz der DataTransferManager-Klasse abrufen, die dem aktuellen Fenster zugewiesen wurde.

var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();

Diese Klasse unterstützt ein DataRequested-Ereignis, das ausgelöst wird, wenn der Benutzer „Teilen“ aufrufen möchte. In Windows Store-Apps erfolgt dies automatisch, wenn der Benutzer den Charm „Teilen“ aufruft. Wenn Sie für Windows Phone entwickeln, ist der Charm „Teilen“ nicht integriert, d. h., Sie müssen ein Steuerelement hinzufügen, auf das der Benutzer tippen und den Handler auslösen kann.

dataTransferManager.addEventListener("datarequested", function (e) {
    // Code to handle event goes here.
});

Im obigen Beispiel wird ein Ereignishandler registriert, der beim Auslösen eines datarequested-Ereignisses aufgerufen wird. Der Handler empfängt ein DataRequest-Objekt, mit dem Ihre App die Daten festlegt, die der Benutzer in Ihrer Quellenfreigabe-App teilen möchte.

Alle geteilten Inhalte müssen zwei Eigenschaften enthalten: eine Kachel und den Inhalt selbst. Zusätzlich empfehlen wir, eine Beschreibungseigenschaft für eine bessere Verständlichkeit hinzuzufügen.

Der folgende Code basiert auf den vorherigen Beispielen und zeigt, wie Nur-Text mit einer Ziel-App geteilt werden kann.

function registerForShare() {
    var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareTextHandler);
}

function shareTextHandler(e) {
    var request = e.request;
    request.data.properties.title = "Share Text Example";
    request.data.properties.description = "Demonstrates how to share text.";
    request.data.setText("Hello World!");
}

Teilen und Delegate

Manchmal ist es nicht zweckmäßig, die Daten direkt vorzubereiten, wenn der Benutzer die Teilungsfunktion aktiviert. Wenn Ihre App beispielsweise verschiedene Datenformate unterstützt, ist die umgehende Erstellung aller Formate nicht effizient. Es ist besser zu warten, bis die Ziel-App das gewünschte Format angibt und anschließend nur die angeforderten Daten generiert. Zu diesem Zweck kann das DataPackage-Objekt so konfiguriert werden, dass nur die gewünschten Daten per Delegataufrufanforderung eingefügt werden.

request.data.setDataProvider(Windows.ApplicationModel.DataTransfer.StandardDataFormats.bitmap, onDeferredImageRequested);

Weitere Informationen zu dieser Art Freigabe erhalten Sie in So wird's gemacht: Freigeben von Dateien.

Programmgesteuertes Aufrufen des Freigabebereichs

Nach dem Festlegen des zu teilenden Inhalts kann es losgehen. Der Benutzer muss nur die App auswählen, um den Inhalt zu empfangen. Wenn die Verwendung des Knopfs nicht ideal ist, z. B. beim Teilen des Punktestands in einem Spiel, können Sie den Knopf "Teilen" auch programmgesteuert starten.

Hinweis  

Da es die Charms bar unter Windows Phone 8.1 nicht gibt, müssen Sie die Option zum Teilen programmgesteuert bereitstellen. Sie kann entweder Teil einer App-Leiste und damit immer zugänglich sein oder einem spezifischen Steuerelement auf einer bestimmten Seite zugeordnet werden.

function showShareUI() {
    Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}

Behandeln von Fehlern und anderen Problemen

In den meisten Fällen ist das Bereitstellen von Inhalten ein einfacher Prozess. In manchen Situationen kann es jedoch passieren, dass Ihre App Inhalte nicht teilen kann. Für solche Fälle unterstützt das DataRequest-Objekt unter Windows 8.1 eine FailWithDisplayText-Methode. Greifen Sie auf diese Methode zurück, um dem Benutzer eine Textmeldung anzuzeigen, falls dieser in einer bestimmten Ansicht Inhalte nicht teilen kann oder einen zusätzlichen Schritt durchführen muss, bevor die Freigabe stattfinden kann. Es kann z. B. sein, dass die App voraussetzt, dass Inhalt ausgewählt wird, der Benutzer aber nichts ausgewählt hat.

Zusammenfassung und nächste Schritte

Sie sollten nun über ausreichende Kenntnisse bei der Freigabe verfügen.

Weitere Informationen oder spezifische Beispiele dazu, wie Sie Ihrer App eine Freigabefunktion hinzufügen, finden Sie in folgenden Artikeln:

Verwandte Themen

Auswählen von Datenformaten für die Freigabe

Richtlinien und Prüfliste zum Teilen von Inhalten

Schnellstart: Empfangen von geteilten Inhalten