Download the free trial version
Basic4android Video
Features
Tutorials and manuals
Showcase
Screenshots

Go Back   Android Development Forum - Basic4android > Foreign Languages > Spanish Forum
Documentation Wiki Register Members List B4P Search Today's Posts Mark Forums Read

Uso de servicio de licencias de Android Market

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 12-17-2011, 03:50 PM
Junior Member
 
Join Date: Jun 2007
Posts: 12
Default Uso de servicio de licencias de Android Market

Hola a todos, llevo unos meses usando B4A.

El tema es el siguiente: He subido al market mi primer programa gratis. Tengo terminado ahora otro que pondré de pago, pero no consigo hacer funcionar el servicio de linencias del market. Siempre da permiso a la aplicación, lo tenga o no.

Hago todo conforme al tutorial. Yo quiero que si el programa esta comprado funcione normal y si no lo esta que funcione en un modo demo.
Para ello utilizo un objeto "lc as LicenseChecker". En el sub lc_Allow asigno una variable demo=0 y en el lc_DontAllow demo=1. Pero haga lo que haga siempre esta en demo.

Me lo puede explicar alguien el funcionamiento de LicenseChecker que lo haya usado? A ser posible de la manera lo mas sencilla posible. He programado mucho con B4PPC pero con B4A es el segundo programa solamente.

Gracias.

Last edited by Mazacote : 12-17-2011 at 03:53 PM.
Reply With Quote
  #2 (permalink)  
Old 12-22-2011, 06:59 PM
Junior Member
 
Join Date: Jun 2007
Posts: 12
Default

Ahora parece que si funciona, pero se ve que no guarda el resultado de la comprobación en el cache, porque a los pocos minutos vuelve a dar negativo. Lo que obliga a abrir siempre la aplicación con la conexión de datos activada.

De verdad que nadie habeis usado el servicio de licencias???
Reply With Quote
  #3 (permalink)  
Old 12-22-2011, 08:48 PM
JorgeMC's Avatar
Knows the basics
 
Join Date: Nov 2011
Location: Madrid (ESPAÑA)
Posts: 56
Default

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
__________________
Mi blog: www.historiasdeuncazique.com
Reply With Quote
  #4 (permalink)  
Old 12-22-2011, 10:23 PM
Junior Member
 
Join Date: Jun 2007
Posts: 12
Default

Quote:
Originally Posted by JorgeMC View Post
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.basic4ppc.com/forum/basic...g-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.
Reply With Quote
  #5 (permalink)  
Old 12-23-2011, 09:16 AM
JorgeMC's Avatar
Knows the basics
 
Join Date: Nov 2011
Location: Madrid (ESPAÑA)
Posts: 56
Default

Jejeje, gracias. Una solución que podrías hacer es algo como:

Code:
If "Si tengo conexion a Internet"=True Then

   
"Comprueba licencia"

Else

   
"No compruebes"

End If
Todo esto lo podrías comprobar (No se que tipo de aplicación es), o bien cada X tiempo mediante un Timer, o cada vez que vayan a ejecutar algo en concreto. Esto es como las mochilas Usb, cada uno la programamos según veamos, unos al arranque, otros cada x tiempo, otros al entrar a un sitio, etc..
__________________
Mi blog: www.historiasdeuncazique.com

Last edited by JorgeMC : 12-23-2011 at 09:19 AM.
Reply With Quote
  #6 (permalink)  
Old 12-23-2011, 12:34 PM
Junior Member
 
Join Date: Jun 2007
Posts: 12
Default

Si, lo primero que pensé fue en hacer la comprobación cada x arranques, pero eso puede dar un margen de tiempo para que pueda funcionar "de gratis" al que no lo haya comprado. Y ayer justo se me ocurrio lo de hacer una clave con el imei, que parece mas seguro.
Cuando lo termine ya comentaré que tal va. El programa ya lo tengo terminado a falta de hacerlo funcionar en un modo demo si no tiene licencia.

