Spanish Como se puede proteger una versión PRO de nuestra a app

desof

Well-Known Member
Licensed User
Longtime User
Hola amigos, estoy desarrollando una app en su versión FREE que por supuesto saldrá con algunas limitaciones y la idea es luego hacer como todos una versión PRO paga.
La pregunta es como se controla esto para que la app no pase de mano ?
Que sistema se suele utilizar para que solo la pueda usar el que abone a PlayStore para nuestra cuenta.?

Gracias
 

cas6678

Active Member
Licensed User
Longtime User
No se si me equivocare con lo que voy a decir, pero entiendo que si yo pago una app y la descargo del PlayStore no tengo forma de obtener el apk para pasarsela a un tercero y solo la puedo disfrutar en ese dispositivo (o en cualquier otro en el que tenga una sesion de PlayStore iniciada con el mi mismo nombre de usuario). Estoy equivocado?
 

desof

Well-Known Member
Licensed User
Longtime User
No se si me equivocare con lo que voy a decir, pero entiendo que si yo pago una app y la descargo del PlayStore no tengo forma de obtener el apk para pasarsela a un tercero y solo la puedo disfrutar en ese dispositivo (o en cualquier otro en el que tenga una sesion de PlayStore iniciada con el mi mismo nombre de usuario). Estoy equivocado?
Sí bien nunca lo he probado he leido que hay aplicaciones que te extraen las apk de un móvil. De todas maneras no es eso lo que me preocupa tanto por que no será para nada masiva mi app.
Pero sí mi versión PRO está en PlayStore como evito que la descarguen los que no pagaron por ella?
La verdad este tema veo muy poca info al respecto.
 

rscheel

Well-Known Member
Licensed User
Longtime User
Sí bien nunca lo he probado he leido que hay aplicaciones que te extraen las apk de un móvil. De todas maneras no es eso lo que me preocupa tanto por que no será para nada masiva mi app.
Pero sí mi versión PRO está en PlayStore como evito que la descarguen los que no pagaron por ella?
La verdad este tema veo muy poca info al respecto.

APK Extractor extrae la app del dispositivo, lo mejor que puedes hacer es dejar la aplicación asociada a la cuenta de Play Store, la verdad no se como se ara pero eso es lo que usan con las app pro.
 

cas6678

Active Member
Licensed User
Longtime User
No entiendo bien lo que planteas. Si tienes la app en el Play Store y la misma es de pago nadie que no pague (a ti via google) podra descargarla. Otra cosa es que la version sea gratis a efectos del PlayStore. Vas por ahi?

Yo tengo una app en la que el usuario necesita que le de una key, esa key esta relacionada con SU dispositivo Android (con la ID android de ese dispositivo en concreto), por lo tanto una vez que se la doy solo le sirve para ese dispositivo. No se si es mucha o poca proteccion, en caso de una difusion pequeña creo que es suficiente.
 

desof

Well-Known Member
Licensed User
Longtime User
Haber, no conozco como funciona Google Play con aplicaciones pagas ya que sólo tengo un par gratuitas.
Ahora estoy a punto de implementar una versión Pro de una de ellas y quiero protegerla de algun modo.
Tu dices que al estar como para en PlayS.. y configurada la cuenta de vendedor y la app como paga solo acceden a ella los que pagaron ? (si es así ya tendría la solución)

Y respecto a lo que dices que el usuario le des una KEY también es interesante ... y de donde y como obtienes el ID del dispositivo de ese usuario ?
Gracias
 

bgsoft

Well-Known Member
Licensed User
Longtime User

rscheel

Well-Known Member
Licensed User
Longtime User

Pero si se amarra al ID del dispositivo, no ara que solo lo pueda usar en ese dispositivo, que pasa si la persona coloca su cuenta en otro dispositivo no le funcionara la versión de pago?
 

cas6678

Active Member
Licensed User
Longtime User
Haber, no conozco como funciona Google Play con aplicaciones pagas ya que sólo tengo un par gratuitas.
Ahora estoy a punto de implementar una versión Pro de una de ellas y quiero protegerla de algun modo.
Tu dices que al estar como para en PlayS.. y configurada la cuenta de vendedor y la app como paga solo acceden a ella los que pagaron ? (si es así ya tendría la solución)

Y respecto a lo que dices que el usuario le des una KEY también es interesante ... y de donde y como obtienes el ID del dispositivo de ese usuario ?
Gracias

