На этой странице представлена помощь по устранению неполадок и ответы на часто задаваемые вопросы о распространении и тестировании приложений с помощью 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.
Включение функций тестера с помощью 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. Дополнительные сведения см. в разделе Включение 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 App Distribution 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 убедитесь, что ваш тестер включен в дистрибутив сборки и находится в состоянии «Принято» .
Если ваш тестировщик по-прежнему не получает оповещений, попросите его следовать приведенным ниже советам, чтобы убедиться, что он принял приглашение протестировать ваше приложение и правильно настроил свое тестовое устройство:
На тестовом устройстве войдите в 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 App Distribution имеет следующие ограничения для тестировщиков:
Добавьте в проект Firebase не более 500 тестировщиков.
Добавьте не более 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 автоматически удаляет самые старые выпуски, превышающие этот лимит.
Если вы хотите вручную управлять выпусками приложений, используйте REST API 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 не приводит к удалению вашей учетной записи тестера или данных.