응용 프로그램 오류 :이 버전의 응용 프로그램은 시장 청구 용으로 구성되지 않았습니다.


91

며칠 후 Android 앱에서 인앱 결제를 사용할 수 있습니다. 물론 아주 멋지다. 그래서 나는 이것을 구현하기 위해 내 응용 프로그램에 대한 업데이트 작업을 시작했습니다. 하지만 이제 몇 가지 문제가 있습니다. 이것이 내가 한 일입니다.

  • 먼저 정적 인앱 결제 응답을 테스트하기 위해 예약 된 제품 ID를 시도했습니다. 문제없이 작동합니다.
  • com.android.vending.BILLING 권한이 포함 된 초안 APK (프로덕션 서명, 디버그 서명 없음)를 시장에 업로드했습니다.
  • 그렇게했을 때 마켓에서 내 앱에 '인앱 상품'을 추가하고 게시 상태로 설정할 수있었습니다.
  • 테스트 사용자를 만들고 해당 테스트 사용자를 테스트 장치의 기본 계정으로 만들기 위해 장치를 재설정했습니다.
  • 예약 된 제품 ID는 여전히 작동합니다.

이제 문제가 발생합니다. 내 고유 한 제품 ID (이전에 추가 한 ID, 위 참조)를 사용하면 다음 텍스트가 포함 된 대화 상자가 표시됩니다.

" 응용 프로그램 오류 :이 버전의 응용 프로그램은 시장 결제 용으로 구성되지 않았습니다. 자세한 내용은 도움말 센터를 확인하세요. "

로그에서 찾을 수있는 이상한 것은 없습니다. 아무도 내가 여기서 뭘 잘못하고 있는지 알고 있습니까?

답변:


157

방금이 문제가 발생하여 서명되지 않은 디버그 버전의 앱을 실행하고 있었기 때문이라는 것을 깨달았습니다. Eclipse에서 내 애플리케이션을 내보내고 서명 한 후 휴대폰에 설치하면이 오류 메시지가 표시되지 않고 인앱 제품을 사용할 수있었습니다.


8
디버그 버전은 괜찮지 만 서명되어야합니다.
Barry Fruitman 2012 년

1
인앱 항목을 테스트하기 위해 앱을 게시하는 데 필요합니다. 인앱 항목을 게시하고 앱을 게시하지 않은 상태로 유지했습니다. 질문이 어리 석거나 관련이없는 경우 사과드립니다.
Jana

@ jana no 앱에서 테스트하기 위해 앱을 게시 할 필요는 없지만, 예, 게시 할 인앱 상품을 게시 할 필요가 있습니다. 그렇지 않으면 인앱 상품을 테스트하는 동안 기기에서 오류가 발생합니다. "항목을 찾을 수 없습니다. "
Usman Kurd

21
다른 답변에서와 마찬가지로 테스트 앱의 버전 코드는 Google Play의 초안 버전 코드와 동일해야합니다. 따라서 Google Play에서 자리 표시 자 v1로 시작한 경우 실제 앱을 v2로 준비했습니다. 실제 앱은 테스트를 완료하기 전에 GP에 초안으로 업로드해야합니다.
Steve Haley 2013 년

1
최근에 상황이 변경되었으며 이제 IAP 테스트를 계속하려면 Google Play의 알파 채널에 앱을 게시해야합니다.
tenpn

43

내 APK의 새 사본을 시장에 업로드하면 다음 1 시간 정도 동안 "애플리케이션 오류"가 발생합니다. 최소 1 시간이 지나면 (때로는 최대 2 시간이 지나야 함) 더 이상 오류가 발생하지 않으며 문제없이 항목을 구입할 수 있습니다. Google 서버가 새 APK를 업로드했다는 사실을 처리하는 데 최소 1 시간이 소요되는 것 같습니다 (APK의 인앱 결제 측면과 관련하여).

따라서 제 조언은 APK를 업로드 한 후 1 ~ 2 시간을 기다린 다음 여전히 "애플리케이션 오류"가 발생하는지 확인하는 것입니다.


이 답변이 저에게 효과적이라는 것을 다시 확인하고 싶었습니다. 앱 버전이 정확하더라도이 오류가 발생했습니다. 몇 시간을 기다린 것 외에는 아무것도하지 않았고 제대로 작동하기 시작했습니다 (오류가 다시 표시되지 않음).
Booger 2012-06-03

4
나는 두 번째로 할 것입니다 : 그것은 나에게도 몇 시간을 기다리는 데 효과적이었습니다 (실제로 밤새 기다렸 기 때문에 정확한 타이밍을 알 수 없습니다). 작은 편집자 코멘트로서 Google이 이에 대해 더 정확한 오류 메시지를 제공하지 못하고 많은 문제를 해결할 수 없다는 점이 실망 스럽습니다.
M Katz

이것은 현재보다 오래된 앱 버전을 사용하는 사용자, 인앱 구매를 사용할 수 없으며 먼저 앱을 업데이트해야 함을 의미합니까?
Kedu

34

나는 또한이 문제에 부딪쳤다. 마침내 게시 된 앱의 버전 코드가 3이고, 초안 (결제 권한이있는 게시되지 않은 APK)의 버전 코드가 4, 인앱 결제를 테스트하는 데 사용했던 서명 된 APK가 여전히 versionCode 3이라는 것을 깨달았습니다. versionCode를 4로 변경하여 요청한 구매에 대한 실제 인앱 상품 페이지로 이동할 수있었습니다.


22

이는 초안으로 업로드 된 APK가 테스트 모드의 시스템에서 실행중인 APK와 일치하지 않는 경우 서명되고 릴리스 된 빌드에서 발생할 수 있습니다. 빌드가 일치하는지 확인하십시오. 테스트 모드에서는 문제가 없으며 오류 표시가 중지됩니다.

