¿Qué es una política de licencia?

El servicio de licencias de Google Play no determina directamente si un usuario dado con una licencia otorgada debe conceder acceso a la aplicación. Esta decisión se deja en manos de la política de licencia que queramos usar en nuestra aplicación.

Una política se implementa declarando en LVL un descendiente de la clase abstracta Policy. Esta clase está pensada para diseñar la lógica de la aplicación a la hora de permitir o no permitir el acceso del usuario, basándose en el resultado de una verificación de licencia.

La librería LVL incluye dos implementaciones de política de licencia que puedes utilizar directamente o adaptarlas a tus necesidades:

  • ServerManagedPolicy: implementa una política flexible que almacena los resultados en una caché para usarlos en caso de no disponer de acceso a la red.
  • StrictPolicy: no almacena en caché los datos de respuestas y permite el acceso solo si el servidor devuelve una respuesta con licencia.

Para la mayoría de las aplicaciones, se recomienda el uso de ServerManagedPolicy (es el valor predeterminado). Los datos de la última consulta se almacenan localmente en un fichero SharedPreferences ofuscado. Esta caché es implementada para permitir seguir usando la aplicación aunque perdamos el acceso a Internet[1].

Preguntas de repaso: El servicio de licencias Google Play.



[1] Más información para implementar tu propia política en:
http://developer.android.com/google/play/licensing/adding-licensing.html#impl-Policy