Crear aplicaciones para varios dispositivos con tecnología de Project RomeBuild cross-device apps powered by Project Rome

Puede usar Project Rome para crear experiencias transversales entre dispositivos y plataformas sin problemas, lo que reduce la fricción para los usuarios y contribuye a fomentar la interacción de las aplicaciones.You can use Project Rome to build experiences that cross devices and platforms seamlessly, reducing friction for users and helping to drive app engagement. Para que las aplicaciones compartan datos entre varios dispositivos y plataformas con las API de Project Rome, debe configurar una aplicación para varios dispositivos que incluya información sobre las aplicaciones específicas de la plataforma.For applications to share data across devices and platforms using Project Rome APIs, you need to configure a cross-device app that includes information about your platform-specific apps.

Una aplicación para varios dispositivos le permite:A cross-device app enables you to:

  • Usar la API de fuente de actividades de Project Rome en Microsoft GraphUse the Project Rome activity feed API in Microsoft Graph.
  • Leer y escribir las actividades de usuario publicadas por un grupo de aplicaciones específicas de una plataforma mediante el SDK de Project Rome para Windows, Android o iOS.Read and write user activities published by a group of platform-specific applications by using the Project Rome SDK for Windows, Android, and/or iOS.
  • Destinar aplicaciones a través de las funcionalidades de retransmisión de dispositivos de Project Rome mediante el SDK de Project Rome para Windows, Android o iOS.Target apps via the device relay capabilities in Project Rome by using the Project Rome SDK for Android or iOS.

Retomar el trabajo donde lo dejó en dispositivos con la API de fuente de actividadesPick up where you left off across devices with the activity feed API

Puede configurar una aplicación para varios dispositivos que asocie las aplicaciones para Windows, iOS, Android y la web a fin de que la aplicación de cada plataforma pueda leer y escribir las actividades de usuario que publique cualquier aplicación del grupo.You can configure a cross-device app to associate your apps for Windows, iOS, Android, and the web so that the app on each platform can read and write user activities that are published by any app in the group.

Por ejemplo, una usuaria está terminando un comunicado de prensa en su PC en el trabajo antes de cenar con sus amigos.For example, a user is finishing up a press release on her PC at work before dinner with friends. En el restaurante, recibe una notificación de su jefe sobre un error ortográfico que debe solucionarse cuanto antes.At the restaurant, she gets a notification from her boss about a typo that needs to be fixed asap. Abre la aplicación en su teléfono Android y ve una tarjeta que muestra el comunicado de prensa que estaba editando antes.She opens the app on her Android phone and sees a card showing the press release she was editing earlier. Puntea la tarjeta para abrirla y corregir el comunicado inmediatamente y volver con sus amigos.She taps the card to open it so she can fix the release immediately and get back to her friends.

Con esta configuración de aplicación para varios dispositivos, la fuente de actividades del usuario se sincroniza fácilmente entre dispositivos y plataformas para poder crear experiencias que ayuden a los usuarios a retomar tareas importantes donde las dejaron en cualquier superficie de aplicación.With this cross-device app configuration in place, the user's activity feed is synchronized across devices and platforms effortlessly so you can build experiences that help users pick up important tasks where they left off from any app surface.

Elegir la pantalla adecuada en el momento oportuno con la API de retransmisión de dispositivoChoose the right screen at the right time with the device relay API

Puede configurar una aplicación para varios dispositivos con credenciales de notificación push en cada una de las plataformas en las que su aplicación está disponible, de modo que pueda recibirse un comando o notificación en cualquier dispositivo en el que se use la aplicación, independientemente de la plataforma.You can configure a cross-device app with push notification credentials for each of the platforms your app is available on so that a command or notification can be delivered to you on any device where you use the app, regardless of platform.

Por ejemplo, una usuaria está viendo un video en el autobús que lo lleva a su casa desde el trabajo.For example, a user is watching a video on the bus ride home from work. Al llegar a casa, puntea la aplicación para iniciar el vídeo en la Xbox One y poder seguir viéndola en la gran pantalla.When she arrives home, she taps the app to launch the video on her Xbox One so she can continue watching on the big screen.

Al asociar las credenciales de notificación de inserción a cada una de las plataformas en las que la aplicación está disponible con la aplicación para varios dispositivos, la aplicación del usuario podrá enviar comandos a varios dispositivos, para que se puedan crear experiencias transversales entre pantallas o pasar un flujo de trabajo de un dispositivo a otro en tiempo real.When you associate push notification credentials for each of the platforms where your app is available with your cross-device app, the user's app can send commands across devices, so you can build experiences that cross multiple screens or transition a workflow from one device to another in real time.

