Диалог Google Smart Lock для сохранения учетных данных не отображается при тестировании

Я пытаюсь сохранить учетные данные пользователя Facebook в Google Smart Lock, но у меня возникают трудности с тестированием. Мне удалось отобразить подсказку для сохранения один раз, но после того, как я вошел в свои сохраненные пароли (passwords.google.com) и удалил сохраненные учетные данные, подсказка больше не появляется!

Я зашел в настройки Google и убедился, что удалил приложение из раздела "Никогда не сохранять", но оно все равно не появляется. Когда я вызываю Auth.CredentialsApi.save(), он возвращается с разрешением "null" и сообщением "Текущее приложение занесено в черный список"

4 ответа

Решение

Я нашел решение и хотел опубликовать на случай, если другие люди также имеют эту проблему. Проблема заключалась в том, что у меня было несколько учетных записей Google на моем устройстве, и мне нужно было удалить свое приложение из списка "Никогда не сохранять" для каждой учетной записи.

Дважды проверьте, является ли сообщение об ошибке, возвращаемое API, "текущим приложением, занесенным в черный список", которое сработает, если в определенный момент в диалоговом окне сохранения было выбрано "Никогда" (подробности в принятом ответе: необходимо проверьте все учетные записи на устройстве).

И вообще, если вы не видите диалоговое окно сохранения при тестировании, вот что нужно проверить:

  • попробуйте настоящее устройство (Android 4+), а не эмулятор, убедитесь, что на устройстве запущена последняя версия Google Play Services (8+) и установлено активное подключение к Интернету

  • убедитесь, что на устройстве имеется хотя бы одна учетная запись Google и что она находится в хорошем состоянии (не требует повторного ввода пароля и соответствует требованиям политики корпорации), например, убедитесь, что push-уведомление по электронной почте для учетной записи успешно получено. по устройству

  • в приложении " Настройки Google " > " Умная блокировка паролей" (перед зефиром) или " Настройки"> "Google "> "Умная блокировка паролей" ("Зефир") убедитесь, что хотя бы один раз учетная запись на устройстве отображается с включенной функцией "Умная блокировка паролей" и не показано как отключено шифрованием парольной фразы, см. связанный вопрос

  • в том же действии настройки Smart Lock для паролей также убедитесь, что приложение отсутствует в списке "Никогда не сохранять" ни для одной учетной записи на устройстве (как указано в принятом ответе). В верхней части интерфейса действий с настройками есть раскрывающийся список выбора учетной записи.

  • проверьте, что Auth.CredentialsApi.save() обратный вызов вызывается, и CredentialRequestResultgetStatus().getStatusCode() является RESOLUTION_REQUIRED и ты позвонил startResolutionForResult(), Пример приложения

  • обратите внимание, что активность, из которой вы startResolutionForResult() не должен finish() перед отображением диалога и завершением взаимодействия с пользователем, вызывая onActivityResult()

  • Также обратите внимание, что звонки Auth.CredentialsApi.save() с учетными данными с идентификатором электронной почты, соответствующим учетной записи Google на устройстве, и типом учетной записи, установленным вместо пароля, сохранение будет выполнено без разрешения. Аналогично для обновления существующего пароля с соответствующим идентификатором. Проверьте https://passwords.google.com/ для учетных записей Google на вашем устройстве, чтобы увидеть, какие учетные данные в настоящее время сохранены

Если ничего из этого не работает, попробуйте добавить новую учетную запись Google на устройство и попробуйте другое приложение с интеграцией Smart Lock, например, создайте и сохраните учетную запись на основе электронной почты для приложения NYTimes на своем устройстве и определите, является ли это устройство / учетная запись. -специфическая проблема или проблема с реализацией вашего приложения, и не стесняйтесь оставлять комментарии с деталями.

Для полного руководства по тестированию интеграции Smart Lock API в приложении, посмотрите этот ответ.

Попробуй это:

Перейдите в Настройки телефона->Google-> Управление учетной записью-> Вкладка Безопасность-> Прокрутите вниз и выберите Диспетчер паролей-> Щелкните значок настроек справа вверху.

Вы увидите список отклоненных приложений и сайтов, удалите свое приложение из этого списка.

Помогло мне по ошибке:

Ошибка сохранения 16: запрос на сохранение отключен для текущего приложения. Для восстановления удалите это приложение из списка «Никогда не сохранять» в настройках Smart Lock для паролей для всех учетных записей на этом устройстве.

У меня была проблема с той же проблемой, когда при попытке войти в диалоговое окно приглашения не появлялось, а onActivityResult не запускался, чтобы решить эту проблему, я удаляю android:noHistory = "true" из манифеста. Этого было достаточно.

Другие вопросы по тегам