На этой странице вы найдете помощь в устранении неполадок и ответы на часто задаваемые вопросы о распространении и тестировании приложений с помощью 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.
Если тестировщик принял приглашение по электронной почте с другим адресом электронной почты, выполните следующие действия для решения проблемы:
Удалите тестировщика из раздела View all testers вкладки Testers & Groups на странице App Distribution консоли Firebase . Существующие приглашения удаляются.
Повторно пригласите тестировщика для тестирования вашего приложения. Тестировщик должен получить электронное письмо с приглашением.
Убедитесь, что тестировщик принимает приглашение с тем же адресом электронной почты.
Тестировщики могут не получать уведомления по электронной почте в следующих случаях:
Уведомления по электронной почте отправляются в папку «Спам».
Фильтры электронной почты установлены.
Приглашение было отправлено на один адрес электронной почты, но тестер принял его с другого адреса электронной почты. Тестер получает новые письма о релизе для адреса электронной почты, на который изначально было отправлено приглашение.
Тестировщик был ранее приглашен, но не принял первоначальное приглашение. Если тестировщик добавляется в последующие выпуски, App Distribution не будет автоматически отправлять уведомления о выпуске этому тестировщику, поскольку тестировщик не принял первоначальное приглашение.
Решение 1
Попросите тестировщика проверить папку со спамом и все фильтры электронной почты, установленные в его почтовом сервисе.
Если тестировщик отписался от рассылки, попросите его сделать следующее:
- Найдите электронное письмо, которое тестировщик ранее получил от приложения.
- Нажмите «Управление настройками электронной почты» внизу и нажмите «Разрешить повторную подписку по электронной почте» .
Решение 2
Если тестировщик не хочет получать уведомления по электронной почте, но хочет иметь возможность принимать приглашения в приложения, он может просмотреть ожидающие приглашения в приложения непосредственно в приложении App Tester ( инструкции по загрузке ).
Решение 3
Удалите тестировщика из раздела View all testers вкладки Testers & Groups на странице App Distribution в консоли Firebase . Это действие удаляет существующие приглашения.
Повторно пригласите тестировщика для тестирования вашего приложения. Тестировщик должен получить электронное письмо с приглашением. Убедитесь, что тестировщик принимает приглашение с тем же адресом электронной почты, на который оно было отправлено.
Если тестировщик загружает и устанавливает релиз, но пользовательский интерфейс сведений о приложении не показывает, что приложение установлено, это известная проблема. В некоторых случаях идентификатор пакета в приложении Firebase не совпадает с идентификатором пакета APK.
Убедитесь, что идентификатор пакета APK совпадает с идентификатором пакета приложения Firebase, которое вы использовали для загрузки дистрибутива.
Оповещение Android появляется, если запущенному приложению или браузеру еще не дано разрешение на установку приложений вне Google Play. Чтобы предоставить разрешение:
Android версии 8 или более поздней : в приложении «Настройки» нажмите «Разрешить из этого источника» .
Android версии 7 или более ранней : в приложении «Настройки» нажмите «Безопасность» и выберите «Неизвестные источники» . Когда появится запрос, нажмите «ОК» > «Доверять» .
Если тестовый APK не устанавливается на устройство тестировщика:
- Проверьте, что сертификат(ы) в новой версии соответствуют сертификатам в версии, установленной на устройстве тестировщика. Система Android позволяет приложению обновляться только в том случае, если сертификаты совпадают. Чтобы узнать больше, см. раздел Signing considerations .
- Убедитесь, что версия ОС тестового устройства поддерживается приложением (проверьте
minSdkVersion
).
Если приложение App Tester не позволяет вам войти в систему и перенаправляет вас обратно на экран входа, возможно, вы используете Google Workspace (ранее GSuite), в котором есть настройки ограничений.
Чтобы снять настройки ограничений:
На вкладке «Приложения» в Google Workspace убедитесь, что для параметра Firebase App Distribution не установлено значение «Доступ: заблокировано» .
На вкладке «Службы» убедитесь, что облачная платформа не имеет ограничений.
После удаления настроек попробуйте войти снова.
Эта ошибка может возникнуть, когда устанавливаемое приложение конфликтует с приложением, уже установленным на устройстве. Например, это может быть другой вариант того же приложения с тем же пользовательским разрешением или именем ContentProvider .
Вы можете попросить тестировщика собрать отчет об ошибке сразу после возникновения проблемы и изучить отчет для получения дополнительной информации о причине. Тестировщик должен удалить все конфликтующие приложения, прежде чем можно будет установить новое приложение.
Когда вы сталкиваетесь с ошибкой 403, это означает, что у используемой вами учетной записи нет разрешения на установку и тестирование приложений. Доступ определяется администратором домена вашей учетной записи в Google Workspace.
Если вы считаете, что у вас должно быть разрешение на установку и тестирование приложений, попросите администратора вашего аккаунта Google Workspace изменить настройки вашего аккаунта. Ваш администратор должен следовать инструкциям в разделе Управление доступом к службам, которые не контролируются индивидуально .
Если у вас несколько учетных записей, попробуйте войти в систему с помощью другой учетной записи, на которую не распространяются ограничения по установке и тестированию приложений.
Если вы впервые тестируете, см. раздел Как стать тестировщиком .
Если вы уже являетесь тестировщиком App Distribution и получаете новое устройство Android для тестирования, вместо того, чтобы заново проходить весь процесс нового тестировщика, выполните следующие действия:
Перейдите на сайт appdistribution.firebase.google.com на вашем Android-устройстве.
Войдите в систему, используя существующую учетную запись тестировщика, и нажмите кнопку «Загрузить App Tester» в нижней части экрана, чтобы установить приложение Android App Tester.
Включение функций тестировщика с помощью App Distribution Android SDK
Воспользуйтесь следующими советами для устранения неполадок, связанных с включением оповещений о новых сборках в приложении или отправкой отзывов в приложении с помощью App Distribution Android SDK.
Если вы уже настроили App Distribution Android SDK в своем приложении для поддержки обратной связи внутри приложения, а ваши тестировщики не могут отправлять отзывы, выполните следующие действия:
Включите подробное ведение журнала для App Distribution Android SDK в вашем приложении:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
Проверьте наличие сообщений об ошибках в журналах вашего приложения, отфильтровав по «FirebaseAppDistribution».
Убедитесь, что у тестировщика есть доступ к установленной версии:
Если в журналах указано, что «тестер не имеет доступа к этому ресурсу», возможно, ваш тестировщик не был приглашен в приложение или не имеет доступа к релизу.
На панели App Distribution консоли Firebase найдите точный релиз, запущенный на устройстве тестировщика, и убедитесь, что тестировщик указан на вкладке Testers на карточке релиза и находится в состоянии Accepted.
Если вы по-прежнему не получаете обратную связь, выполните следующие действия:
На тестовом устройстве войдите в 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
чтобы убедиться, что вы отправляете отзыв для правильного проекта и приложения.Включите подробное ведение журнала для App Distribution Android SDK в вашем приложении:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
Проверьте наличие сообщений об ошибках в журналах вашего приложения, отфильтровав по «FirebaseAppDistribution».
Если вы уже настроили App Distribution Android SDK в своем приложении и ваши тестировщики не получают оповещения в приложении, выполните следующие действия:
Проверьте наличие сообщений об ошибках, прикрепив
OnFailureListener
к задаче, возвращаемой API Firebase App Distribution .Ява
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 убедитесь, что ваш тестер включен в дистрибутив сборки и находится в состоянии Accepted .
Если ваш тестировщик по-прежнему не получает оповещения, попросите его следовать приведенным ниже советам, чтобы убедиться, что он принял приглашение протестировать ваше приложение и правильно настроил свое тестовое устройство:
На тестовом устройстве войдите в 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 .
Доступ к предварительному просмотру агента App Testing
Чтобы получить доступ к предварительной версии агента тестирования приложений, вы можете подписаться и начать использовать эту функцию, нажав на баннер на странице «Выпуски» в консоли Firebase .
Если вы отклонили баннер и в релизе запущены только тесты под управлением ИИ, вы можете подписаться на агента App Testing на вкладке Automated Tester. Редактор вашего проекта может загрузить новый релиз и запустить тест под управлением ИИ в релизе, в котором нет случайных тестов сканирования. Теперь вы сможете подписаться, перейдя на вкладку Automated Tester в этом релизе.
Если у вас по-прежнему возникают проблемы с включением этой функции, обратитесь в службу поддержки Firebase с сообщением: «Запрос доступа к агенту тестирования приложений App Distribution ».
Это включит функцию только для вашей учетной записи.
Попробуйте обновить браузер. Если после обновления браузера у вас все еще возникают проблемы с просмотром функции, обратитесь в службу поддержки Firebase с сообщением: «Запрос доступа к агенту App Distribution App Testing».
Часто задаваемые вопросы
Firebase App Distribution имеет следующие ограничения для тестировщиков:
Добавьте максимум 500 тестировщиков в проект Firebase.
Добавьте максимум 200 тестировщиков в группу App Distribution
Чтобы добавить больше тестировщиков, запросите бесплатное увеличение лимита .
У тестировщиков есть 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 автоматически удаляет самые старые релизы сверх лимита.
Если вы хотите вручную управлять выпусками приложений, используйте API REST App Distribution для массового составления списка и удаления выпусков приложений.
Если у вас возникнут вопросы, обратитесь в службу поддержки Firebase .
Если вы тестировщик, мы рекомендуем загрузить Firebase App Tester — приложение, которое позволяет получить доступ ко всем вашим тестовым сборкам в одном месте.
Firebase App Distribution использует инфраструктуру Firebase Test Lab , а ее квоты и цены такие же. Тестовые квоты измеряются количеством тестов, выполняемых в день. Чтобы узнать больше о тестовых квотах и выставлении счетов, см. Уровни использования, квоты и цены для Test Lab .
Если вы превысите квоту, вы получите ошибки превышения квоты. Сброс квот занимает около 24 часов, поэтому вам следует избегать повторных попыток, пока квота не будет освобождена. Однако, если вы получаете ошибки, связанные с инфраструктурой автоматизированного тестировщика, вызовы с большей вероятностью будут успешными, если вы повторите попытку немедленно.
Для запуска тестов с помощью функции автоматического тестирования вам потребуется доступ редактора к проекту Firebase.
Чтобы удалить учетную запись тестировщика App Distribution и связанные с ней данные, выполните следующие действия в указанном порядке:
Посетите https://appdistribution.firebase.google.com и войдите в свою учетную запись Google.
В правом верхнем углу нажмите
( Управление учетной записью ).Удалить аккаунт .
Необязательно: В разрешениях вашего аккаунта Google отмените доступ из Firebase App Distribution . Обратите внимание, что отмена доступа без предварительного удаления вашего аккаунта App Distribution не удаляет ваш аккаунт тестировщика или данные.