AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones específicas para móviles / Funciones de compras dentro de la aplicación
  • Casos especiales
  • Aplicación en segundo plano: Caso específico a partir de Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
envíos:
  • una solicitud de compra de un producto "In-App" associated con la aplicación.
  • una solicitud de compra de una suscripción.
Observación: La solicitud de compra es asincrónica. Se ejecuta una "Callback" Procedure al recibir la respuesta a la solicitud de compra.
Ejemplo
MyProduct is inAppProduct = arrProduct[nIndex]
inAppPurchaseProduct(MyProduct, ValidateProductPurchase)
PROCEDURE ValidateProductPurchase(bSuccess is boolean, Product is inAppProduct, Receipt)
 
IF NOT bSuccess THEN
ToastDisplay(ErrorInfo())
RETURN
ELSE
// Android case
IF InAndroidMode() THEN
// Consume the product (optional)
inAppConsumeProduct(Product, Receipt, ConsumeProduct)
END
// iOS case
IF IniOSMode() THEN
// Activate the product in the application
EnableProduct(Product)
// Save the purchase in the application preferences
SaveParameter(Product..Identifier, 1)
END
END
Sintaxis
iPhone/iPad

iOS: Envío de una solicitud de compra Ocultar los detalles

<Result> = inAppPurchaseProduct(<Product to purchase> , <Quantity> , <WLanguage procedure>)
<Result>: booleano
  • True si se realizó la solicitud de compra,
  • False en caso contrario. Para obtener más información sobre el error, utilice la función ErrorInfo.
<Product to purchase>: inAppProduct Variable
Nombre de inAppProduct Variable correspondiente a:
  • el producto a comprar.
  • la suscripción para comprar o renovar.
<Quantity>: Integro
Cantidad a comprar.
  • Para una suscripción, este parámetro debe corresponder a 1.
  • Si el valor de este parámetro es 0, <Resultado> se establece en False y no se llama al procedimiento.
<WLanguage procedure>: Nombre de Procedure
Nombre del WLanguage Procedure ("callback") que se ejecuta cuando se recibe la respuesta a la solicitud de compra. Para obtener más información sobre este procedimiento, consulte Parámetros del procedimiento utilizado por la función inAppPurchaseProduct.
Android

Android: Envío de una solicitud de compra Ocultar los detalles

<Result> = inAppPurchaseProduct(<Product to purchase> , <WLanguage procedure>)
<Result>: booleano
  • True si se realizó la solicitud de compra,
  • False en caso contrario. Para obtener más información sobre el error, utilice la función ErrorInfo.
<Product to purchase>: inAppProduct Variable
Nombre de inAppProduct Variable correspondiente a:
  • el producto a comprar.
  • la suscripción para comprar o renovar.
<WLanguage procedure>: Nombre de Procedure
Nombre del WLanguage Procedure ("callback") que se ejecuta cuando se recibe la respuesta a la solicitud de compra. Para obtener más información sobre este procedimiento, consulte Parámetros del procedimiento utilizado por la función inAppPurchaseProduct.
Observaciones

Casos especiales

  • Si la compra es válida, la aplicación debe proporcionar el contenido de la compra al usuario.
  • iPhone/iPad Si la compra se realizó, la aplicación debe almacenar esta información. Esta información puede ser almacenada en las preferencias por SaveParameter.
  • Si la función inAppPurchaseProduct se utiliza para adquirir una suscripción que ya está activa para el usuario, esta suscripción se extiende automáticamente por el período correspondiente.
  • Android No se puede comprar un producto que ya haya sido adquirido por el usuario. El producto debe ser consumido (con inAppConsumeProduct) antes de poder volver a comprarlo.
    inAppListPurchase se utiliza para recuperar los productos comprados por el usuario y aún no consumidos.
  • Android No se puede especificar la cantidad de productos a comprar. Debes crear productos que correspondan a la cantidad deseada en la consola de desarrollo de Google Play. Luego, la aplicación debe administrar el uso de las cantidades compradas.
  • Android No se pueden realizar varias solicitudes de pedido al mismo tiempo.. Debe esperar la respuesta a una solicitud antes de realizar una nueva solicitud.
  • Android inAppPurchaseProduct no tiene efecto si se ejecuta desde el simulador o emulador Android .
Android

Aplicación en segundo plano: Caso específico a partir de Android 10

A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano.
La función inAppPurchaseProduct puede abrir una ventana. Si se utiliza esta función cuando la aplicación está en segundo plano, se producirá un error fatal.
Consejos:
  • Para saber si la aplicación está en segundo plano, utilice la función InBackgroundMode.
  • Si una aplicación necesita interactuar con el usuario cuando está en segundo plano, se puede mostrar una notificación (con el tipo Notification). La aplicación volverá al primer plano cuando se haga clic en la notificación, si la propiedad ActivateApplication se establece en True. También es posible abrir una ventana desde el procedimiento pasado a la propiedad ActionClick.
Para obtener más información, consulte Android 10: Comportamiento de aplicaciones en segundo plano.
Componente: wd290android.aar
Versión mínima requerida
  • Versión 19
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 01/07/2023

Señalar un error o enviar una sugerencia | Ayuda local