Uso compartido de Mis allegadosMy People sharing

La característica mis personas permite a los usuarios anclar contactos a su barra de tareas, permitiéndoles mantenerse en contacto con facilidad desde cualquier lugar de Windows, independientemente de la aplicación a la que estén conectados.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. Ahora los usuarios pueden compartir contenido con sus contactos anclados arrastrando los archivos desde el explorador de archivos hasta el PIN mis personas.Now users can share content with their pinned contacts by dragging files from the File Explorer to their My People pin. También pueden compartirse con cualquier contacto de la tienda de contactos de Windows a través del acceso a recursos compartidos estándar.They can also share to any contacts in the Windows contact store via the standard share charm. Siga leyendo para obtener información sobre cómo habilitar su aplicación como un destino de uso compartido de mis personas.Keep reading to learn how to enable your application as a My People sharing target.

Panel de uso compartido de mis personas

RequisitosRequirements

Información generalOverview

Hay tres pasos que debe seguir para habilitar la aplicación como el destino de uso compartido de mis personas:There are three steps you must take to enable your application as a My People sharing target:

  1. Declare la compatibilidad con el contrato de activación shareTarget en el manifiesto de aplicación.Declare support for the shareTarget activation contract in your application manifest.
  2. Anote los contactos que los usuarios pueden compartir para usar la aplicación.Annotate the contacts that the users can share to using your app.
  3. Admite varias instancias de la aplicación que se ejecutan al mismo tiempo.Support multiple instances of the application running at the same time. Los usuarios deben poder interactuar con una versión completa de la aplicación al mismo tiempo que la usan para compartir con otros usuarios.Users must be able to interact with a full version of your application while also using it to share with others. Pueden utilizarla en varias ventanas de uso compartido a la vez.They may use it in multiple share windows at once. Para admitir esto, la aplicación debe ser capaz de ejecutar varias vistas simultáneamente.To support this, your application needs to be able to run multiple views simultaneously. Para obtener información sobre cómo hacerlo, vea el artículo "Mostrar varias vistas de una aplicación".To learn how to do this, see the article "show multiple views for an app".

Cuando lo haya hecho, la aplicación aparecerá como un destino de recurso compartido en la ventana mis recursos compartidos, que se puede iniciar de dos maneras: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. Se elige un contacto mediante el acceso a recursos compartidos.A contact is chosen via the share charm.
  2. Los archivos se arrastran y se colocan en un contacto anclado a la barra de tareas.File(s) are dragged and dropped on a contact pinned to the taskbar.

Declarar la compatibilidad con el contrato de recurso compartidoDeclaring support for the share contract

Para declarar la compatibilidad con la aplicación como destino de recurso compartido, abra primero la aplicación en Visual Studio.To declare support for your application as a share target, first open your application in Visual Studio. En el Explorador de soluciones, haga clic con el botón derecho en Package. Appxmanifest y seleccione abrir con.From the Solution Explorer, right click Package.appxmanifest and select Open With. En el menú, seleccione Editor XML (texto) y haga clic en Aceptar.From the menu, select XML (Text) Editor and click OK. Después, realice los siguientes cambios en el manifiesto:Then, make the following changes to the manifest:

AntesBefore

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

DespuésAfter

<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>

Este código agrega compatibilidad con todos los archivos y formatos de datos, pero puede elegir especificar qué tipos de archivos y formatos de datos se admiten (consulte la documentación de la clase ShareTarget para obtener más detalles).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).

Anotar contactosAnnotating contacts

Para permitir que la ventana mis recursos compartidos muestre la aplicación como un destino de recurso compartido para sus contactos, debe escribirlas en el almacén de contactos de Windows.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. Para obtener información sobre cómo escribir contactos, vea el ejemplo de integración de la tarjeta de contacto.To learn how to write contacts, see the Contact Card Integration sample.

Para que la aplicación aparezca como un destino de recurso compartido mis personas al compartir con un contacto, debe escribir una anotación en ese contacto.For your application to appear as a My People share target when sharing to a contact, it must write an annotation to that contact. Las anotaciones son fragmentos de datos de la aplicación que están asociados a un contacto.Annotations are pieces of data from your application that are associated with a contact. La anotación debe contener la clase activable correspondiente a la vista deseada en su miembro ProviderProperties y declarar la compatibilidad con la operación de uso compartido .The annotation must contain the activatable class corresponding to your desired view in its ProviderProperties member, and declare support for the Share operation.

Puede anotar contactos en cualquier momento mientras la aplicación se está ejecutando, pero generalmente debe anotar los contactos en cuanto se agreguen al almacén de contactos de Windows.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);
}

"AppId" es el nombre de familia del paquete, seguido de "!".The “appId” is the Package Family Name, followed by ‘!’ y el identificador de clase activable.and the Activatable Class ID. Para buscar el nombre de familia del paquete, Abra Package. appxmanifest con el editor predeterminado y mire en la pestaña "empaquetado". Aquí, "app" es la clase activable que corresponde a la vista de destino del recurso compartido.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.

Ejecutar como destino de recurso compartido mis personasRunning as a My People share target

Por último, para ejecutar la aplicación, invalide el método OnShareTargetActivated en la clase principal de la aplicación para controlar la activación del destino del recurso compartido.Finally, to run the app, override the OnShareTargetActivated method in your app’s main class to handle the share target activation. La propiedad ShareTargetActivatedEventArgs. ShareOperation. contacts contendrá los contactos con los que se comparte, o estará vacío si se trata de una operación de recurso compartido estándar (no de un recurso compartido de mis personas).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
    }
}

Vea tambiénSee also