Seleccionar el método de hospedaje correcto para la configuración de aplicación para varios dispositivosSelect the right hosting method for your cross-device app configuration

Puede hospedar la configuración de aplicación para varios dispositivos como archivo JSON en su dominio o como perfil configurable a través del Centro de desarrollo de Windows.You can host your cross-device app configuration either as a JSON file on your domain or as a profile configurable via the Windows Dev Center. Elija una opción de hospedaje según las funcionalidades de Project Rome que quiera habilitar en las aplicaciones.Choose a hosting option based on the Project Rome capabilities you want to enable in your apps.

Con una aplicación para varios dispositivos administrada en el Centro de desarrollo de Windows, tiene acceso a todas las funcionalidades de Project Rome.You can access all Project Rome capabilities using a cross-device app managed in the Windows Dev Center. El Centro de desarrollo de Windows también ofrece la mejor forma de administrar los cambios de la configuración de aplicación para varios dispositivos.The Windows Dev Center also offers the best way to manage any cross-device app configuration changes. Puede guardar las actualizaciones en un perfil existente de forma más segura hasta que tenga todo listo para publicar los cambios efectuados en producción.You can save updates to an existing profile more securely until you're ready to publish changes to production. Cuando publique cambios en una aplicación para varios dispositivos existente en el Centro de desarrollo, el nuevo perfil será efectivo después de aproximadamente una hora.When you publish changes to an existing cross-device app in the Dev Center, the new profile will be effective after approximately one hour.

Archivo JSON hospedado externamente (limitado)Externally hosted JSON file (limited)

Puede utilizar las siguientes funcionalidades de Project Rome en todas las plataformas compatibles con una aplicación para varios dispositivos administrada como archivo JSON hospedado externamente:You can use the following Project Rome capabilities on all supported platforms using a cross-device app managed as an externally hosted JSON file:

  • Leer y escribir actividades de usuario en todas las plataformas con la API de fuente de actividadesRead and write user activities from all platforms using the activity feed API
  • Escriba actividades de usuario en todas las plataformas (Windows, iOS, Android, web) con los SDK de Project Rome.Write user activities from all platforms (Windows, iOS, Android, web) using the Project Rome SDKs.

Si solo tiene acceso a estas funcionalidades, puede hospedar la configuración de aplicación para varios dispositivos externamente en el dominio como archivo JSON.If you only access these capabilities, you can host your cross-device app configuration externally on your domain as a JSON file.

Configurar una aplicación para varios dispositivos con el Centro de desarrollo de WindowsConfigure a cross-device app using the Windows Dev Center

Un identificador de aplicación para varios dispositivos se representa como dominio de su propiedad.A cross-device app ID is represented as a domain that you own. El dominio apunta a una asignación de los identificadores de aplicaciones específicos de su plataforma almacenados como archivo JSON hospedado en su dominio o configurable a través del Centro de desarrollo de Windows.The domain points to a mapping of your platform-specific app IDs stored either as a JSON file hosted on your domain or configurable via the Windows Dev Center. Después de identificar el dominio que se usará para representar el identificador de aplicación para varios dispositivos, tendrá que recopilar información para configurar el perfil asociado.After you identify the domain you'll use to represent your cross-device app ID, you'll need to collect information to configure the associated profile.

Paso 1: Seleccionar un dominio seguro para el identificador de aplicación para varios dispositivos y habilitar la comprobación del dominioStep 1: Select a secure domain for your cross-device app ID and enable domain verification

El dominio que utilice como identificador de aplicación para varios dispositivos tiene que ser un dominio de primer nivel o un subdominio y ha de protegerse mediante TLS.The domain used as your cross-device app ID must either be a top-level domain or a subdomain and must be protected via TLS. Por ejemplo: https://contoso.com o https://myapp.contoso.com, pero NO https://myapp.contoso.com/somepath.For example: https://contoso.com or https://myapp.contoso.com, but NOT https://myapp.contoso.com/somepath. Debe tener un dominio único (o subdominio) por aplicación para varios dispositivos.You must have a unique domain (or subdomain) per cross-device app. Pero será usted quién decida qué aplicaciones se asocien a una sola aplicación para varios dispositivos en función del comportamiento multiplataforma que quiera compatibilizar.However, you decide which apps to associate with a single cross-device app based on the cross-platform behavior you want to support.

