Lỗi ứng dụng: Phiên bản này của ứng dụng không được định cấu hình cho Market Billing


91

Kể từ một vài ngày, bạn có thể sử dụng thanh toán trong ứng dụng trong các ứng dụng Android. Tất nhiên là rất tuyệt. Vì vậy, tôi đã bắt đầu làm việc trên một bản cập nhật cho ứng dụng của mình để thực hiện điều này. Nhưng bây giờ tôi gặp phải một số vấn đề. Đây là những gì tôi đã làm:

  • Đầu tiên, tôi đã thử các ID sản phẩm dành riêng để thử nghiệm phản hồi thanh toán trong ứng dụng tĩnh. Điều đó hoạt động mà không có vấn đề.
  • Tôi đã tải một APK nháp lên thị trường (có ký kết sản xuất, không ký gỡ lỗi), bao gồm quyền com.android.vending.BILLING.
  • Khi làm được điều đó, tôi đã có thể thêm 'Sản phẩm trong ứng dụng' vào ứng dụng của mình trên thị trường và đặt nó ở trạng thái đã xuất bản.
  • Tôi đã tạo người dùng thử nghiệm và đặt lại thiết bị của mình để đặt người dùng thử nghiệm đó làm tài khoản chính trên thiết bị thử nghiệm của tôi.
  • Id sản phẩm dành riêng vẫn hoạt động.

Bây giờ đến vấn đề. Khi tôi sử dụng ID sản phẩm của riêng mình (ID sản phẩm tôi đã thêm trước đó, xem ở trên), hộp thoại sẽ hiển thị với văn bản sau:

" Lỗi ứng dụng: Phiên bản này của ứng dụng không được định cấu hình cho Market Billing. Hãy kiểm tra trung tâm trợ giúp để biết thêm thông tin. "

Không có gì lạ mà tôi có thể tìm thấy trong nhật ký. Có ai biết tôi đang làm gì sai ở đây không?

Câu trả lời:


157

Tôi vừa gặp sự cố này và nhận ra rằng đó là do tôi đang chạy phiên bản gỡ lỗi, chưa được ký của ứng dụng của mình. Trong Eclipse, khi tôi xuất và ký ứng dụng của mình cũng như cài đặt nó trên điện thoại, thì tôi có thể sử dụng các sản phẩm trong ứng dụng của mình mà không thấy thông báo lỗi này.


8
Các phiên bản gỡ lỗi là ok nhưng chúng phải được ký.
Barry Fruitman

1
điều này có cần thiết để xuất bản ứng dụng để thử nghiệm một mục inApp không. tôi đã xuất bản mục inapp và giữ ứng dụng chưa xuất bản. Tôi xin lỗi nếu câu hỏi là ngớ ngẩn hoặc không liên quan.
Jana

@ jana không, không cần xuất bản ứng dụng để thử nghiệm trong ứng dụng nhưng có, cần phải xuất bản sản phẩm trong ứng dụng để được xuất bản khác khôn ngoan, bạn sẽ gặp lỗi trên thiết bị của mình khi thử nghiệm sản phẩm trong ứng dụng "Không tìm thấy mục "
Usman Kurd

21
Điều quan trọng cần lưu ý, cũng như trong một số câu trả lời khác - mã phiên bản của ứng dụng thử nghiệm của bạn phải giống với mã phiên bản của bản nháp của bạn trong Google Play. Vì vậy, nếu bạn đã bắt đầu với trình giữ chỗ v1 trong Google Play, thì hãy chuẩn bị ứng dụng thực dưới dạng v2 - ứng dụng thực đó phải được tải lên GP dưới dạng bản nháp trước khi bạn có thể hoàn thành thử nghiệm.
Steve Haley

1
Mọi thứ gần đây đã thay đổi và bây giờ bạn cần xuất bản ứng dụng của mình lên kênh alpha trên google play trước khi thử nghiệm IAP có thể tiếp tục.
10pn

43

Tôi nhận thấy rằng sau khi tải một bản sao APK mới của mình lên thị trường, tôi sẽ gặp phải "lỗi ứng dụng" đó trong suốt một giờ tiếp theo. Sau ít nhất một giờ trôi qua (đôi khi phải mất đến hai giờ), tôi không còn gặp lỗi đó nữa và sau đó tôi có thể mua các mặt hàng của mình mà không gặp bất kỳ sự cố nào. Có vẻ như các máy chủ của Google cần ít nhất một giờ để xử lý thông tin rằng bạn đã tải lên APK mới (liên quan đến khía cạnh Thanh toán InApp của APK).

