Ein Open-Source-SDK zur Integration von In-App-Käufen auf Android

Implementiere In-App-Käufe in 30 Minuten.

Out-of-the-box-Backend für Android In-App-Käufe

Die Integration von In-App-Käufen erfordert die Erstellung einer Backend-Infrastruktur und eines Servers für Abonnementereignisse. Dies kann Hunderte von Stunden Arbeit in Anspruch nehmen und ist eine Herausforderung zu warten.
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
  }
}
Adapty SDK ermöglicht Ihnen die Integration von In-App-Abonnements in Ihre iOS-App mit unserer fertigen Infrastruktur, die alle Abonnementereignisse verwaltet und umsatzsteigernde Funktionen bietet.
// 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
		}
	}
}
Von der Integration bis zur Wartung – Adapty wurde entwickelt, um die Arbeit mit IAP zu erleichtern.
Demo anfordern

Warum Adapty SDK wählen?

Korrekter Abonnementstatus zu jedem Zeitpunkt

Seien Sie versichert, dass Sie immer den korrekten Abonnentenstatus auf allen Plattformen erhalten.

Serverseitige Belegvalidierung

Keine Sorge über die Richtigkeit und Sicherheit der Kaufvalidierung.

Verwaltung aller Arten von Abonnementstatus

Kostenlose Testversionen, Upgrades, Aktionsangebote, Familienfreigabe, Erneuerungen und mehr.

Unternehmensbereite Plattform mit kurzer Release-Zyklusstelle

>99,99% SLA-Zuverlässigkeit und regelmäßige Produktupdates.
Konfiguration von Plattformen
Adapty SDK installieren
Adapty.activate(
   "PUBLIC_SDK_KEY",
   customerUserId: "YOUR_USER_ID"
)
Verarbeitung von Kaufereignissen

Schnelle und einfache Integration

Verbringen Sie nur ein paar Stunden damit, das Adapty SDK in Ihre iOS-App zu integrieren, und wir kümmern uns um den Rest.

Nur 5 SDK-Methoden, um Android In-App-Käufe zu implementieren

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
    }
}
 
 
 
 
 
 
Kostenlos ausprobieren

Menschen aus allen Arten von Unternehmen wenden si…, um   ihre Einnahmen zu steigern.

Was erhalten Sie mit Adapty?

Adapty SDK bietet enorme Möglichkeiten zur Steigerung des App-Umsatzes

Echtzeit-Analytik für Ihre Android App

Verlassen Sie sich auf Daten mit einer Genauigkeit von 99,5% mit App Store Connect.
Loslegen
App Icon Gravity
Gravity Fit
Gesundheit & Fitness
„Transparente und fortschrittliche Analyse-Dashboards helfen uns, schneller Entscheidungen zu treffen, ohne zusätzliche Tools zu verwenden. Es spart uns viel Zeit und damit Geld.“
Ekaterina K,
PM bei Gravity Fit
Accuracy Adapty Appstore
ABC testing

Paywall A/B-Tests

Finden Sie die rentabelste Paywall und steigern Sie die Einnahmen Ihrer App.
A/B-Tests erkunden
MentalGrowth
MentalGrowth
Gesundheit & Wellness-App
„Die schnellen Analysen und die einfach zu startende A/B-Testfunktion von Adapty haben es uns ermöglicht, Hypothesen schnell zu validieren und großartige Ergebnisse zu erzielen.“
Vadim Nemchenko,
Produktmanager bei MentalGrowth

Remote-Konfiguration für Paywalls

Ändern Sie Ihre Paywall aus der Ferne, ohne die App erneut veröffentlichen zu müssen.
Jetzt ausprobieren
Smitten
Smitten - Dating
Lebensstil
„Unser Wachstum- und Revenue-Team kann Paywalls, Produktangebote und Preistests schnell in vielen verschiedenen Märkten implementieren und verwalten.“
Kyle Smith,
Leiter Daten bei Smitten Dating
Table Json Table Locale

Vertrauen in Benutzerfreundlichkeit und Kundenservice

Basierend auf 500+ Bewertungen
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