RevenueCat vs StoreKit 2 (kendi altyapın) Comparación

Alquila la infraestructura de suscripciones multi-tienda como SDK + backend

VS
StoreKit 2 (kendi altyapın)

El framework de primera parte de Apple, pero el lado del servidor lo escribes tú

16 min de lecturaServices

Veredicto rápido

El umbral es claro: si tus ingresos mensuales rastreados (MTR) están por debajo de $2.500, RevenueCat es en la práctica gratuito; ahí no estás comparando ese 1%, sino coste cero — tu propia infraestructura siempre sale más cara al lado. Solo en una app que vende exclusivamente en App Store, con un único producto y sensible en materia de protección de datos, StoreKit 2 puro es defendible. Si vendes en varias tiendas, mantener sincronizados en paralelo los 18 tipos de notificación de RTDN con las notificaciones V2 de App Store sale caro; como regla general aproximada, vuelve a sopesar la decisión cuando el MTR supere los $50.000.

RevenueCatStoreKit 2 (kendi altyapın)
Leer el veredicto completo

Comparación de puntuaciones

Cargando gráfico...

Puntuación detallada

Puntuación detallada: RevenueCat y StoreKit 2 (kendi altyapın) — puntuaciones por categoría sobre 10
CategoríaRevenueCatStoreKit 2 (kendi altyapın)
Rendimiento
8/10
8/10
Facilidad de aprendizaje
8/10
5/10
Ecosistema
8/10
6/10
Comunidad
6/10
5/10
Mercado laboral
5/10
6/10
A prueba de futuro
8/10
8/10

Pros y contras

RevenueCat

Pros

  • Totalmente gratis hasta $2.500 de ingresos mensuales rastreados (MTR), por encima solo el 1%
  • Un único modelo de entitlement para App Store + Google Play + Amazon + Stripe + web
  • SDKs con licencia MIT y código abierto, datos exportables vía REST API v2
  • Los webhooks se reintentan automáticamente 5 veces con retraso creciente (5-80 min)
  • El dashboard trae listas las métricas de MRR, Revenue, Active/New Customers
  • Se puede solicitar asesoría oficial de plan de migración (plan a medida con el equipo de RevenueCat)
  • Paywall, pruebas A/B y herramientas de funnel web-to-app (Growth Tools) vienen incluidas
  • iOS SDK 5.91.0 (23 sep 2026) y Android SDK 10.23.0 (24 sep 2026) — cadencia de lanzamiento semanal

Contras

  • Por encima de $2.500 de MTR, los ingresos de cada tienda fluyen hacia un tercer 'processor' (requiere evaluación de protección de datos)
  • Tu lógica de negocio (modelo de entitlement/offering) queda atada a la abstracción de RevenueCat
  • Los datos de paywall y pruebas A/B se recopilan en el mismo 'processor' externo que los datos de compra
  • El repositorio purchases-android tiene una comunidad más pequeña que purchases-ios (560 vs 3.070 estrellas)
  • Puede introducir una abstracción excesiva en una app de una sola plataforma y un único producto simple

Ideal para

Productos de suscripción vendidos simultáneamente en App Store + Play + webApps en etapa temprana con ingresos mensuales rastreados por debajo de $2.500Equipos pequeños que quieren montar rápido pruebas A/B de paywall y análisis de cohortes/LTVQuienes no quieren escribir a mano la sincronización de reembolsos/devoluciones y estado de suscripciónProductos que quieren una única fuente de verdad de entitlement multiplataforma (iOS+Android+web)

StoreKit 2 (kendi altyapın)

Pros

  • Sin tarifa de SDK — viene con el sistema operativo de Apple, coste de licencia adicional cero
  • Los datos de ingresos/usuario no fluyen a ningún tercero, no hay ningún 'processor' adicional
  • AppTransaction y los recibos están firmados criptográficamente por App Store
  • Sin vendor lock-in — la arquitectura es completamente tuya, no dependes de RevenueCat
  • Con App Store Server API se puede recuperar hasta 180 días (30 en sandbox) de historial de notificaciones perdidas
  • Soporte de primer nivel documentado por Apple en su propia plataforma y en sesiones de WWDC

