Freigeben von „Meine Kontakte”My People sharing

Mit der Funktion "meine Personen" können Benutzer Kontakte an Ihre Taskleiste anheften, sodass Sie von überall in Windows problemlos kontaktiert werden können, unabhängig von der Anwendung, mit der Sie verbunden sind.The My People feature allows users to pin contacts to their taskbar, enabling them to stay in touch easily from anywhere in Windows, no matter what application they are connected by. Nun können Benutzerinhalte mit ihren angehefteten Kontakten freigeben, indem Sie Dateien aus dem Datei-Explorer auf die PIN "meine Personen" ziehen.Now users can share content with their pinned contacts by dragging files from the File Explorer to their My People pin. Sie können auch über den Charm "Standardteilen" für alle Kontakte im Windows-Kontakt Speicher freigeben.They can also share to any contacts in the Windows contact store via the standard share charm. Lesen Sie weiter, um zu erfahren, wie Sie Ihre Anwendung als Freigabe Ziel für meine Personen aktivieren.Keep reading to learn how to enable your application as a My People sharing target.

Freigabe Bereich "meine Personen"

AnforderungenRequirements

ÜbersichtOverview

Es gibt drei Schritte, die Sie durchführen müssen, um Ihre Anwendung als Freigabe Ziel für meine Personen zu aktivieren:There are three steps you must take to enable your application as a My People sharing target:

  1. Deklarieren Sie die Unterstützung für den sharetarget-Aktivierungs Vertrag in Ihrem Anwendungs Manifest.Declare support for the shareTarget activation contract in your application manifest.
  2. Kommentieren Sie die Kontakte, die die Benutzer für die Verwendung Ihrer APP freigeben können.Annotate the contacts that the users can share to using your app.
  3. Unterstützung mehrerer Instanzen der Anwendung, die gleichzeitig ausgeführt werden.Support multiple instances of the application running at the same time. Benutzer müssen in der Lage sein, mit einer vollständigen Version Ihrer Anwendung zu interagieren, während Sie Sie auch für andere Benutzer freigeben können.Users must be able to interact with a full version of your application while also using it to share with others. Sie können Sie in mehreren Freigabe Fenstern gleichzeitig verwenden.They may use it in multiple share windows at once. Um dies zu unterstützen, muss Ihre Anwendung in der Lage sein, mehrere Sichten gleichzeitig auszuführen.To support this, your application needs to be able to run multiple views simultaneously. Weitere Informationen hierzu finden Sie im Artikel "Anzeigen mehrerer Ansichten für eine App".To learn how to do this, see the article "show multiple views for an app".

Wenn Sie dies abgeschlossen haben, wird die Anwendung als Freigabe Ziel im Freigabe Fenster "meine Personen" angezeigt, das auf zwei Arten gestartet werden kann:When you’ve done this, your application will appear as a share target in the My People share window, which can be launched in two ways:

  1. Ein Kontakt wird über den Charm "teilen" ausgewählt.A contact is chosen via the share charm.
  2. Dateien werden per Drag und Drop an einem Kontakt abgelegt, der an die Taskleiste angeheftet wurde.File(s) are dragged and dropped on a contact pinned to the taskbar.

Deklarieren der Unterstützung für den Freigabe VertragDeclaring support for the share contract

Um die Unterstützung für Ihre Anwendung als Freigabe Ziel zu deklarieren, öffnen Sie zuerst die Anwendung in Visual Studio.To declare support for your application as a share target, first open your application in Visual Studio. Klicken Sie im Projektmappen-Explorermit der rechten Maustaste auf Package. appxmanifest , und wählen Sie Öffnen mitaus.From the Solution Explorer, right click Package.appxmanifest and select Open With. Wählen Sie im Menü XML (Text)-Editor aus, und klicken Sie auf OK.From the menu, select XML (Text) Editor and click OK. Nehmen Sie dann die folgenden Änderungen am Manifest vor:Then, make the following changes to the manifest:

VorherBefore

<Applications>
    <Application Id="MyApp"
      Executable="$targetnametoken$.exe"
      EntryPoint="My.App">
    </Application>
</Applications>

NachherAfter

<Applications>
    <Application Id="MyApp"
      Executable="$targetnametoken$.exe"
      EntryPoint="My.App">
        <Extensions>
            <uap:Extension Category="windows.shareTarget">
                <uap:ShareTarget Description="Share with MyApp">
                    <uap:SupportedFileTypes>
                        <uap:SupportsAnyFileType/>
                    </uap:SupportedFileTypes>
                    <uap:DataFormat>Text</uap:DataFormat>
                    <uap:DataFormat>Bitmap</uap:DataFormat>
                    <uap:DataFormat>Html</uap:DataFormat>
                    <uap:DataFormat>StorageItems</uap:DataFormat>
                    <uap:DataFormat>URI</uap:DataFormat>
                </uap:ShareTarget>
            </uap:Extension>
         </Extensions>
    </Application>
