🫧

google-services.jsonとGoogleService-Info.plistファイルexpo.devで環境変数として管理する

2024/12/17に公開

はじめに

こちらの記事の続きです。
https://zenn.dev/yumemi9808/articles/a8454fa3e664d8

google-services.jsonとGoogleService-Info.plistファイルexpo.devで環境変数として管理できるように設定しました。下記のドキュメントを参考に実装していきます。
https://docs.expo.dev/eas/environment-variables/?utm_source=chatgpt.com#file-environment-variables

.gitignoreに記述

下記の2つのファイルはGitHubではなく、expo.devで管理したいので、.gitignoreに記載します。

.gitignore
google-services.json
GoogleService-Info.plist

app.config.tsにファイルのパスを設定

googleServicesFileを下記のコードに書き換えます。下記のドキュメントを参考にしています。
https://docs.expo.dev/eas/environment-variables/

googleServicesFileにそれ俺のファイルがどこにあるのかパスを指定します。

app.config.ts
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