Unity SDK'da hataları yönetme
SDK tarafından döndürülen her hata AdaptyErrorCode türündedir. İşte bir örnek:
Bu çözümler sorununuzu gidermezse, destek ekibiyle iletişime geçmeden önce atmanız gereken adımlar için Diğer sorunlar bölümüne bakın; bu, size daha hızlı yardımcı olmamızı sağlar.
Adapty.MakePurchase(product, (profile, error) => {
if (error != null && error.Code == Adapty.ErrorCode.PaymentCancelled) {
// payment cancelled
}
});
Sistem StoreKit Kodları
| Hata | Kod | Çözüm |
|---|---|---|
| unknown | 0 | Bilinmeyen veya beklenmedik bir hata oluştuğunu gösteren hata kodu. Tekrar deneyin veya Diğer sorunlar bölümüne bakın. |
| clientInvalid | 1 | İstemcinin gerçekleştirmeye çalıştığı işleme izin verilmediğini gösteren hata kodu. |
| paymentCancelled | 2 | Kullanıcının ödeme isteğini iptal ettiğini gösteren hata kodu. Herhangi bir işlem yapmanıza gerek yok; ancak iş mantığı açısından kullanıcıya indirim teklif edebilir ya da daha sonra hatırlatma yapabilirsiniz. |
| paymentInvalid | 3 | Ödeme parametrelerinden birinin App Store tarafından tanınmadığını gösteren hata kodu. |
| paymentNotAllowed | 4 | Kullanıcının ödeme yapmasına izin verilmediğini gösteren hata kodu. |
| storeProductNotAvailable | 5 | İstenen ürünün mağazada mevcut olmadığını gösteren hata kodu. Uygulamayı yeniden yüklemeyi deneyin. |
| cloudServicePermissionDenied | 6 | Kullanıcının bulut hizmeti bilgilerine erişime izin vermediğini gösteren hata kodu. |
| cloudServiceNetworkConnectionFailed | 7 | Cihazın ağa bağlanamadığını gösteren hata kodu. |
| cloudServiceRevoked | 8 | Kullanıcının bu bulut hizmetini kullanma iznini iptal ettiğini gösteren hata kodu. |
| privacyAcknowledgementRequired | 9 | Kullanıcının Apple’ın gizlilik politikasını henüz onaylamadığını gösteren hata kodu. |
| unauthorizedRequestData | 10 | Uygulamanın gerekli yetkiye sahip olmadığı bir özelliği kullanmaya çalıştığını gösteren hata kodu. |
| invalidOfferIdentifier | 11 | Teklif İstediğiniz teklifleri AppStore Connect’te ayarladığınızdan ve geçerli bir teklif tanımlayıcısı geçirdiğinizden emin olun. |
| invalidSignature | 12 | Ödeme indirimindeki imzanın geçerli olmadığını gösteren hata kodu. |
| missingOfferParams | 13 | Ödeme indiriminde parametrelerin eksik olduğunu gösteren hata kodu. |
| invalidOfferPrice | 14 | App Store Connect’te belirttiğiniz fiyatın artık geçerli olmadığını gösteren 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 düzgün şekilde yapılandırmanız gerekiyor. Nasıl yapacağınızı öğrenmek için Unity için ilgili sayfaya bakın. |
| productNotFound | 22 | Bu hata, satın alma için 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 bakın. |
| currentSubscriptionToUpdateNotFoundInHistory | 24 | Yenilenmesi gereken orijinal abonelik geçmişte bulunamadı. |
| pendingPurchase | 25 | Bu hata, satın alma durumunun tamamlandı yerine beklemede olduğunu gösterir. Ayrıntılar için Android Developer belgelerindeki Bekleyen 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ı tarafından istenen işlemin gecikmesinden kaynaklanabilir. |
| featureNotSupported | 98 | İstenen özellik, mevcut cihazda Play Store tarafından desteklenmiyor. |
| billingServiceDisconnected | 99 | Bu kritik hata, istemci uygulamanın BillingClient aracılığıyla 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 işlemi sırasında kullanıcı kaynaklı bir faturalandırma 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. 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ına giriş yapmamış. |
| 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 işlemin 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 listelenmesine rağmen satın alma için mevcut olmadığını gösterir. Bazen bu hatayla birlikte 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ı da yok. |
| cantMakePayments | 1003 | Bu cihazda Uygulama İçi satın almalar 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 yaşanabilir. Herhangi bir işlem yapmanıza gerek yok; ancak iş mantığı açısından kullanıcıya indirim teklif edebilir ya da daha sonra hatırlatabilirsiniz. |
| productPurchaseFailed | 1006 | Ürün satın alımı 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ş. SDK’yı Adapty.activate metodunu kullanarak düzgün şekilde yapılandırmanız gerekiyor. |
| badRequest | 2003 | Hatalı istek. App Store entegrasyonu için gerekli 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 sorunları gösterir. VPN’i devre dışı bırakmayı ya da mobil 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ızı gösterebilir. |
| encodingFailed | 2009 | Bu hata, istek kodlamasının başarısız olduğunu gösterir. |
| missingURL | 2010 | İstenen URL nil. |
| analyticsDisabled | 3000 | Devre dışı bıraktığınız için analitik olayları işleyemiyoruz. |
| wrongParam | 3001 | Bu hata, bazı parametrelerinizin doğru olmadığını gösterir. Adapty paywall builder kullanıyorsanız ve bu hata nedeniyle paywall gösteremiyorsanız, paywall builder’da Show on device seçeneğini etkinleştirin. 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ından hemen sonra identify tamamlanmadan başka bir metot çağırdığınızda oluşabilir. Bunu önlemek için diğer metotları çağırmadan önce identify işleminin tamamlanmasını 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, veri çekme işleminin zaman aşımına uğradığını gösterir. |
Diğer sorunlar
Henüz bir çözüm bulamadıysanız, deneyebileceğiniz sonraki adımlar şunlardır:
- SDK’yı en son sürüme yükseltin: En son SDK sürümleri daha kararlı olduğundan ve bilinen sorunlara yönelik düzeltmeler içerdiğinden, her zaman güncellemenizi öneririz.
- Destek ekibiyle iletişime geçin veya diğer geliştiricilerden yardım alın: Destek forumundan diğer geliştiricilerle iletişime geçebilirsiniz.
- Destek ekibiyle [email protected] adresinden veya sohbet üzerinden iletişime geçin: SDK’yı yükseltmeye hazır değilseniz veya bu işlem sorunu çözmediyse destek ekibimize başvurun. Ayrıntılı günlük kaydını etkinleştirip günlükleri ekiple paylaşırsanız sorununuz daha hızlı çözülecektir. İlgili kod parçacıklarını da ekleyebilirsiniz.