Habilitar compras de producto en la aplicación (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Tu aplicación puede ofrecer productos y características que tus clientes pueden comprar desde la aplicación. Aquí mostramos cómo habilitar estas ofertas en la aplicación.

Ten en cuenta que un cliente solamente puede comprar un producto desde la aplicación si compró una versión completa de tu aplicación.

Lo que debes saber

Tecnologías

Requisitos previos

  • Una aplicación de Windows en tiempo de ejecución en la que se pueden agregar características que los clientes pueden comprar.

Instrucciones

Paso 1: Inicializa la información de licencia para la aplicación

Cuando se está iniciando la aplicación, obtén el objeto LicenseInformation para la aplicación mediante la iniciación de CurrentApp o CurrentAppSimulator para habilitar las compras de productos desde la aplicación.

function appInit()
{
    // some app initialization functions

        // Get current product object 
        // Execute only one of these statements. 
        // The next line is commented out for testing.
        // currentApp = Windows.ApplicationModel.Store.CurrentApp;

        // The next line is commented out for production/release.
        currentApp = Windows.ApplicationModel.Store.CurrentAppSimulator;

        // We should have either a real or a simulated CurrentProduct object here.

        // Get the license info
        licenseInformation = currentApp.licenseInformation;

    // other app initializations function
}

Nota  Cuando codificas y pruebas nuevos productos desde la aplicación por primera vez, debes usar el objeto CurrentAppSimulator en lugar del objeto CurrentApp. De esta manera, puedes comprobar la lógica de la licencia con llamadas simuladas al servidor de licencias en lugar del servidor activo. Para lograrlo, también debes personalizar el archivo llamado "WindowsStoreProxy.xml" en %userprofile%\AppData\local\packages\<package name>\LocalState\Microsoft\Windows Store\ApiData. El simulador de Microsoft Visual Studio crea este archivo la primera vez que ejecutas tu aplicación o puedes cargar un archivo personalizado en tiempo de ejecución. Para obtener más información, consulta los documentos CurrentAppSimulator.

 

Paso 2: Agrega los productos en la aplicación

Para cada función que deseas que esté disponible a través de un producto desde la aplicación, crea una oferta desde la aplicación y agrégala a tu aplicación.

Importante  Debes agregar todas los productos desde la aplicación que deseas presentar a tus clientes antes de enviar la aplicación a la Tienda. Si deseas agregar nuevos productos en la aplicación más adelante, tendrás que actualizar la aplicación y enviar una nueva versión.

 

  1. Crea un token de oferta desde la aplicación

    Puedes identificar cada producto de la aplicación en la aplicación con un token. Este token es una cadena que debes definir y usar en la aplicación y en la Tienda para identificar un producto concreto desde la aplicación. Debes darle un nombre único y significativo (en la aplicación) para que puedas identificar rápidamente la función correcta que representa mientras la estás codificando. Estos son algunos ejemplos de nombres:

    • "SpaceMissionLevel4"
    • "ContosoCloudSave"
    • "RainbowThemePack".
  2. Codifica la característica en un bloqueo condicional

    Debes poner un código para cada función asociada con un producto desde la aplicación en un bloqueo condicional que comprueba si el cliente tiene una licencia para usar esa función.

    En este ejemplo se muestra cómo puedes codificar una función de producto llamada featureName en un bloqueo condicional específico de una licencia. La cadena, featureName, es el token que identifica este producto de manera única en la aplicación. Se usa también para identificarla en la Tienda.

    
    if (licenseInformation.productLicenses.lookup("featureName").isActive) 
    {
        // the customer can access this feature
    }
    else 
    {
        // the customer can't access this feature
    }
    
  3. Agrega la interfaz de usuario de compra para esta característica

    La aplicación también debe proporcionar una manera para que los clientes puedan comprar el producto o la función incluida en el producto desde la aplicación. No pueden obtenerlos a través de la Tienda de la misma manera que obtuvieron la aplicación completa.

    A continuación te mostramos cómo comprobar si el cliente ya tiene un producto desde la aplicación y, si no la tiene, cómo mostrar el cuadro de diálogo de compra para que puedan comprarla. Reemplaza el comentario “show the purchase dialog” (mostrar el cuadro de diálogo de compra) por el código personalizado para el cuadro de diálogo de compra (como una página con un botón que diga “¡Compra esta aplicación!”).

    function buyFeature1() {
        if (!licenseInformation.productLicenses.lookup("featureName").isActive)
        {
            // The customer doesn't own this feature, so 
            // show the purchase dialog.
    
            // note: currentApp is a reference to CurrentAppSimulator from a previous declaration
            currentApp.requestProductPurchaseAsync("featureName", false).then(
                function () {
                    //Check the license state to determine if the in-app purchase was successful.
                }, 
                function () {
                    // The in-app purchase was not completed because 
                    // there was an error.
                });
        } 
        else
        {
            // The customer already owns this feature.
        }
    }
    

Paso 3: Cambia el código de prueba para las llamadas finales

Este es un paso fácil: cambia cada referencia a CurrentAppSimulator por CurrentApp en el código de la aplicación. Ya no es necesario que proporciones el archivo WindowsStoreProxy.xml; por lo tanto, elimínalo de la ruta de acceso de la aplicación (aunque es posible que quieras guardarlo como referencia para realizar la configuración de la oferta desde la aplicación en el próximo paso).

Paso 4: Configura la oferta del producto desde la aplicación en la Tienda

Antes de enviar la aplicación a la Tienda, agrega todos los productos desde la aplicación en el flujo de trabajo Enviar una aplicación. Aquí es donde debes especificar el token, el precio y la vigencia de la función del producto desde la aplicación. Asegúrate de que la configuración es idéntica a la configuración que estableciste en WindowsStoreProxy.xml durante las pruebas.

Paso 5: Describe el producto desde la aplicación en la Tienda

Después de cargar el paquete de la aplicación en la Tienda, puedes escribir la descripción de cada producto desde la aplicación en la página Descripción, cuando envíes la aplicación. Si la aplicación admite más de un idioma, deberás describir cada producto de la aplicación en cada idioma admitido.

Proporciona una descripción clara y específica que indique con precisión la función que el producto desde la aplicación agrega la aplicación. Si no ofreces una descripción clara acerca del valor del producto más allá de la que proporciona la aplicación en sí, será difícil venderla. Para obtener detalles sobre partes específicas de una descripción del producto desde la aplicación, consulta Descripción de la aplicación.

Observaciones

Si te interesa proporcionar a tus clientes opciones de productos consumibles desde la aplicación, consulta el tema Habilitar compras de productos consumibles desde la aplicación.

Si necesitas usar recibos para comprobar que el usuario ha comprado un producto desde la aplicación, asegúrate de revisar Usar recibos para comprobar compras.

Temas relacionados

Habilitar compras de productos consumibles desde la aplicación

Aplicación de prueba y muestra de compra desde la aplicación