RevenueCat vs StoreKit 2 (kendi altyapın) Comparaison

Louer l'infrastructure d'abonnement multi-boutiques sous forme de SDK + backend

VS
StoreKit 2 (kendi altyapın)

Le framework de première partie d'Apple, mais vous écrivez vous-même le côté serveur

16 min de lectureServices

Verdict rapide

Le seuil est net : si vos revenus suivis mensuels (MTR) sont sous les 2 500 $, RevenueCat est pratiquement gratuit ; à ce niveau, ce n'est pas 1 % que vous comparez, mais un coût nul — votre propre infrastructure reste toujours plus chère en comparaison. Seul le StoreKit 2 pur est défendable pour un produit mono-boutique (App Store uniquement), à produit unique, sensible sur le plan RGPD. Si vous êtes multi-boutiques, synchroniser en parallèle les 18 types de notifications de RTDN avec les notifications V2 de l'App Store devient coûteux ; règle empirique grossière : au-delà de 50 000 $ de MTR, réévaluez la décision.

RevenueCatStoreKit 2 (kendi altyapın)
Lire le verdict complet

Comparaison des scores

Chargement du graphique...

Notation détaillée

Notation détaillée: RevenueCat et StoreKit 2 (kendi altyapın) — notes sur 10, catégorie par catégorie
CatégorieRevenueCatStoreKit 2 (kendi altyapın)
Performance
8/10
8/10
Facilité d'apprentissage
8/10
5/10
Écosystème
8/10
6/10
Communauté
6/10
5/10
Marché de l'emploi
5/10
6/10
Pérennité
8/10
8/10

Avantages & Inconvénients

RevenueCat

Avantages

  • Entièrement gratuit jusqu'à 2 500 $ de revenu suivi mensuel (MTR), seulement 1 % au-delà
  • Un seul modèle d'entitlement pour App Store + Google Play + Amazon + Stripe + web
  • SDK sous licence MIT et open source, données exportables via la REST API v2
  • Les webhooks sont automatiquement retentés 5 fois avec un délai croissant (5-80 min)
  • Le tableau de bord fournit d'emblée les métriques MRR, Revenue, Active/New Customers
  • Un accompagnement de migration officiel peut être demandé (plan personnalisé avec l'équipe RevenueCat)
  • Les outils de paywall, tests A/B et funnel web-to-app (Growth Tools) sont prêts à l'emploi
  • SDK iOS 5.91.0 (23 sept. 2026) et SDK Android 10.23.0 (24 sept. 2026) — cadence de sortie hebdomadaire

Inconvénients

  • Au-delà de 2 500 $ de MTR, les revenus de chaque boutique transitent par un tiers « processor » (nécessite une évaluation au titre de l'article 9 de la loi KVKK)
  • Votre logique métier (modèle entitlement/offering) se lie à l'abstraction de RevenueCat
  • Les données de paywall et de tests A/B sont collectées chez le même tiers « processor » que les données d'achat
  • Le dépôt purchases-android a une communauté plus petite que purchases-ios (560 contre 3 070 étoiles)
  • Peut apporter une abstraction excessive pour une application mono-plateforme, simple et mono-produit

Idéal pour

Produits d'abonnement vendus simultanément sur App Store + Play + webApplications en phase précoce avec un revenu suivi mensuel sous 2 500 $Petites équipes voulant mettre en place rapidement des tests A/B de paywall et une analyse cohortes/LTVCeux qui ne veulent pas écrire manuellement la synchronisation des remboursements et du statut d'abonnementProduits voulant une source unique d'entitlement multi-plateforme (iOS+Android+web)

StoreKit 2 (kendi altyapın)

Avantages

  • Aucun frais de SDK — fourni avec le système d'exploitation Apple, coût de licence additionnel nul
  • Les données de revenus/utilisateurs ne transitent par aucun tiers, aucun « processor » supplémentaire
  • Les AppTransaction et les reçus sont signés cryptographiquement par l'App Store
  • Aucun vendor lock-in — l'architecture est entièrement entre vos mains, aucune dépendance à RevenueCat
  • L'App Store Server API permet de rattraper un historique de notifications de 180 jours (30 jours en sandbox)
  • Support de premier plan et documentation via les sessions WWDC sur la propre plateforme d'Apple

Inconvénients

  • Ne couvre que l'écosystème Apple ; le côté Play nécessite une intégration entièrement séparée (RTDN + Billing Library)
  • Vous devez vérifier vous-même sur votre serveur les réponses signées JWS et écrire vous-même la logique de retry/backoff
  • App Store Server Notifications V1 est obsolète, le point de terminaison V2 est obligatoire sur votre serveur
  • La Play Billing Library est mise à jour fréquemment (ajouts d'API majeurs en 8.3.0 et 9.1.0, changements de comportement en 9.0.0) — charge de maintenance continue
  • Des outils comme les tests A/B de paywall et le tableau de bord cohortes/LTV doivent être écrits de zéro
  • Réduire les 18 types de notifications d'abonnement de Play RTDN (numérotés de 1 à 22) à un modèle unique avec les notifications V2 de l'App Store est un travail d'ingénierie à part entière

Idéal pour

Modèles d'abonnement mono-plateforme (App Store uniquement), simples, à produit uniqueApplications sensibles sur le plan RGPD/KVKK ne voulant transférer aucune donnée de revenus à un tiers, quelle que soit la formeEntreprises moyennes à grandes ayant déjà une équipe serveur mature, peu préoccupées par la vérification JWSProduits d'entreprise à longue durée de vie voulant éviter le vendor lock-inRègles métier nécessitant une personnalisation poussée, qui ne rentrent pas dans l'abstraction de RevenueCat

Comparaison de code

RevenueCat
// RevenueCat - Vérification d'entitlement et achat (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 actif")
        }
    } catch {
        print("Erreur 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("Achat réussi, pro actif")
        }
    } catch {
        print("Erreur d'achat : \(error)")
    }
}
StoreKit 2 (kendi altyapın)
// StoreKit 2 - Écoute des transactions et vérification d'entitlement (votre propre infrastructure)
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("Échec de la vérification : \(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 {
    // Envoyer le JWS à votre serveur, vérifier de manière croisée avec l'App Store Server API
}

Conclusion

Le seuil est net : si vos revenus suivis mensuels (MTR) sont sous les 2 500 $, RevenueCat est pratiquement gratuit ; à ce niveau, ce n'est pas 1 % que vous comparez, mais un coût nul — votre propre infrastructure reste toujours plus chère en comparaison. Seul le StoreKit 2 pur est défendable pour un produit mono-boutique (App Store uniquement), à produit unique, sensible sur le plan RGPD. Si vous êtes multi-boutiques, synchroniser en parallèle les 18 types de notifications de RTDN avec les notifications V2 de l'App Store devient coûteux ; règle empirique grossière : au-delà de 50 000 $ de MTR, réévaluez la décision.

Obtenir une consultation gratuite
FAQ

Questions fréquentes

Si vos revenus suivis mensuels (MTR) sont sous les 2 500 $, RevenueCat est pratiquement gratuit et prend en charge la vérification serveur multi-boutiques, les webhooks et la gestion des remboursements — dans ce cas, RevenueCat est généralement judicieux. Pour une application mono-plateforme, à produit unique simple, qui ne veut transmettre ses données de revenus à aucun tiers, le StoreKit 2 pur reste une option défendable. Pour un produit multi-boutiques en croissance, écrire sa propre infrastructure revient généralement plus cher.

Articles de blog associés

Voir tous les articles
Toutes les comparaisons