Android SDK'da hataları yönetin
SDK tarafından döndürülen her hata AdaptyError türündedir.
Hata ayıklamadan önce ayrıntılı logları etkinleştirin. Çoğu AdaptyError, temel bir Play Billing, ağ veya backend hatasını sarmalıyor. Ayrıntılı loglar açıkken (Adapty.logLevel = AdaptyLogLevel.VERBOSE — bkz. Loglama), sarmalanan hata konsola yazdırılır ve genellikle asıl nedeni ortaya koyar.
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 sayede size daha verimli yardım edebiliriz.
| Hata | Çözüm |
|---|---|
| UNKNOWN | Bu hata, bilinmeyen veya beklenmedik bir hata oluştuğunu gösterir. |
| ITEM_UNAVAILABLE | Bu hata çoğunlukla test aşamasında ortaya çıkar. Ürünlerin production ortamında mevcut olmadığı veya kullanıcının Google Play’deki Testers grubuna dahil olmadığı anlamına gelebilir. |
| ADAPTY_NOT_INITIALIZED | Adapty SDK etkinleştirilmemiş. En sık, bir açılış ekranı veya erken bir UI hook’u Adapty.activate tamamlanmadan önce Adapty metodlarını çağırdığında görülür. Belirtiler aralıklıdır ve gerçek cihaz zamanlaması farklı olduğundan emülatörde yeniden üretilemeyebilir. Başka SDK çağrılarını zamanlamadan önce Adapty.activate tamamlanana kadar bekleyin. Tam sıra için Android SDK’da çağrı sırası sayfasına bakın. Ayrıca Adapty.activate metodunu kullanarak Adapty SDK’yı doğru şekilde yapılandırmanız gerekir. |
| PROFILE_WAS_CHANGED | Kullanıcı profili işlem sırasında değiştirildi. Bu durum, Adapty.identify hâlâ çalışırken bir metot çağrıldığında gerçekleşir; uçuştaki çağrı, değiştirilmek üzere olan bir profile denk gelir ve SDK bunu reddeder. Başka SDK çağrılarını zamanlamadan önce Adapty.identify tamamlanana kadar bekleyin. Bkz. Android SDK’da çağrı sırası. |
| PRODUCT_NOT_FOUND | Bu hata, satın alma için talep edilen ürünün mağazada mevcut olmadığını gösterir. |
CURRENT_SUBSCRIPTION_TO_UPDATE _NOT_FOUND_IN_HISTORY | Değiştirilmesi gereken orijinal abonelik, aktif abonelikler arasında bulunamadı. |
| BILLING_SERVICE_TIMEOUT | Bu hata, isteğin Google Play yanıt veremeden maksimum zaman aşımına ulaştığını gösterir. Bu durum, örneğin Play Billing Library çağrısı tarafından talep edilen eylemin yürütülmesindeki bir gecikmeden kaynaklanabilir. |
| FEATURE_NOT_SUPPORTED | Talep edilen özellik, mevcut cihazda Play Store tarafından desteklenmiyor. |
| BILLING_SERVICE_DISCONNECTED | Bu hata, istemci uygulamasının BillingClient aracılığıyla Google Play Store hizmetine olan bağlantısının kesildiğini gösterir. |
| BILLING_SERVICE_UNAVAILABLE | Bu hata, Google Play Billing hizmetinin şu anda kullanılamadığını gösterir. Çoğu durumda, istemci cihaz ile Google Play Billing hizmetleri arasında herhangi bir noktada ağ bağlantısı sorunu yaşandığı anlamına gelir. |
| BILLING_UNAVAILABLE | Bu hata, satın alma işlemi sırasında bir faturalama sorunu oluştuğunu gösterir. Olası nedenler şunlardır: 1. Kullanıcının cihazındaki Play Store uygulaması eksik veya güncel değil. 2. Kullanıcı desteklenmeyen bir ülkede. 3. Kullanıcı, yöneticinin satın almaları devre dışı bıraktığı bir kurumsal hesaba dahil. 4. Google Play, kullanıcının ödeme yöntemini tahsil edemedi (örneğin, süresi dolmuş bir kredi kartı). 5. Kullanıcı Play Store uygulamasında oturum açmamış. |
| DEVELOPER_ERROR | Bu hata, bir API’yi hatalı kullandığınızı gösterir. |
| BILLING_ERROR | Bu hata, Google Play’in kendisinde dahili bir sorun olduğunu gösterir. |
| ITEM_ALREADY_OWNED | Ürün zaten satın alınmış. |
| ITEM_NOT_OWNED | Bu hata, kullanıcı bu ürüne sahip olmadığı için talep edilen işlemin başarısız olduğunu gösterir. |
| BILLING_NETWORK_ERROR | Bu hata, cihaz ile Play sistemleri arasındaki ağ bağlantısında bir sorun yaşandığını gösterir. |
| NO_PRODUCT_IDS_FOUND | Bu hata, paywall’daki ürünlerin hiçbirinin mağazada mevcut olmadığını gösterir. Bu hatayla karşılaşıyorsanız çözmek için aşağıdaki adımları izleyin:
|
| NO_PURCHASES_TO_RESTORE | Adapty Android SDK 4.0.2’de kullanım dışı bırakıldı: restorePurchases() artık bu hatayı döndürmüyor. Geri yüklenecek bir şey olmadığında, metot mevcut profille başarıyla tamamlanır; bu nedenle içindeki access level durumunu kontrol edin. Önceki SDK sürümlerinde bu hata, Google Play’in geri yüklenecek satın almayı bulamadığını gösterir. |
| AUTHENTICATION_ERROR | Adapty.activate metodunu kullanarak Adapty SDK’yı doğru şekilde yapılandırmanız gerekir. |
| BAD_REQUEST | Hatalı istek. Google Play ile entegrasyon için gerekli tüm adımları tamamladığınızdan emin olun. |
| SERVER_ERROR | Sunucu hatası. |
| REQUEST_FAILED | Bu hata, düzgün tanımlanamayan bir ağ sorununu gösterir. |
| DECODING_FAILED | Yanıt çözümlenemedi. 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. |
| ANALYTICS_DISABLED | Devre dışı bıraktığınız için analitik olaylarını işleyemiyoruz. |
| WRONG_PARAMETER | Bu hata, bazı parametrelerinizin doğru olmadığını gösterir: boş olamayacakken boş bırakılmış veya yanlış türde, vb. SDK ayrıca yerel bir yedek dosyasını okuyamadığında da bu hatayı döndürür; çoğunlukla dosya sürümü SDK sürümüyle eşleşmediği için. Kontrol panelinden yeni bir dosya indirin. |
| LOGGING_OUT_UNIDENTIFIED_USER | Adapty.logout(), hiçbir zaman tanımlanmamış bir kullanıcı için çağrıldı. Yalnızca Adapty.identify çağrısından sonra kullanın. |
Flow render hataları
Adapty SDK 4.0 ve sonrası bu hataları bir yöntem çağrısından döndürmek yerine AdaptyFlowEventListener içindeki onError aracılığıyla bildirir. Bkz. Android SDK’da olayları yönetme.
| Hata | Çözüm |
|---|---|
| WRONG_ASSET_TYPE | Flow’daki bir görsel öğe, renk veya degrade dolgu olan bir asset’e işaret ediyor; bu nedenle SDK o yere bir yer tutucu render ediyor. Flow Builder üzerinden ilgili öğeye bir görsel asset atayın. |
| JS_EXCEPTION | Flow’un JavaScript kodu bir istisna fırlattı. Hata mesajındaki istisna metnini okuyun. |
| NAVIGATOR_NOT_FOUND | Ekran açma eylemi, flow’un görünüm yapılandırmasında bulunmayan bir navigator adı belirtiyor ve flow’un geri dönebileceği bir default navigator yok. Flow Builder üzerinden eylemin hedefini gözden geçirin. |
| INVALID_ACTION_URL | URL açma eylemi, bir URL’ye çözümlenemeyen bir string ID’ye başvuruyor. Flow Builder üzerinden bu eylem için geçerli bir URL belirleyin. |
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 forumunda.
- Destek ekibiyle support@adapty.io adresinden veya sohbet üzerinden iletişime geçin: SDK’yı yükseltmeye hazır değilseniz ya da yükseltme sorunu çözmediyse destek ekibimize ulaşın. Ayrıntılı günlük kaydını etkinleştirip günlükleri ekiple paylaşırsanız sorununuz daha hızlı çözülür. İlgili kod parçacıklarını da ekleyebilirsiniz.