La validación de compras dentro de la aplicación (IAP) es un proceso en el que Singular evalúa los eventos de ingresos en sus aplicaciones (tanto Android como iOS) y detecta las compras no válidas/fraudulentas de los usuarios para que no sesguen sus métricas de ingresos.
Para obtener más información sobre la configuración de eventos en su integración SDK, consulte la guía SDKcorrespondiente y Testing Events and Revenue.
Preguntas generales
Las compras no válidas suelen estar causadas por los siguientes tipos de fraude:
-
Fraude de usuario: Los usuarios reales piratean/engañan la aplicación para conseguir favores/artículos basados en IAP sin pagar por ellos.
-
Fraude de marketing: Los editores fraudulentos envían eventos de ingresos falsos para aumentar sus KPI y hacer que parezca que traen usuarios de calidad.
Google Play y Apple App Store generan recibosdigitales cuando los usuarios realizan transacciones financieras a través de aplicaciones Android e iOS. Cada recibo codifica los detalles de la compra y está firmado criptográficamente por Google/Apple.
Puede enviar el recibo de compra a Singular junto con sus eventos de ingresos, permitiendo a Singular verificar la legitimidad de la compra.
Cuando Singular recibe un evento de ingresos con un recibo, comprueba lo siguiente:
- Singular recibió un recibo.
- El recibo no ha sido reutilizado (es decir, enviado en una transacción anterior).
- La firma del recibo es válida.
- En iOS, Singular verifica la firma utilizando el certificado de Apple.
- En Android, Singular utiliza la clave de licencia de la aplicación, si se ha proporcionado.
- Los detalles del recibo coinciden con los de la aplicación y la transacción
Si Singular encuentra que el evento de ingresos no es válido, se renombra a __iapinvalid__.
Nota: Para ayudar a que el proceso sea aún más seguro, puede proporcionar lo siguiente:
- Clave de licencia de Android: Permite a Singular verificar los ingresos criptográficamente en Android. Para obtener más información, consulte Añadir su clave de licencia de Google Play.
- El identificador SKU del producto y el identificador de la transacción. Para obtener más información, consulte la documentación del SDK(Unity, React Native, Android, iOS) o la documentación de S2S
La falta de recibos puede indicar ingresos fraudulentos.
Una vez que tenga una versión de su aplicación que envíe recibos a Singular por cada compra, y esa nueva versión esté disponible en la tienda de aplicaciones, todos los nuevos eventos (a partir de esta versión) deberían incluir recibos.
Para que Singular rechace los ingresos de cualquier compra que no venga acompañada de un recibo, active la opción Rechazar IAP sin recibo para su aplicación en la página Aplicaciones.
Nota: No se rechazarán los ingresos de los usuarios que hayan instalado o actualizado la aplicación antes de activar esta opción. La fecha exacta se muestra junto a la opción.
Una vez activada la validación de compras, sólo se mostrarán los ingresos válidos en el campo Ingresos de los informes.
Los siguientes campos aparecen en los registrospara los tipos Evento y Postback:
Campo | Qué buscar |
Event name | Si el recibo no es válido, el nombre del evento es __iapinvalid__. |
Event revenue | Si el recibo no es válido, el ingreso del evento es 0. |
Received revenue event | El nombre original del evento. |
Received revenue | Los ingresos reclamados originales. |
Is revenue receipt included | Si se proporcionó un recibo por la compra. |
Is revenue valid | Si la compra es válida. |
Postbacks BI internos
Singular envía los siguientes parámetros:
Parámetro | Qué buscar |
event_name | Si el recibo no es válido, el nombre del evento es __iapinvalid__. |
amount | Si el recibo no es válido, el ingreso del evento es 0. |
received_revenue_event | El nombre original del evento. |
received_revenue | Los ingresos reclamados originales. |
purchase_receipt_included | Si se proporcionó un recibo por la compra. |
purchase_receipt_valid | Si la compra es válida. |
Postbacks personalizados
Para configurar devoluciones personalizadas, consulte la sección Macrosde eventosen Macros de devolución y parámetros de transferencia.
Nota: Si desea recibir devoluciones por ingresos rechazados, puede configurar devoluciones para el evento __iapinvalid__.