Last edited by Mazacote : 12-23-2011 at 06:17 PM.
Reply With Quote
  #7 (permalink)  
Old 12-23-2011, 12:41 PM
JorgeMC's Avatar
Knows the basics
 
Join Date: Nov 2011
Location: Madrid (ESPAÑA)
Posts: 56
Default

Quote:
Originally Posted by Mazacote View Post
Si, lo primero que pensé fue en hacer la comprobación cada x arranques, pero eso puede dar un margen de tiempo para que pueda funcionar "de gratis" al que no lo haya comprado. Y ayer justo se me ocurrio lo de hacer una clave con el imei, que parece mas seguro.
Cuando lo termine ya comentaré que tal va. El programa ya lo tengo terminado a falta de hacerlo funcionar en un modo demo si no tiene licencia.
Y como chequeas el IMEI vía Market.... pregunto. Es casí mejor como decías tu, cada 10 arranques por ejemplo, que compruebe la licencia, si no existiera internet, que lo intente hasta que pueda, y luego de nuevo +10 arranques.
__________________
Mi blog: www.historiasdeuncazique.com
Reply With Quote
  #8 (permalink)  
Old 12-23-2011, 06:28 PM
Junior Member
 
Join Date: Jun 2007
Posts: 12
Default

No, el imei se lee con una función de la libreria phone. Lo que comentas de comprobar cada x arranques no me gusta porque es una molestia para el usuario. Lo digo por propia experiencia, me pasa por ejemplo con el titanium backup. Lo uso muy amenudo y siempre me toca cada pocos dias abrirlo con internet.
Reply With Quote
  #9 (permalink)  
Old 12-23-2011, 07:15 PM
JorgeMC's Avatar
Knows the basics
 
Join Date: Nov 2011
Location: Madrid (ESPAÑA)
Posts: 56
Default

No me has entendido, te comento, que no obligues en principio a que tengan conexión a internet, si no un esquema como este:

Arranque del programa (Comprueba conexión a Internet y Valida Licencia, en el primer arranque obligatorio)

Después de 10 arranques (Comprueba conexión a Internet e intenta validar Licencia) Si no puede, puedes ponerle para que lo intente todas las siguientes veces hasta que llegue al arranque 30 por ejemplo, donde ya le obligas a conectarse a Internet.

Esa sería una, la otra es que te crearas un servicio con el programa arrancado con un timer, para que cada X tiempo, compruebe la licencia si esta no ha podido ser validada al arranque.

No se, opciones hay multitud, ya depende del grado de seguridad que le quieras dar a tu programa.
__________________
Mi blog: www.historiasdeuncazique.com
Reply With Quote
  #10 (permalink)  
Old 12-23-2011, 10:47 PM
Junior Member
 
Join Date: Jun 2007
Posts: 12
Default

Si que te he entendido. Lo que pasa es que igual soy demasiado manioso, pero me gustaria que solo fuese necesario validar la primera vez.
No todo el mundo tiene tarifa de datos y mi programa va destinado a la gente que corre o compite en radiocontrol. Si se va un sabado a la pista a correr y no puede consultar o modificar los ajustes de su coche comodamente porque se le abre en modo demo y no tiene conexión para comprobar la licencia... pues se acordará de mi.

Si se almacenase la validación en el cache como dice Erel no haria falta habar de todo esto.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Can't upload APK to Android Market vb1992 Basic4android Updates and Questions 12 03-19-2012 01:35 PM
Android Market - Market requires versionName jdonth Bugs & wishlist 10 08-22-2011 10:52 PM
Der android market Nachtfalke75 German Forum 0 07-09-2011 07:35 AM
Android Market ashrafidkaidek Basic4android Updates and Questions 5 02-03-2011 03:23 PM
Android Market martinho Basic4android Updates and Questions 1 12-29-2010 06:44 AM


All times are GMT. The time now is 01:09 PM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0