Play Google console

Я пытаюсь понять и исправить, почему мое приложение отклонено. Я знаю это о SSL, но я не могу найти, какая зависимость вызывает его. Я использую следующую настройку:

  • Android N (24)
  • Ткань.
  • MixPanel.
  • Quickblox.
  • Crashlytics
  • Analytics.

Любая помощь будет оценена.

Обновление: Это из раздела уведомлений

Предупреждение о безопасности

В вашем приложении небезопасная реализация обработчика WebViewClient.onReceivedSslError. В частности, реализация игнорирует все ошибки проверки сертификата SSL, делая ваше приложение уязвимым для атак типа «человек в середине». Злоумышленник может изменить затронутый контент WebView, прочитать переданные данные (например, учетные данные для входа) и выполнить код внутри приложения с помощью JavaScript. Чтобы правильно обрабатывать SSL-сертификат, измените свой код, чтобы вызывать SslErrorHandler.proceed(), когда сертификат, представленный сервером, соответствует вашим ожиданиям, и вызовите SslErrorHandler.cancel() в противном случае. На ваш адрес учетной записи разработчика отправлено уведомление по электронной почте, содержащее затронутые приложения и классы (ы). Пожалуйста, устраните эту уязвимость как можно скорее и увеличьте номер версии обновленного APK. Дополнительные сведения о обработчике ошибок SSL см. В нашей документации в Справочном центре разработчика. По другим техническим вопросам вы можете отправить сообщение https://www.stackoverflow.com/questions и использовать теги «android-security» и «SslErrorHandler». Если вы используете стороннюю библиотеку, ответственную за это, сообщите об этом третьему лицу и поработайте с ними, чтобы решить проблему. Чтобы подтвердить, что вы правильно обновили, загрузите обновленную версию в консоль разработчика и загляните назад через пять часов. Если приложение не было правильно обновлено, появится предупреждение. Обратите внимание, что, хотя эти конкретные проблемы могут не повлиять на каждое приложение, использующее WebView SSL, лучше всего оставаться в курсе всех патчей безопасности. Приложения с уязвимостями, которые подвергают пользователей риску компромисса, могут рассматриваться в нарушение нашей политики злонамеренного поведения и раздела 4.4 Соглашения о распространении программного обеспечения. Пожалуйста, убедитесь, что все опубликованные приложения соответствуют Соглашению о распространении программного обеспечения и Политике программы разработчиков. Если у вас есть вопросы или проблемы, обратитесь в нашу службу поддержки через Справочный центр разработчика Google Play. Влияет на версию APK 2.

Статья по мотивам вот этого мануала. Если вам лень читать и заниматься этим, то вот маленький спойлер: мобильные устройства не умеют реагировать на события mouseenter, mouseleave и им подобные, т.к. там нет мышки. Поэтому нужно обрабатывать события тачскрина: touchstart, touchmove, touchend. Ещё одно отличие — события blur, focus могут срабатывать не тогда, когда вы ожидаете, либо вообще отсутствовать.

DevTools в современных браузерах позволяет переключиться в адаптивный режим и весьма неплохо справляется со своей задачей. Но иногда случается так, что где-то что-то на мобильном работает не так, как на десктопе. В таких случаях понять в чём дело, а не тыкать пальцем в небо, поможет отладка JavaScript прямо на мобильном. Для начала, независимо от браузера, нужно подготовить устройства и установить драйвера.

  1. Скачиваем и устанавливаем ADB-драйвера для своего телефона. Драйвера можно взять с сайта Android.

Включаем на телефоне режим отладки. Для этого в настройках переходим в меню разработчика. Если его нет — переходим в раздел «О телефоне» и кликаем несколько раз по пункту «Номер сборки». Затем в самом меню, наверху, активируем режим, находим пункт «Режим отладки» и активируем его тоже.

Включаем режим разработчика

Переходим в меню разработчика

Включаем отладку по USB

На этом общие моменты завершены. Теперь посмотрим как подключать телефон и как инспектировать элементы сайта на мобильном.

Инструкция для Google Chrome

Для отладки в Chrome, на компьютере должен быть установлен браузер версии не ниже 32, а на версия Android должна быть минимум 4.

  1. Открываем инструменты разработчика в браузере. Кликаем по трём точкам в правом верхнем углу. Выбираем «More tools», затем «Inspect devices…»
  2. Ставим галочку «Discover USB devices».
  3. Запускаем Chrome на телефоне и подключаем его к компьютеру. Появится запрос на подключение. Жмём «Ок».
  4. Видим слева своё устройство и его статус. Кликаем по нему.
  5. Отображается список открытых вкладок. Можно открыть новую, введя адрес в поле сверху. Нажав на три точки, можем перезагрузить вкладку, перейти на неё или закрыть её. Нажав «Inspect», как несложно догадаться, активируем инспектор.
  6. Видим экран мобильного на компьютере. Все изменения стилей отображаются на экране компьютера и на самом смартфоне в режиме реального времени. Если изменить ориентацию телефона — изменится и на компьютере.