Vì vậy, lời khuyên của tôi dành cho bạn là hãy đợi từ 1 đến 2 giờ sau khi tải lên APK của bạn, sau đó xem liệu bạn có còn gặp "lỗi ứng dụng" hay không.


Tôi chỉ muốn khẳng định lại câu trả lời này phù hợp với tôi. Tôi gặp phải lỗi này - mặc dù các phiên bản ứng dụng đều đúng. Tôi không làm gì khác hơn là đợi một vài giờ và nó bắt đầu hoạt động bình thường (tôi không gặp lại lỗi).
Booger

4
Tôi sẽ thứ hai rằng: tôi cũng phải đợi vài giờ (thực ra là đợi qua đêm nên tôi không biết chính xác thời gian). Như một nhận xét biên tập nhỏ, thật khó chịu khi Google không thể đưa ra thông báo lỗi chính xác hơn cho việc này và tránh cho chúng tôi rất nhiều rắc rối.
M Katz

Điều này có nghĩa là, tôi là người dùng có phiên bản ứng dụng cũ hơn phiên bản hiện tại, không thể sử dụng tính năng mua hàng trong ứng dụng và phải cập nhật ứng dụng trước?
Kedu

34

Tôi cũng gặp phải vấn đề này. Cuối cùng tôi nhận ra rằng ứng dụng đã xuất bản của tôi có Mã phiên bản là 3, bản nháp của tôi (apk chưa được xuất bản với quyền Thanh toán) có Mã phiên bản là 4 và apk đã ký mà tôi đang sử dụng để kiểm tra thanh toán trong ứng dụng vẫn ở Mã phiên bản 3. Một khi tôi đã thay đổi Mã phiên bản thành 4, tôi có thể truy cập vào trang sản phẩm trong ứng dụng thực tế để mua hàng mà tôi đang yêu cầu.


22

Điều này có thể xảy ra trên các bản dựng đã ký, đã phát hành khi apk được tải lên dưới dạng bản nháp không khớp với apk đang chạy trên hệ thống của bạn ở chế độ thử nghiệm. Chỉ cần đảm bảo rằng các bản dựng của bạn khớp với nhau, bạn sẽ ổn ở chế độ thử nghiệm và sẽ không thấy lỗi nữa.

Lo lắng lớn ở đây là chúng ta sẽ thấy hành vi tương tự này trong sản xuất, tức là, chúng tôi phát hành 1.0.0-1 với thanh toán trong ứng dụng, sau đó chúng tôi phát hành 1.0.0-2 và người dùng chạy 1.0.0-1 sẽ không thể mua hoặc khôi phục giao dịch mua của họ và sẽ nhận được lỗi tương tự (trải nghiệm người dùng rất tệ). Đã tìm kiếm các tài liệu để đề cập đến hành vi này là cụ thể cho chế độ thử nghiệm, nhưng không may mắn cho đến nay; chúng tôi đã thêm một lỗi tại đây: http://code.google.com/p/marketbilling/issues/detail?id=15#c0


3
+1 để biết thông tin bổ sung, suy nghĩ chuyển tiếp và liên kết đến chuỗi lỗi.
Bill The Ape

14

Tôi cũng gặp phải vấn đề tương tự ... nhưng hiện tại vấn đề đã được giải quyết

Những quan sát của tôi dựa trên một vài thử nghiệm:

  1. Mã phiên bản phải khớp cả trên Google Play và Thiết bị
  2. Mặc dù các phiên bản khớp nhau, chúng tôi vẫn có thể gặp lỗi này
  3. Chờ khoảng 1 đến 2 tiếng rồi thử, chúng ta sẽ không gặp lỗi này

Hi vọng điêu nay co ich


1
Tôi cũng phát hiện ra rằng mã phiên bản phải khớp. Ít nhất thì phiên bản thử nghiệm của bạn không thể cao hơn phiên bản trên Google Play. Tôi không chắc nếu ngược lại cũng đúng. Tôi hy vọng là không, bởi vì điều đó có nghĩa là những người có phiên bản ứng dụng cũ hơn không thể sử dụng thanh toán trong ứng dụng của tôi.
Peter Fortuin

# 3 là thủ thuật. Nếu bạn chắc chắn rằng mọi thứ đều ổn, hãy nghỉ ngơi và thử lại sau. Nó chỉ cần một chút thời gian để cập nhật :)
nuala

7

