2011-01-19 1 views
5

그래서 LVL 문서를 앞뒤로 읽었고 내 응용 프로그램과 함께 작동하도록했습니다. 나는 캐시 된 응답에 대한 질문을 보았다. 그러나 LVL 문서의 일부 문구를 기반으로 궁금한 점이 있는데, 앱이 초기화 될 때마다 라이센스 검사기를 부르길 원하십니까? 이것을 구현하는 가장 안전한 방법입니까? Google과 같은 ServerManagedPolicy를 사용하면 라이센스 검사를 호출하고 앱을 실행하거나 실패 할 경우 선택하는 작업을 수행합니까? 나의 작은 관심사 중 하나는 네트워크 데이터 사용입니다. 그들은 사용자에게 알리지 않고 리소스를 사용할 때주의해야 할 필요가 있음을 알게되었으며 사용자에게 알리지 않고 네트워크 데이터를 사용하는 것으로 보입니다.Android : 앱을 열 때마다 LicenseChecker를 호출해야합니까?

이 코드를 추가하면 누구든지이 코드로 인해 앱에 지연이 발생합니까? 내 애플 리케이션의 특성으로 인해, 그것을 열고 다음 네트워크를 통해 올 수있는 모든 시간을 기다리는 것은 분명히 그 사용에서 산만하게 될 것입니다. 내가 직접 응답을 캐싱해야합니까, 아니면 이것을 생각하는 것일까 요?

답변

1

당신은 당신의 질문에 대답했습니다; 사용자가 시작할 때마다 서비스를 호출하는 것이 방해가 될 것이라고 생각하면 (예 : 사용자가 서비스 지역을 벗어나는 경우), 그렇게하지 마십시오.

Google은 라이센스 서비스 사용 빈도에 대해 권장하지 않습니다. 응용 프로그램 개발자로서 편집자가 얼마나 불법 복제인지, 지속적으로 검사하는 것이 사용자를 귀찮게 할 것이라고 느끼는가에 달려 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 더 많은 것을 읽고 질문을 게시 한 후에 그것을 검토하고있다.또한 LVL이 자체 캐싱을 수행하는 것처럼 보입니다. 그래서 나는 이것이 생성 할 실제 트래픽의 양에 지나치게 염려 할 것입니다. 나는 주된 절차에 대한 나의 onCreate에 대한 라이센스 검사를 호출 할 것이다. 그것이 진짜 문제가된다면 나는 더 느슨한 버전으로 업데이트를 발행 할 수 있습니다. 나는 그들이 ServerManagedPolicy가 나를 위해 모든 백그라운드 작업을 수행한다고 가정합니다. – Isaac

+0

@Tom의 대답에 대한 위의 내 의견을 참조하십시오. 간단한 예제를 만들고 결과를 토스트하면 앱을 시작할 때마다 호출되는 것을 볼 수 있습니다. – trgraglia

1

Ok, 공평하고 단 한 번만 확인하십시오.하지만 정보를 안전하게 "저장할 수"있는 곳은 하루에 한 번만 확인해야합니다. 예 : 앱을 처음 시작할 때 확인합니다. LVL의 결과는 유효합니다. 따라서 마지막으로 성공한 검사 날짜를 저장합니다. 그러나 그것을 어디에 보관해야합니까? SharedPreferences 사용? 이거 안전한가요? 장치에 대한 루트 액세스 권한이 있으면 해당 환경 설정에 액세스하여 유효한 날짜를 변경할 수 있습니다 (예 : 어느 쪽이든 나중에 코드에서 확인할 수 있습니다 :-))

PS. 죄송합니다, LVL에 관한 코멘트 :(

+0

톰, 나도 너와 함께있다. 코드를 열어 두지 않고이 코드를 저장할 수있는 곳은 어디입니까? ServerManagedPolicy 코드를 사용하여 legwork을 수행하도록 할 것입니다. 나는 이것이 문 자물쇠와 유사 할 것이라는 점을 짐작할 것이다. 그들은 정직한 사람들을 정직하게 지켜줍니다. 누군가가 당신의 집에서 원한다면 그들은 창문을 깨고 들어가기 만 할 것입니다. – Isaac

+0

다른 문제는 기본값이 dont_allow라는 것입니다. 그래서 그들이 인터넷에 연결되어 있지 않다면, 그들은 실제로 법적으로 그것을 구입했을 때 사람을 화나게 할 것입니다 ... 그래서 당신은 또한 장치의 연결을 확인하고 싶을 수도 있습니다 ... – trgraglia

0

를 만들 수 없습니다 : SDK가 구현 샘플을 제공하지만, 구글 자체가 명확하게 "있는 그대로"그것을 사용에 대한 권장

http://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampires-using-license-verification-library-in-app-billing-and-app-engine.html

을 것을보고 후. LVL은 1 ~ 2 달러에 판매되는 앱에 대한 옵션이 아니며 합법적 인 사용자를 화나게 할 수도 있습니다 (네트워크가없는 경우). LVL 확인은 합법적 인 사용자를 열 받게합니다. 어떤 종류의 LVL 응답 캐싱, 그것은 항상 질문까지, 당신이 얼마나 멀리 보호하고 싶은지를 밝혀 줄 것입니다 합법적 인 사용자를 희생시키면서 불법 복제를 방지 할 수 있습니까?

그리고 개발자 시간이 제한되어 있으므로 불법 사용을 줄이기 위해 많은 시간을 낭비하는 대신 앱을 개선하는 데 더 많은 노력을 기울일 가치가 있습니다.

0

앱을 시작할 때마다 전화하십시오. Google에서 제공하는 LVL 라이브러리는 다음에 사용자가 응용 프로그램을 시작할 때 응답을 캐시하므로 캐시 유효 기간 내에 응용 프로그램을 다시 시작하면 네트워크 연결이 필요하지 않습니다.

캐시가 유효한 시간을 변경하는 것이 좋습니다. 기본적으로 Google은 캐시 유효 시간이 매우 낮으므로 캐시가 만료되었을 때 네트워크 외부에 있던 일부 불쾌한 사용자를 초래했습니다.

+0

I 이 주제에 대한 좋은 지식이 있는지 확인하십시오. 이 질문을보실 수 있습니까? http://stackoverflow.com/questions/16567842/how-to-increase-lvl-cache-valid-time – Kristopher