Te animo, si tienes tiempo y puedes, a que hagas un mini tuto de como se hace, ya que existen varias preguntas por el foro y así tenemos más contenido para el foro y aprendemos los que no lo hemos usado aún
Jajaja que haga un mini tuto... cuando sepa como funciona si lo pondé. Esperaba que alguien me lo pudiera explicar.
Realmente es muy facil el funcionamiento (en teoria):
http://www.b4x.com/forum/basic4android-getting-started-tutorials/11429-protect-your-android-application-licensing-library.html
Pero en la practica como que no va muy bien.
He hecho lo siguiente:
1-He subido el apk al market pero sin publicar. Le he puesto un precio en € (para que lo coja como de pago y funcione a licencia)
2-El la pagina de la cuenta de desarrolladores del market, donde tenemos nuestros programas subidos le pincho a "editar perfil". Aqui aparece mi llave publica, que tengo que asignar a una variable (publicKey) en el programa. En "cuentas de prueba" pongo mi gmail para simular que he comprado el programa con esa cuenta. Y mas abajo en "respuesta a prueba de licencia" juego con licensed y not licensed.
3-En mi programa:
lc.Initialize("lc", p.GetDeviceId, publicKey, "kljdflkf".GetBytes("UTF8")) 'Inicio licensecheker
lc.SetVariableAndValue("var", 1) 'Si da respuesta de licencia valida pone la variable var=1
lc.CheckAccess 'pregunta al market
Aparentemente funciona bien. El programa recoge la respuesta del market segun le ponga licenciado o no. Pero al poco rato si no tengo conexión de internet en el movil me dice que no tiene licencia. Me toca cerrar el programa, matar el proceso que se queda, conectar datos, abrir el programa otra vez, respuesta sin licencia otra vez, volver a cerrar y matar el proceso, volver a abrir y ya tiene licencia de nuevo. Y al desconectar internet y abrir de nuevo el programa toca hacer lo mismo. Un rollo. Deberia bastar con abrir con datos solo la primera vez para preguntar por la licencia, porque la respuesta se debe guardar en el cache. Pero nada, o no se guarda o se borra.
Lo que se me ha ocurrido es que la primera vez que de respuesta de licencia valida genere una clave con el imei y guardarla en un archivo. Y "fiarse" de este archivo cuando diga que no tiene licencia. Si alguien copia el apk con este archivo no le funcionará porque su imei generaria otra clave.
A ver si alguien nos puede ayudar en esto. Saludos y perdón por el tocho.