На этой странице представлена помощь по устранению неполадок и ответы на часто задаваемые вопросы о распространении и тестировании приложений с помощью App Distribution.
Распространение приложений
Используйте следующие советы для устранения проблем, которые могут возникнуть при распространении приложений среди тестировщиков.
При загрузке приложения вы можете столкнуться с этой ошибкой:
«Нам не удалось найти контактный адрес электронной почты для приложения <app-id>
. Чтобы настроить его, посетите раздел «Распространение приложений» в консоли 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 App Bundle (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). Это создает связь за кулисами. Всякий раз, когда электронная почта А добавляется к новым сборкам, на самом деле электронная почта Б получает доступ.
Если тестер принял приглашение по электронной почте с другим адресом электронной почты, выполните следующие действия, чтобы решить проблему:
Удалите тестера из раздела «Просмотреть всех тестировщиков» на вкладке «Тестеры и группы» на странице «Распространение приложений» в консоли Firebase. Существующие приглашения удаляются.
Повторно пригласите тестировщика для тестирования вашего приложения. Тестировщик должен получить приглашение по электронной почте.
Убедитесь, что тестер принимает приглашение с тем же адресом электронной почты.
Тестировщики могут не получать уведомления по электронной почте в следующих случаях:
Уведомления по электронной почте отправляются в папки со спамом.
Установлены фильтры электронной почты.
Приглашение было отправлено на одну учетную запись электронной почты, но тестер принял ее с другой учетной записи электронной почты. Тестировщик получает новые сообщения электронной почты о выпуске для учетной записи электронной почты, на которую изначально было отправлено приглашение.
Тестировщик был ранее приглашен, но не принял первоначальное приглашение. Если тестер будет добавлен в последующие выпуски, App Distribution не будет автоматически отправлять уведомления о выпуске этому тестировщику, поскольку тестер не принял первоначальное приглашение.
Решение 1
Попросите тестировщика проверить свою папку со спамом и все фильтры электронной почты, которые они установили в своей службе электронной почты.
Если тестер отписался от электронных писем, попросите его сделать следующее:
- Найдите электронное письмо, которое тестировщик ранее получил от приложения.
- Нажмите «Управление настройками электронной почты» внизу и нажмите «Разрешить повторную подписку на электронные письма ».
Решение 2
Если тестировщику не нужны уведомления по электронной почте, но он хочет иметь возможность принимать приглашения приложений, он может просматривать ожидающие приглашения непосредственно в приложении App Tester ( инструкции по загрузке ).
Решение 3
Удалите тестера из раздела «Просмотреть всех тестировщиков» на вкладке «Тестеры и группы» на странице «Распространение приложений» в консоли Firebase. Это действие удаляет существующие приглашения.
Повторно пригласите тестировщика для тестирования вашего приложения. Тестировщик должен получить приглашение по электронной почте. Убедитесь, что тестер принимает приглашение с тем же адресом электронной почты, на который было отправлено приглашение.
Если тестер загружает и устанавливает выпуск, но пользовательский интерфейс сведений о приложении не показывает, что приложение установлено, это известная проблема. В некоторых случаях идентификатор пакета в приложении Firebase не совпадает с идентификатором пакета APK.
Убедитесь, что идентификатор пакета APK совпадает с идентификатором пакета приложения Firebase, которое вы использовали для загрузки дистрибутива.
Предупреждение Android появляется, если вашему запущенному приложению или браузеру еще не предоставлено разрешение на установку приложений за пределами Google Play. Чтобы предоставить разрешение:
Android версии 8 или новее : в приложении «Настройки» нажмите «Разрешить из этого источника ».
Android версии 7 или более ранней : в приложении «Настройки» нажмите «Безопасность» и выберите «Неизвестные источники» . Когда появится приглашение, нажмите OK > Доверять .
Если тестовый APK не устанавливается на устройство тестировщика:
- Убедитесь, что сертификаты в новой версии совпадают с сертификатами в версии, установленной на устройстве тестера. Система Android позволяет приложению обновляться только в том случае, если сертификаты совпадают. Дополнительные сведения см. в разделе Рекомендации по подписанию .
- Убедитесь, что версия ОС тестирующего устройства поддерживается приложением (проверьте
minSdkVersion
).
Если приложение App Tester не позволяет вам войти в систему и перенаправляет вас обратно на экран входа, возможно, вы используете Google Workspace (ранее GSuite), в котором есть настройки ограничений.
Чтобы удалить настройки ограничения:
На вкладке «Приложения» в Google Workspace убедитесь, что для параметра «Распространение приложений Firebase» не установлено значение «Доступ: заблокировано» .
На вкладке Службы убедитесь, что Cloud Platform не имеет ограничений.
После удаления настроек попробуйте войти снова.
Эта ошибка может возникнуть, когда устанавливаемое приложение конфликтует с уже установленным на устройстве приложением. Например, это может быть другой вариант того же приложения с тем же настраиваемым разрешением или именем ContentProvider .
Вы можете попросить тестировщика собрать отчет об ошибке сразу после обнаружения проблемы и просмотреть отчет для получения дополнительной информации о причине. Перед установкой нового приложения тестировщик должен удалить все конфликтующие приложения.
Когда вы сталкиваетесь с ошибкой 403, это означает, что используемая вами учетная запись не имеет разрешения на установку и тестирование приложений. Доступ определяется администратором домена вашей учетной записи в Google Workspace.
Если вы считаете, что у вас должно быть разрешение на установку и тестирование приложений, попросите администратора учетной записи Google Workspace изменить настройки вашей учетной записи. Ваш администратор должен следовать инструкциям в разделе Управление доступом к службам, которые не контролируются индивидуально .
Если у вас несколько учетных записей, попробуйте войти в систему с другой учетной записью, которая не имеет ограничений на установку и тестирование приложений.
Если вы впервые тестируете, см. статью Настройка в качестве тестировщика .
Если вы являетесь тестером распространения приложений и у вас есть новое устройство Android для тестирования, вместо повторного прохождения всего нового потока тестировщика выполните следующие действия:
Перейдите к appdistribution.firebase.google.com на вашем Android-устройстве.
Войдите в существующую учетную запись тестера и нажмите кнопку «Загрузить тестер приложений» в нижней части экрана, чтобы установить приложение Android App Tester.
Включение функций тестировщика с помощью Android SDK для распространения приложений
Используйте следующие советы для устранения неполадок, связанных с включением оповещений о новых сборках в приложении или отправкой отзывов в приложении с помощью Android SDK для распространения приложений.
Если вы уже настроили Android SDK для распространения приложений в своем приложении для поддержки обратной связи в приложении, а ваши тестировщики не могут отправить отзыв, выполните следующие действия:
Включите подробное ведение журнала для Android SDK распространения приложений в своем приложении:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
Проверьте наличие сообщений об ошибках в журналах вашего приложения, отфильтровав «FirebaseAppDistribution».
Убедитесь, что тестер имеет доступ к установленному релизу:
Если в журналах указано, что «тестер не имеет доступа к этому ресурсу», возможно, ваш тестировщик не был приглашен в приложение или не имеет доступа к выпуску.
На панели распределения приложений консоли Firebase найдите точный выпуск, который работает на устройстве тестировщика, и убедитесь, что тестер указан на вкладке «Тестеры» на карточке выпуска и находится в состоянии «Принято».
Если вы по-прежнему не получаете отзыв, выполните следующие действия:
На тестовом устройстве войдите в Firebase App Distribution с помощью App Tester или веб-приложения 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 распространения приложений в своем приложении:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
Проверьте наличие сообщений об ошибках в журналах вашего приложения, отфильтровав «FirebaseAppDistribution».
Если вы уже настроили Android SDK для распространения приложений в своем приложении и ваши тестировщики не получают оповещения в приложении, выполните следующие действия:
Проверьте наличие сообщений об ошибках, подключив
OnFailureListener
к задаче, возвращаемой API распространения приложений Firebase.Джава
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, которую вы впервые использовали, когда приняли приглашение протестировать приложение.
Убедитесь, что новая версия приложения доступна в тестере приложений или веб-приложении тестера.
По умолчанию вашим тестировщикам нужно только один раз войти в свою учетную запись Google, чтобы активировать функции тестирования. Если вашим тестировщикам предлагается снова войти в систему после закрытия и повторного открытия вашего приложения, следуйте этим советам, чтобы убедиться, что ваша конфигурация распространения приложений настроена правильно:
Убедитесь, что вы включили Firebase App Testers API. Дополнительные сведения см. в разделе Включение API-интерфейса App Distribution Tester .
В разделе Основные ограничения убедитесь, что API Firebase App Testers включен в список разрешенных API.
Если вы обычно очищаете SharedPreferences при выходе из системы, возможно, вы очищаете состояние своего тестера. Приложение App Distribution хранит флаг, указывающий, вошел ли ваш тестер в приложение. Дополнительные сведения см. в репозитории GitHub .
Часто задаваемые вопросы
Распространение приложений Firebase имеет следующие ограничения для тестировщиков:
Добавьте не более 500 тестировщиков в проект Firebase.
Добавьте не более 200 тестировщиков в группу распространения приложений.
Чтобы добавить больше тестировщиков, запросите бесплатное увеличение лимита .
У тестировщиков есть 30 дней, чтобы принять приглашение протестировать приложение до истечения срока его действия. Когда срок действия приглашения истекает через 5 дней, уведомление об истечении срока действия появляется в консоли Firebase рядом с тестировщиком в выпуске. Приглашение можно продлить, повторно отправив его через раскрывающееся меню в строке тестера.
Выпуски приложений удаляются из службы распространения приложений, если выполняется одно из следующих условий:
- Релиз приложения старше 150 дней.
- Вы превысили ограничение в 1000 выпусков приложений, и выпуск приложения старше, чем 1000 самых последних выпусков приложений.
Дополнительные сведения см. в разделе Распространение приложений поддерживает не более 1000 выпусков .
После того, как приложение достигнет или превысит 150-дневный срок действия или ограничение в 1000 выпусков, выпуск будет удален из панели управления распространением приложений и приложения Firebase App Tester. Если ваш тестер установил выпуск, локальная версия приложения продолжает работать.
Чтобы версия приложения оставалась доступной дольше, воспользуйтесь одной из следующих рекомендаций:
- Прежде чем срок действия версии приложения истечет или превысит лимит выпуска, загрузите APK или AAB и удалите выпуск с панели управления распространением приложений. Затем повторно загрузите APK или AAB в качестве новой сборки в App Distribution.
- Загрузите выпуск и загрузите его в облачное хранилище для долгосрочного архивирования.
Релизы приложений истекают через 150 дней.
Когда вы загружаете выпуск своего приложения в Firebase, он отображается на панели управления распространением приложений в течение 150 дней, начиная с даты загрузки. После того, как вы загрузите выпуск, вы можете распространить его среди тестировщиков, которые установят выпуск из приложения Firebase App Tester на свое тестовое устройство.
По истечении 30 дней с даты истечения срока действия релиза в вашем релизе в приложении Firebase App Tester появится уведомление об истечении срока его действия.
Распространение приложений поддерживает не более 1000 выпусков.
Распространение приложений позволяет выпускать не более 1000 выпусков для каждого приложения. Когда ваше приложение достигает предела в 1000 выпусков приложений, служба распространения приложений автоматически удаляет самые старые выпуски сверх этого ограничения.
Если вы хотите вручную управлять выпусками приложений, используйте REST API распространения приложений, чтобы составить список и массово удалить выпуски приложений.
Если у вас есть вопросы, обратитесь в службу поддержки Firebase .
Если вы тестировщик, мы рекомендуем загрузить Firebase App Tester — приложение, которое позволяет вам получить доступ ко всем вашим тестовым сборкам в одном месте.
Чтобы удалить свою учетную запись тестера App Distribution и связанные с ней данные, выполните следующие действия по порядку:
Посетите https://appdistribution.firebase.google.com и войдите в свою учетную запись Google.
В правом верхнем углу нажмите
( Управление учетной записью )Удалить учетную запись .
Необязательно: в разрешениях вашей учетной записи Google отмените доступ к Firebase App Distribution. Обратите внимание, что отзыв доступа без предварительного удаления вашей учетной записи распространения приложений не приводит к удалению вашей учетной записи тестировщика или данных.