So wird’s gemacht: Erstellen von Direktlinks (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]

Benutzer möchten, dass die Fähigkeit zum Teilen von Inhalt für Freunde und Familienmitglieder eine Erweiterung ihrer Computererfahrung darstellt. Apps, die dieses Konzept berücksichtigen, schaffen eine Umgebung, in der Benutzer Inhalt schnell und mühelos teilen können. Durch die Unterstützung des Zielfreigabe-Vertrags können Sie das Teilen noch einfacher machen. Verwenden Sie dazu eine benutzerdefinierte Verknüpfung namens QuickLink. Ein QuickLink fungiert als Link zu Ihrer App, der für eine bestimmte Reihe von Benutzeraktionen definiert wird.

Beim Teilen von Inhalten möchten Benutzer i. d. R. auswählen, wie und mit wem die Inhalte geteilt werden sollen. Ein gängiges Beispiel hierfür ist das Teilen per E-Mail. Wenn ein Benutzer etwas per E-Mail teilen möchten, muss er die E-Mail-Adressen der Personen angeben, für die das Teilen erfolgen soll. Auch wenn es dem Benutzer beim ersten Mal möglicherweise nichts ausmacht, die E-Mail-Adressen manuell einzugeben, kann sich diese Prozedur nach einigen Malen doch als eher mühsam erweisen. Eine bessere Erfahrung bei der E-Mail-App besteht darin, einen QuickLink zu erstellen, um beim nächsten Mal die Auswahlmöglichkeiten anzuwenden, die der Benutzer beim letzten Mal verwendet hat.

Von einem QuickLink werden eigentlich keine Daten gespeichert. Stattdessen enthält er eine ID, die beim Auswählen an die App gesendet wird. Damit Direktlinks verwendet werden können, müssen die Daten irgendwo – z. B. in der Cloud oder auf dem Computer eines Benutzers – zusammen mit der zugehörigen ID gespeichert werden. Dazu gibt es viele Möglichkeiten. Eine Möglichkeit zum Speichern von Daten finden Sie unter Verwalten von App-Daten.

Weitere Informationen zur Unterstützung des Zielfreigabe-Vertrags finden Sie unter Schnellstart: Empfangen von geteilten Inhalten. In diesem Thema werden die grundlegenden Schritte beschrieben, die von Ihrer App befolgt werden müssen, wenn Benutzer damit Inhalt teilen möchten.

Wissenswertes

Technologien

Voraussetzungen

  • Sie sollten mit Microsoft Visual Studio und den zugehörigen Vorlagen vertraut sein.
  • Sie sollten mit JavaScript vertraut sein.
  • Sie sollten wissen, wie Sie geteilten Inhalt empfangen. Dies ist unter Schnellstart: Empfangen von geteilten Inhalten beschrieben.

Anweisungen

Schritt 1: Erstellen Sie ein Direktlinkobjekt.

Das QuickLink-Objekt ist Teil der ShareOperation-Klasse.

var quickLink = new Windows.ApplicationModel.DataTransfer.ShareTarget.QuickLink();

Nachdem Sie über eine Instanz des QuickLink-Objekts verfügen, müssen Sie es zunächst mit einer Ziel-ID-Zeichenfolge konfigurieren, die vom System zurückgegeben werden kann, wenn der QuickLink vom Benutzer ausgewählt wird. Im folgenden Beispiel wird gezeigt, wie Sie eine Ziel-ID einrichten.

quickLink.id = "123456789";

Anschließend geben Sie einen Titel für den QuickLink an. Der Titel hilft dem Benutzer dabei, den QuickLink und seinen Zweck zu identifizieren.

quickLink.title = document.getElementById("quickLinkTitle").value;

// For quicklinks, the supported FileTypes and DataFormats are set 
// independently from the manifest.
var dataFormats = Windows.ApplicationModel.DataTransfer.StandardDataFormats;
quickLink.supportedFileTypes.replaceAll(["*"]);
quickLink.supportedDataFormats.replaceAll([dataFormats.text, dataFormats.uri, 
    dataFormats.bitmap, dataFormats.storageItems, dataFormats.html, customFormatName]);

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("images\\user.png").then(function (iconFile) {
    quickLink.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(iconFile);
});

Schritt 4: Angeben der unterstützten Dateitypen

Als Nächstes müssen Sie angeben, welche Dateitypen und Datenformate der QuickLink unterstützt. Der QuickLink wird vom System nur angezeigt, wenn das von der Anwendung, die als Freigabequelle fungiert, geteilte DataPackage einen dieser Dateitypen oder eines dieser Datenformate enthält.

var dataFormats = Windows.ApplicationModel.DataTransfer.StandardDataFormats;
quickLink.supportedFileTypes.replaceAll(["*"]);
quickLink.supportedDataFormats.replaceAll([dataFormats.text, dataFormats.uri, 
    dataFormats.bitmap, dataFormats.storageItems, dataFormats.html, customFormatName]);

Es wird empfohlen, dasselbe Symbol zu verwenden, das Benutzer sehen würden, wenn sie Ihre App ohne einen QuickLink auswählen würden. Auf diese Weise weiß der Benutzer, dass der Link zu Ihrer App gehört.

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("images\\user.png").then(function (iconFile) {
    quickLink.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(iconFile);
});

Wenn Sie den QuickLink erstellt haben, können Sie ihn an das System senden, indem Sie die ShareOperation.reportCompleted-Methode aufrufen.

shareOperation.reportCompleted(quickLink);

Vollständiges Beispiel

Von der folgenden Funktion wird ein QuickLink erstellt und zurückgegeben. Rufen Sie diese Funktion auf, nachdem Ihre App einen Teilvorgang fertig gestellt hat, anstatt ShareOperation.reportCompleted direkt aufzurufen.

function reportCompleted() {
    var quickLink = new Windows.ApplicationModel.DataTransfer.ShareTarget.QuickLink();
    quickLink.id = "123456789";
    quickLink.title = document.getElementById("quickLinkTitle").value;
    
    // For quicklinks, the supported FileTypes and DataFormats are set 
    // independently from the manifest.
    var dataFormats = Windows.ApplicationModel.DataTransfer.StandardDataFormats;
    quickLink.supportedFileTypes.replaceAll(["*"]);
    quickLink.supportedDataFormats.replaceAll([dataFormats.text, dataFormats.uri, 
        dataFormats.bitmap, dataFormats.storageItems, dataFormats.html, customFormatName]);

    Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("images\\user.png").then(function (iconFile) {
        quickLink.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(iconFile);
        shareOperation.reportCompleted(quickLink);
    });
}

Verwandte Themen

Beispiel zur Inhaltsfreigabe Ziel-App

Freigeben und Austauschen von Daten

Schnellstart: Empfangen von geteilten Inhalten

QuickLink

ShareOperation

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share

Richtlinien für das Debuggen von Ziel-Apps