Coloco estas lineas en la app y un lugar donde se visualice el string SerialId

Dim p As Phone
SerialId=p.GetSettings("android_id")

Luego el usuario me lo pasa y yo le doy la key que le corresponde a esa id para activarse o quitar restricciones.
 

cas6678

Active Member
Licensed User
Longtime User
Pero si se amarra al ID del dispositivo, no ara que solo lo pueda usar en ese dispositivo, que pasa si la persona coloca su cuenta en otro dispositivo no le funcionara la versión de pago?

Efectivamente. Si quiere irse a otro dispositivo tendra que volver a hacerlo. (y tu decidir en que condiciones se lo haces)
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Pero si se amarra al ID del dispositivo, no ara que solo lo pueda usar en ese dispositivo, que pasa si la persona coloca su cuenta en otro dispositivo no le funcionara la versión de pago?

Normalmente las licencias son únicas, no para varios dispositivos, hasta la licencia de B4X es para un solo PC :D

Puedes hacer una cosa, cuando arranque la aplicación, que compruebe que la key y el id si son correctos, si no lo son sale, si quiere cambiar de dispositivo, que se ponga en contacto, borras la key antigua y le generas una para ese nuevo dispositivo.

En el foro el tema de proteger las App se ha discutido en varios post, y esto al igual que programar lo importante es conseguir lo que quieres de una forma u otra. Yo en una App (no subida al Play Store) creo un fichero con el ID y otros parametros del cliente, el fichero lo encripto y ademas le hago un checksum (suma de verificación) y asi si alguien cambia el ID u otro valor del fichero el checsum no será el mismo y la app no funcionará :D

Saludos
 

rscheel

Well-Known Member
Licensed User
Longtime User
Normalmente las licencias son únicas, no para varios dispositivos, hasta la licencia de B4X es para un solo PC :D

Puedes hacer una cosa, cuando arranque la aplicación, que compruebe que la key y el id si son correctos, si no lo son sale, si quiere cambiar de dispositivo, que se ponga en contacto, borras la key antigua y le generas una para ese nuevo dispositivo.

En el foro el tema de proteger las App se ha discutido en varios post, y esto al igual que programar lo importante es conseguir lo que quieres de una forma u otra. Yo en una App (no subida al Play Store) creo un fichero con el ID y otros parametros del cliente, el fichero lo encripto y ademas le hago un checksum (suma de verificación) y asi si alguien cambia el ID u otro valor del fichero el checsum no será el mismo y la app no funcionará :D

Saludos


Yo tengo varias aplicaciones que uso y son de pago, las cuales las puedo usar en distintos teléfonos siempre y cuando tenga la cuenta de google como principal, igual hay aplicaciones que se paga licencia por dispositivo o usuario, en ese aspecto creo que uno debe decidir en cual método aplicar para la aplicación pro.
 

desof

Well-Known Member
Licensed User
Longtime User
Creo que voy a utilizar la solución que me brinda PlayStore de todas manera mi mente curiosa me lleva a tratar de entender como implementar otra soluciòn alternativa usando el ID de dispositivo..
Podría hacer lo siguiente

1- leer el ID del dispositivo y verificar si ya existe en una Base de datos remota
>a- Si existe el ID verificar si tiene el Key que hemos puesto manualmente en la BD o podemos darle la posibilidad al usuario que la ingrese
>> a1- Existe la KEY y es correcta esta registrado
>> a2- No existe la KEY o es incorrecta salir y dar mensaje como en opcion b
>b- si no existe lo agregamos y damos el mensaje que solicite la calve al desarrollador (previo Pago) y mostramos una Key o alguna dato del user.

Esto es lo que se me ocurre solo que condiciono a la app a estar conectada siempre para verificar o podemos escribir un file encriptado

Que opinan ? es viable ?
 

cas6678

Active Member
Licensed User
Longtime User
A mi me parece viable, el tema es ese, debe estar conectado. Haciendo que la id de android sea compatible de alguna manera con la key que le des, y haciendo que esa busqueda de compatibilidad la haga la app de forma autonoma sin conexion te evitas lo de la base remota.
 

Duque

Active Member
Licensed User
Longtime User
HOLA QUE HACEN ?
Yo implemente el método de la BD remota
en cada inicio la app verifica si el equipo esta registrado
doy 10 días de uso gratis ya después de eso les envió por medio de mensaje los planes disponibles $$$
la pueden mirar aquí
 
Last edited:
Top