Por ejemplo, un desarrollador de aplicaciones con un conjunto de aplicaciones de juego podría utilizar un subdominio separado para cada una a fin de asegurarse de que cada aplicación solo se suscriba a las actividades de usuario que puede reanudar al leer datos en distintos dispositivos y plataformas.For example, an app developer with a suite of game apps might use a separate subdomain for each of these to ensure that each app is only subscribed to the user activities it can resume when reading data across devices and platforms. Por otro lado, un desarrollador de aplicaciones con un conjunto de aplicaciones de productividad diseñadas para trabajar juntas podría usar un solo dominio para todas, de modo que cualquier aplicación pueda iniciar un miembro del conjunto de aplicaciones en todos los dispositivos.On the other hand, an app developer with a suite of productivity apps designed to work together might use a single domain for all of these so that any app is able to launch a member of the suite across devices.

Declarar la propiedad del dominio con el Centro de desarrollo de WindowsAssert domain ownership with the Windows Dev Center

Si usa el Centro de desarrollo de Windows para administrar la configuración de aplicación para varios dispositivos, el dominio que represente el identificador de aplicación para varios dispositivos se almacenará como parte del perfil de aplicación para varios dispositivos a fin de que Microsoft pueda comprobar que usted es el propietario del dominio.When using the Windows Dev Center to manage your cross-device app configuration, the domain representing your cross-device app ID is stored as part of your cross-device app profile so Microsoft can verify that you are the domain owner. La propiedad del dominio debe comprobarse para terminar de publicar la configuración de aplicación para varios dispositivos, por lo que es conveniente abordar esto primero.Your domain ownership must be verified in order to finish publishing your cross-device app configuration, so it's a good idea to tackle this first.Si aún no se ha comprobado el dominio, puede guardar los detalles de la aplicación para varios dispositivos y ejecutar de nuevo la comprobación después de completar este paso para poder publicar la aplicación para varios dispositivos. If your domain is not yet verified, you can save your cross-device app details and rerun the verification after you complete this step so you can publish your cross-device app.

Para declarar la propiedad del dominio de la aplicación para varios dispositivos, tendrá que agregar una entrada TXT de DNS para el dominio con un valor único que le proporcione el Centro de desarrollo.To assert your domain ownership for your cross-device app, you'll need to add a DNS TXT entry for your domain with a unique value provided to you in the Dev Center. Este valor es único para cada aplicación para varios dispositivos.This value is unique per cross-device app. Para buscar el valor único de la aplicación, inicie sesión en el Centro de desarrollo de Windows y elija Experiencias entre dispositivos en el menú izquierdo para empezar a configurar una nueva aplicación y dispositivos.To find the unique value for your app, sign in to the Windows Dev Center and choose Cross-device experiences from the left menu to start configuring a new cross-device app. Cuando asigne un nombre a la nueva aplicación para varios dispositivos, seleccione Verify your cross-device app domain (Comprobar el dominio de la aplicación para varios dispositivos) en el submenú.After you give your new cross-device app a name, select Verify your cross-device app domain from the submenu. En esta página se mostrarán instrucciones con un valor único  insertado (por ejemplo, MS=95ff4557-813f-45a5-b2f6-1f94170b979f).This page will display instructions with a unique value inline (for example, MS=95ff4557-813f-45a5-b2f6-1f94170b979f). Asegúrese de copiar el valor completo, incluido "MS =".Make sure to copy the entire value including 'MS='.

Paso 2: Recopilar los identificadores de aplicación específicos de una plataformaStep 2: Collect your platform-specific application IDs

Recopile los identificadores de aplicación específicos de una plataforma para cada aplicación y plataforma que use las API de Project Rome.Collect the platform-specific application IDs for each application and platform that will use Project Rome APIs.

Debe recopilar todos los identificadores de aplicación para varios dispositivos específicos de una plataforma para asociarlos a su identidad de aplicación para varios dispositivos.You'll need to collect each of the platform-specific application IDs in order to associate them with your cross-device app identity. Con el Centro de desarrollo de Windows, podrá seleccionar entre las aplicaciones de la Plataforma universal de Windows (UWP) asociadas a su cuenta de desarrollador, pero tendrá que especificar manualmente los identificadores de aplicación de cualquiera de sus aplicaciones win32, iOS o Android e identificar la dirección URL principal de las aplicaciones web asociadas.Using the Windows Dev Center, you'll be able to select from Universal Windows Platform apps associated with your developer account, but you'll need to manually provide application IDs for any of your win32, iOS, or Android apps and identify the primary URL for any associated web apps. Puede asociar hasta 10 identificadores por plataforma.You can associate up to 10 IDs per platform.

