2012-12-01 1 views
6

Google Play에 이미 게시 된 Android 앱을 제작 중입니다. 다음 업데이트 (versionCode = 3)에서 클라이언트는 LVL 라이센스 체계를 포함하려고합니다.Android 라이선스 테스트 응답 - 작동하지 않음

내가 한 첫 번째 작업은 라이선스 서버에서 정적 테스트 응답을 설정하는 것입니다. 테스트 응답을 LICENSED으로 설정했습니다. 문서에이를 읽은 후 :

이 라이센스 테스트 응답을 사용하여 장치로 전송됩니다 [이메일 주소] 또는 재생 Google에 업로드 한 응용 프로그램 위에 나열된 테스트 계정. > 또한 테스트 계정이 아닌이 계정은 아직 Google Play에 업로드되지 않은> 애플리케이션에 대해이 응답을 받게됩니다.

내 개발자 계정 이메일이 테스트 기기의 Google Play 계정 이메일과 동일하므로 아무 문제가없는 것으로 생각했습니다. 그래서 응용 프로그램을 디버깅 할 때 테스트 응답을 받아야합니다.

그 후에 다른 모든 라이센싱 문서와 샘플 코드를 읽고이를 응용 프로그램에 통합했습니다. ServerManagedPolicy을 올바른 base64 공개 키와 20 개의 임의 생성 된 바이트를 소금으로 사용했습니다. 모든 것이 잘 어울려되면

나는 그것을 테스트 장치에 업로드, 대신 내가 기대하는 라이선스 응답을 수신에, 나는 NOT_LICENSED 응답을 수신 항상입니다. 나는 다음과 같이 확신했다 :

  1. 나는 인터넷에 접속되었다.
  2. Google Play에서 내 개발자 계정에 로그인했습니다.
  3. LicenseChecker가 올바른 공개 키를 사용하고있었습니다.
  4. 내 Google Play 캐시 지우기.

는 처음에 나는 그것이 캐싱 함께 할 수있는 뭔가가 있었다 어쩌면 생각, 그래서 StrictPolicy 대신를 사용했습니다. 같은 반응. 스토어에서 앱을 구입하지 않았기 때문에 정적 테스트 응답 대신 정상적으로 응답하는 라이선스 서버가 인 것 같습니다. 여기 제가 시도한 다른 것들이 있습니다 :

  1. 24 시간 기다리면서 다시 시도하십시오.
  2. 현재 배포 키뿐만 아니라 Android 디버그 키로 앱을 만들려고 시도했습니다.
  3. Google Play에서 다른 테스트 사용자 계정을 설정하고 사용하는 중입니다. 이 이메일 계정을 개발자 콘솔의 '테스트 계정'섹션에 추가했습니다.
  4. APK를 Google Play에 업로드하지만 게시하지는 않습니다. 2 3. 이 흥미로 versionCode를를 증가
  5. 때문에 대신 NOT_LICENSED는 '응용 프로그램 오류 코드'ERROR_NOT_MARKET_MANAGED을 반환 응답의.

이 라이센스 서버가 항상 정상적으로 응답 대신 내 개발자 계정에 설정 한 정적 테스트 응답을 보내는 있는게 틀림 없어. 앱이 이미 게시 되었기 때문에 기분이 들었지만 디버깅 빌드를 게시하면 게시자가 더 가벼워 졌는지 테스트 할 위험이 있습니다.

이전에이 상황에 있었던 사람이 있습니까? 어떤 도움이라도 대단히 감사합니다.

+0

첫 번째 버전 증가 것은 도움이 정직하게 방해했다하지 않았다