</Applications>

Dieser Code bietet Unterstützung für alle Dateien und Datenformate, Sie können jedoch angeben, welche Dateitypen und Datenformate unterstützt werden (Weitere Informationen finden Sie in der Dokumentation zur sharetarget-Klasse ).This code adds support for all files and data formats, but you can choose to specify what files types and data formats are supported (see ShareTarget class documentation for more details).

Kommentieren von KontaktenAnnotating contacts

Damit das Fenster "meine Personen freigeben" Ihre Anwendung als Freigabe Ziel für Ihre Kontakte anzeigen kann, müssen Sie Sie in den Windows-Kontakt Speicher schreiben.To allow the My People share window to show your application as a share target for your contacts, you need to write them to the Windows contact store. Informationen zum Schreiben von Kontakten finden Sie unter Beispiel für die Integration der Kontaktkarte.To learn how to write contacts, see the Contact Card Integration sample.

Damit Ihre Anwendung bei der Freigabe an einen Kontakt als "meine Personen"-Freigabe Ziel angezeigt wird, muss Sie eine Anmerkung in diesen Kontakt schreiben.For your application to appear as a My People share target when sharing to a contact, it must write an annotation to that contact. Anmerkungen sind Daten aus Ihrer Anwendung, die mit einem Kontakt verknüpft sind.Annotations are pieces of data from your application that are associated with a contact. Die-Anmerkung muss die aktivierbare Klasse enthalten, die der gewünschten Ansicht in Ihrem providerproperties -Member entspricht, und die Unterstützung für den Freigabe Vorgang deklarieren.The annotation must contain the activatable class corresponding to your desired view in its ProviderProperties member, and declare support for the Share operation.

Sie können Kontakte jederzeit mit Anmerkungen versehen, während Ihre APP ausgeführt wird. in der Regel sollten Sie Kontakte kommentieren, sobald Sie dem Windows-Kontakt Speicher hinzugefügt werden.You can annotate contacts at any point while your app is running, but generally you should annotate contacts as soon as they are added to the Windows contact store.

if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
{
    // Create a new contact annotation
    ContactAnnotation annotation = new ContactAnnotation();
    annotation.ContactId = myContact.Id;

    // Add appId and Share support to the annotation
    String appId = "MyApp_vqvv5s4y3scbg!App";
    annotation.ProviderProperties.Add("ContactShareAppID", appId);
    annotation.SupportedOperations = ContactAnnotationOperations::Share;

    // Save annotation to contact annotation list
    // Windows.ApplicationModel.Contacts.ContactAnnotationList 
    await contactAnnotationList.TrySaveAnnotationAsync(annotation);
}

Die "AppID" ist der Paket Familienname, gefolgt von "!".The “appId” is the Package Family Name, followed by ‘!’ und die aktivierbare Klassen-ID.and the Activatable Class ID. Um den Paket Familiennamen zu ermitteln, öffnen Sie Package. appxmanifest mit dem Standard-Editor, und suchen Sie auf der Registerkarte "Packaging" (Verpacken). Hier ist "App" die aktivierbare Klasse, die der Freigabe Ziel Ansicht entspricht.To find your Package Family Name, open Package.appxmanifest using the default editor, and look in the “Packaging” tab. Here, “App” is the Activatable Class corresponding to the Share Target view.

Ausführen als Freigabe Ziel "meine Personen"Running as a My People share target

Zum Schluss müssen Sie zum Ausführen der APP die onsharetargetaktivierte -Methode in der Hauptklasse Ihrer APP überschreiben, um die Freigabe Ziel Aktivierung zu verarbeiten.Finally, to run the app, override the OnShareTargetActivated method in your app’s main class to handle the share target activation. Die Eigenschaft " sharetargetactivatedeventargs. shareoperation. Contacts " enthält die Kontakte, die für freigegeben werden, oder ist leer, wenn es sich um einen Standard Freigabe Vorgang (nicht um eine eigene Freigabe) handelt.The ShareTargetActivatedEventArgs.ShareOperation.Contacts property will contain the contact(s) that are being shared to, or will be empty if this is a standard share operation (not a My People share).

protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
{
    bool isPeopleShare = false;
    if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5))
    {
        // Make sure the current OS version includes the My People feature before
        // accessing the ShareOperation.Contacts property
        isPeopleShare = (args.ShareOperation.Contacts.Count > 0);
    }

    if (isPeopleShare)
    {
        // Show share UI for MyPeople contact(s)
    }
    else
    {
        // Show standard share UI for unpinned contacts
    }
}

Weitere InformationenSee also