Para buscar los identificadores:To find the IDs:

Paso 3: Configurar la compatibilidad con una cuenta de Microsoft o de Azure ADStep 3: Configure support for Microsoft account or Azure AD

Para habilitar experiencias entre dispositivos, los usuarios de la aplicación deben iniciar sesión con una  cuenta de Microsoft o una cuenta de Azure Active Directory (Azure AD).To enable cross-device experiences, your app users must sign in with either a Microsoft account or an Azure Active Directory (Azure AD) account. Especifique el identificador de aplicación y los identificadores de cliente para admitir la autenticación como parte de la configuración de aplicación para varios dispositivos a fin de habilitar la compatibilidad multiplataforma.You will provide the app ID/client IDs to support authentication as part of your cross-device app configuration to enable cross-platform support. Puede especificar un máximo de 10 instancias.You can provide up to 10 instances.

Para encontrar el identificador de aplicación y los identificadores de cliente existentes o aprovisionar unos nuevos, inicie sesión en el Portal de registro de aplicaciones con su cuenta de desarrollador.You can find your existing app ID/client IDs or provision new ones by signing in to the Application registration portal with your developer account. Al iniciar sesión en el portal, puede ver el identificador de cliente y el identificador de aplicación de cualquiera de las aplicaciones.When you sign in to the portal, you can view the App ID/client ID for any of your apps. Se admiten tanto los identificadores del SDK de Live (valores hexadecimales) como los de aplicaciones convergentes (GUID).Both Live SDK (hex values) and converged app IDs (GUIDs) are supported.

Si va a crear una aplicación que admite usuarios de Azure AD y no usa un identificador de aplicación convergente emitido por el Portal de registro de aplicaciones, tendrá que especificar el GUID del identificador de la aplicación de Azure.If you're building an application that will support Azure AD users, and you do not use a converged application ID issued through the Application registration portal, you will need to provide the GUID for the application ID of your Azure app. Para buscar el GUID del espacio empresarial:To find the GUID for your tenant:

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.
  2. Seleccione Azure Active Directory.Select Azure Active Directory.
  3. En Administrar, seleccione Registros de aplicaciones.Under Manage, select App registrations.
  4. Seleccione la aplicación de la lista y vea el identificador de aplicación (GUID) que aparece en Essentials.Select your app from the list and view your Application ID (GUID) listed under Essentials.

Paso 4: Configurar la compatibilidad con notificaciones de inserción multiplataforma (opcional)Step 4: Configure support for cross-platform push notifications (optional)

Si ha decidido configurar la aplicación para varios dispositivos en el Centro de desarrollo de Windows, puede habilitar la compatibilidad con notificaciones de inserción multiplataforma especificando las credenciales que usa con las API en las plataformas de mensajes de inserción iOS y Android.If you've opted to configure your cross-device app in the Windows Dev Center, you can enable support for cross-platform push notifications by providing the credentials you use with the APIs for Android and iOS push messaging platforms. Estas son necesarias si usa los SDK de Project Rome para iOS y Android y quiere hacer algo más que publicar actividades de usuario.These are required if you're using the Project Rome SDKs for iOS and Android and you want to do more than publish user activities. Si usa las API de Project Rome solo para Microsoft Graph, no necesita realizar este paso.If you're using Project Rome APIs for Microsoft Graph only, you don't need to perform this step. Se pueden asociar hasta 10 conjuntos de credenciales por plataforma.You can associate up to 10 sets of credentials per platform.

Importante: No almacene credenciales de notificación de inserción en un archivo JSON hospedado externamente.Important: Do not store push notification credentials in an externally hosted JSON file.

