Un SDK open-source pour intégrer les achats in-app sur Android

Implémentez des achats in-app en 30 minutes.

Backend prêt à l'emploi pour Android achats intégrés

Intégrer les achats intégrés nécessite de créer une infrastructure backend et un serveur pour les événements d'abonnement. Cela peut prendre des centaines d'heures de travail et être difficile à maintenir.
import StoreKit
class Store: ObservableObject {
    private var productIDs = ["stone"]
    @Published var products = [Product]()
    init() {
        Task {
            await requestProducts()
        }
    }  
    @MainActor
    func requestProducts() async {
        do {
            products = try await Product.products(for: productIDs)
        } catch {
            print(error)
    }
  }
}
Section(header: Text("To buy")) {
 }
ForEach(store.products, id: .id) {
  product in
    HStack {
      Text(product.displayName)
      Spacer()
      Button("(product.displayPrice)") {
    }
  }
}
@Published var purchasedNonConsumables = [Product]()
@MainActor
func purchase(_ product: Product) async throws -> Transaction ? {
  let result =
    try await product.purchase()
  switch result {
    case .success(.verified(let transaction)):
      purchasedNonConsumables.append(product)
      await transaction.finish()
      return transaction
    default:
      return nil
  }
}
Button("(product.displayPrice)") {
 Task {
  try await store.purchase(product)
  }
}
ProductView(
 icon: "❀",
 quantity: "(store.purchasedNonConsumables.count)"
 )
 func listenForTransactions() -> Task < Void, Error > {
  return Task.detached {
    for await result in Transaction.updates {
      switch result {
        case let.verified(transaction):
          guard
          let product = self.products.first(where: {
            $0.id == transaction.productID
          })
          else {
            continue
          }
          self.purchasedNonConsumables.append(product)
          await transaction.finish()
        default:
          continue
      }
    }
  }
}
var transacitonListener: Task<Void, Error>?
init() {
   transacitonListener = listenForTransactions()
   Task {
     await requestProducts()
 }
}
@MainActor
private func handle(transactionVerification result: VerificationResult <Transaction> ) async {
  switch result {
    case let.verified(transaction):
      guard
      let product = self.products.first(where: {
        $0.id == transaction.productID
      })
      else {
        return
      }
      self.purchasedNonConsumables.insert(product)
      await transaction.finish()
    default:
      return
  }
}
Le SDK Adapty vous permet d'intégrer des abonnements intégrés dans votre application iOS avec notre infrastructure prête à l'emploi, qui gère tous les événements d'abonnement et offre des fonctionnalités de croissance des revenus.
// Your app's code
Adapty.activate(this, "YOUR_APP_KEY")
 
// Make a purchase, Adapty handles the rest
Adapty.makePurchase(activity, product) { result ->
	when (result) {
		is AdaptyResult.Success -> {
			// successful purchase
		}
		is AdaptyResult.Error -> {
			// handle the error
		}
	}
}
De l'intégration à la maintenance – Adapty est conçu pour faciliter le travail avec les achats intégrés.
Demander une démo

Pourquoi choisir le SDK Adapty?

État d'abonnement correct à tout moment

Soyez assuré que vous obtiendrez toujours l'état correct des abonnés sur toutes les plateformes.

Validation des reçus côté serveur

Pas besoin de vous inquiéter de la correction et de la sécurité de la validation des achats.

Gestion de tous types d'états d'abonnement

Essais gratuits, mises à niveau, offres promotionnelles, partage familial, renouvellements, et plus.

Plateforme prête pour les entreprises avec un court cycle de publication

>99,99 % de fiabilité SLA et des mises à jour régulières du produit.
Configuration des plateformes
Installation du SDK Adapty
Adapty.activate(
   "PUBLIC_SDK_KEY",
   customerUserId: "YOUR_USER_ID"
)
Traitement des événements d'achat

Intégration rapide et facile

Passez seulement quelques heures à intégrer le SDK Adapty dans votre application iOS et nous nous occuperons du reste.

Juste 5 méthodes SDK à implémenter Android achats intégrés

Adapty.makePurchase(activity, product) { result ->
    when (result) {
        is AdaptyResult.Success -> {
            val info = result.value
            //NOTE: info is null in case of cross-grade with DEFERRED proration mode
            val profile = info?.profile
 
            if (profile?.accessLevels?.get("YOUR_ACCESS_LEVEL")?.isActive == true) {
                // grant access to premium features
            }
        }
        is AdaptyResult.Error -> {
            val error = result.error
            // handle the error
        }
    }
}
// Your app's code
Adapty.restorePurchases { [weak self] result in
    switch result {
        case let .success(profile):
            if info.profile.accessLevels["YOUR_ACCESS_LEVEL"]?.isActive ?? false {
	            // successful access restore
            }
        case let .failure(error):
            // handle the error
    }
}
&nbsp
// Your app's code
Adapty.identify("YOUR_USER_ID") { error ->
    if (error == null) {
        // successful identify
    }
}
 
 
 
 
 
 
// Your app's code
val builder = AdaptyProfileParameters.Builder()
    .with("Profile_Parameters")
 
