前提・実現したいこと
Expoを利用したアプリをApple Storeに出したいと考えています。
現在開発中のアプリは自作のAPIサーバーと通信して結果を表示したり、Google Mapを利用しています。
開発中は以下の例の様にそれぞれ通信を行う場所にURLやapi keyをベタがきしていましたが、
ストアに出すアプリはセキュリティの面でも正しい方法での管理に移行したいと考えています。
該当のソースコード
javascript
1// redux/api.js 2 3const SAMPLE_URL = <サーバーのURL> // 別の場所で管理したい。 4const SAMPLE_API_KEY = <APIのKEY> // 別の場所で管理したい。 5 6export const getSampleData = () => async dispatch => { 7 try { 8 const response = await fetch(SAMPLE_URL, { 9 headers: { 10 "x-api-key": SAMPLE_API_KEY, 11 }, 12 }); 13 const responseJson = await response.json(); 14 dispatch({ 15 type: "REQUEST_SUCCESS", 16 payload: { 17 sampleData: responseJson 18 } 19 }) 20 } catch (error) { 21 dispatch({ 22 type: "REQUEST_ERROR" 23 }) 24 } 25}
### こうしたら良いのではと考えている方法。
- .envファイルで管理する。
「react native hide api key」でググったら出てきた方法。
ただしreactの情報しか出てこない。
2. expo.constants.manifest.extraで管理する。
app.jsonに記入するため、ソースを公開するようなアプリでは利用できない?
補足情報(FW/ツールのバージョンなど)
expoのversion
- expo sdkVersion 33.0.0
よろしくお願いします。
あなたの回答
tips
プレビュー