google-services.jsonとGoogleService-Info.plistファイルexpo.devで環境変数として管理する
はじめに
こちらの記事の続きです。
google-services.jsonとGoogleService-Info.plistファイルexpo.devで環境変数として管理できるように設定しました。下記のドキュメントを参考に実装していきます。
.gitignoreに記述
下記の2つのファイルはGitHubではなく、expo.devで管理したいので、.gitignoreに記載します。
google-services.json
GoogleService-Info.plist
app.config.tsにファイルのパスを設定
googleServicesFileを下記のコードに書き換えます。下記のドキュメントを参考にしています。
googleServicesFileにそれ俺のファイルがどこにあるのかパスを指定します。
const commonConfig: ExpoConfig = {
ios: {
googleServicesFile: process.env.GOOGLE_SERVICES_INFO_PLIST ?? '/local/path/to/GoogleService-Info.plist',
},
android: {
googleServicesFile: process.env.GOOGLE_SERVICES_JSON ?? '/local/path/to/google-services.json',
},
}
expo.devに環境変数を設定
このGOOGLE_SERVICES_INFO_PLISTとGOOGLE_SERVICES_JSONに入るパスをexpo.devに設定します。今回は、dev環境とstg環境で設定しました。
まず、NameとValueを設定します。赤い線で囲ってあるファイルボタンを押下して、GoogleService-Info.plistとgoogle-services.jsonを設定してください。
Nameには任意の名前を入れます。今回は、googleServicesFileに設定した名前と同じGOOGLE_SERVICES_INFO_PLISTとGOOGLE_SERVICES_JSONにしました。
今回のサービスファイルは、Secretで設定します。
各環境ごとにチェックを入れてください。これはdev環境を作っています。これを作った後にstg環境も作ります。設定すると下記のようになります。
これで設定ができました!
GitHubでビルドを流すと、通っていることが分かります!
GitHubとExpoのビルド連携の方法はこちら
アプリのインストールはこちらで行い、実行できるか確認してください。
実行できたら成功です🎉
おまけ
ローカルでコマンドを叩いて実行できるかも確認したのですが、できませんでした。これ他の記事で書きたいと思います。
$ eas build --profile develop --platform all
$ eas build --profile staging --platform all
Discussion