Является ли google-services.json конфиденциальной?
Следуя руководству по настройке Google Analytics в приложении для Android (https://developers.google.com/analytics/devguides/collection/android/v4/), мне остается недоумевать, можно ли безопасно выполнить этот файл google-services.json в версиях исходного кода и переносятся в общедоступный репозиторий GitHub или если этот файл может содержать учетные данные или секреты.
Я не могу найти определенный ответ в другом месте, но я вижу, что примеры приложений оба фиксируют файл (https://github.com/google/climb-tracker/blob/master/mobile/google-services.json), а другие добавили файл в свой .gitignore.
Ответы
Ответ 1
Это следует считать конфиденциальным. Созданный json файл содержит api_key
, который вы можете использовать для отправки push-уведомлений.
Если вы перейдете на страницу Credentials в консоли разработчика Google, вы увидите ключ в json файле, указанный в разделе API keys
Ответ 2
Из this post, похоже, нет никакой реальной причины держать этот файл в безопасности. В любом случае, данные будут в APK.
Ответ 3
Да. По крайней мере, материал api_key
должен быть конфиденциальным.
Один из способов разместить google-services.json
в ваш публичный репозиторий и по-прежнему сохранять конфиденциальность - это использовать BlackBox.
На вашем уровне приложения build.gradle
поместите задачу копирования в пример defaultConfig
следующим образом:
defaultConfig {
...
...
copy {
from "../secret/"
into "."
include "*.json"
}
}
который скопирует файл из вашей папки secret/
в нужное место.
Теперь, чтобы создать ваше приложение, вам нужно будет запустить blackbox_edit_start google-services.json.gpg
при первом обращении к вашему репо, после чего вы добры.