Para buscar los identificadores:To find the IDs:

  • \*\*Servicio de notificaciones de Windows\*\*: vea [Registering your app and receiving the credentials for your cloud service](https://docs.microsoft.com/previous-versions/windows/apps/hh913756(v=win.10)#registering-your-app-and-receiving-the-credentials-for-your-cloud-service) (Registrar la aplicación y recibir las credenciales del servicio en la nube) y el [Portal de registro de aplicaciones](https://apps.dev.microsoft.com).**Windows Notification Service** - See [Registering your app and receiving the credentials for your cloud service](https://docs.microsoft.com/previous-versions/windows/apps/hh913756(v=win.10)#registering-your-app-and-receiving-the-credentials-for-your-cloud-service) and the [Application registration portal](https://apps.dev.microsoft.com).
  • Apple Push Notification Service: vea APNs Overview (Información general sobre el APNs).Apple Push Notification Service -See APNs Overview.
  • Google Cloud Messaging: vea Firebase Cloud Messaging.Google Cloud Messaging - See Firebase Cloud Messaging.

Nota: Si usa Firebase para enviar notificaciones a dispositivos iOS con credenciales de Android, deberá especificar las credenciales de APNs como parte de la configuración de aplicación para varios dispositivos.Note: If you're using Firebase to push notifications to iOS devices using Android credentials, you'll need to provide your APNs credentials as part of your cross-device app configuration.

Configurar una aplicación para varios dispositivos con un archivo JSON hospedado externamenteConfigure a cross-device app using an externally hosted JSON file

Un identificador de aplicación para varios dispositivos se representa como dominio de su propiedad.A cross-device app ID is represented as a domain that you own. El dominio apunta a una asignación de los identificadores de aplicaciones específicos de su plataforma almacenados como archivo JSON hospedado en su dominio o configurable a través del Centro de desarrollo de Windows.The domain points to a mapping of your platform-specific app IDs stored either as a JSON file hosted on your domain or configurable via the Windows Dev Center. Después de identificar el dominio que se usará para representar el identificador de aplicación para varios dispositivos, tendrá que recopilar información para configurar el perfil asociado.After you identify the domain you'll use to represent your cross-device app ID, you'll need to collect information to configure the associated profile.

Paso 1: Seleccionar un dominio seguro para el identificador de aplicación para varios dispositivosStep 1: Select a secure domain for your cross-device app ID

Un identificador de aplicación para varios dispositivos se representa como dominio de su propiedad.A cross-device app ID is represented as a domain that you own. Este tiene que ser un dominio de primer nivel o un subdominio y ha de protegerse mediante TLS.This must either be a top-level domain or a subdomain, and must be protected via TLS. Por ejemplo: https://contoso.com o https://myapp.contoso.com, pero NO https://myapp.contoso.com/somepath.For example: https://contoso.com or https://myapp.contoso.com but NOT https://myapp.contoso.com/somepath. Debe tener un dominio único (o subdominio) por aplicación para varios dispositivos.You must have a unique domain (or subdomain) per cross-device app. Pero será usted quién decida qué aplicaciones se asocien a una sola aplicación para varios dispositivos en función del comportamiento multiplataforma que quiera compatibilizar.However, you decide which apps to associate with a single cross-device app based on the cross-platform behavior you want to support.

Por ejemplo, un desarrollador de aplicaciones con un conjunto de aplicaciones de juego podría utilizar un subdominio separado para cada una a fin de asegurarse de que cada aplicación solo se suscriba a las actividades de usuario que puede reanudar al leer datos en distintos dispositivos y plataformas.For example, an app developer with a suite of game apps might use a separate subdomain for each to ensure that each app is only subscribed to the user activities it can resume when reading data across devices and platforms. Un desarrollador de aplicaciones con un conjunto de aplicaciones de productividad diseñadas para trabajar juntas podría usar un solo dominio para todas, de modo que cualquier aplicación pueda iniciar un miembro del conjunto de aplicaciones en todos los dispositivos.An app developer with a suite of productivity apps designed to work together might use a single domain for all of these so that any app is able to launch a member of the suite across devices.

Declarar la propiedad del dominio con un archivo JSON hospedado externamenteAssert domain ownership with an externally hosted JSON file

Si usa un archivo JSON hospedado externamente para administrar la aplicación para varios dispositivos, declare la propiedad del dominio incluyendo su cuenta Microsoft o los identificadores de aplicación de Azure AD en el archivo cross-platform-app-identifiers.If you're using an externally hosted JSON file to manage your cross-device app, you assert domain ownership by including your Microsoft account or Azure AD app IDs in the cross-platform-app-identifiers file. La propiedad del dominio se comprobará como parte del proceso de publicación cuando se usa la API de fuente de actividades para crear actividades de usuario.Your domain ownership will be verified as part of the publish process when you use the activity feed API to create user activities.

El sistema almacenará el contenido del archivo JSON en caché para evitar que se generen solicitudes frecuentes en el dominio.The system will cache the contents of the JSON file to avoid generating frequent requests on your domain. Si se configura, el servicio respetará los encabezados HTTP de caché al evaluar cuándo actualizar la caché.If configured, the service will respect HTTP cache headers when evaluating when to refresh the cache. Si no está configurado, el servicio se actualizará cada 24 horas.If not configured, the service will refresh every 24 hours.

Paso 2: Recopilar los identificadores de aplicación específicos de una plataforma y crear el archivo JSONStep 2: Collect your platform-specific application IDs and construct your JSON file

Recopile los identificadores de aplicación específicos de una plataforma para cada aplicación y plataforma que use la API de fuente de actividades o de retransmisión de dispositivo.Collect the platform-specific application IDs for each application and platform that will use the activity feed and/or device relay API.

Debe recopilar todos los identificadores de aplicación para varios dispositivos específicos de una plataforma para asociarlos a su identidad de aplicación para varios dispositivos.You'll need to collect each of the platform-specific application IDs in order to associate them with your cross-device app identity. Si usa un archivo JSON hospedado externamente, tendrá que recopilar los identificadores de aplicación de cada una de las aplicaciones específicas de la plataforma para configurarlos como parte de la aplicación para varios dispositivos y agruparlos en el formato especificado.Using an externally hosted JSON file, you'll need to collect app IDs for each of the platform-specific apps to configure as part of your cross-device app and assemble them into the specified format. Puede asociar hasta 10 identificadores por plataforma.You can associate up to 10 IDs per platform.

Crear el archivo cross-platform-app-identifiersConstructing your cross-platform-app-identifiers file

Es necesario que el propio archivo JSON tenga el nombre cross-platform-app-identifiers y se hospede en la raíz del dominio HTTPS.The JSON file itself must be named cross-platform-app-identifiers and hosted at root of your HTTPS domain. El contenido del archivo es una matriz JSON de asignaciones entre las plataformas admitidas por la aplicación y los identificadores de aplicación en esas plataformas.The contents of the file are a JSON array of mappings between your application's supported platforms and the application IDs on those platforms. Al crear el archivo, incluya un objeto JSON para cada aplicación y plataforma que use las API de Project Rome.When constructing the file, include a JSON object for each application and platform that will use Project Rome APIs.   El archivo admite varios objetos JSON con el mismo identificador de plataforma.The file will allow for multiple JSON objects with the same platform identifier. Por ejemplo, una aplicación para iPhone y una aplicación para iPad se mostrarán como objetos JSON independientes entre sí, cada uno con un valor de plataforma de iOS.For example, an iPhone app and an iPad app should be listed as separate JSON objects, each with a platform value of iOS. El identificador de la plataforma web se muestra en el siguiente ejemplo.The web platform identifier is shown in the following example.   No es necesario incluir un objeto JSON en todas las plataformas.You don't need to include a JSON object for all platforms. Incluya solo objetos JSON en las plataformas en las que la aplicación utilice las API de Project Rome.Only include JSON objects for platforms where your application is using Project Rome APIs.Por ejemplo, si no tiene un cliente de la aplicación de la plataforma Android, no necesita una entrada en el archivo para Android. For example, if you don't have an app client for the Android platform, you don’t need an entry in the file for Android.   En el ejemplo siguiente se incluyen todos los identificadores de plataforma válidos actualmente aceptados.The following example includes all the valid platform identifiers currently accepted. Los objetos JSON que incluyan un valor de plataforma no válido se eliminarán.JSON objects that include an invalid platform value will be stripped out. 

{"platform":"windows_universal", "application":"Microsoft.Contoso_8wekyb3d8bbwe"},
{"platform":"windows_win32", "application":"DefaultBrowser_NOPUBLISHERID!Microsoft.Contoso.Default"},
{"platform":"android","application":"com.example.myapp"},
{"platform":"ios", "application":"com.example.myapp"},
{"platform":"web", "application":"https://contoso.com"},
{"platform":"web", "application":"https://chat.contoso.com"},
{"platform":"msa", "application":"00000000603E0BF"},
{"platform":"msa", "application":"48932b46-98b1-4020-9be4-cc7a65643c9e"},
]

