На этой странице вы найдете помощь в устранении неполадок и ответы на часто задаваемые вопросы о распространении и тестировании приложений с помощью 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 ».
Предварительные тестовые случаи позволяют объединять тестовые случаи в цепочку, чтобы избежать дублирования шагов в нескольких тестах, например, для стандартного процесса входа в систему или регистрации. Когда вы назначаете предварительное условие тесту, оно выполняется перед основным тестом. Если какой-либо шаг в предварительном условии завершается неудачей, весь тест считается неудачным. В итоговом запуске теста шаги как из предварительного условия, так и из основного теста отображаются в одном окне, поэтому вы можете увидеть все выполнение в одном месте.
Обратите внимание, что тестовый случай, используемый в качестве предварительного условия для другого тестового случая, нельзя удалить, пока он не будет удален как предварительное условие из другого тестового случая. Вы можете удалить предварительные условия из тестовых случаев, выбрав «Нет» в раскрывающемся меню предварительных условий в диалоговом окне редактирования тестового случая.
Часто задаваемые вопросы
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 — приложение, которое позволяет получить доступ ко всем вашим тестовым сборкам в одном месте.
Да, агент тестирования приложений поддерживает приложения Android, созданные с использованием Flutter.
В агенте App Testing для случайного сканирования используются тесты, запускаемые через инфраструктуру Firebase Test Lab , и ограничения, а также цены остаются теми же. Квоты на тестирование определяются количеством тестов, запускаемых в день. Подробнее о квотах на тестирование и выставлении счетов см. в разделе «Уровни использования, квоты и цены для Test Lab .
Если при выполнении случайных тестов обхода вы превысите квоту, вы получите ошибки превышения квоты. Квота обнуляется примерно через 24 часа, поэтому следует избегать повторных попыток до тех пор, пока квота не будет освобождена. Однако, если вы получаете ошибки инфраструктуры, вероятность успешного выполнения запросов выше, если вы немедленно повторите попытку.
Для запуска тестов с помощью функции App Testing Agent вам потребуется доступ в качестве редактора к проекту Firebase.
Чтобы удалить свою учетную запись тестировщика App Distribution и связанные с ней данные, выполните следующие действия в указанном порядке:
Перейдите по ссылке https://appdistribution.firebase.google.com и войдите в систему, используя свою учетную запись Google.
В правом верхнем углу нажмите ( Управление учетной записью ).
Удалить аккаунт .
Необязательно: в настройках разрешений вашей учетной записи Google отзовите доступ к Firebase App Distribution . Обратите внимание, что отзыв доступа без предварительного удаления вашей учетной записи App Distribution не приводит к удалению вашей учетной записи тестировщика или ваших данных.