¿Dónde colocar la clave API? Recursos, Meta-datos en Manifiesto o variable estática?

Estoy tratando de averiguar cuál es la mejor práctica para agregar la clave de la API en mi aplicación de Android.

-Algunas personas recomiendan usar meta-data en el archivo Manifest.xml – enlace . Lo que me hizo sentir como, es mejor que la adición de la clave en los archivos de resources .

 <meta-data android:value="key_value" android:name="api_key"></meta-data> 

-Algunas personas dicen, agrega en los resources – enlace

 <string name="api_key">api_key_value</string"> 

-Podemos añadirla sencillamente dentro del código de la clase

 api.configue("api_key_value"); 

-Algunas personas dicen que añadir las claves en el Manifest.xml y los archivos de resources permitirá a las otras aplicaciones para leerlo – enlace .

 <string name="foo">bar</string"> 

No estoy tratando de encontrar la mejor forma segura, porque para mí me gustaría guardar la clave en mi servidor y recuperar en el tiempo de ejecución.

Estoy preguntando sobre el mejor enfoque a seguir y la mejor práctica para eso.

Gracias por adelantado.

No he seguido la pregunta, ya que parece que ya determinó qué hacer con la clave de la API (en el servidor).

Un gran artículo sobre las claves API posibles escondites en Android: http://www.androidauthority.com/how-to-hide-your-api-key-in-android-600583/

En su caso, ya que va a recuperar la clave durante el tiempo de ejecución desde el servidor, yo seguiría # 4: Clave de API Intercambio de clave pública / privada del artículo, pero puede ser engorroso.

También, consideraría el acercamiento de NDK ( # 3 del artículo ). Es muy simple como un enfoque de cliente.

  • ConstraintLayout no se procesa correctamente fuera del modo blueprint
  • ¿Qué hace que el mini Android Hello World APK tan grande - 800 KB?
  • LG G4 no reconocido por Android Studio
  • Crashlytics android studio gradle build fallado
  • ¿Es posible ejecutar el servicio en la plataforma android de forma continua incluso después de bloquear el dispositivo?
  • Problema de renderización de advertencia de fidelidad
  • ¿Cómo eliminar un recurso de cadena no utilizado para todas las configuraciones de Android Studio?
  • Análisis del uso de la memoria con Android Studio
  • Estudio de Android: java.lang.NoClassDefFoundError
  • Cómo recuperar los resultados de la prueba cuando se utiliza "adb shell am instrumento"
  • Teclado Android Ajustar Redimensionar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.