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?
- ¿Cómo aumentar la caché de LVL-tiempo válido?
- Biblioteca de verificación de licencias de Android cuando está fuera de línea
- Base de aplicaciones de Android 64 clave pública
- Android: la adición de licencia a la aplicación simple hola mundo en el emulador
- Entendiendo el Licenciamiento de Aplicaciones de Android
- Cómo comprobar el permiso de licencia de Android de otras aplicaciones
- Android LVL y InAppBilling: cómo seleccionar la cuenta de usuario actual para la compra?
- ¿La aplicación de la licencia de Android que muestra no tiene licencia?
- Android Uso de licencias y / o facturación en la aplicación
- Android LVL razonable?
- Android con hormigas licencia dependencias de biblioteca
- Proguard.cfg no funciona en aplicaciones exportadas usando LIBRARY
- ¿Es posible fusionar un lite existente y una versión completa (dentro de la versión lite más facturación en la aplicación)?
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".
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.
- Crear un controlador personalizado de finalización / devolución de llamada para devolver objetos después de que se completa una solicitud HTTP
- ZXing doble imagen / superposición después de escanear