2013-05-04 22 views
25

Tôi đang cố triển khai Google Play in-app purchase v3, sau khi triển khai thành công mã đó trong phiên bản 2. Tuy nhiên, mỗi lần duy nhất tôi cố gắng để mua một trong những thực phẩm trong ứng dụng của tôi, tôi nhận được lỗi theo dõi sau đây:Mã lỗi trả về Mua hàng trong ứng dụng trên Google Play -1008: null puchaseData hoặc dataSignature

IAB trở purchaseData null hoặc dataSignature (phản ứng -1008: Lỗi không xác định)

này đến từ IabHelper.java class, line 452:

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; 
} 

tôi đã xác minh rằng a) ứng dụng của tôi được ký kết, b) phiên bản của ứng dụng của tôi phù hợp với dự thảo phiên bản # trên cửa hàng Google play, và c) người dùng cố gắng mua đã được thêm làm người dùng thử nghiệm. Tôi đã thử qua 3 tài khoản thử nghiệm và 4 loại đăng ký mua trong ứng dụng.

  • Tôi có nên lo ngại về mã lỗi này không?
  • Đây có phải là vấn đề chỉ giới hạn trong các bản phát hành phi sản xuất không?
  • Điều này có ảnh hưởng đến khách hàng của tôi trong lĩnh vực này nếu/khi tôi phát hành phiên bản này không?
  • Bạn có thể thực sự chỉ thử nghiệm mua hàng trong ứng dụng từ đầu đến cuối khi bạn thực sự xuất bản nó trực tiếp với IAB phiên bản 3 không? Tôi nhận ra rằng tôi có thể sử dụng loại mục android.test.purchased, và tôi có (nó hoạt động), nhưng tôi không xem xét đó là một thử nghiệm đầu cuối hợp lệ.

Trả lời

63

Tôi đã gặp sự cố này. Sau một thời gian tôi tìm thấy những gì tôi đã làm sai. Tôi đã gọi sai phương pháp trên IABHelper.

Nếu bạn gọi mHelper.launchPurchaseFlow(...) với SKU được đăng ký làm đăng ký trên Bảng điều khiển dành cho nhà phát triển của Google, điều này sẽ dẫn đến lỗi: IAB trả lại mua hàng không dữ liệu hoặc dữ liệuSignature (phản hồi -1008: Lỗi không xác định).

Nếu bạn có SKU được đăng ký làm đăng ký, bạn phải sử dụng phương pháp: mHelper.launchSubscriptionPurchaseFlow(...) thay thế.

Hy vọng điều này sẽ hữu ích.

+0

CẢM ƠN BẠN! Điều đó là vậy đó. Nhà phát triển Google Play đã trả lời nhưng không bao giờ liên hệ lại với tôi về giải pháp. Tôi nợ bạn một (nghĩa đen)! – esilver

+0

Tôi nhận được lỗi tương tự mặc dù tôi đang sử dụng đúng loại mục và phương pháp. Mua hàng trong ứng dụng hoạt động, đăng ký không. –

+1

launchSubscriptionPurchasePhương pháp() trong lần lượt gọi launchPurchaseFlow() với itemType là 'IabHelper.ITEM_TYPE_INAPP'. Vì vậy, nếu bạn chuyển đúng itemType trong launchPurchaseFlow(), nó sẽ không tạo ra sự khác biệt nào. Tôi đang sử dụng loại mục chính xác, nhưng vẫn nhận được cùng một lỗi !!!! – CodeFury

0

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

nếu bạn gặp lỗi trên khi sử dụng phương thức launchPurchaseFlow() và nhận lỗi này, hãy kiểm tra loại sản phẩm của bạn. tôi đã được tạo đăng ký nhưng tôi cần các sản phẩm được quản lý chẳng hạn như loại sản phẩm không tiêu hao. Ý tôi là hãy cẩn thận khi mua hoặc đăng ký