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:
- Beispiel zur Quell-App für die Inhaltsfreigabe
- Beispiel zur Ziel-App für die Inhaltsfreigabe
- Schnellstart: Empfangen von geteilten Inhalten
- Teilen von Text
- Teilen von Links
- Teilen von HTML
- Teilen von Dateien
Verwandte Themen
Auswählen von Datenformaten für die Freigabe