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 üretim ortamında mevcut olmadığı ya da kullanıcının Google Play’deki Testers grubuna dahil olmadığı anlamına gelebilir. |
| ADAPTY_NOT_INITIALIZED | Adapty SDK etkinleştirilmemiş. En sık, Adapty.activate tamamlanmadan önce bir splash screen veya erken çalışan bir UI kancasının Adapty metodlarını çağırması durumunda görülür. Bu sorun aralıklı yaşanır ve gerçek cihaz zamanlaması emülatörden farklı olduğu için emülatörde yeniden üretilemeyebilir. Başka SDK çağrılarını planlamadan önce Adapty.activate tamamlanmasını bekleyin. Tam sıralama için bkz. Android SDK’da çağrı sırası. Ayrıca Adapty.activate metodunu kullanarak Adapty SDK’yı doğru şekilde yapılandırmanız gerekir. |
| PROFILE_WAS_CHANGED | İşlem sırasında kullanıcı profili değişti. Bu durum, Adapty.identify hâlâ çalışırken bir metod çağrıldığında yaşanır; uçuştaki çağrı, değiştirilmek üzere olan bir profile denk gelir ve SDK bunu reddeder. Diğer SDK çağrılarını planlamadan önce Adapty.identify tamamlanmasını bekleyin. Bkz. Android SDK’da çağrı sırası. |
| PRODUCT_NOT_FOUND | Bu hata, satın alınmak istenen ü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, 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 yürütülmesindeki bir gecikmeden kaynaklanabilir. |
| FEATURE_NOT_SUPPORTED | İstenen özellik, mevcut cihazda Play Store tarafından desteklenmiyor. |
| BILLING_SERVICE_DISCONNECTED | Bu hata, istemci uygulamanın BillingClient aracılığıyla Google Play Store hizmetiyle kurduğu bağlantı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 bu, istemci cihaz ile Google Play Billing hizmetleri arasında bir ağ bağlantısı sorunu olduğu 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 (örn. süresi dolmuş kredi kartı) tahsil edemedi. 5. Kullanıcı Play Store uygulamasında oturum açmamış. |
| DEVELOPER_ERROR | Bu hata, bir API’nin yanlış kullanıldığını gösterir. |
| BILLING_ERROR | Bu hata, Google Play’in kendi içinde bir sorun olduğunu gösterir. |
| ITEM_ALREADY_OWNED | Ürün zaten satın alınmış. |
| ITEM_NOT_OWNED | Bu hata, öğe kullanıcıya ait olmadığı için istenen 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 3.17.3 ve 4.0.2 sürümlerinde kullanımdan kaldırıldı: restorePurchases() artık bu hatayı döndürmüyor. Geri yüklenecek bir şey olmadığında metod, mevcut profille başarıyla tamamlanır; bu nedenle profildeki access level durumunu kontrol edin. Daha eski 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 gerekiyor. |
| BAD_REQUEST | Geçersiz istek. Google Play ile entegrasyon için gereken 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 | Analytics’i devre dışı bıraktığınız için analytics olaylarını işleyemiyoruz. |
| WRONG_PARAMETER | Bu hata, bazı parametrelerinizin hatalı olduğunu gösterir: boş olamayacak alanda boş değer, yanlış tip vb. SDK ayrıca yerel bir yedek paywall dosyasını okuyamadığında da bu hatayı döndürür; bu durum çoğunlukla dosya sürümünün SDK sürümüyle eşleşmemesinden kaynaklanır. Kontrol panelinden yeni bir dosya indirin. |
| LOGGING_OUT_UNIDENTIFIED_USER | Adapty.logout(), hiç tanımlanmamış bir kullanıcı için çağrıldı. Bunu 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 gösteriyor. Flow & Paywall Builder içinde ilgili öğeye bir görsel asset atayın. |
| JS_EXCEPTION | Flow’un JavaScript kodu bir hata fırlattı. Hata mesajındaki istisna metnini okuyun. |
| NAVIGATOR_NOT_FOUND | Bir ekran açma eylemi, flow’un görünüm yapılandırmasında bulunmayan bir navigator’a başvuruyor ve flow’da geri dönülecek default bir navigator da yok. Flow & Paywall Builder içinde eylemin hedefini gözden geçirin. |
| INVALID_ACTION_URL | Bir URL açma eylemi, geçerli bir URL’ye çözümlenemeyen bir string kimliğine başvuruyor. Flow & Paywall Builder içinde 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.