....., 빌드 및 증가 버전으로 새로운 APK를 업로드 할 필요 ** 후 ** 3 2에서 versionCode를를 증가, 이렇게하면 ERROR_NOT_MARKET_MANAGED 오류가 해결됩니다. ERROR_NOT_MARKET_MANAGED에 대한 자세한 내용은 [여기] (http://stackoverflow.com/questions/10377325/how-do-you-deal-with-licensecheckercallback-error-not-market-managed-error-code/10377653#10377653)를 참조하십시오. 둘째, 일반적으로 일정 기간 동안 라이선스 데이터를 캐시하므로 휴대 전화의 Google Play (설정 -> 애플리케이션)에 캐시가 필요합니다. – yorkw

+0

나는 이미 캐시 지우기 ('모든 데이터 삭제'옵션 포함)를 시도했음을 잊어 버렸습니다. 라이선스 코드를 테스트하기 전까지는 앱을 게시 할 수 없으므로 업로드하는 것은 중요하지 않습니다. versionCode가 현재 발행 된 versionCode보다 높으면 서버가 ERROR_NOT_MARKET_MANAGED 오류를 다시 보냅니다. 이것은 내 딜레마입니다. 라이선스 코드를 테스트하기 전까지는 앱을 게시 할 수 없습니다. ** 라이선스 서버는 개발자 콘솔에서 설정 한 정적 테스트 응답 코드를 보내지 않았습니다 **. versionCode = 2로 테스트하고 NOT_LICENSED를 얻습니다. – Paul

+0

LVL이 통합 된 첫 번째 버전 인 경우. 개발자 콘솔에 증분 된 버전 코드가있는 apk **을 ** 업로드해야합니다 (Upload! = Publish에 유의해야합니다). 완전한 절차 : LVL -> 버전 코드/이름 증가 -> 릴리스 키로 apk 빌드 -> 개발자 콘솔에 apk 업로드. 여기에서 새 apk 버전을 게시하기 위해 게시 버튼을 누르기 전에 라이센스 테스트를 할 수 있습니다. – yorkw

답변

1

동일한 문제로 몇 시간, 심지어 며칠을 보냈다.이 문서는 여기 및 다른 곳에 문서화되어 있으며, 사전 게시 된 라이센스 테스트는 적중 및 실패하고 내가 발견 한 것보다 많은 손실이 발생합니다.

"더 안정적으로"작동하도록 만드는 유일한 방법은 (여전히 완전히 신뢰할 수는 없지만) 공장 기본값으로 재설정 된 하드웨어 장치를 가지고 다음과 같은 기본 Google 사용자를 설정하는 것입니다 테스트를 위해 앱을 업로드 한 개발자 계정으로

특수 AVD도 신뢰성이 떨어집니다.

+0

그래, 나는 불행히도이 문제로 더 이상 갈 생각이 없다. 내 기기가 개발자 계정으로 기본 Google Play 사용자로 설정되었습니다. 감사. – Paul

+0

@logray Google Play에 등록 된 하나의 테스트 계정 만 설정하면 정상적으로 작동합니다. 기기에 두 개 이상의 계정이 구성되어 있으면 정적 응답이 작동하지 않습니다. 훌륭한 제안에 대해 당신보다 – Smeet

0

LVL 라이브러리를 사용하여 테스트 할 때도 동일한 문제가 있습니다. 나는 설정 페이지에서 라이센스 테스트 응답을 설정 한 것과 관계없이 항상 561 (0x231 NOT_LICENSED) 응답을 얻습니다.

유료 앱 사용자는 불만을 보이지 않으므로 LVL이 문제를 해결하고 있다고 가정합니다.

처음에는 내 응용 프로그램에서이 문제가 발생하여 1 일 (2012 년 12 월 30 일 발행) 이후에 사라 졌으므로 이제 해당 응용 프로그램에서 유효한 테스트 응답을 받았습니다.

그러나, 나는 여전히 그래서 지금 (2013 1월 31일 출판) 새로운 응용 프로그램

의 561 (0x231 NOT_LICENSED) 응답을 그냥 주석 난 후 (561 위해 팝업 경고 대화 상자 코드를 해제) APK를 게시하고 다음 출시를 위해 개발을 계속하십시오.

다시 게시하기 전에 주석을 해제 (경고 대화 코드 사용)하십시오!

Google Play에 연락하여 개발자 포럼에 문의했습니다. 나는 거기에 같은 질문을 게시하지만 그때 내 게시물을 찾을 수 없습니다.

나는이 문제에 직면 한 유일한 사람이 아니라는 것을 알고있다.

1

동일한 문제가 있었지만 해결할 수있었습니다. 수정해야 할 사항은 다음과 같습니다. 1) 내 장치에서 구성한 테스트 계정을 제외한 모든 Google 계정을 제거했습니다. 분명히 플레이 스토어는 여전히 테스트 계정이 아닌 것을 사용하려고했습니다.

2) 개발자가 아니고 테스터인데도 개발자 계정의 테스트 상태를 활성화해야했습니다.