여기서 큰 걱정은 프로덕션에서 이와 동일한 동작을 볼 수 있다는 것입니다. 즉, 인앱 결제로 1.0.0-1을 릴리스 한 다음 1.0.0-2를 릴리스하고 1.0.0-1을 실행하는 사용자는 구매할 수 없거나 구매를 복원 할 수 없으며 동일한 오류가 발생합니다 (매우 나쁜 사용자 경험). 이 동작을 테스트 모드와 관련된 것으로 언급하기 위해 문서를 샅샅이 뒤졌지만 지금까지는 운이 없습니다. 여기에 버그를 추가했습니다. http://code.google.com/p/marketbilling/issues/detail?id=15#c0


3
+1 추가 정보, 미래 지향적 사고 및 버그 스레드 링크.
Bill The Ape 2012 년

14

나도 같은 문제가 발생했지만 이제 문제가 해결되었습니다.

몇 번의 시도를 기반으로 한 내 관찰 :

  1. 버전 코드는 Google Play와 기기에서 모두 일치해야합니다.
  2. 버전이 일치하더라도이 오류가 계속 발생할 수 있습니다.
  3. 1 ~ 2 시간 정도 기다린 후 시도 하면이 오류가 발생 하지 않습니다.

도움이 되었기를 바랍니다


1
또한 버전 코드가 일치해야 함을 발견했습니다. 최소한 귀하의 테스트 버전은 Google Play의 버전보다 높을 수 없습니다. 그 반대의 경우도 사실인지 잘 모르겠습니다. 이전 버전의 애플리케이션을 사용하는 사람들은 내 인앱 결제를 사용할 수 없기 때문에 그러지 않기를 바랍니다.
피터 Fortuin

# 3은 트릭이었습니다. 모든 것이 정상이라면 잠시 휴식을 취하고 나중에 시도하십시오. 그냥 :) 갱신하는 데 시간이 필요
nuala

7

중복 질문에서 복사 : https://stackoverflow.com/a/22469253/1321401

이 오류는 여러 가지 이유로 발생할 수 있습니다.
다음은 Google IAB 테스트를위한 요구 사항 목록입니다.

전제 조건 :

  1. AndroidManifest는 "com.android.vending.BILLING"권한을 포함해야합니다. .
  2. APK가 출시 모드 로 빌드 됨 .
  3. APK가 출시 인증서 로 서명되었습니다. .
  4. APK는 알파 / 베타 배포 채널 (이전에는 초안)에 개발자 콘솔에 한 번 이상 업로드됩니다. ( 약 2 시간 -24 시간 소요 ).
  5. IAB 제품이 게시 되고 해당 상태가 활성으로 설정됩니다 .
  6. 개발자 콘솔에 테스트 계정이 추가 되었습니다.

테스트 요구 사항 :

  1. 테스트 APK의 버전동일합니다. 개발자 콘솔에 업로드 된 가 있습니다.
  2. 테스트 APK는 dev.console에 업로드 된 것과 동일한 인증서 로 서명됩니다 .
  3. 테스트 계정 (개발자 아님)- 기기 의 기본 계정 입니다.

PS : 릴리스 인증서를 사용하여 디버깅 : https://stackoverflow.com/a/15754187/1321401 (Thnx의 @dipp 링크의 경우 )

PPS : 이미 오랫동안이 목록을 만들고 싶었습니다.

업데이트 용 Thnx @zlgdev


1
versionCode가 나를 얻었습니다-왜 이것이 필요한가요?
slott

5

내 솔루션은 마켓 (초안 APK) 및 테스트에서 apk에 서명하는 데 동일한 키를 사용해야한다는 것입니다. 따라서 응용 프로그램을 실행하는 대신 항상 모든 업데이트와 함께 서명 된 APK를 내보내고 apk 명령 줄 명령을 사용하여 장치에서 제거하고 다시 설치해야합니다. 원칙적으로 자체 키 저장소를 디버그 키 저장소로 사용할 수도 있지만이를 위해서는 특정 하드 코딩 된 암호와 키 이름을 사용해야합니다.


0

이 오류가 발생하면 가능한 해결책을 하나 더 공유하겠다고 생각했습니다. 원래 결제 권한이 활성화 된 APK의 초안을 Google에 업로드했기 때문에 앱 구매 가능 항목에서 설정할 수있었습니다. 나중에 AndroidManifest에서 누락 된 결제 권한없이 다른 APK를 업로드하여 오류가 발생했습니다. 분명히 예상치 못한 사건처럼 보이지만 나에게 일어난 일이므로 가능합니다.

편집 : 같은 접기와 함께 Google에 초안으로 제출 한 버전이 서명되지 않은 경우 오류도 발생합니다.


0

2 센트를 지불하기 위해 베타 버전에 업로드하고 내 앱의 새 버전으로 설정 탭에서 테스트 액세스 권한이있는 Gmail 계정을 만들어 테스트 할 수있었습니다.

이제 프로덕션으로 옮기고 있습니다 ...

감사! 나단


-2

오래된 스레드이지만 내 경험을 추가하는 중 ...

스토어에있는 것보다 versionCode 1이 높은 APK를 설치했습니다. Nexus 7의 2 개의 다른 계정에서 플레이했는데이 문제가 발생했습니다. 그래서 versionCode가 일치하는지 확인하기 위해 저장소에서 제거하고 다시 설치했습니다. 하룻밤을 기다렸어도 오류가 해결되지 않았습니다.

Nexus 7에 연결 한 3 개의 Google 계정 모두에서 제거해야했습니다. nexus 7의 3 개 계정 모두에서 앱을 명시 적으로 제거한 다음 스토어에서 다시 설치했을 때 복구되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.