Android: ¿Debo llamar al LicenseChecker cada vez que abra la aplicación?

Así que he leído los documentos LVL hacia atrás y hacia adelante, y lo tengo trabajando con mi aplicación. He visto las preguntas sobre la respuesta en caché. Pero todavía me deja preguntando, basado en algunos de los términos en los documentos de LVL, Google quiere que llame al chequeador de licencia cada vez que la aplicación se inicializa? ¿Es esa la forma más segura de implementar esto? Usando el ServerManagedPolicy como sugiere Google, ¿simplemente llamamos a la verificación de licencia y ejecutamos nuestra aplicación o hacemos lo que elijamos si fallan? Una de mis pequeñas preocupaciones es el uso de datos de red. Ellos perforar en nosotros la necesidad de ser cautelosos de utilizar los recursos sin informar al usuario, y me parece que esto es un uso de los datos de la red sin dejar que el usuario sepa.

Para añadir a esto, ¿hay alguien experimentando algún tipo de retraso en su aplicación debido a este código? Debido a la naturaleza de mi aplicación, la apertura y luego esperar cada vez que un ok para venir a través de la red definitivamente distraería de su uso. ¿Debería poner en caché la respuesta yo mismo, o estoy demasiado pensando en esto?

Ha respondido a su propia pregunta; Si usted siente que llamar al servicio cada vez que usted comienza sería perjudicial (que sería, por ejemplo, el usuario está fuera de cobertura), entonces no lo hagas.

Google no hace recomendaciones sobre la frecuencia con la que debe utilizar el servicio de licencias; Es hasta cómo paranoico como el desarrollador de aplicaciones son acerca de la piratería, equilibrado con lo mucho que se siente constantemente comprobar molestaría al usuario.

Ok, justo, sólo comprobar de vez en cuando .. Pero ¿dónde puede "con seguridad" almacenar la información, que debe comprobar una vez al día solamente? Por ejemplo, la primera vez que inicie la aplicación, la comprobará. El resultado de LVL es válido: por lo que almacena la fecha de la última comprobación correcta. Pero, ¿dónde guardarlo? ¿Usando SharedPreferences? ¿Es seguro? Porque si tienes acceso root en tu dispositivo puedes acceder a la preferencia y cambiar la fecha válida (de cualquier manera en el futuro, un sí, por supuesto puedes comprobar que en el código :-))

PD. Lo siento, no he podido hacer un comentario 🙁

Acerca de LVL: Aunque el SDK proporciona una implementación de ejemplo, Google mismo, recomienda claramente no utilizarlo "tal cual".

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

Después de ver eso, creo, LVL no es una opción para las aplicaciones vendidas por 1-2 $. Además, un cheque LVL fallido (si no hay red disponible) perturbará a los usuarios legítimos.

Si bien es cierto que se puede implementar algún tipo de caché de respuestas LVL, siempre será en la pregunta, ¿en qué medida desea proteger contra la piratería a expensas de los usuarios legítimos?

Y: el tiempo del desarrollador es limitado, así que quizás sea más útil poner esfuerzos en mejorar una aplicación, en vez de perder mucho tiempo tratando de reducir el uso ilegal.

Llámelo cada vez que inicie la aplicación. La librería LVL, enviada por Google, almacenará en caché la respuesta y la utilizará la próxima vez que el usuario inicie la aplicación, por lo que no necesitará una conexión de red si reinicia la aplicación dentro del marco de tiempo válido del caché.

Lo que probablemente desee hacer es cambiar la cantidad de tiempo que la caché es válida. De forma predeterminada, google se entrega con un tiempo de caché bastante bajo, lo que resultó en algunos usuarios molestos que estaban fuera de una red cuando el caché había expirado.

  • Licencia de verificación de la longevidad del estado "activado". ¿Qué tan frecuente es demasiado para el usuario?
  • Permitir que los usuarios descarguen su propia aplicación pagada de forma gratuita en Android
  • Licencia de licencia de Android que va directamente a applicationError (...)
  • Android LVL Período de licencia personalizado
  • ¿Alguna manera alrededor del funcionamiento terrible de SecretKeyFactory con LVL y AESObfuscator?
  • ¿Cómo obtener el ID de USUARIO de Google (no el ID del dispositivo) de seguro?
  • Android: licencias de aplicaciones, protección contra copias
  • Respuesta de prueba de licencia de Android: nunca funciona
  • La validación de la licencia de Google falla repentinamente en el dispositivo de desarrollo
  • Android "Not_Market_Managed" error
  • ¿Dexguard evita grietas simples de LVL?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.