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 production ortamında mevcut olmadığı veya kullanıcının Google Play’deki Testers grubuna dahil olmadığı anlamına gelebilir.
ADAPTY_NOT_INITIALIZEDAdapty 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_CHANGEDKullanı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_FOUNDBu 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_TIMEOUTBu 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_SUPPORTEDTalep edilen özellik, mevcut cihazda Play Store tarafından desteklenmiyor.
BILLING_SERVICE_DISCONNECTEDBu 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_UNAVAILABLEBu 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_ERRORBu hata, bir API’yi hatalı kullandığınızı gösterir.
BILLING_ERRORBu hata, Google Play’in kendisinde dahili bir sorun olduğunu gösterir.
ITEM_ALREADY_OWNEDÜrün zaten satın alınmış.
ITEM_NOT_OWNEDBu hata, kullanıcı bu ürüne sahip olmadığı için talep edilen 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’daki ile eşleştiğinden emin olun.
  3. Uygulama mağazalarındaki ürün tanımlayıcılarının Kontrol Paneli’ne eklediğinizle eşleştiğini doğrulayın. Tanımlayıcıların, mağazada zaten dahil edilmediği sürece 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 olduğundan ve sertifikalarınızın geçerli olduğundan emin olun.
  5. Uygulamanın para kazanmaya uygun olabilmesi için bir banka hesabının eklenip eklenmediğini kontrol edin.
  6. Ürünlerin bölgenizde mevcut 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 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_ERRORAdapty.activate metodunu kullanarak Adapty SDK’yı doğru şekilde yapılandırmanız gerekir.
BAD_REQUESTHatalı istek.
Google Play ile entegrasyon için gerekli 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_DISABLEDDevre 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_USERAdapty.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_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 render ediyor. Flow Builder üzerinden ilgili öğeye bir görsel asset atayın.
JS_EXCEPTIONFlow’un JavaScript kodu bir istisna fırlattı. Hata mesajındaki istisna metnini okuyun.
NAVIGATOR_NOT_FOUNDEkran 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_URLURL 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.