Para buscar los identificadores:To find the IDs:

Paso 3: Configurar la compatibilidad con una cuenta de Microsoft o de Azure ADStep 3: Configure support for Microsoft account or Azure AD

Para habilitar experiencias entre dispositivos, los usuarios de la aplicación deben iniciar sesión con una cuenta de Microsoft o una cuenta de Azure AD.To enable cross-device experiences, your app users must sign in with either a Microsoft account or an Azure AD account. Especifique el identificador de aplicación y los identificadores de cliente para admitir la autenticación como parte de la configuración de aplicación para varios dispositivos a fin de habilitar la compatibilidad multiplataforma.You will provide the app ID/client IDs to support authentication as part of your cross-device app configuration to enable cross-platform support. Puede especificar un máximo de 10 instancias.You can provide up to 10 instances.

{"platform":"windows_universal", "application":"Microsoft.Contoso_8wekyb3d8bbwe"},
{"platform":"windows_win32", "application":"DefaultBrowser_NOPUBLISHERID!Microsoft.Contoso.Default"},
{"platform":"android","application":"com.example.myapp"},
{"platform":"ios", "application":"com.example.myapp"},
{"platform":"web", "application":"https://contoso.com"},
{"platform":"web", "application":"https://chat.contoso.com"},
{"platform":"msa", "application":"00000000603E0BF"},
{"platform":"msa", "application":"48932b46-98b1-4020-9be4-cc7a65643c9e"},
]

