Você pode escolher quando e com que frequência deseja que seu aplicativo verifique sua licença e tenha controle total sobre como ele lida com a resposta, verifica os dados de resposta assinados e aplica controles de acesso.
Em http://developer.android.com/guide/market/licensing/overview.html
Então, sim, basicamente sempre que o desenvolvedor quiser. Eu imagino que o momento mais comum para verificar é quando o aplicativo é aberto pela primeira vez.
Seu aplicativo não consulta o servidor de licenciamento diretamente, mas chama o cliente do Google Play pelo IPC remoto para iniciar uma solicitação de licença. Na solicitação de licença:
Seu aplicativo fornece: seu nome do pacote, um nonce que é usado posteriormente para validar qualquer resposta do servidor e um retorno de chamada sobre o qual a resposta pode ser retornada de forma assíncrona.
O cliente do Google Play coleta as informações necessárias sobre o usuário e o dispositivo, como o nome de usuário principal da conta do Google, IMSI e outras informações. Em seguida, ele envia a solicitação de verificação de licença ao servidor em nome do seu aplicativo.
O servidor do Google Play avalia a solicitação usando todas as informações disponíveis, tentando estabelecer a identidade do usuário com um nível de confiança suficiente. O servidor verifica a identidade do usuário em relação aos registros de compra do seu aplicativo e retorna uma resposta de licença, que o cliente do Google Play retorna ao seu aplicativo pelo retorno de chamada IPC.
Tão:
- As informações sobre o aplicativo, o dispositivo e o usuário são transferidas para os servidores do Google.
- O Google verifica seu nome com a lista de pessoas que ele sabe que pagaram pelo aplicativo no Google Play. (Também pode verificar o nome do aplicativo em uma lista de aplicativos que você sabe que você baixou do Google Play)
- Se for possível ver que você baixou (e pagou) o aplicativo do Google Play, ele envia de volta que você possui uma licença; caso contrário, informa o aplicativo que não é.
Obviamente, tudo isso é feito online; portanto, se você estiver offline, não funcionará. Se eu estivesse escrevendo o aplicativo, eu teria um contador para permitir que a pessoa o usasse off-line três vezes ou mais antes de ter que ficar on-line para obter a verificação da licença, a fim de impedir que algo aconteça com você onde você não pode jogar desligada. Obviamente, se alguém pesquisar no arquivo em que o contador está armazenado, poderá alterar o valor de volta para 3 tentativas toda vez que o usar e nunca precisar pagar, mas isso provavelmente está além da competência técnica da maioria dos usuários.