На этой странице вы найдете помощь в устранении неполадок и ответы на часто задаваемые вопросы о распространении и тестировании приложений с помощью 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 Workspace убедитесь, что для параметра Firebase App Distribution не установлено значение «Доступ: заблокирован» .
На вкладке «Службы» убедитесь, что для Cloud Platform нет ограничений.
После удаления настроек попробуйте войти снова.
Эта ошибка может возникнуть, если устанавливаемое приложение конфликтует с уже установленным на устройстве приложением. Например, это может быть другой вариант того же приложения с тем же пользовательским разрешением или именем 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
Чтобы получить доступ к предварительной версии агента App Testing, вы можете зарегистрироваться и начать использовать функцию через баннер на странице «Релизы» в консоли Firebase .
Если вы закрыли баннер, и для релиза выполняются только тесты под управлением ИИ, вы можете включить агента App Testing на вкладке «Автоматизированное тестирование». Редактор вашего проекта может загрузить новый релиз и запустить тестирование под управлением ИИ для релиза, для которого не проводятся случайные тесты сканирования. Теперь вы можете включить тестирование, перейдя на вкладку «Автоматизированное тестирование» в нужном релизе.
Если у вас по-прежнему возникают проблемы с включением этой функции, обратитесь в службу поддержки Firebase с сообщением: «Запрос доступа к агенту тестирования приложений App Distribution ».
Это включит функцию только для вашей учетной записи.
Попробуйте обновить страницу браузера. Если после обновления страницы проблема с отображением функции не устранена, обратитесь в службу поддержки Firebase с сообщением: «Запрос доступа к агенту тестирования приложений App Distribution ».
Часто задаваемые вопросы
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 не приводит к удалению вашего аккаунта тестировщика или данных.