Adapty.updateProfile(builder.build()) { error ->
    if (error != null) {
        // handle the error
    }
}
 
 
 
// Your app's code
Adapty.updateAttribution(attribution, AdaptyAttributionSource.CUSTOM) { error ->
    if (error != null) {
        //handle error
    }
}
 
 
 
 
 
 
Essayez gratuitement

Des personnes de tous types d'entreprises se tournent vers Adapty pour augmenter leurs revenus

Cem Ortabas, Co-founder and CEO of HubX
“Migrer de RevenueCat n'a pas été une décision facile pour nous. Nous avons choisi Adapty car nous croyons qu'ils sont un meilleur partenaire alors que nous grandissons. En regardant en arrière, c'était le bon choix. Malgré quelques accrochages, l'équipe d'Adapty a toujours été là pour nous aider pendant la migration et après, et leur support est de premier ordre. Je recommande Adapty comme un partenaire fiable.”
Cem Ortabas
Co-fondateur et PDG, HubX
HUBX
Chris Bick, Founder and CEO of Bickster
“Nous travaillons avec Adapty depuis 2021 et je ne pourrais pas être plus heureux à ce sujet. Nous avons essayé d'autres plateformes de gestion d'abonnements dans le passé, donc je peux comparer. Adapty a introduit de nombreuses fonctionnalités au fil des ans et a constamment aidé notre croissance. Ils ont les meilleures analyses sur le marché et toutes les intégrations auxquelles on peut penser. Si vous cherchez à augmenter les revenus de votre application, je recommande définitivement Adapty.”
Chris Bick
Fondateur et PDG, Bickster
Bickster
Yalçın Özdemir, Founder & CEO of AppNation
“Nous avons choisi Adapty pour ses puissantes capacités de test A/B de paywalls, qui nous ont aidés à optimiser notre stratégie de monétisation de manière efficace. La plateforme conviviale, les prix flexibles et un support client exceptionnel font d'Adapty un choix supérieur par rapport aux concurrents.”
Yalçın Özdemir
Fondateur et PDG, AppNation
AppNation
Kyle Smith, Head of data at Smitten Dating
"La plateforme d'Adapty permet aux non-développeurs de créer et de gérer facilement des tests A/B, des paywalls, un mélange de produits et une structure de tarification. Ils ont une excellente API externe qui facilite le passage des événements liés à d'autres outils d'analyse comme Amplitude et Mixpanel."
Kyle Smith
Responsable des données chez Smitten Dating
Smitten
Roi Mulia, Founder & CEO of SocialKit
“Nous avons testé plus de trois cents paywalls en l'espace de quatre mois. Adapty permet de tester pratiquement tous les éléments du paywall, et nous en avons profité. Nous les avons tous testés: produits, texte du titre, boutons CTA, images, vidéos, etc. Avec le test A/B d'Adapty, nous avons réussi à doubler nos revenus mensuels. Je n’étais pas sûr qu’un seul outil puisse avoir un tel impact, mais je l'ai constaté de mes propres yeux.”
Roi Mulia
Fondateur et PDG, SocialKit
SocialKit

Que pouvez-vous obtenir avec Adapty?

Le SDK Adapty offre d'énormes possibilités pour faire croître les revenus de l'application

Analyse en temps réel pour votre Android App

Fiez-vous aux données avec une précision de 99,5 % avec App Store Connect.
Commencer
App Icon Gravity
Gravity Fit
Santé & Fitness
« Les tableaux de bord analytiques transparents et avancés nous aident à prendre des décisions plus rapidement sans utiliser d'outils supplémentaires. Cela nous fait gagner beaucoup de temps et, par conséquent, d'argent. »
Ekaterina K,
PM chez Gravity Fit
Accuracy Adapty Appstore
ABC testing

Tests A/B de paywalls

Trouvez le paywall le plus rentable et augmentez les revenus de votre application.
Explorer les tests A/B
MentalGrowth
MentalGrowth
Application Santé & Bien-être
« Les analyses rapides d'Adapty et la fonctionnalité de tests A/B faciles à lancer ont permis de valider rapidement des hypothèses et d'obtenir d'excellents résultats. »
Vadim Nemchenko,
Chef de produit chez MentalGrowth

Configuration à distance pour les paywalls

Changez votre paywall à distance sans avoir à rééditer l'application.
Essayez-le maintenant
Smitten
Smitten - Rencontres
Style de vie
« Notre équipe de croissance et de revenus est capable de mettre en œuvre et de gérer rapidement des paywalls, des offres de produits, et de tester des niveaux de prix dans de nombreux marchés différents. »
Kyle Smith,
Responsable des données chez Smitten Dating
Table Json Table Locale

La convivialité et le service à la clientèle font l'objet d'une grande confiance

Sur la base de plus de 500 avis
G2 Award: Leader (EMEA), winter 2025
G2 Award: Leader (EMEA), winter 2025
G2 Award: Leader (EMEA), winter 2025
G2 Award: Leader (EMEA), winter 2025
G2 Award: Leader (EMEA), winter 2025