2011-02-06 4 views
0

유료 "프리미엄 키"응용 프로그램을 구현하는 일반적으로 받아 들여지는 접근 방식은 기능을 잠금 해제하기 위해 유료 버전이 설치되어있는 경우 무료 응용 프로그램 검사를받는 것입니다. 이 부분은 LVL의 구현과 마찬가지로 간단하지만 두 방법을 결합하는 방법을 알 수는 없습니다. 유료 앱을 실행하지 않으려는 경우 라이센스 확인 서비스에 전화 할 방법이 없습니다. 내가 생각할 수있는 유일한 방법은 무료 앱이 유료 앱에서 인 텐트를 호출하고 응답을 기다리는 것이 었습니다. 유료 앱이 라이선스 확인을 할 수 있습니다. 이 방법의 문제점은 무료 앱이 인 텐트를 호출 할 때 일시 중지되고 OS에 의해 언제든지 종료 될 수 있다는 것입니다. 따라서 라이센스 확인 후 앱이 계속 실행되고 있음을 보장하지 않습니다.프리미엄 키 앱에서 Android LVL을 어떻게 사용할 수 있습니까?

잠금 해제 키일뿐 아니라 LVL을 구현하는 유료 앱을 구현하는 방법에 대한 아이디어 나 제안이 있으십니까?

당신에게 자유를 구현

답변

0

한 가지 방법 감사 및 향상된 버전은 두 개의 별도의 APK를 통해 기능을 분할하는 것입니다. 무료 버전은 다수의 일반 활동으로 패키지화되며 향상된 버전의 기능은 별도의 APK에서 원격 서비스에 의해 구현됩니다.

두 사람은 AIDL을 사용하여 원격 인터페이스를 통해 통신합니다. 시작시 무료 앱은 서비스에 바인딩을 시도하고 불가능한 경우 시간 초과됩니다. 연결이 이루어지면 무료 앱의 정적 속성이 true로 설정됩니다. 무료 응용 프로그램은 향상된 기능을 제공하는 루틴이 호출되기 전에이 속성을 테스트합니다.

나는 이것을 해봤지만 아직 출시하지 않았고 LVS에 대해 아무 것도 모른다.하지만 서비스 APK가이 기능을 수행하지 못하고 'licenceVerified() '을 사용하여 결과를 AIDL을 통해 무료 앱에 반환 할 수 있습니다. 내 프로젝트에서 서비스는 실제로 무료 부분에 정보를 반환하는 많은 계산을 수행합니다. 따라서 무료 부분이 해킹 된 경우에도 서비스 APK가 실제로 존재하지 않으면 무료 앱이 충돌합니다. 원격 인터페이스가 호출되었습니다.

+0

나는이 접근법을 좋아한다. 나는 그것을 실험해야 할 것이다. 고맙습니다. –

1

NickT가 제안한대로 서비스를 통해 문제가 발생하지 않습니다.

내가보기에 다른 옵션은 콘텐츠 제공 업체를 '악용하다'는 것일 수 있습니다. 라이선스가 확인되는 동안 콘텐츠 제공 업체의 쿼리가 차단 될 수 있으므로 비동기 적으로 쿼리해야합니다. 주요 활동에 바쁜 회 전자를 표시합니다.

두 가지 방법 모두 의도를 통해 다른 활동을 생성하는 것보다 나에게 쉬워 보입니다 (초기 접근 방법 이었습니까?).

+1

참고 : 인앱 결제는 곧 Android 용으로 제공 될 예정입니다 (1 분기 말). 이것은 또한 갈 수있는 옵션이 될 수도 있습니다. – sstn

+0

+1 인앱 옵션입니다. 어떻게 작동 될지 확신 할 수 없지만 그 과정은 우리에게 큰 도움이 될 것입니다. –

관련 문제