React Native SDK'da hataları yönetin
SDK tarafından döndürülen her hata AdaptyErrorCode türündedir. İşte bir örnek:
Bu çözümler sorununuzu çözmezse, bize daha verimli yardım edebilmemiz için destek ekibiyle iletişime geçmeden önce uygulamanız gereken adımlar için Diğer sorunlar bölümüne bakın.
try {
const params: MakePurchaseParamsInput = {};
await adapty.makePurchase(product, params);
} catch (error) {
if (
error instanceof AdaptyError &&
error.adaptyCode === getErrorCode(ErrorCode['2'])
) {
// payment cancelled
}
}
Sistem StoreKit Kodları
| Hata | Kod | Çözüm |
|---|---|---|
| unknown | 0 | Bilinmeyen veya beklenmedik bir hata oluştuğunu belirten hata kodu. Yeniden deneyin veya Diğer sorunlar bölümüne bakın. |
| clientInvalid | 1 | İstemcinin denenen işlemi gerçekleştirmesine izin verilmediğini belirten hata kodu. |
| paymentCancelled | 2 | Kullanıcının ödeme isteğini iptal ettiğini belirten hata kodu. Herhangi bir işlem yapmanız gerekmez; ancak iş mantığı açısından kullanıcıya indirim teklif edebilir ya da daha sonra hatırlatabilirsiniz. |
| paymentInvalid | 3 | Ödeme parametrelerinden birinin App Store tarafından tanınmadığını belirten hata kodu. |
| paymentNotAllowed | 4 | Kullanıcının ödeme yapmaya yetkili olmadığını belirten hata kodu. |
| storeProductNotAvailable | 5 | İstenen ürünün mağazada mevcut olmadığını belirten hata kodu. Uygulamayı yeniden yüklemeyi deneyin. |
| cloudServicePermissionDenied | 6 | Kullanıcının bulut hizmeti bilgilerine erişime izin vermediğini belirten hata kodu. |
| cloudServiceNetworkConnectionFailed | 7 | Cihazın ağa bağlanamadığını belirten hata kodu. |
| cloudServiceRevoked | 8 | Kullanıcının bu bulut hizmetini kullanma iznini iptal ettiğini belirten hata kodu. |
| privacyAcknowledgementRequired | 9 | Kullanıcının Apple’ın gizlilik politikasını henüz onaylamadığını belirten hata kodu. |
| unauthorizedRequestData | 10 | Uygulamanın, gerekli yetkiye sahip olmadığı bir özelliği kullanmaya çalıştığını belirten hata kodu. |
| invalidOfferIdentifier | 11 |
İstediğiniz tekliflerin AppStore Connect’te ayarlandığından ve geçerli bir teklif tanımlayıcısı iletildiğinden emin olun. |
| invalidSignature | 12 | Ödeme indirimindeki imzanın geçerli olmadığını belirten hata kodu. |
| missingOfferParams | 13 | Ödeme indiriminde parametrelerin eksik olduğunu belirten hata kodu. |
| invalidOfferPrice | 14 | App Store Connect’te belirttiğiniz fiyatın artık geçerli olmadığını belirten hata kodu. Teklifler her zaman indirimli bir fiyatı temsil etmelidir. |
Özel Android kodları
| Hata | Kod | Çözüm |
|---|---|---|
| adaptyNotInitialized | 20 | Adapty SDK’yı Adapty.activate metoduyla doğru şekilde yapılandırmanız gerekiyor. Nasıl yapılacağını öğrenmek için React Native için inceleyebilirsiniz. |
| productNotFound | 22 | Bu hata, satın alınmak istenen ürünün mağazada mevcut olmadığını gösterir. |
| invalidJson | 23 | Paywall JSON’ı geçerli değil. Adapty Kontrol Paneli’nden düzeltin. Nasıl düzelteceğinizi öğrenmek için Paywall’u remote config ile özelleştirme konusuna bakabilirsiniz. |
| currentSubscriptionToUpdateNotFoundInHistory | 24 | Yenilenmesi gereken orijinal abonelik bulunamadı. |
| pendingPurchase | 25 | Bu hata, satın alma durumunun tamamlandı yerine beklemede olduğunu gösterir. Ayrıntılar için Android Geliştirici dokümanlarındaki Beklemedeki işlemleri yönetme sayfasına bakın. |
| billingServiceTimeout | 97 | Bu hata, Google Play yanıt vermeden önce isteğin maksimum zaman aşımına ulaştığını gösterir. Bu durum, örneğin Play Billing Library çağrısının istediği eylemin gecikmesiyle oluşabilir. |
| featureNotSupported | 98 | İstenen özellik, mevcut cihazda Play Store tarafından desteklenmiyor. |
| billingServiceDisconnected | 99 | Bu kritik hata, istemci uygulamasının BillingClient üzerinden Google Play Store hizmetiyle kurduğu bağlantının kesildiğini gösterir. |
| billingServiceUnavailable | 102 | Bu geçici hata, Google Play Billing hizmetinin şu anda kullanılamadığını gösterir. Çoğu durumda bu, istemci cihaz ile Google Play Billing hizmetleri arasında bir ağ bağlantısı sorunu olduğu anlamına gelir. |
| billingUnavailable | 103 | Bu hata, satın alma sürecinde kullanıcı kaynaklı bir ödeme hatası oluştuğunu gösterir. Bu hatanın oluşabileceği durumlar şunlardır: 1. Kullanıcının cihazındaki Play Store uygulaması güncel değil. 2. Kullanıcı desteklenmeyen bir ülkede bulunuyor. 3. Kullanıcı bir kurumsal kullanıcı ve kurumsal yöneticisi satın alma işlemlerini devre dışı bırakmış. 4. Google Play, kullanıcının ödeme yöntemini tahsil edemiyor. Örneğin, kullanıcının kredi kartının süresi dolmuş olabilir. 5. Kullanıcı Play Store uygulamasında oturum açmamış. |
| developerError | 105 | Bu, bir API’yi hatalı kullandığınızı gösteren kritik bir hatadır. |
| billingError | 106 | Bu, Google Play’in kendi içinde bir sorun olduğunu gösteren kritik bir hatadır. |
| itemAlreadyOwned | 107 | Consumable ürün zaten satın alınmış. |
| itemNotOwned | 108 | Bu hata, öğe üzerinde istenen eylemin başarısız olduğunu gösterir. |
Özel StoreKit kodları
| Hata | Kod | Çözüm |
|---|---|---|
| noProductIDsFound | 1000 | Bu hata, paywall’da talep ettiğiniz ürünlerin App Store’da listelenmiş olmasına rağmen satın alma için kullanılamadığını gösterir. Hata zaman zaman Bu hatayla karşılaşıyorsanız Kod-1000 |
| productRequestFailed | 1002 | Şu anda mevcut ürünler alınamıyor. Olası neden: - Henüz önbellek oluşturulmamış ve aynı anda internet bağlantısı yok. |
| cantMakePayments | 1003 | Bu cihazda uygulama içi satın almaya izin verilmiyor. Sorun giderme kılavuzuna bakın. |
| noPurchasesToRestore | 1004 | Bu hata, Google Play’in geri yüklenecek satın almayı bulamadığını gösterir. |
| cantReadReceipt | 1005 | Cihazda geçerli bir makbuz yok. Bu durum sandbox testleri sırasında sorun çıkarabilir. Herhangi bir işlem yapmanız gerekmez; ancak iş mantığı açısından kullanıcınıza indirim teklif edebilir veya daha sonra hatırlatabilirsiniz. |
| productPurchaseFailed | 1006 | Ürün satın alma başarısız oldu. |
| refreshReceiptFailed | 1010 | Bu hata, makbuzun alınamadığını gösterir. Yalnızca StoreKit 1 için geçerlidir. |
| receiveRestoredTransactionsFailed | 1011 | Satın alma geri yükleme başarısız oldu. |
Özel ağ kodları
| Hata | Kod | Çözüm |
|---|---|---|
| notActivated | 2002 | Adapty SDK etkinleştirilmemiş. Adapty.activate metodunu kullanarak Adapty SDK’yı doğru şekilde yapılandırmanız gerekiyor. |
| badRequest | 2003 | Hatalı istek. App Store entegrasyonu için gereken tüm adımları tamamladığınızdan emin olun. |
| serverError | 2004 | Sunucu hatası. Bir süre sonra tekrar deneyin. Sorun devam ederse Adapty destek ekibiyle iletişime geçin. |
| networkFailed | 2005 | Bu hata, kullanıcının cihazındaki ağ bağlantısıyla ilgili sorunlara işaret eder. VPN’i devre dışı bırakmayı ya da hücresel ağdan WiFi’ye veya tersine geçmeyi deneyin. |
| decodingFailed | 2006 | Bu hata, yanıt çözümlemesinin başarısız olduğunu gösterir. Kodunuzu gözden geçirin ve gönderdiğiniz parametrelerin geçerli olduğundan emin olun. Örneğin bu hata, geçersiz bir API anahtarı kullandığınıza işaret edebilir. |
| encodingFailed | 2009 | Bu hata, istek kodlamasının başarısız olduğunu gösterir. |
| missingURL | 2010 | İstenen URL nil değerinde. |
| analyticsDisabled | 3000 | Devre dışı bıraktığınız için analitik olayları işlenemiyor. |
| wrongParam | 3001 | Bu hata, bazı parametrelerinizin hatalı olduğunu gösterir. Adapty paywall builder kullanıyorsanız ve bu hata nedeniyle paywall görüntüleyemiyorsanız, paywall builder’da Show on device seçeneğini açın. Bir diğer olası neden, yerel yedek dosya sürümünün SDK sürümüyle eşleşmemesidir. Kontrol panelinden yeni bir dosya indirin. |
| activateOnceError | 3005 | .activate metodu birden fazla kez çağrılamaz. |
| profileWasChanged | 3006 | İşlem sırasında kullanıcı profili değişti. Bu hata, identify çağrısı yaptıktan sonra identify tamamlanmadan başka bir metod çağırdığınızda oluşabilir. Bunu önlemek için identify başarıyla tamamlanana kadar diğer metodları çağırmayı bekleyin. |
| unsupportedData | 3007 | Bu hata, veri formatının SDK tarafından desteklenmediğini gösterir. |
| persistingDataError | 3100 | Veri kaydedilirken bir hata oluştu. |
| fetchTimeoutError | 3101 | Bu hata, getirme işleminin zaman aşımına uğradığını gösterir. |
Diğer sorunlar
Henüz bir çözüm bulamadıysanız, sonraki adımlar şunlar olabilir:
- SDK’yı en son sürüme yükseltme: En son SDK sürümleri daha kararlıdır ve bilinen sorunlara yönelik düzeltmeler içerir; bu nedenle her zaman güncellemenizi öneririz.
- Destek ekibiyle iletişime geçin veya diğer geliştiricilerden yardım alın destek forumu üzerinden.
- Destek ekibiyle [email protected] adresinden veya sohbet üzerinden iletişime geçin: SDK’yı yükseltmeye hazır değilseniz ya da yükseltme sorunu çözmediyse destek ekibimize başvurun. Ayrıntılı günlük kaydını etkinleştirip ekiple paylaşırsanız sorununuz daha hızlı çözülür. İlgili kod parçacıklarını da ekleyebilirsiniz.