Puede elegir cuándo y con qué frecuencia desea que su aplicación verifique su licencia y tiene control total sobre cómo maneja la respuesta, verifica los datos de respuesta firmados y aplica los controles de acceso.
De http://developer.android.com/guide/market/licensing/overview.html
Entonces sí, básicamente, cuando el desarrollador lo desee. Me imagino que el momento más común para verificar es cuando la aplicación se abre por primera vez.
Su aplicación no consulta directamente al servidor de licencias, sino que llama al cliente de Google Play a través de IPC remoto para iniciar una solicitud de licencia. En la solicitud de licencia:
Su aplicación proporciona: su nombre de paquete, un nonce que luego se utiliza para validar cualquier respuesta del servidor y una devolución de llamada sobre la cual la respuesta puede devolverse de forma asincrónica.
El cliente de Google Play recopila la información necesaria sobre el usuario y el dispositivo, como el nombre de usuario de la cuenta de Google principal del dispositivo, IMSI y otra información. Luego envía la solicitud de verificación de licencia al servidor en nombre de su aplicación.
El servidor de Google Play evalúa la solicitud utilizando toda la información disponible, intentando establecer la identidad del usuario con un nivel de confianza suficiente. Luego, el servidor verifica la identidad del usuario con los registros de compra de su aplicación y devuelve una respuesta de licencia, que el cliente de Google Play devuelve a su aplicación a través de la devolución de llamada IPC.
Asi que:
- La información sobre la aplicación, el dispositivo y el usuario se envía a los servidores de Google.
- Google luego compara su nombre con la lista de personas que sabe que han pagado por la aplicación en Google Play. (También podría verificar el nombre de la aplicación con una lista de aplicaciones que sabe que ha descargado de Google Play)
- Si puede ver que ha descargado (y pagado) la aplicación de Google Play, le devuelve que tiene una licencia, de lo contrario, le dice a la aplicación que no la tiene.
Obviamente, todo esto se hace en línea, por lo que si no está conectado, no funcionará. Si estaba escribiendo la solicitud, tendría un contador para permitir que la persona la use fuera de línea 3 veces más o menos antes de tener que conectarse a Internet para obtener la verificación de la licencia y detener el tipo de cosas que le suceden donde no puede jugar desconectado. Por supuesto, si alguien busca en el archivo donde está almacenado el contador, podría cambiar el valor a 3 intentos cada vez que lo use y nunca tenga que pagar, pero eso probablemente esté más allá de la competencia técnica de la mayoría de los usuarios.