Para encontrar el identificador de aplicación y los identificadores de cliente existentes o aprovisionar unos nuevos, inicie sesión en el  Portal de registro de aplicaciones con su cuenta de desarrollador.You can find your existing app ID/client IDs or provision new ones by signing in to the Application Registration Portal with your developer account. Al iniciar sesión, puede ver el identificador de cliente y el identificador de aplicación de cualquiera de las aplicaciones.When you sign in, you can view the App ID/client ID for any of your apps. Se admiten tanto los identificadores del SDK de Live (valores hexadecimales) como los de aplicaciones convergentes (GUID).Both Live SDK (hex values) and converged app IDs (GUIDs) are supported. Use el tipo de plataforma "msa" al agregar los identificadores utilizados para habilitar la compatibilidad con una cuenta de Microsoft o de Azure AD, tal y como se muestra en el ejemplo anterior.Use the platform type "msa" when you add the IDs used to enable support for a Microsoft account or Azure AD, as shown in the previous example.

Nota: Si va a crear una aplicación que admite usuarios de Azure AD y no usa un identificador de aplicación convergente emitido por el  Portal de registro de aplicaciones, tendrá que proporcionar el GUID del identificador de la aplicación de Azure.Note: If you're building an application that supports Azure AD users, and you do not use a converged application ID issued through the Application Registration Portal, you will need to provide the GUID for the application ID of your Azure app. Este tipo de identificador también debería configurarse como tipo de plataforma "msa".This type of ID should also be configured as platform type "msa".

Para encontrar el GUID del espacio empresarial en Azure Portal:To find the GUID in the Azure Portal for your tenant:

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.
  2. Seleccione Azure Active Directory.Select Azure Active Directory.
  3. En Administrar, seleccione Registros de aplicaciones.Under Manage, select App registrations.
  4. Seleccione la aplicación de la lista.Select your app from the list. El identificador de aplicación (GUID) puede verse en Essentials.You can view your application ID (GUID) under Essentials.

Codificar el archivo cross-platform-app-identifiersEncoding the cross-platform-app-identifiers file

Si no ve que las actividades se reanudan en las aplicaciones nativas correctas en todas las plataformas, o no puede leer las actividades publicadas por todos los miembros del grupo, es posible que el archivo JSON no se esté analizando adecuadamente.If you're not seeing activities resume in the correct native applications across platforms, or you're unable to read activities published by all members in the group, your JSON file might not be getting parsed appropriately. Al generar este archivo, asegúrese de guardar el archivo cross-platform-app-identifiers con codificación "Unicode (UTF-8 sin signatura) - Página de códigos 65001".When outputting this file, make sure you're saving the cross-platform-app-identifiers file with "Unicode (UTF-8 without signature) - Codepage 65001" encoding.

Actualizar el archivo JSON cross-platform-app-identifiersUpdating the cross-platform-app-identifiers JSON file

El sistema almacenará el contenido del archivo JSON en caché para evitar que se generen solicitudes frecuentes en el dominio.The system will cache the contents of the JSON file to avoid generating frequent requests on your domain. Si se configura, el servicio respetará los encabezados HTTP de caché al evaluar cuándo actualizar la caché.If configured, the service will respect HTTP cache headers when evaluating when to refresh the cache. Si no está configurado, el servicio se actualizará cada 24 horas.If not configured, the service will refresh every 24 hours.

Configurar el cliente de la aplicaciónConfigure your app client

Si utiliza las API del lado cliente para Windows, iOS o Android, tendrá que asegurarse de que el cliente de la aplicación esté configurado con el valor del host que representa la identidad de la aplicación para varios dispositivos (por ejemplo, contoso.com).If you're using the client-side APIs for Windows, iOS, or Android, you'll need to make sure your app client is configured with the host value that represents your cross-device app identity (for example, contoso.com).

