На этой странице вы найдете помощь в устранении неполадок и ответы на часто задаваемые вопросы о распространении и тестировании приложений с помощью App Distribution .
Распространение приложений
Воспользуйтесь следующими советами для устранения неполадок, которые могут возникнуть при распространении приложений среди тестировщиков.
При загрузке приложения вы можете столкнуться со следующей ошибкой:
«Нам не удалось найти контактный адрес электронной почты для приложения <app-id> . Пожалуйста, перейдите в App Distribution в консоли Firebase , чтобы настроить его».
Если такая возможность есть, укажите контактный адрес электронной почты в консоли Firebase . Если проблема сохраняется, обратитесь в службу поддержки Firebase .
Если во время инициализации вы неоднократно сталкиваетесь с ошибками 400, 409 или 500, обратитесь в службу поддержки Firebase . Сообщите в службу поддержки номер вашего проекта Firebase и идентификатор приложения.
Проверьте размер APK-файла. Максимальный размер файла для всех бинарных файлов составляет 2048 МиБ, что немного больше 2 ГБ.
Если размер APK-файла находится в пределах допустимого размера и проблема воспроизводится, обратитесь в службу поддержки Firebase .
Убедитесь, что APK-файл подписан, используя следующую команду:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
Распространение пакетов приложений Android (AAB)
При загрузке AAB в App Distribution , Google Play автоматически переподписывает сгенерированный APK-файл, используя сертификат ключа подписи тестового приложения. При появлении запроса вам необходимо зарегистрировать свое приложение у поставщиков API, если вы хотите продолжить использование их сторонних сервисов. После подписания тестовый сертификат вашего приложения можно просмотреть в консоли Firebase .
Загруженные вами сборки AAB в App Distribution не отображаются в вашей учетной записи разработчика Google Play (это касается и App Bundle Explorer, и внутреннего обмена приложениями).
Если приложение Firebase для Android отвязать от Google Play, произойдет следующее:
Вы не сможете загружать новые пакеты приложений в App Distribution и экспортировать их в Google Play через интеграцию App Distribution с Google Play.
Существующие сборки по-прежнему будут доступны на панели управления Firebase App Distribution и вашим тестировщикам.
Все данные, ранее экспортированные между Firebase и Google Play, останутся доступными в обоих продуктах.
Для распространения пакета Android App Bundle (AAB) через App Distribution и автоматической привязки загруженных AAB-файлов к вашему проекту Firebase и вашей учетной записи разработчика Google Play убедитесь, что вы выполняете следующие требования:
Ваш аккаунт разработчика Google Play имеет один из следующих уровней доступа : Владелец или Администратор.
Для вашего проекта Firebase у вас может быть одна из следующих ролей: Владелец или Администратор Firebase .
Ваше приложение зарегистрировано в Firebase и в вашем аккаунте разработчика Google Play. Это означает, что у вас есть как приложение Firebase для Android, так и приложение Google Play.
И приложение в Google Play, и приложение Firebase для Android зарегистрированы с использованием одного и того же имени пакета.
Приложение в Google Play устанавливается на панели управления приложениями и распространяется по одному из направлений Google Play (внутреннее тестирование, закрытое тестирование, открытое тестирование или производственная среда).
Проверка приложения в Google Play завершена, и приложение опубликовано. Ваше приложение опубликовано, если в столбце «Статус приложения» отображается один из следующих статусов: Внутреннее тестирование (не черновик внутреннего тестирования), Закрытое тестирование, Открытое тестирование или Производственная версия.
Если вы загрузили приложение, которое ранее не соответствовало указанным выше критериям для привязки, но теперь соответствует, вы можете повторить попытку привязки вашего приложения Firebase Android к Google Play .
Установка и тестирование приложений
Воспользуйтесь следующими советами для устранения неполадок, с которыми могут столкнуться ваши тестировщики при установке и тестировании приложений.
При создании учетной записи Google пользователь автоматически получает адрес Gmail.
Если у тестировщика нет учетной записи Google Workspace или Gmail, или если он предпочитает использовать другой адрес электронной почты для входа, попросите его привязать к учетной записи адрес электронной почты, отличный от Gmail, и использовать этот адрес для входа.
При выборе альтернативного адреса электронной почты тестировщик должен следовать этим рекомендациям:
- Не используйте адрес Gmail.
- Не используйте адрес электронной почты, который уже привязан к другому аккаунту Google.
- При входе в систему с помощью этого адреса электронной почты не забудьте использовать пароль от своей учетной записи Google.
Для получения дополнительной информации см. раздел «Вход в учетную запись Google с помощью другого адреса электронной почты» .
Если тестировщик принял приглашение по электронной почте, указав другой адрес, отличный от того, на который было отправлено приглашение, он может не увидеть нужные приложения или сборки.
Адрес электронной почты, на который разработчик отправляет приглашения и который добавляет в новые сборки (адрес электронной почты A), может отличаться от адреса электронной почты, который тестировщик использует для принятия приглашения (адрес электронной почты B). Это создает скрытую связь. Всякий раз, когда адрес электронной почты A добавляется в новые сборки, доступ фактически получает адрес электронной почты B.
Если тестировщик принял приглашение по электронной почте, используя другой адрес электронной почты, выполните следующие действия для решения проблемы:
Удалите тестировщика из раздела « Просмотр всех тестировщиков» на вкладке «Тестировщики и группы» на странице App Distribution в консоли Firebase . Существующие приглашения будут удалены.
Повторно пригласите тестировщика протестировать ваше приложение. Тестировщик должен получить приглашение по электронной почте.
Убедитесь, что тестировщик принимает приглашение, используя тот же адрес электронной почты.
Тестировщики могут не получать уведомления по электронной почте, если произойдет одно из следующих событий:
Уведомления по электронной почте отправляются в папку «Спам».
Фильтры электронной почты настроены.
Приглашение было отправлено на один электронный адрес, но тестировщик принял его, используя другой адрес электронной почты. Тестировщик получает уведомления о новых релизах на тот же адрес электронной почты, на который было отправлено первоначальное приглашение.
Тестировщик ранее был приглашен, но не принял первоначальное приглашение. Если тестировщик будет добавлен в последующие релизы, App Distribution не будет автоматически отправлять уведомления о релизах этому тестировщику, поскольку он не принял первоначальное приглашение.
Решение 1
Попросите тестировщика проверить папку «Спам» и любые почтовые фильтры, которые он установил в своей почтовой службе.
Если тестировщик отписался от рассылки, попросите его сделать следующее:
- Найдите электронное письмо, которое тестировщик ранее получил от приложения.
- Внизу нажмите «Управление настройками электронной почты» , а затем «Разрешить повторную подписку на рассылку».
Решение 2
Если тестировщик не хочет получать уведомления по электронной почте, но желает принимать приглашения к участию в тестировании приложений, он может просматривать ожидающие приглашения непосредственно в приложении App Tester ( инструкции по загрузке ).
Решение 3
Удалите тестировщика из раздела « Просмотр всех тестировщиков» на вкладке «Тестировщики и группы» на странице App Distribution в консоли Firebase . Это действие удаляет существующие приглашения.
Повторно пригласите тестировщика протестировать ваше приложение. Тестировщик должен получить приглашение по электронной почте. Убедитесь, что тестировщик принимает приглашение, используя тот же адрес электронной почты, на который было отправлено приглашение.
Если тестировщик загружает и устанавливает релиз, но в пользовательском интерфейсе сведений о приложении не отображается информация о том, что приложение установлено, это известная проблема. В некоторых случаях идентификатор пакета в приложении Firebase не совпадает с идентификатором пакета APK.
Убедитесь, что идентификатор пакета APK-файла совпадает с идентификатором пакета приложения Firebase, которое вы использовали для загрузки дистрибутива.
Предупреждение Android появляется, если вашему запущенному приложению или браузеру еще не предоставлено разрешение на установку приложений вне Google Play. Чтобы предоставить разрешение:
Android версии 8 или более поздней : В приложении «Настройки» нажмите «Разрешить из этого источника» .
Android версии 7 или более ранней : В приложении «Настройки» коснитесь «Безопасность» и выберите «Неизвестные источники ». Когда появится запрос, коснитесь «ОК» > «Доверять» .
Если тестовый APK-файл не устанавливается на устройство тестировщика:
- Убедитесь, что сертификат(ы) в новой версии совпадают с сертификатами в версии, установленной на устройстве тестировщика. Система Android разрешает обновление приложения только в том случае, если сертификаты совпадают. Для получения дополнительной информации см. раздел «Вопросы подписи» .
- Убедитесь, что версия ОС тестируемого устройства поддерживается приложением (проверьте
minSdkVersion).
Если приложение App Tester не позволяет войти в систему и перенаправляет вас обратно на экран входа, возможно, вы используете Google Workspace (ранее GSuite), в котором есть настройки ограничений.
Чтобы снять ограничения:
На вкладке «Приложения» в вашем рабочем пространстве Google убедитесь, что для Firebase App Distribution не установлено значение «Доступ: Заблокирован» .
На вкладке «Сервисы» убедитесь, что для облачной платформы не установлены ограничения.
После удаления настроек попробуйте войти снова.
Эта ошибка может возникнуть, если устанавливаемое приложение конфликтует с уже установленным на устройстве приложением. Например, это может быть другой вариант того же приложения с тем же пользовательским разрешением или именем ContentProvider .
Вы можете попросить тестировщика собрать отчет об ошибке сразу после ее обнаружения и изучить отчет для получения дополнительной информации о причине. Тестировщик должен удалить все конфликтующие приложения, прежде чем можно будет установить новое приложение.
Ошибка 403 означает, что используемая вами учетная запись не имеет разрешения на установку и тестирование приложений. Доступ определяется администратором домена вашей учетной записи в Google Workspace.
Если вы считаете, что вам необходимо разрешение на установку и тестирование приложений, попросите администратора вашей учетной записи Google Workspace изменить настройки вашей учетной записи. Администратор должен следовать инструкциям в разделе «Управление доступом к сервисам, которые не контролируются индивидуально» .
Если у вас несколько учетных записей, попробуйте войти в систему с другой учетной записью, которая не имеет ограничений на установку и тестирование приложений.
Если вы впервые участвуете в тестировании, ознакомьтесь с инструкцией по настройке в качестве тестировщика .
Если вы уже являетесь тестировщиком App Distribution и получили новое устройство Android для тестирования, вместо того, чтобы заново проходить весь процесс тестирования для новых пользователей, выполните следующие шаги:
Перейдите по адресу appdistribution.firebase.google.com на своем устройстве Android.
Войдите в систему, используя свою существующую учетную запись тестировщика, и нажмите кнопку «Скачать приложение для тестирования приложений» внизу экрана, чтобы установить приложение для тестирования приложений Android.
Включение функций тестирования с помощью Android SDK App Distribution .
Воспользуйтесь следующими советами для устранения неполадок, связанных с включением уведомлений о новых сборках в приложении или отправкой отзывов внутри приложения с помощью Android SDK App Distribution .
Если вы уже настроили Android SDK App Distribution в своем приложении для поддержки обратной связи внутри приложения, но ваши тестировщики не могут отправить отзыв, выполните следующие действия:
Включите подробное логирование для Android SDK App Distribution в вашем приложении:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSEПроверьте наличие сообщений об ошибках в журналах вашего приложения, отфильтровав их по запросу "FirebaseAppDistribution".
Убедитесь, что у тестировщика есть доступ к установленной версии:
Если в логах указано, что «тестировщик не имеет доступа к этому ресурсу», возможно, ваш тестировщик не был приглашен в приложение или не имеет доступа к релизу.
На панели App Distribution в консоли Firebase найдите точную версию релиза, запущенную на устройстве тестировщика, и убедитесь, что тестировщик указан во вкладке «Тестировщики» на карточке релиза и находится в состоянии «Принято».
Если вы по-прежнему не получаете обратную связь, выполните следующие действия:
На тестовом устройстве войдите в Firebase App Distribution используя App Tester или веб-приложение для тестирования. Обязательно выберите учетную запись Google, которую вы использовали при первом принятии приглашения к тестированию приложения.
Чтобы убедиться, что у тестировщика есть доступ к релизу, переустановите приложение с помощью App Tester или тестового веб-приложения.
Попробуйте отправить отзыв, снова убедившись, что вы вошли в систему с той же учетной записью Google.
Убедитесь, что вы включили API Firebase App Testers. Для получения дополнительной информации см. раздел «Включение API App Distribution Tester» .
В разделе «Ограничения по ключу» убедитесь, что API Firebase App Testers включен в список разрешенных API.
Если при отправке отзыва вы видите сообщение "Отзыв был отправлен, но не был из-за режима разработки", отключите режим разработчика на устройстве, выполнив следующую команду:
adb shell setprop debug.firebase.appdistro.devmode falseПроверьте файл
google-services.jsonчтобы убедиться, что вы отправляете отзыв для правильного проекта и приложения.Включите подробное логирование для Android SDK App Distribution в вашем приложении:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSEПроверьте наличие сообщений об ошибках в журналах вашего приложения, отфильтровав их по запросу "FirebaseAppDistribution".
Если вы уже настроили Android SDK App Distribution в своем приложении, но тестировщики не получают внутриигровые уведомления, выполните следующие действия:
Проверьте наличие сообщений об ошибках, добавив обработчик
OnFailureListenerк задаче, возвращаемой API Firebase App Distribution .Java
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});Котлин
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }Убедитесь, что у тестировщика есть доступ к новой версии:
Включите режим отладки в своем приложении. Чтобы узнать, как это сделать, см. документацию Google Analytics .
Запустите приложение в симуляторе и найдите строку "FirebaseAppDistribution".
Если в журналах указано, что релиз не найден или что у тестировщика нет доступа, возможно, ваш тестировщик еще не связан с новым релизом.
На панели App Distribution в консоли Firebase убедитесь, что ваш тестировщик включен в дистрибутив сборки и находится в состоянии «Принято» .
Если ваш тестировщик по-прежнему не получает уведомления, попросите его выполнить следующие действия, чтобы убедиться, что он принял приглашение к тестированию вашего приложения и правильно настроил свое тестовое устройство:
На тестовом устройстве войдите в Firebase App Distribution через App Tester или через веб-приложение тестировщика. Не забудьте выбрать учетную запись Google, которую вы использовали при первом принятии приглашения к тестированию приложения.
Убедитесь, что новая версия приложения доступна в App Tester или в веб-приложении для тестирования.
По умолчанию тестировщикам достаточно войти в свою учетную запись Google один раз, чтобы активировать функции тестирования. Если после закрытия и повторного открытия приложения тестировщикам предлагается войти в систему повторно, следуйте этим советам, чтобы убедиться в правильности настройки параметров App Distribution :
Убедитесь, что API Firebase App Testers включен. Дополнительную информацию см. в разделе «Включение API App Distribution Tester» .
В разделе «Ограничения по ключу» убедитесь, что API Firebase App Testers включен в список разрешенных API.
Если вы обычно очищаете SharedPreferences при выходе из системы, вы можете очищать состояние тестировщика. App Distribution хранит флаг, указывающий, вошел ли тестировщик уже в приложение. Для получения дополнительной информации см. репозиторий GitHub .
Предварительный просмотр агента тестирования приложений
Чтобы получить доступ к предварительной версии агента тестирования приложений, вы можете включить эту функцию и начать ее использовать, перейдя по ссылке на странице релизов в консоли Firebase .
Если вы закрыли баннер и для релиза запущены только тесты с использованием ИИ, вы можете включить агент тестирования приложений на вкладке «Автоматизированное тестирование». Редактор вашего проекта может загрузить новый релиз и запустить тест с использованием ИИ для релиза, в котором отсутствуют случайные тесты сканирования. Теперь вы сможете включить этот агент, перейдя на вкладку «Автоматизированное тестирование» для этого релиза.
Если у вас по-прежнему возникают проблемы с включением этой функции, обратитесь в службу поддержки Firebase с сообщением: «Запрос на доступ к агенту тестирования приложений App Distribution ».
Это активирует функцию только для вашей учетной записи.
Попробуйте обновить страницу в браузере. Если после обновления страницы проблема с отображением функции сохраняется, обратитесь в службу поддержки Firebase с сообщением: «Запрос на доступ к агенту тестирования приложений App Distribution ».
Предварительные тестовые случаи позволяют объединять тестовые случаи в цепочку, чтобы избежать дублирования шагов в нескольких тестах, например, для стандартного процесса входа в систему или регистрации. Когда вы назначаете предварительное условие тесту, оно выполняется перед основным тестом. Если какой-либо шаг в предварительном условии завершается неудачей, весь тест считается неудачным. В итоговом запуске теста шаги как из предварительного условия, так и из основного теста отображаются в одном окне, поэтому вы можете увидеть все выполнение в одном месте.
Обратите внимание, что тестовый случай, используемый в качестве предварительного условия для другого тестового случая, нельзя удалить, пока он не будет удален как предварительное условие из другого тестового случая. Вы можете удалить предварительные условия из тестовых случаев, выбрав «Нет» в раскрывающемся меню предварительных условий в диалоговом окне редактирования тестового случая.
Да, агент тестирования приложений поддерживает приложения Android, созданные с использованием Flutter.
В агенте App Testing для случайного сканирования используются тесты, запускаемые через инфраструктуру Firebase Test Lab , и ограничения, а также цены остаются теми же. Квоты на тестирование определяются количеством тестов, запускаемых в день. Подробнее о квотах на тестирование и выставлении счетов см. в разделе «Уровни использования, квоты и цены для Test Lab .
Если при выполнении случайных тестов обхода вы превысите квоту, вы получите ошибки превышения квоты. Квота обнуляется примерно через 24 часа, поэтому следует избегать повторных попыток до тех пор, пока квота не будет освобождена. Однако, если вы получаете ошибки инфраструктуры, вероятность успешного выполнения запросов выше, если вы немедленно повторите попытку.
Если вы используете стандартный сегмент Google Cloud Storage (GCS), у вас должна быть роль «Редактор» в проекте Firebase.
Если вы используете собственный бакет, роль «Редактор» вам не нужна. Вместо этого вам потребуется роль, содержащая следующие разрешения:
- Администратор качества Firebase
- Администратор тестовой лаборатории Firebase
- Пользователь объекта хранилища
Пользовательский сегмент хранилища должен принадлежать проекту с поддержкой выставления счетов, и указание сегмента приведет к начислению платы за используемое хранилище.
Для тестов, управляемых ИИ, установлен тайм-аут в 5 минут, а для случайных тестов с использованием алгоритма сканирования — тайм-аут в 10 минут.
Часто задаваемые вопросы
Firebase App Distribution действуют следующие ограничения на количество тестировщиков:
В проект Firebase можно добавить максимум 500 тестировщиков.
В группу App Distribution можно добавить максимум 200 тестировщиков.
Чтобы добавить больше тестировщиков, запросите бесплатное увеличение лимита .
У тестировщиков есть 30 дней, чтобы принять приглашение на тестирование приложения, после чего оно истекает. За 5 дней до истечения срока действия приглашения в консоли Firebase рядом с именем тестировщика в релизе появляется уведомление об истечении срока действия. Приглашение можно продлить, отправив его повторно через выпадающее меню в строке с именем тестировщика.
Приложения удаляются из App Distribution , если выполняется одно из следующих условий:
- С момента выхода приложения прошло более 150 дней.
- Вы превысили лимит в 1000 выпущенных приложений, и ваш новый релиз старше 1000 последних выпущенных приложений.
Для получения дополнительной информации см. раздел «Поддержка App Distribution : максимум 1000 релизов» .
После того, как срок действия приложения истечет в 150 дней или будет достигнут лимит в 1000 релизов, релиз будет удален с панели управления App Distribution и из приложения Firebase App Tester. Если ваш тестировщик установил релиз, локальная версия приложения продолжит работать.
Чтобы продлить доступность приложения, воспользуйтесь одной из следующих рекомендаций:
- Прежде чем истечет срок действия или будет превышен лимит релизов приложения, загрузите APK или AAB-файл и удалите релиз с панели управления App Distribution . Затем загрузите APK или AAB-файл как новую сборку в App Distribution .
- Скачайте релиз и загрузите его в Cloud Storage для долговременного архивирования.
Срок действия релизов приложений истекает через 150 дней.
Когда вы загружаете релиз своего приложения в Firebase, он отображается на панели App Distribution в течение 150 дней, начиная с даты загрузки. После загрузки релиза вы можете распространить его среди тестировщиков, которые установят релиз из приложения Firebase App Tester на свои тестовые устройства.
Когда до истечения срока действия релиза останется 30 дней, в приложении Firebase App Tester появится уведомление об истечении срока действия релиза приложения.
App Distribution поддерживает максимум 1000 релизов.
App Distribution позволяет выпускать максимум 1000 релизов для каждого приложения. Когда количество релизов вашего приложения достигнет лимита в 1000, App Distribution автоматически удалит самые старые релизы, превышающие этот лимит.
Если вы хотите управлять релизами приложений вручную, используйте REST API App Distribution для одновременного отображения и удаления релизов приложений.
Если у вас возникли вопросы, обратитесь в службу поддержки Firebase .
Если вы тестировщик, мы рекомендуем загрузить Firebase App Tester — приложение, которое позволяет получить доступ ко всем вашим тестовым сборкам в одном месте.
Чтобы удалить свою учетную запись тестировщика App Distribution и связанные с ней данные, выполните следующие действия в указанном порядке:
Перейдите по ссылке https://appdistribution.firebase.google.com и войдите в систему, используя свою учетную запись Google.
В правом верхнем углу нажмите ( Управление учетной записью ).
Удалить аккаунт .
Optional: In your Google account permissions , revoke access from Firebase App Distribution . Note that revoking access without first deleting your App Distribution account does not delete your tester account or data.
This page provides troubleshooting help and answers to frequently asked questions about distributing and testing apps with App Distribution .
Distributing apps
Use the following tips to troubleshoot issues that you might encounter when distributing apps to your testers.
When uploading an app, you might encounter this error:
"We could not find a contact email for app <app-id> . Please visit App Distribution within the Firebase console to set one up."
Set a Contact Email in the Firebase console, if available. If the issue persists, contact Firebase Support .
If you repeatedly encounter errors 400, 409, or 500 during provisioning, contact Firebase Support . Provide Support with your Firebase project number and app identifier.
Verify the size of the APK. The maximum file size limit for all binaries is 2048 MiB, which is a little over 2 GB.
If the APK size is within the file size limit and is reproducible, contact Firebase Support .
Verify that the APK is signed using the following:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
Distributing Android App Bundles (AABs)
When you upload an AAB to App Distribution , Google Play automatically resigns the generated APK using a test app signing key certificate. When prompted, you must register your app with API providers if you want to continue using their third-party services. Once signed, your app's test certificate can be viewed in the Firebase console.
AAB builds you upload to App Distribution do not appear in your Google Play developer account (this includes App Bundle Explorer and internal app sharing).
If a Firebase Android App is unlinked from Google Play, the following happens:
You will not be able to upload new app bundles to App Distribution and export them to Google Play via the App Distribution integration with Google Play.
Existing builds will continue to be available in the Firebase App Distribution dashboard and to your testers.
Any data previously exported between Firebase and Google Play will remain accessible in both products.
To distribute an Android App Bundle (AAB) through App Distribution and automatically link uploaded AABs to both your Firebase project and your Google Play developer account, make sure you meet the following requirements:
Your Google Play developer account has one of the following access levels : Owner or Admin.
For your Firebase project, you have one of the following roles: Owner or Firebase Admin .
Your app is registered with Firebase and your Google Play developer account. This means that you have both a Firebase Android app and a Google Play app.
The app in Google Play and the Firebase Android app are both registered using the same package name.
The app in Google Play is set up on the app dashboard and is distributed to one of the Google Play tracks (Internal testing, Closed testing, Open testing, or Production).
The app's review in Google Play is complete and the app is published. Your app is published if the App status column displays one of the following statuses: Internal testing (not Draft internal testing), Closed testing, Open testing, or Production.
If you uploaded an app that previously didn't meet the criteria listed above for linking, but it does now, you can retry linking your Firebase Android App to Google Play .
Installing and testing apps
Use the following tips to troubleshoot issues that your testers might encounter when they install and test your apps.
When a user creates a Google account, they automatically receive a Gmail address.
If a tester doesn't have a Google Workspace or Gmail address, or if they would rather use another email address to sign in, ask the tester to link a non-Gmail email address to the account and use that email to sign in.
When choosing an alternate email, the tester must follow these guidelines:
- Don't use a Gmail address.
- Don't use an email address that's already linked to another Google account.
- Remember to use your Google Account password when signing in with this email address.
For more information, see Sign in to your Google Account with another email address .
If the tester accepted the email invitation with a different email address than the invite was sent to, the tester might not be able to see the right apps or builds.
The email that the developer sends invitations to and adds to new builds (Email A) can be different from the email that the tester uses to accept the invitation (Email B). This creates a link behind the scenes. Whenever Email A is added to new builds, it's actually Email B that's getting access.
If the tester accepted the email invitation with a different email address, follow these steps to resolve the issue:
Delete the tester from the View all testers section of the Testers & Groups tab in the App Distribution page of the Firebase console. Existing invitations are removed.
Re-invite the tester to test your app. The tester should receive an invitation email.
Make sure that the tester accepts the invitation with the same email address.
Testers might not receive email notifications if one of the following occurs:
Email notifications are sent to spam folders.
Email filters are set.
The invite was sent to one email account, but the tester accepted with a different email account. The tester receives new release emails for the email account to which the invitation was originally sent.
The tester was previously invited but did not accept the initial invitation. If the tester is added to subsequent releases, App Distribution won't automatically send release notifications to that tester because the tester didn't accept the initial invitation.
Solution 1
Ask the tester to check their spam folder and any email filters they set in their email service.
If the tester unsubscribed from the emails, ask the tester to do the following:
- Find an email that the tester previously received from the app.
- Click Manage email settings at the bottom and click Allow emails to resubscribe.
Solution 2
If the tester doesn't want email notifications but wants to be able to accept app invitations, they can view pending app invitations directly in the App Tester app ( download instructions ).
Solution 3
Delete the tester from the View all testers section of the Testers & Groups tab in the App Distribution page in the Firebase console. This action removes existing invitations.
Re-invite the tester to test your app. The tester should receive an invitation email. Make sure that the tester accepts the invitation with the same email address that the invitation was sent to.
If a tester downloads and installs a release but the app details user interface does not show that the app is installed, this is a known issue. In some cases, the bundle ID in the Firebase app does not match the bundle ID of the APK.
Verify that the bundle ID of the APK matches the bundle ID of the Firebase app you used to upload the distribution.
The Android alert appears if your running app or browser hasn't yet been given permission to install apps outside of Google Play. To grant permission:
Android version 8 or later : In the Settings app, tap Allow from this source .
Android version 7 or earlier : In the Settings app, tap Security and select Unknown sources . When the prompt appears, tap OK > Trust .
If a test APK fails to install on a tester's device:
- Verify that the certificate(s) in the new version match those in the version installed on the tester's device. The Android system only allows the app to update if the certificates match. To learn more, see Signing considerations .
- Ensure that the OS version of the tester device is supported by the app (check the
minSdkVersion).
If the App Tester app prevents you from signing in and redirects you back to the signin screen, you may be using a Google Workspace (formerly GSuite) that includes restriction settings.
To remove your restriction settings:
In the Apps tab of your Google Workspace, make sure Firebase App Distribution is not set to Access: Blocked .
In the Services tab , make sure Cloud Platform is unrestricted.
Once the settings are removed, try signing in again.
This error can happen when the app being installed conflicts with an app already installed on the device. For example, it could be a different variant of the same app with the same custom permission or ContentProvider name .
You can ask the tester to collect a bug report immediately after experiencing the issue, and inspect the report for more information about the cause. The tester must delete any conflicting apps before the new app can be installed.
When you encounter a 403 error, this means that the account you're using doesn't have permission to install and test apps. Access is determined by the administrator of your account's domain in Google Workspace.
If you believe you should have permission to install and test apps, ask your Google Workspace account admin to change your account settings. Your admin should follow the instructions in Manage access to services that aren't controlled individually .
If you have multiple accounts, try logging in with a different account that is not restricted from installing and testing apps.
If you're a first-time tester, see Get set up as a tester .
If you're an existing App Distribution tester and you get a new Android device to test on, instead of going through the entire new tester flow again, follow these steps:
Navigate to appdistribution.firebase.google.com on your Android device.
Sign in with your existing tester account, and click the Download App Tester button at the bottom of the screen to install the Android App Tester app.
Enabling tester features with the App Distribution Android SDK
Use the following tips to troubleshoot issues that involve enabling in-app new build alerts or submitting in-app feedback using the App Distribution Android SDK.
If you already set up the App Distribution Android SDK in your app to support in-app feedback and your testers are unable to submit feedback, follow these steps:
Enable verbose logging for the App Distribution Android SDK in your app:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSECheck for error messages in your app logs by filtering for "FirebaseAppDistribution".
Confirm that the tester has access to the installed release:
If the logs indicate that "the tester does not have access to this resource," your tester may not have have been invited to the app, or may not have access to the release.
In the App Distribution dashboard of the Firebase console, find the exact release that is running on the tester's device, and make sure the tester is listed in the Testers tab on the release card and is in the Accepted state.
If you still aren't receiving feedback, follow these steps:
On the test device, sign into Firebase App Distribution using App Tester or the tester web app. Be sure to select the Google account you first used when you accepted the invitation to test the app.
Install the app again using App Tester or the test web app to ensure that the tester has access to the release.
Try to submit feedback, again making sure to sign in with the same Google account.
Make sure you enabled the Firebase App Testers API. For more information, see Enable the App Distribution Tester API .
Under Key restrictions , make sure that the Firebase App Testers API is included in the list of allowed APIs.
If you see this message when submitting feedback, "Would have sent feedback, but did not due to development mode," disable developer mode on the device by running this command:
adb shell setprop debug.firebase.appdistro.devmode falseCheck your
google-services.jsonfile to make sure you are submitting feedback for the correct project and app.Enable verbose logging for the App Distribution Android SDK in your app:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSECheck for error messages in your app logs by filtering for "FirebaseAppDistribution".
If you have already set up the App Distribution Android SDK in your app and your testers aren't receiving in-app alerts, follow these steps:
Check for error messages by attaching an
OnFailureListenerto the Task returned by the Firebase App Distribution API.Java
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});Котлин
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }Check that the tester has access to the new release:
Enable debug mode in your app. To learn how, see the Google Analytics documentation .
Run your app in a simulator and search for the string "FirebaseAppDistribution".
If the logs indicate that no release was found, or that the tester does not have access, your tester may not yet be associated with the new release.
In the App Distribution dashboard of the Firebase console, make sure your tester is included in your build distribution and is in the Accepted state.
If your tester still isn't receiving alerts, have them follow the tips below to make sure they accepted the invitation to test your app and that they set up their testing device properly:
On the test device, sign into Firebase App Distribution via App Tester or via the tester web app. Remember to select the Google account you first used when you accepted the invitation to test the app.
Check to make sure the new app release is available in App Tester or the tester web app.
By default, your testers only need to sign in to their Google account once to enable testing features. If your testers are being prompted to sign in again after closing and re-opening your app, follow these tips to make sure your App Distribution configuration is set up properly:
Check to make sure you've enabled the Firebase App Testers API. For more information, see Enable the App Distribution Tester API .
Under Key restrictions , make sure that the Firebase App Testers API is included in the list of allowed APIs.
If you typically clear SharedPreferences on logout, you may be clearing your tester's state. App Distribution stores a flag that indicates whether your tester has already signed into the app. For more information, see the GitHub repository .
App Testing agent preview
To access the App Testing agent preview, you can opt in and start using the feature through the banner on the Releases page in the Firebase console .
If you've dismissed the banner and there are only AI-guided tests run on a release, you can opt in to the App Testing agent from the Automated Tester tab. An editor on your project can upload a new release and run an AI-guided test on a release that does not have random crawl tests. You should now be able to opt-in by going to the Automated Tester tab on that Release.
If you're still having trouble opting in to the feature, reach out to Firebase Support with the message: "Requesting access to App Distribution App Testing agent".
This will only enable the feature for your account.
Try refreshing your browser. If you still have trouble viewing the feature after refreshing your browser, reach out to Firebase Support with the message: "Requesting access to App Distribution App Testing agent".
Prerequisite test cases let you chain test cases together to avoid duplicating steps across multiple tests, such as for a common login or onboarding flow. When you assign a prerequisite to a test, it runs before the main test. If any step in the prerequisite fails, the entire test is considered a failure. The final test run shows the steps from both the prerequisite and the main test in a single view, so you can see the entire execution in one place.
Note that a test case that is used as a prerequisite for another test case cannot be deleted until it's removed as a prerequisite from the other test case. You can remove prerequisites from test cases by selecting None from the prerequisite drop-down menu in the edit test case dialog.
Yes, the App Testing agent supports Android apps built using Flutter.
App Testing agent's random crawl tests use Firebase Test Lab infrastructure, and its limits and pricing are the same. Testing quotas are measured by the number of tests run per day. To learn more about testing quotas and billing, see Usage levels, quotas, and pricing for Test Lab .
If you exceed quota when running random crawl tests, you'll receive quota exceeded errors. Quotas take about 24 hours to reset, so you should avoid retries until quota is released. However, if you receive infrastructure errors, calls are more likely to succeed if you re-try immediately.
If you use the default Google Cloud Storage (GCS) bucket, you must have the Editor role on the Firebase project.
If you use a custom bucket, you don't need the Editor role. Instead, you need a role that contains the following permissions:
- Администратор качества Firebase
- Firebase Test Lab Admin
- Storage Object User
The custom bucket must be owned by a billing-enabled project, and specifying a bucket will result in billing charges for the storage used.
AI-guided tests have a timeout of 5 minutes, and random crawl tests have a timeout of 10 minutes.
Часто задаваемые вопросы
Firebase App Distribution has the following tester limits:
Add a maximum of 500 testers to a Firebase project
Add a maximum of 200 testers to an App Distribution group
To add more testers, request a no-cost limit increase .
Testers have 30 days to accept an invitation to test the app before it expires. When an invitation is 5 days from expiring, an expiration notice appears in the Firebase console next to the tester on a release. An invitation can be renewed by resending it via the drop-down menu on the tester row.
App releases are removed from App Distribution if one of the following conditions occurs:
- The app release is older than 150 days.
- You exceed the 1,000 app release limit, and the app release is older than the 1,000 most recent app releases.
For more information, see App Distribution supports a maximum of 1,000 releases .
After the app reaches or exceeds the 150-day expiration limit or the 1,000 release limit, the release is removed from the App Distribution dashboard and the Firebase App Tester app. If your tester has installed the release, the local version of the app continues to run.
To keep the app release available longer, use one of the following recommendations:
- Before the app release expires or exceeds the release limit, download the APK or AAB and delete the release from the App Distribution dashboard. Then, re-upload the APK or AAB as a new build to App Distribution .
- Download the release and upload it to Cloud Storage for long-term archiving.
App releases expire after 150 days
When you upload a release of your app to Firebase, the release appears in the App Distribution dashboard for 150 days, starting from the upload date. After you upload the release, you can distribute it to testers, who install the release from the Firebase App Tester app on their testing device.
When the release is 30 days from the expiration date, an app release expiration notification appears on your release in the Firebase App Tester app.
App Distribution supports a maximum of 1,000 releases
App Distribution allows a maximum of 1,000 releases per app. When your app reaches the 1,000 app release limit, App Distribution automatically deletes the oldest releases above the limit.
If you want to manually manage your app releases, use the App Distribution REST API to list and delete app releases in bulk.
If you have questions, contact Firebase Support .
If you're a tester, we recommend downloading Firebase App Tester , an app that lets you access all your test builds in one place.
To delete your App Distribution tester account and its associated data, follow these steps in order:
Visit https://appdistribution.firebase.google.com and sign in with your Google account.
In the top-right, click ( Manage account )
Delete account .
Optional: In your Google account permissions , revoke access from Firebase App Distribution . Note that revoking access without first deleting your App Distribution account does not delete your tester account or data.