Envío de solicitudes a Microsoft Store
A partir de Windows 10, versión 1607, Windows SDK proporciona API para operaciones relacionadas con la Tienda (como compras desde la aplicación) en el espacio de nombres Windows.Services.Store . Sin embargo, aunque los servicios que admiten la Tienda se actualizan, amplían y mejoran constantemente entre las versiones del sistema operativo, las nuevas API normalmente se agregan a Windows SDK solo durante las versiones principales del sistema operativo.
Proporcionamos el método SendRequestAsync como una manera flexible de hacer que las nuevas operaciones de la Tienda estén disponibles para Plataforma universal de Windows aplicaciones (UWP) antes de que se publique una nueva versión de Windows SDK. Puedes usar este método para enviar solicitudes a la Tienda para nuevas operaciones que aún no tienen una API correspondiente disponible en la versión más reciente de Windows SDK.
Nota:
El método SendRequestAsync solo está disponible para las aplicaciones destinadas a Windows 10, versión 1607 o posterior. Algunas de las solicitudes admitidas por este método solo se admiten en versiones posteriores a Windows 10, versión 1607.
SendRequestAsync es un método estático de la clase StoreRequestHelper . Para llamar a este método, debe pasar la siguiente información al método :
- Objeto StoreContext que proporciona información sobre el usuario para el que quiere realizar la operación. Para obtener más información sobre este objeto, consulta Introducción a la clase StoreContext.
- Entero que identifica la solicitud que quieres enviar a la Tienda.
- Si la solicitud admite argumentos, también puede pasar una cadena con formato JSON que contenga los argumentos que se van a pasar junto con la solicitud.
En el siguiente ejemplo se muestra cómo llamar a este método. En este ejemplo se requieren instrucciones using para los espacios de nombres Windows.Services.Store y System.Threading.Tasks .
public async Task<bool> AddUserToFlightGroup()
{
StoreSendRequestResult result = await StoreRequestHelper.SendRequestAsync(
StoreContext.GetDefault(), 8,
"{ \"type\": \"AddToFlightGroup\", \"parameters\": { \"flightGroupId\": \"your group ID\" } }");
if (result.ExtendedError == null)
{
return true;
}
return false;
}
Consulte las secciones siguientes para obtener información sobre las solicitudes que están disponibles actualmente a través del método SendRequestAsync . Actualizaremos este artículo cuando se agregue compatibilidad con nuevas solicitudes.
Solicitud de clasificaciones y opiniones desde la aplicación
Puedes iniciar mediante programación un cuadro de diálogo desde la aplicación que pide al cliente que valorar la aplicación y enviar una revisión pasando el entero de solicitud 16 al método SendRequestAsync . Para obtener más información, consulta Mostrar un cuadro de diálogo de clasificación y revisión en la aplicación.
Solicitudes para escenarios de grupo piloto
Importante
Todas las solicitudes de grupo piloto descritas en esta sección no están disponibles actualmente para la mayoría de las cuentas de desarrollador. Estas solicitudes producirán un error a menos que Microsoft aprovisione especialmente su cuenta de desarrollador.
El método SendRequestAsync admite un conjunto de solicitudes para escenarios de grupo piloto, como agregar un usuario o un dispositivo a un grupo piloto. Para enviar estas solicitudes, pase el valor 7 o 8 al parámetro requestKind junto con una cadena con formato JSON al parámetro parametersAsJson que indica la solicitud que desea enviar junto con cualquier argumento relacionado. El método también admite solicitudes para asignar un PFN con un BigID (ProductID del catálogo de visualización). Para enviar esta solicitud, pase el valor 9 al parámetro requestKind. Estos valores requestKind difieren de las maneras siguientes.
Valor de tipo de solicitud | Descripción |
---|---|
7 | Las solicitudes se realizan en el contexto del dispositivo actual. Este valor solo se puede usar en Windows 10, versión 1703 o posterior. |
8 | Las solicitudes se realizan en el contexto del usuario que ha iniciado sesión actualmente en la Tienda. Este valor se puede usar en Windows 10, versión 1607 o posterior. |
9 | Las solicitudes devuelven bigID (ProductId) por PackageFamilyName a través de una solicitud HTTP al catálogo para mostrar con autenticación anónima. |
Actualmente se implementan las siguientes solicitudes de grupo piloto.
Recuperación de variables remotas para el grupo piloto de clasificación más alta
Importante
Esta solicitud no está disponible actualmente para la mayoría de las cuentas de desarrollador. Esta solicitud producirá un error a menos que Microsoft aprovisione especialmente su cuenta de desarrollador.
Esta solicitud recupera las variables remotas del grupo piloto de clasificación más alta para el usuario o dispositivo actual. Para enviar esta solicitud, pase la siguiente información a los parámetros requestKind y parametersAsJson del método SendRequestAsync .
Parámetro | Descripción |
---|---|
requestKind | Especifique 7 para devolver el grupo piloto de clasificación más alta para el dispositivo o especifique 8 para devolver el grupo piloto de clasificación más alta para el usuario y el dispositivo actuales. Se recomienda usar el valor 8 para el parámetro requestKind , ya que este valor devolverá el grupo piloto de clasificación más alta en toda la pertenencia tanto para el usuario actual como para el dispositivo. |
parametersAsJson | Pase una cadena con formato JSON que contenga los datos que se muestran en el ejemplo siguiente. |
En el ejemplo siguiente se muestra el formato de los datos JSON que se van a pasar a parametersAsJson. El campo de tipo debe asignarse a la cadena GetRemoteVariables. Asigne el campo projectId al identificador del proyecto en el que definió las variables remotas en el Centro de partners.
{
"type": "GetRemoteVariables",
"parameters": "{ \"projectId\": \"your project ID\" }"
}
Después de enviar esta solicitud, la propiedad Response del valor devuelto StoreSendRequestResult contiene una cadena con formato JSON con los campos siguientes.
Campo | Descripción |
---|---|
anónimo | Un valor booleano, donde true indica que el usuario o la identidad del dispositivo no estaba presente en la solicitud, y false indica que la identidad del usuario o del dispositivo estaba presente en la solicitud. |
name | Cadena que contiene el nombre del grupo piloto de clasificación más alta al que pertenece el dispositivo o el usuario. |
configuración | Diccionario de pares clave-valor que contienen el nombre y el valor de las variables remotas que el desarrollador ha configurado para el grupo piloto. |
En el ejemplo siguiente se muestra un valor devuelto para esta solicitud.
{
"anonymous": false,
"name": "Insider Slow",
"settings":
{
"Audience": "Slow"
...
}
}
Adición del dispositivo o usuario actual a un grupo piloto
Importante
Esta solicitud no está disponible actualmente para la mayoría de las cuentas de desarrollador. Esta solicitud producirá un error a menos que Microsoft aprovisione especialmente su cuenta de desarrollador.
Para enviar esta solicitud, pase la siguiente información a los parámetros requestKind y parametersAsJson del método SendRequestAsync .
Parámetro | Descripción |
---|---|
requestKind | Especifique 7 para agregar el dispositivo a un grupo piloto o especifique 8 para agregar el usuario que ha iniciado sesión actualmente en la Tienda a un grupo piloto. |
parametersAsJson | Pase una cadena con formato JSON que contenga los datos que se muestran en el ejemplo siguiente. |
En el ejemplo siguiente se muestra el formato de los datos JSON que se van a pasar a parametersAsJson. El campo de tipo debe asignarse a la cadena AddToFlightGroup. Asigne el campo flightGroupId al identificador del grupo piloto al que desea agregar el dispositivo o el usuario.
{
"type": "AddToFlightGroup",
"parameters": "{ \"flightGroupId\": \"your group ID\" }"
}
Si se produce un error con la solicitud, la propiedad HttpStatusCode del valor devuelto StoreSendRequestResult contiene el código de respuesta.
Quitar el dispositivo o usuario actual de un grupo piloto
Importante
Esta solicitud no está disponible actualmente para la mayoría de las cuentas de desarrollador. Esta solicitud producirá un error a menos que Microsoft aprovisione especialmente su cuenta de desarrollador.
Para enviar esta solicitud, pase la siguiente información a los parámetros requestKind y parametersAsJson del método SendRequestAsync .
Parámetro | Descripción |
---|---|
requestKind | Especifique 7 para quitar el dispositivo de un grupo piloto o especifique 8 para quitar el usuario que ha iniciado sesión actualmente en la Tienda de un grupo piloto. |
parametersAsJson | Pase una cadena con formato JSON que contenga los datos que se muestran en el ejemplo siguiente. |
En el ejemplo siguiente se muestra el formato de los datos JSON que se van a pasar a parametersAsJson. El campo de tipo debe asignarse a la cadena RemoveFromFlightGroup. Asigne el campo flightGroupId al identificador del grupo piloto del que desea quitar el dispositivo o el usuario.
{
"type": "RemoveFromFlightGroup",
"parameters": "{ \"flightGroupId\": \"your group ID\" }"
}
Si se produce un error con la solicitud, la propiedad HttpStatusCode del valor devuelto StoreSendRequestResult contiene el código de respuesta.