Должен ли я добавить google-services.json (из Firebase) в мой репозиторий?

Я только что подписался с Firebase, и я создал новый проект. Firebase спросила меня о моем домене приложения и отладочном ключе SHA1. Я ввожу эти данные, и я создал файл google-services.json для добавления в корень моего модуля приложения.

Мой вопрос в том, должен ли этот.json файл быть добавлен к публичному (с открытым исходным кодом) репо. Это что-то, что должно быть секретным, как ключ API?

Ответ 1

Файл google-services.json, из документа FireBase:

Firebase управляет всеми вашими настройками API и учетными данными через один файл конфигурации.
Файл называется google-services.json на Android и GoogleService-Info.plist на iOS.

Кажется, имеет смысл добавить его в .gitignore и не включать его в публичное репо.
Это обсуждалось в выпуске 26 с более подробной информацией о том, что содержит google-services.json.

Например, проект, например googlesamples/google-services, имеет его в своем .gitignore например.
Хотя, как прокомментировал этот шаг, эта нить упоминает

Для библиотеки или примера с открытым исходным кодом мы не включаем файл JSON, потому что намерение заключается в том, чтобы пользователи вставляли свои собственные, чтобы указать код на свой собственный бэкэнд.
Вот почему вы не увидите файлы JSON в большинстве наших репозиторий firebase на GitHub.

Если "URL базы данных, ключ API Android и хранилище" не являются для вас секретами, вы можете подумать о добавлении файла в свое репо.
Как упоминалось в статье " Является ли google-services.json безопасным от хакеров? ", Это не так просто.

Ответ 2

Из этого обсуждения кажется, что вы можете добавить его в публичное репо. Его содержание заканчивается в APK в любом случае и, вероятно, легко извлечь.