Сервисные учетные записи полезны для настройки App Distribution в среде CI. Аутентификация с помощью сервисной учетной записи позволяет использовать клиентские библиотеки (например, Firebase CLI, Gradle и fastlane) для распространения сборок. При использовании сервисной учетной записи для аутентификации Firebase использует учетные данные приложения по умолчанию (ADC) для поиска учетных данных вашего приложения, которые вы можете указать либо установив переменную среды GOOGLE_APPLICATION_CREDENTIALS либо указав путь к ключу вашей сервисной учетной записи в коде вашего приложения.
- Откройте консоль Google Cloud и выберите свой проект.
- Нажмите «Создать учетную запись службы» и введите данные учетной записи службы.
- Нажмите «Создать и продолжить» .
- Добавьте роль администратора Firebase App Distribution и нажмите «Готово» .
- Создайте закрытый JSON-ключ и переместите его в место, доступное для вашей среды сборки. Обязательно храните этот файл в безопасном месте , поскольку он предоставляет администраторский доступ к App Distribution в вашем проекте Firebase.
Пропустите этот шаг, если вы создали приложение после 20 сентября 2019 года : в консоли Google API включите API Firebase App Distribution . При появлении запроса выберите проект с тем же именем, что и ваш проект Firebase.
Укажите учетные данные вашей служебной учетной записи:
Только для Gradle : В файле
build.gradleустановите свойствоserviceCredentialsFileравным JSON-файлу с вашим закрытым ключом:android { // ... buildTypes { release { firebaseAppDistribution { serviceCredentialsFile="/absolute/path/to/credentials/file.json" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }При желании вы можете вместо этого предоставить учетные данные коду вашего приложения, выполнив следующие действия.
Для Firebase CLI, fastlane или Gradle : установите переменную окружения
GOOGLE_APPLICATION_CREDENTIALSна путь к JSON-файлу вашего закрытого ключа:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json