2015-03-01 4 views
9

Ich versuche herauszufinden, was die beste Vorgehensweise ist, um den API-Schlüssel in meine Android-Anwendung zu integrieren.Wohin mit dem API-Schlüssel? Ressourcen, Meta-Daten in Manifest oder statische Variable?

- Einige Leute empfehlen, meta-data in der Manifest.xml Datei zu verwenden - link. Was mir das Gefühl gab, dass es besser ist, den Schlüssel in die resources Dateien einzufügen.

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

-Einige Menschen sagt, fügen Sie ihn in die resources - link

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

-Wir einfach kann es innerhalb der Code-Klasse hinzufügen

api.configue("api_key_value"); 

-Einige Menschen sagt das Hinzufügen der Schlüssel In den Manifest.xml und den resources Dateien können die anderen Apps es lesen - link.

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

Ich versuche nicht, die beste sichere Art und Weise zu finden, die für mich, weil ich den Schlüssel in meinem Server speichern würde und es in der Laufzeit abgerufen werden.

Ich frage nach dem besten Ansatz zu folgen und die beste Vorgehensweise dafür.

Vielen Dank im Voraus.

+7

http://stackoverflow.com/questions/14570989/best-practice-for-storing-private-api-keys-in-android Versuchen Sie dies –

Antwort

1

Ich folgte der Frage nicht, weil es scheint, dass Sie bereits bestimmt, was mit dem API-Schlüssel (auf dem Server) zu tun ist.

Ein großer Artikel über die API-Schlüssel möglich hideouts in Android: API-Schlüssel: http://www.androidauthority.com/how-to-hide-your-api-key-in-android-600583/

In Ihrem Fall, da Sie die Taste während der Laufzeit vom Server abzurufen, gehen, würde ich # 4 folgen Öffentlicher/privater Schlüsselaustausch von dem Artikel, aber es kann umständlich sein.

Auch würde ich den NDK-Ansatz (# 3 aus dem Artikel) betrachten. Es ist ziemlich einfach als Client-Side-Ansatz.