Aplicaciones de Microsoft GraphMicrosoft Graph apps

Si tiene una aplicación que usa la API de fuente de actividades en Microsoft Graph, tiene que especificar el valor de host en la propiedad activitySourceHost.If you have an app using the activity feed API in Microsoft Graph, your host value must be supplied in the activitySourceHost property. Para más información, vea activity resource type (tipo de recurso de actividad).For details, see activity resource type.

Aplicaciones universales de WindowsUniversal Windows apps

Si tiene una aplicación de Windows, debe configurar el valor de host en el manifiesto de la aplicación antes de publicar los datos.If you have a Windows app, you will need to configure the host value in your app manifest before publishing data. Para más información, vea uap5:UserActivity.For details, see uap5:UserActivity.

Mantener la configuración de aplicación para varios dispositivosMaintaining your cross-device app configuration

Al publicar una nueva aplicación que genere actividades de usuario, es importante actualizar con antelación la aplicación para varios dispositivos con los nuevos valores de configuración para que las nuevas actividades que se publiquen se asocien correctamente a la aplicación para varios dispositivos.When releasing a new application that will generate user activities, it's important to update the cross-device app with the new configuration values in advance so that any new activities published are correctly associated with the cross-device app. La configuración de aplicación para varios dispositivos asociada a las actividades de usuario que se han publicado antes de un cambio de configuración no se actualizará automáticamente.The cross-device app configuration associated with user activities that have been published prior to a change in configuration will not be updated automatically. Pero una operación de actualización que se realice en cualquier actividad con una configuración anterior se actualizará a la versión más reciente del archivo.However, an update operation performed on any activity with an old configuration will be updated to the most recent version on file.

Solución de problemasTroubleshooting

Estos son algunos problemas comunes que pueden producirse con la API de fuente de actividades.The following are some common issues that can occur with the activity feed API.

Las actividades de lectura y escritura no están disponibles para todas las aplicaciones en la configuración de aplicación para varios dispositivosActivities are not available to read and write for all apps in the cross-device app configuration

La API de fuente de actividades ingiere la configuración de aplicación para varios dispositivos asincrónicamente, por lo que es posible que los errores de configuración no sean evidentes al publicar las actividades de usuario.The activity feed API ingests the cross-device app configuration asynchronously, so configuration errors might not be readily apparent when publishing user activities. En caso de que el servicio no pueda ingerir el archivo JSON, ya sea debido a un error de formato o de TLS, las actividades que se hayan publicado se atribuirán solo al ID de aplicación que publicó la actividad.In the event the service fails to ingest the JSON file, either due to TLS or formatting error, any activities that have been published will be attributed to the app ID that posted the activity, only. En el caso de actividades publicadas a través de Microsoft Graph, se trata del identificador de aplicación de la cuenta de Microsoft utilizado para autorizar solicitudes a Microsoft Graph.In the case of activities published via Microsoft Graph, this is the Microsoft account app ID used to authorize requests to Microsoft Graph. En el caso de actividades publicadas a través de las API del lado cliente, activity.applicationId solo registrará el identificador de aplicación específico de la plataforma que publicó la actividad.In the case of activities published via client-side APIs, the activity.applicationId will record the ID of the platform-specific app that posted the activity, only. Esto impedirá leer y escribir operaciones en actividades de cualquier otra aplicación específica de la plataforma que se identifique en la configuración de aplicación para varios dispositivos.This will prevent read and write operations on activities from any other platform-specific apps identified in the cross-device app configuration.

La plataforma no se inicializará en Android o iOSPlatform will not initialize on Android or iOS

La API de retransmisión de dispositivos para Android o iOS requiere la configuración de aplicación para varios dispositivos para crear instancias de conexiones a la aplicación Android o iOS.The device relay API for Android or iOS requires the cross-device app configuration in order to instantiate connections to the Android or iOS app. En caso de que no se pueda iniciar correctamente la plataforma, asegúrese de haber identificado correctamente los identificadores de aplicación y las credenciales de notificación de inserción de la cuenta de Microsoft empleada al configurar la aplicación para varios dispositivos en el Centro de desarrollo de Windows y configure el valor de host de las aplicaciones cliente con el dominio que identifica la aplicación para varios dispositivos.In the event that the platform fails to initialize successfully, make sure you have correctly identified the Microsoft account app IDs and push notification credentials used to configure your cross-device app in the Windows Dev Center, and configure your client apps' host value with the domain that identifies your cross-device app.