2013-05-04 15 views
25

V2'de başarıyla uygulandıktan sonra Google Play in-app purchase v3'u uygulamak için çalışıyorum.Google Play Uygulama İçi Satın Alma işlemi hata kodu -1008: null puchaseData veya dataSignature

Bu:

IAB boş purchaseData veya dataSignature (Bilinmeyen hata yanıtını -1008) döndürdü: Ancak, her zaman ben şu takip hata alırsınız, benim gerçek uygulama içi ürünlerden birini satın almayı dener IabHelper.java class, line 452 geliyor: bir) benim app imzalanmış doğruladıktan

if (purchaseData == null || dataSignature == null) { 
    logError("BUG: either purchaseData or dataSignature is null."); 
    logDebug("Extras: " + data.getExtras().toString()); 
    result = new IabResult(IABHELPER_UNKNOWN_ERROR, "IAB returned null purchaseData or dataSignature"); 
    if (mPurchaseListener != null) mPurchaseListener.onIabPurchaseFinished(result, null); 
    return true; 
} 

, b) benim uygulamanın sürüm Google Play mağazasından taslak versiyonu # eşleşir ve c) kullanıcı satın teşebbüs test kullanıcısı olarak eklendi. Bunu 3 test hesabında ve 4 uygulama içi satın alma abonelik türünde denedim.

  • Bu hata koduyla ilgili kaygı duymalı mıyım?
  • Bu sorun yalnızca üretim dışı sürümlerle sınırlı mı?
  • Bu, bu sürümü yayınladığım/açtığımda müşterilerim etkileyecek mi?
  • Gerçekte IAB sürüm 3 ile yayınladıktan sonra gerçekten yalnızca uygulama içi satın alma işlemini uçtan uca test edebilir misiniz? Ben android.test.purchased madde türünü kullanabileceğimin farkındayım, ve bende (işe yarıyor), ama ben bunun geçerli bir uçtan uca test olduğunu düşünmüyorum.

cevap

63

Bu sorunu kendim yaşadım. Bir süre sonra yanlış yaptığımı buldum. IABHelper'da yanlış yöntemi arıyordum. Eğer hata ile sonuçlanır Google Geliştirici Konsolu'nda bir abonelik olarak kayıtlı bir SKU ile mHelper.launchPurchaseFlow(...) ararsanız

: IAB boş purchaseData veya dataSignature (: Bilinmeyen hata yanıtı -1008) döndü.

Abonelik olarak kayıtlı bir SKU'unuz varsa, bunun yerine şu yöntemi kullanmanız gerekir: mHelper.launchSubscriptionPurchaseFlow(...).

Bu yardımcı olur umarım. Eğer launchPurchaseFlow() yöntemini kullanın ve bu hata, ürün türünü kontrol aldığımda yanlışlıkla üstünde alırsanız

+0

Satın alma veya abonelikler hakkında dikkatli olun! Öyleydi. Google Play geliştiricisi yanıt verdi, ancak asla çözüme geri dönmedi. Sana bir borçluyum (tam anlamıyla)! – esilver

+0

Doğru öğe türünü ve yöntemini kullanıyorum ancak aynı hatayı aldım. Uygulama içi satın alım işleri, abonelikler değil. –

+1

launchSubscriptionPurchaseFlow() yöntemi, returnTurseFlow() öğesini itemType ile 'IabHelper.ITEM_TYPE_INAPP' olarak çağırır. Bu yüzden, launchPurchaseFlow() öğesinde doğru itemType değerini iletirseniz, fark etmez. Doğru ürün tipi kullanıyorum, ancak yine de aynı hatayı alıyorum !! – CodeFury

0

error purchasing: iabResult: IAB returned null purchase Data or data Signature (response: -1008 unknown error)

. Abonelikler oluşturuldu ancak örneğin sarf edilmeyen ürün türü gibi yönetilen ürünlere ihtiyacım vardı.

İlgili konular