Android SDK'da hataları yönetin

SDK tarafından döndürülen her hata AdaptyError türündedir.

Tip

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.

Important

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
UNKNOWNBu hata, bilinmeyen veya beklenmedik bir hata oluştuğunu gösterir.
ITEM_UNAVAILABLEBu 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_INITIALIZEDAdapty 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_FOUNDBu 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_TIMEOUTBu 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_DISCONNECTEDBu hata, istemci uygulamanın BillingClient aracılığıyla Google Play Store hizmetiyle kurduğu bağlantının kesildiğini gösterir.
BILLING_SERVICE_UNAVAILABLEBu 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_ERRORBu hata, bir API’nin yanlış kullanıldığını gösterir.
BILLING_ERRORBu 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_OWNEDBu hata, öğe kullanıcıya ait olmadığı için istenen işlemin başarısız olduğunu gösterir.
BILLING_NETWORK_ERRORBu 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:

  1. Tüm ürünlerin Adapty Kontrol Paneli’ne eklenip eklenmediğini kontrol edin.
  2. Uygulamanızın Package name değerinin Google Play Console’dakiyle eşleştiğinden emin olun.
  3. Uygulama mağazalarındaki ürün tanımlayıcılarının Kontrol Paneli’ne eklediğinizle örtüştüğünü doğrulayın. Tanımlayıcıların, Bundle ID mağazada zaten dahil değilse Bundle ID içermemesi gerektiğini unutmayın.
  4. Google vergi ayarlarınızda uygulamanın ücretli durumunun Active olduğunu onaylayın. Vergi bilgilerinizin güncel ve sertifikalarınızın geçerli olduğundan emin olun.
  5. Uygulamaya bağlı bir banka hesabı olup olmadığını kontrol edin; böylece para kazanma için uygun hale gelir.
  6. Ürünlerin bulunduğunuz bölgede kullanılabilir olup olmadığını kontrol edin.
  7. Uygulamanızın test kanallarından birinde olduğundan emin olun. Internal testing kanalı, inceleme gerektirmediği ve uygulamayı müşterilerden gizli tuttuğu için en kolay seçenektir.
NO_PURCHASES_TO_RESTOREAdapty 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_ERRORAdapty.activate metodunu kullanarak Adapty SDK’yı doğru şekilde yapılandırmanız gerekiyor.
BAD_REQUESTGeçersiz istek.
Google Play ile entegrasyon için gereken tüm adımları tamamladığınızdan emin olun.
SERVER_ERRORSunucu hatası.
REQUEST_FAILEDBu hata, düzgün tanımlanamayan bir ağ sorununu gösterir.
DECODING_FAILEDYanı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_DISABLEDAnalytics’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_USERAdapty.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_TYPEFlow’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_EXCEPTIONFlow’un JavaScript kodu bir hata fırlattı. Hata mesajındaki istisna metnini okuyun.
NAVIGATOR_NOT_FOUNDBir 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_URLBir 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.