2012-04-10 4 views
2

무료/유료 앱 버전 유지에 대한 합의는 라이브러리를 사용하고 코드에서 다른 기능을 얻기 위해 각 활동의 깃발을 설정하는 것으로 보입니다 베이스.라이브러리를 사용하여 무료/유료 앱 버전 유지하기

얼마나 안전합니까? 사람이 전화기를 근절하고 APK를 얻을 수 있으며 디 컴파일이 가능하다는 것을 이해해야합니다. 코드가 난독 화 된 경우에도 응용 프로그램이 플래그가있는 래퍼이며 플래그를 수정하는 것이 너무 어렵지는 않습니다. 이게 받아 들여질 수 있니? 나는 항상 물건 주위에 방법이 될 것을 알고 있지만, 이것은 매우 쉬운 것 같습니다.

빌드 플래그를 사용하여 다른 버전의 코드를 컴파일 할 수있는 방법이 없으므로 전체 코드가 무료 버전에서 제공되지 않습니다.

Android TicTacToe sample code에서 활동은 다른 활동을 시작합니다. 내 응용 프로그램에서 별도의 Light 및 Pro 패키지가 라이브러리에서 작동하면이 메서드를 구현하면 기본 뷰가로드 된 다음 자식 뷰가로드되고 자식 뷰에서 돌아가서 빈 부모 뷰가 표시됩니다. 라이브러리에서 기본 활동을 확장하고 기본 활동에서 컨텐츠 뷰를 설정하지 않기위한 방법은 무엇입니까?

답변

1

단일 APK 프로젝트 만 유지하도록 제안하지 않습니다. 대신 총 3 개의 프로젝트를 만들 것을 제안합니다. 하나는 도서관 자체이며 하나는 무료 APK이고 다른 하나는 유료 APK입니다. 이 계획을 사용하면 "무료 APK"프로젝트가별로 효과가 없을 것입니다. 라이브러리의 캐리어가 될 것입니다 (물론 적절한 경우 자체 코드를 추가 할 수는 있지만). "유료 APK"는 추가 기능을 제공하고 라이브러리에 콜백, 리플렉션 등을 통해 사용법을 알려주는 수단입니다. 이렇게하면 해당 버전에서 사용할 계획이 아니며 Eclipse 또는 다른 빌드 환경에 특별한 기능을 필요로하지 않으므로 사용자의 코드 이동 문제를 해결할 수 있습니다.

+0

무료/유료 사이의 기능을 식별하는 플래그가있는 라이브러리 APK 프로젝트 3 개 (무료, 유료)가 있습니다. 해당 응용 프로그램에 추가 유료 기능을 배치하고 라이브러리에서 호출하는 예가 있습니까? – CraPo

+0

@CraPo 예제가 없지만 Android 개발자는 콜백 (OnClickListener에 필요한 것을 구현하는 것과 같은)을 제공하는 방법을 이미 알고 있습니다. 제 제안은 유료 APK가 유료 APK에만 존재하는 코드에 대한 콜백을 사용하여 라이브러리를 초기화하고 무료 APK가이를 초기화하거나 다른 기능 (예 : 앱의 시장 URL로 이동)을 위해 초기화하지 않는다는 것입니다. 콜백 메소드는 리플렉션을 사용하는 것보다 쉬워 야합니다 (아마도 강력하지는 않지만). 콜백이 깃발을 대체합니다. – mah

관련 문제