Pregunta

Posible duplicado:
Cómo de origen abierto Una aplicación que usa claves API

Tengo una aplicación de Android de código abierto a la que estoy planeando agregar el seguimiento de la ráfaga. Flurry crea una clave API única para el seguimiento de su aplicación.

¿Necesito intentar ocultar esta tecla API en mi código fuente (es decir, no incluirla y la agregaría cada vez que construyo para su lanzamiento) o simplemente no me preocupa?

¿Fue útil?

Solución

Utilizo el código de Google como repositorio de SVN y para cualquiera de mis claves API pongo un marcador de posición en Strings.xml y me aseguro de en blanco si reviso algo.

Otros consejos

Las aplicaciones de esta naturaleza deben tener un archivo de configuración que se mantenga solo fuera del repositorio. En lugar de comprometer el archivo en sí, cree una versión de "muestra" del archivo que se compromete con el repositorio, que contiene todas las configuraciones necesarias pero solo tiene datos ficticios. Luego, en su aplicación, cargue dinámicamente el archivo de configuración "real".

Cuando otro Dev revisa el código, tendrán que hacer una configuración inicial simple. Uno de esos elementos incluye hacer una copia del archivo de configuración de muestra y renombrarlo al nombre de archivo de configuración correcto y correcto, luego actualizarlo con su propia configuración privada para claves, contraseñas, etc.

¿Otras personas van a descargar este proyecto de código abierto y construir sus propias versiones? Si es así, dejaría la tecla API fuera y pondría en un archivo de configuración (con nombre/valor) que se carga a través del código. O, ¿será esto de código abierto solo para permitir que mucha gente trabaje en ello? En cuyo caso, podría ser más fácil dejarlo.

Personalmente, iría con el archivo de configuración sin importar qué y lo dejaría fuera. Si solo porque alguien más podría obtener su clave API, agréguela a su aplicación y le meta sus datos. Eso, y cada vez que construye y ejecute en el entorno de prueba, eso afectará sus estadísticas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top