Altova MobileTogether Designer

En el proyecto de ejemplo el usuario final puede obtener una lista de productos que comprar desde la aplicación con el botón Consultar productos disponibles (imagen siguiente izquierda). Hay un botón Comprar por cada producto de la lista (imagen siguiente izquierda) En la imagen siguiente derecha puede ver el diseño, en el que aparece el botón en la parte inferior derecha. Este botón tiene dos atributos importantes: (i) su texto y (ii) la solicitud de compra que se envía a la tienda de aplicaciones.

 

A continuación explicamos los dos en detalle para dispositivos Andoid. Puede que tenga que modificar el diseño para que se ajuste a los distintos requisitos de las distintas tiendas de aplicaciones.

Clic para expandir/contraer     Clic para expandir/contraer

Texto del botón

El botón Comprar se coloca en un grupo de filas que se repite por cada elemento Product de la fuente de página $MT_IN-APP_PURCHASE de forma que cada botón afecta a su elemento correspondiente. En cuanto al texto:

 

Si el producto todavía no se ha adquirido, queremos que el texto que aparezca sea Comprar. Puede averiguar si un producto ha sido adquirido comprobando si existe como elemento Purchase en una fuente de página $MT_IN-APP_PURCHASE. Para ello puede usar el elemento secundario SKU_ID de los elementos Purchase para comprobar si alguno coincide con el atributo @SKU_ID del elemento Product actual.

Si ese producto ha sido adquirido, puede ser de tipo (i) suscripción o (ii) un producto de otro tipo. En el caso de las suscripciones, lo que queremos es que se vea la fecha hasta la que son válidas. En el caso de los demás productos, lo que queremos que se vea es la fecha de la compra.

Los productos de suscripción tienen un atributo @SubscriptionPeriod, así que basta con comprobar si un producto lo tiene o no para saber si es de suscripción. Si la suscripción es anual, el valor del atributo será P1Y (es decir, @SubscriptionPeriod="P1Y"); si es mensual, P1M (es decir, @SubscriptionPeriod="P1M"). Puede calcular la fecha de expiración de una suscripción basándose en el valor del atributo @SubscriptionPeriod; para ello añada el periodo correspondiente (año o mes) a la fecha de compra.

Si el producto (consumible o no consumible) que se ha comprado no es una suscripción, lo que queremos que se vea es la fecha de la compra.

 

En la imagen siguiente puede ver la expresión XPath de la propiedad Texto del botón Comprar. Observe que el nodo de contexto de la expresión XPath será el elemento $MT_IN_APP_PURCHASE/Root/Products/Product. La razón es que este botón está dentro de una tabla dinámica cuyas filas se repiten en el elemento Product.

MTDInAPExBuyButtonXPath

Solicitud de compra para la tienda de aplicaciones

Según el texto que aparezca en el botón Comprar hay dos posibles reacciones:

 

Si el producto ya se ha adquirido, no se procede con la compra desde la aplicación

Si el producto todavía no se ha adquirido, se envía la solicitud de compra a la tienda de aplicaciones.

 

Las acciones definidas para el evento se basan en este condicional, como puede ver en la imagen siguiente.

MTDInAPExBuyButtonActions

Si el producto ya ha sido adquirido, aparece un mensaje informado de ello. De lo contrario se ejecuta la acción Comprar y la aplicación en vía una solicitud de compra para ese producto a la tienda de aplicaciones.

 

Nota:la imagen muestra un caso simplificado en el que un producto solo se puede adquirir una vez. También puede que quiera (i) permitir que un producto se compre varias veces o (ii) comprobar si una suscripción ha expirado o no antes de permitir que se renueve.

 

© 2018-2024 Altova GmbH