Được sao chép từ câu hỏi trùng lặp: https://stackoverflow.com/a/22469253/1321401

Lỗi này có thể xảy ra vì một số lý do.
Đây là danh sách các yêu cầu đối với thử nghiệm Google IAB.

Điều kiện tiên quyết:

  1. AndroidManifest phải bao gồm quyền "com.android.vending.BILLING" .
  2. APK được xây dựng trong chế độ phát hành .
  3. APK được ký bằng (các) chứng chỉ phát hành .
  4. APK được tải lên kênh phân phối alfa / beta (trước đây - dưới dạng bản nháp) lên bảng điều khiển dành cho nhà phát triển ít nhất một lần. (mất một khoảng thời gian ~ 2h-24h ).
  5. Các sản phẩm IAB được xuất bản và trạng thái của chúng được đặt thành hoạt động .
  6. (Các) tài khoản thử nghiệm được thêm vào bảng điều khiển dành cho nhà phát triển.

Yêu cầu kiểm tra:

  1. APK thử nghiệm có cùng Mã phiên bản với Mã được tải lên bảng điều khiển dành cho nhà phát triển.
  2. APK thử nghiệm được ký bằng (các) chứng chỉ giống như chứng chỉ được tải lên dev.console.
  3. Tài khoản thử nghiệm (không phải nhà phát triển) - là tài khoản chính trên thiết bị.

PS: Gỡ lỗi bằng chứng chỉ phát hành : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp cho liên kết)

PPS: Đã muốn làm danh sách này từ lâu rồi.

Thnx @zlgdev để cập nhật


1
Mã phiên bản đã giúp tôi - tại sao điều này lại cần thiết?
slott

5

Giải pháp của tôi là tôi cần sử dụng cùng một khóa để đăng nhập apk trong Market (dưới dạng APK nháp) và đang trong giai đoạn thử nghiệm. Vì vậy, thay vì chỉ Chạy ứng dụng, tôi luôn phải xuất APK đã ký với mỗi bản cập nhật, gỡ cài đặt và cài đặt lại nó trong thiết bị bằng các lệnh dòng lệnh apk. Về nguyên tắc, bạn có thể sử dụng kho khóa của riêng mình làm kho khóa gỡ lỗi, nhưng nó yêu cầu sử dụng mật khẩu và tên được mã hóa cứng cụ thể cho các khóa.


0

Tôi nghĩ rằng tôi sẽ chia sẻ một giải pháp khả thi hơn nếu bạn gặp lỗi này. Ban đầu, tôi đã tải lên google bản nháp gói ứng dụng của mình với quyền thanh toán được bật, vì vậy tôi có thể thiết lập trong ứng dụng có thể mua được. Sau đó, tôi đã tải lên một gói ứng dụng khác mà không có quyền thanh toán bị thiếu trong AndroidManifest của mình, điều này dẫn đến lỗi. Chắc chắn có vẻ như là một trường hợp khó xảy ra, nhưng nó đã xảy ra với tôi nên hoàn toàn có thể.

Chỉnh sửa: Trong cùng một màn hình đầu tiên, nếu phiên bản bạn đã gửi dưới dạng bản nháp cho google chưa được đánh dấu, lỗi cũng sẽ xảy ra.


0

Để bỏ ra hai xu, tôi đã có thể kiểm tra nó bằng cách tải lên phiên bản Beta và tạo tài khoản Gmail với quyền truy cập thử nghiệm trong tab cài đặt với phiên bản mới của ứng dụng của tôi ...

Bây giờ tôi đang chuyển nó sang sản xuất ...

Cảm ơn! Nathan


-2

Chủ đề cũ, nhưng thêm kinh nghiệm của tôi ...

Tôi đã cài đặt một gói ứng dụng có Mã phiên bản cao hơn 1 so với trong cửa hàng. Đã chơi nó trên 2 tài khoản khác nhau trên Nexus 7 của tôi và gặp sự cố này. Vì vậy, tôi đã gỡ cài đặt và cài đặt lại từ cửa hàng để đảm bảo Mã phiên bản khớp. Ngay cả khi đợi qua đêm, lỗi cũng không rõ ràng.

Hóa ra tôi cần gỡ cài đặt khỏi tất cả 3 tài khoản google mà tôi đã liên kết với Nexus 7. Nó phục hồi khi tôi gỡ cài đặt ứng dụng một cách rõ ràng khỏi cả ba tài khoản trên nexus 7 của mình sau đó được cài đặt lại từ cửa hàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.