Contras

  • Solo cubre el ecosistema Apple; para el lado de Play necesitas una integración completamente aparte (RTDN + Billing Library)
  • Tienes que verificar en tu servidor las respuestas firmadas con JWS y escribir tú mismo la lógica de retry/backoff
  • App Store Server Notifications V1 quedó obsoleto, el endpoint V2 es obligatorio en tu servidor
  • Play Billing Library se actualiza con frecuencia (8.3.0 y 9.1.0 añaden APIs importantes, 9.0.0 trae cambios de comportamiento) — carga de mantenimiento constante
  • Herramientas como pruebas A/B de paywall o dashboard de cohortes/LTV hay que escribirlas desde cero
  • Reducir los 18 tipos de notificación de suscripción numerados del 1 al 22 de Play RTDN a un único modelo junto con las notificaciones V2 de App Store es un trabajo de ingeniería aparte

Ideal para

Modelos de suscripción de una sola plataforma (solo App Store), simples y de un único productoApps sensibles en protección de datos que no quieren transferir datos de ingresos a ningún tercero bajo ningún conceptoEmpresas medianas-grandes con un equipo de servidor ya maduro, a las que no les preocupa la verificación JWSProductos corporativos de larga vida que quieren evitar el vendor lock-inReglas de negocio que requieren mucha personalización y no encajan en la abstracción de RevenueCat

Comparación de código

RevenueCat
// RevenueCat - Comprobación de entitlement y compra (iOS SDK 5.x)
import RevenueCat

func configureRevenueCat() {
    Purchases.logLevel = .debug
    Purchases.configure(withAPIKey: "appl_XXXXXXXXXXXX")
}

func unlockProIfEntitled() async {
    do {
        let customerInfo = try await Purchases.shared.customerInfo()
        if customerInfo.entitlements["pro"]?.isActive == true {
            print("Entitlement pro activo")
        }
    } catch {
        print("Error de customerInfo: \(error)")
    }
}

func purchasePro() async {
    do {
        let offerings = try await Purchases.shared.offerings()
        guard let package = offerings.current?.availablePackages.first else { return }

        let result = try await Purchases.shared.purchase(package: package)
        if result.customerInfo.entitlements["pro"]?.isActive == true {
            print("Compra correcta, pro activo")
        }
    } catch {
        print("Error de compra: \(error)")
    }
}
StoreKit 2 (kendi altyapın)
// StoreKit 2 - Escucha de transacciones y comprobación de entitlement (tu propia infraestructura)
import StoreKit

func listenForTransactions() -> Task<Void, Error> {
    Task.detached {
        for await result in Transaction.updates {
            switch result {
            case .verified(let transaction):
                await grantEntitlement(for: transaction)
                await transaction.finish()
            case .unverified(_, let error):
                print("Verificación fallida: \(error)")
            }
        }
    }
}

func checkCurrentEntitlement() async -> Bool {
    for await result in Transaction.currentEntitlements {
        guard case .verified(let transaction) = result else { continue }
        if transaction.productID == "pro_monthly" {
            return true
        }
    }
    return false
}

func purchase(product: Product) async throws {
    let result = try await product.purchase()
    switch result {
    case .success(let verification):
        guard case .verified(let transaction) = verification else { return }
        await grantEntitlement(for: transaction)
        await transaction.finish()
    case .userCancelled, .pending:
        break
    @unknown default:
        break
    }
}

func grantEntitlement(for transaction: Transaction) async {
    // Envía el JWS a tu servidor, verifica de forma cruzada con la App Store Server API
}

Conclusión

El umbral es claro: si tus ingresos mensuales rastreados (MTR) están por debajo de $2.500, RevenueCat es en la práctica gratuito; ahí no estás comparando ese 1%, sino coste cero — tu propia infraestructura siempre sale más cara al lado. Solo en una app que vende exclusivamente en App Store, con un único producto y sensible en materia de protección de datos, StoreKit 2 puro es defendible. Si vendes en varias tiendas, mantener sincronizados en paralelo los 18 tipos de notificación de RTDN con las notificaciones V2 de App Store sale caro; como regla general aproximada, vuelve a sopesar la decisión cuando el MTR supere los $50.000.

Solicita una consultoría gratuita
FAQ

Preguntas frecuentes

Si tus ingresos mensuales rastreados (MTR) están por debajo de $2.500, RevenueCat es en la práctica gratuito y asume la verificación del lado del servidor multi-tienda, los webhooks y la gestión de reembolsos — en ese caso, RevenueCat suele tener sentido. En una app de una sola plataforma, con un único producto simple y que no quiere ceder datos de ingresos a un tercero, StoreKit 2 puro es una opción defendible. En un producto multi-tienda en crecimiento, construir tu propia infraestructura suele salir más caro.

Artículos de blog relacionados

Ver todos los artículos
Todas las comparaciones