2010-01-06 11 views
6

Me han pedido algunas copias de revisión de una aplicación de Android que he escrito, que es genial, pero no estoy dispuesto a dar la aplicación completa a cualquiera. Quiero hacer una versión de tiempo limitado (que funciona durante aproximadamente dos semanas, luego abandona el fantasma).¿Cómo puedes hacer una copia de revisión de una aplicación de Android?

¿Cuál es la manera más fácil de hacer esto? No lo he probado yo mismo, pero creo que, en teoría, si uno construye la aplicación usando un almacén de claves que expira en dos semanas podría funcionar. ¿Es correcto o tengo que poner una línea de código en la aplicación que la apaga si intentas iniciarla después de una fecha establecida?

Respuesta

4

El almacén de claves no se comprueba después de que se instala la aplicación; solo en el momento de la instalación se verifica la fecha.

Tendría que poner su propio código de límite de tiempo, me imagino. Aunque si quieres ser realmente paranoico, podrías considerar que el usuario podría alterar el reloj de su dispositivo.

Como alternativa, podría hacer un control en línea (contra tiempo en su servidor), o hacer que cada APK que distribuya tenga un token incrustado individual que se validará contra su servidor.

+0

Ah, es bueno saber sobre el control del almacén de claves. –

+0

Una historia interesante, estaba intentando probar la solución fácil (una fecha de corte en el código) y realmente no pude cambiar la hora del sistema. Claro, Android me dejaría abrir un diálogo para configurar manualmente la fecha, pero algún Receptor siguió recogiéndolo y volviéndolo a cambiar. Tal vez no es tan fácil como uno simplemente "cambiar el tiempo" para mantener una aplicación funcionando, o tal vez mi ADP1 está siendo un poco inestable. : P –

1

La manera más fácil es codificar una fecha de finalización y ya no se ejecuta después de eso. se puede eludir si los usuarios cambian el tiempo de su sistema, pero es una tarea complicada.

de lo contrario, puede hacer que su aplicación verifique la licencia periódicamente al conectarse a su servidor a través de http, pero eso requiere más trabajo.

1

Esto suena como una gran idea. Probablemente desee volver a poner el teléfono de la aplicación en su hogar y verificar con un servidor que ha transcurrido un cierto tiempo. Los usuarios siempre pueden eliminar su archivo de preferencias en el teléfono o desinstalar y reinstalar la aplicación para evitar restricciones en el teléfono.

Creo que el enfoque del almacén de claves también puede funcionar, pero no estoy seguro de cómo funcionan exactamente en Android.

Haga que este sea un proyecto de código abierto cuando termine, ¡creo que sería útil para mucha gente!

3

Tengo una sugerencia más simple, ¿qué pasa si el revisor compra la aplicación y usted reembolsa el pago?

+1

Esta es una buena idea para el uso ocasional, pero no la usaría demasiado, ya que demasiados reembolsos de tarjetas de crédito podrían hacer que su cuenta se marque. –

0

Según Google: "Si planea publicar su (s) aplicación (es) en Android Market, la clave que utiliza para firmar la (s) aplicación (es) debe tener un período de validez que finaliza después del 22 de octubre de 2033. El servidor de Market aplica esto requisito para garantizar que los usuarios puedan actualizar sin problemas las aplicaciones de mercado cuando haya disponibles nuevas versiones "

Lo que hicimos con nuestra entrada de desafío II de desarrollador fue cuando llegamos a la fecha de caducidad todos los datos nuevos que procesamos fueron reemplazados por una advertencia de caducidad. Por lo tanto, la aplicación funcionaba con los datos existentes, pero no con los datos nuevos que el usuario ingresó después de la caducidad. Desde que nuestra aplicación procesó los mensajes de texto, configurar el reloj fue una solución poco realista a largo plazo para que el usuario supere la caducidad.

1

Puede usar TelephonyManager.getDeviceId() y crear una compilación de su aplicación que solo se ejecutará en el teléfono del revisor.

Puede codificar esto con fuerza en la aplicación o hacer que el teléfono verifique en su servidor dónde almacenaría los permisos para cada ID de dispositivo. Con este último caso, podría hacer que su aplicación muestre la ID del dispositivo cuando no puede encontrar una licencia; el revisor te dice esto y luego ingresas esto en tu DB.

0

Según el tipo de aplicación que esté evaluando, es posible que usted tenga otras opciones.

Lo codifica como una gran cantidad de shareware y solo deja que la aplicación se ejecute tantas veces. El código para esto sería muy fácil de implementar. Seguro que el revisor podría eliminar los datos, pero no muy fácilmente. No creo que pasen tantos problemas por tal vez un par de dólares.

2

Pensé en una buena manera de hacerlo. Crea una versión Beta de su aplicación y puede definir el grupo de probadores, solo necesita la dirección de correo electrónico de esa persona o una comunidad G + a la que pueden solicitar acceso, y luego los agrega al programa Beta.

Cuestiones relacionadas