iOS SDK'da gelişmiş işlem yönetimi
Gelişmiş işlem yönetimi, Adapty iOS SDK’nın 3.12 sürümünden itibaren desteklenmektedir.
Adapty’deki gelişmiş işlem yönetimi, işlemlerin nasıl ele alındığı, doğrulandığı ve tamamlandığı üzerinde size daha fazla kontrol sağlar.
Gelişmiş işlem yönetimi, birlikte çalışan üç isteğe bağlı özellik sunar:
| Özellik | Amaç |
|---|---|
appAccountToken | Apple işlemlerini dahili kullanıcı kimliğinize bağlar |
jwsTransaction | Doğrulama için Apple’ın imzalanmış işlem yükünü sağlar |
| Manuel tamamlama | İşlemleri yalnızca backend’iniz başarıyı onayladıktan sonra tamamlamanıza olanak tanır |
Bu araçlar birlikte, Adapty işlemleri kendi backend’iyle senkronize etmeye devam ederken sağlam özel doğrulama akışları oluşturmanıza imkân verir.
Çoğu uygulamanın buna ihtiyacı yoktur. Varsayılan olarak Adapty, StoreKit işlemlerini otomatik olarak doğrular ve tamamlar. Bu kılavuzu yalnızca kendi backend doğrulamanızı çalıştırıyorsanız veya satın alma yaşam döngüsünü tamamen kontrol etmek istiyorsanız kullanın.
appAccountToken atama
appAccountToken, App Store işlemlerini dahili kullanıcı kimliğinize bağlamanızı sağlayan bir UUID’dir.
StoreKit bu token’ı her işlemle ilişkilendirir; böylece backend’iniz App Store verilerini kullanıcılarınızla eşleştirebilir.
Kullanıcı başına oluşturulan kararlı bir UUID kullanın ve aynı hesap için farklı cihazlarda da bu UUID’yi yeniden kullanın. Bu, satın almaların ve App Store bildirimlerinin doğru şekilde eşleştirilmesini sağlar.
Token’ı iki farklı şekilde ayarlayabilirsiniz: SDK etkinleştirmesi sırasında veya kullanıcıyı tanımlarken.
appAccountToken’ı her zaman customerUserId ile birlikte geçirmeniz gerekir.
Yalnızca token’ı geçerseniz işleme dahil edilmez.
JWS gösterimine erişme
Bir satın alma yaptığınızda, sonuç Apple’ın işlemini JWS Compact Serialization formatında içerir. Bu değeri bağımsız doğrulama veya kayıt amacıyla backend’inize iletebilirsiniz.
let result = try await Adapty.makePurchase(product: paywallProduct)
let jwsRepresentation = result.jwsTransaction
İşlem tamamlama davranışını kontrol etme
Varsayılan olarak Adapty, StoreKit işlemlerini doğrulamanın ardından otomatik olarak tamamlar. Backend’inizin başarıyı onaylamasına kadar tamamlamayı ertelemek istiyorsanız tamamlama davranışını manuel olarak ayarlayın.
Bu modda:
- Adapty yine de satın almaları doğrular ve kendi backend’iyle senkronize eder.
finish()metodunu açıkça çağırana kadar işlemler tamamlanmamış olarak kalır.
var configBuilder = AdaptyConfiguration
.builder(withAPIKey: "YOUR_API_KEY")
.with(transactionFinishBehavior: .manual)
try await Adapty.activate(with: configBuilder.build())
Manuel işlem tamamlamayı kullanırken, tamamlanmamış işlemleri yönetmek için onUnfinishedTransaction delegate metodunu uygulamanız gerekir:
extension YourApp: AdaptyDelegate {
func onUnfinishedTransaction(_ transaction: AdaptyUnfinishedTransaction) async {
// Perform your custom validation logic here
// When ready, finish the transaction
await transaction.finish()
}
}
Mevcut tüm tamamlanmamış işlemleri almak için getUnfinishedTransactions() metodunu kullanın:
let unfinishedTransactions = try await Adapty.getUnfinishedTransactions()