Las compras directas desde la aplicación (CDA) son contenido digital o funciones que puedes vender en una app para dispositivos móviles a través de Google Play o la App Store de Apple, de modo que tu aplicación no tenga que procesar transacciones financieras. Algunos ejemplos de compras directas desde la aplicación incluyen contenido basado en suscripciones o artículos especiales de videojuegos.
Analytics muestra los eventos de IAP en el informe de compras directas desde la app.
En el caso de las apps para Android, el SDK de Analytics se integra en Google Play. En el caso de las apps para plataformas de Apple, el SDK se integra en la App Store de Apple mediante las APIs de StoreKit 1 y StoreKit 2 de Apple.
En la mayoría de los casos, el SDK de Analytics recopila eventos de IAP automáticamente sin requerir llamadas a la API en tu app. En iOS, también puedes registrar eventos de IAP de forma manual en un WebView, además de los eventos de IAP recopilados de manera automática. En esta guía, se explica cómo configurar tu proyecto para el seguimiento automático y se describen algunos casos especiales que requieren pocas líneas de código para implementarse.
Antes de comenzar
Configura tu proyecto de Firebase y la base de código de tu app como se describe en Comienza a usar Google Analytics.
Vincula tu proyecto de Firebase a una propiedad Google Analytics 4.
Apps para Android
Asegúrate de que tu app use la versión 17.3.0 o una posterior del SDK de Analytics (o la versión 25.2.0 o una posterior de Firebase Android BoM).
Apps para plataformas de Apple
Asegúrate de usar el SDK más reciente:
Para el seguimiento automático de compras directas desde la app, asegúrate de que esta última use la versión 6.20.0 o una posterior del SDK de Analytics.
Para el seguimiento manual de compras directas desde la app, asegúrate de que esta última use la versión 12.5.0 o una posterior del SDK de Analytics.
Consulta la documentación de Apple para asegurarte de conocer las APIs de compra directa desde la app de Apple StoreKit 1 y StoreKit 2.
Implementación
En la mayoría de los casos, el SDK de Analytics registra automáticamente los eventos de IAP sin requerir código adicional.
Implementación en apps para Android
En el caso de las apps para Android, puedes medir los eventos de IAP en cuanto te vincules a Google Play.
Implementación en apps para plataformas de Apple
En el caso de las apps para iOS, si usas StoreKit 1, el SDK de Analytics registra automáticamente los eventos de IAP. Si usas StoreKit 2, puedes registrar eventos de compra directa desde la app verificados con el siguiente fragmento de código.
Como alternativa, si necesitas hacer un seguimiento de las compras directas desde la app que se realizan fuera de App Store, puedes registrar los eventos de IAP de forma manual en un WebView. Ten en cuenta que el SDK seguirá registrando automáticamente las compras directas desde la app siempre que sea posible y no quitará los duplicados de los eventos de compra directa desde la app registrados manualmente. Asegúrate de usar la versión 12.5.0 o una posterior del SDK de Analytics cuando realices un seguimiento manual de las compras directas desde la app.
Swift
Si usas StoreKit 1, el SDK de Analytics registra automáticamente los eventos de IAP.
Si usas StoreKit 2, usa el siguiente código para registrar eventos de IAP.
import StoreKit import FirebaseAnalytics // A user tapped a button to purchase an item. func userTappedPurchaseUpgradeButton() { let product = ... purchaseSomeProduct(product) } func purchaseSomeProduct(_ product: Product) { // Purchase a Product. This is mostly standard boilerplate StoreKit 2 // code, except for the Analytics.logTransaction() call. let result = try await product.purchase() switch result { case .success(let verification): let transaction = try checkVerified(verification) // Call this Firebase API to log the in-app purchase event. Analytics.logTransaction(transaction) await transaction.finish() ... }
Objective-C
Si usas StoreKit 1, el SDK de Analytics registra automáticamente los eventos de IAP.
StoreKit 2 es solo para Swift, por lo que no se admite una implementación de Objective-C.