Вопросы и ответы про работу Вебвизора 1.0
- При просмотре записей появляется сообщение «С этой страницей что-то не так…»
Попробуйте воспроизвести посещения в другом браузере. Если посещение воспроизводится, в вашем обычном браузере отключите все расширения и плагины, а также очистите кэш и cookies.
На вашем сайте используется защита от показа в iframe (сайт возвращает заголовок
X-Frame-Options: SAMEORIGIN
илиX-Frame-Options: DENY
).Для корректного воспроизведения посещений необходимо удалить код защиты (обратитесь к сотруднику, который отвечает за поддержку сайта) или настроить веб-сервер.
Уменьшите уровень защиты вашего антивируса.
Файрвол компьютера или сети блокирует доступ:
к доменам metrika.yandex.ru и mc.yandex. ru;
к домену *.yandex.net;
к домену *.yandex.tld.
Сайт не открывается без префикса www.
Ссылка из объявления ведет на страницу, где не установлен код счетчика. В результате Яндекс Метрика не может корректно зафиксировать источник перехода. Когда посетитель переходит на следующую страницу (где код счетчика уже есть), в качестве источника визита в отчеты записывается ваш сайт. Чтобы избежать таких ошибок, убедитесь, что код установлен корректно на каждой странице сайта.
На одной из страниц, куда ведут ссылки из объявлений, счетчик не сработал. Это может произойти, если посетитель успевает перейти на другую страницу до загрузки кода Метрики или если на странице стоит редирект.
ваш сайт посетил робот;
страница загрузилась во вкладке с восстановленной сессией.
На странице установлен код без поддержки Вебвизора. Включите в настройках счетчика опцию Вебвизор и замените код счетчика на странице на правильный.
Посетитель ушел со страницы, не дождавшись ее полной загрузки.
Посетитель использовал браузер, в котором не поддерживается запись (например, мобильный браузер).
Посетитель использовал для просмотра страницы нестандартное устройство.
У посетителя плохой интернет-канал (например, мобильный интернет).
Перейдите на вкладку Конфиденциальность и отключите опцию Мешать перекрестному отслеживанию.
Перезапустите браузер и откройте Вебвизор или карты снова.
Данное сообщение может появляться по нескольким причинам:
Вебвизор не подключается автоматически при создании счетчика. Инструкцию по его подключению вы можете найти в разделе Подключение и настройка Вебвизора 1.0.
При подключении Вебвизора не забудьте нажать кнопку Сохранить — иначе данные в отчете отображаться не будут.
В отчете «Вебвизор» отсутствуют социально-демографические данные (пол, возраст и др.)Яндекс Метрика заботится о конфиденциальности посетителей и сохраняет обезличенность собранной информации. Поэтому данные, которые могут каким-либо образом позволить деанонимизировать пользователей, раскрываются не полностью. К ним относятся данные, которые рассчитываются алгоритмами Яндекса, например, социально-демографические (пол, возраст и др.), адреса страниц входа, поисковые фразы, информация о роботах и другое. Такая информация выдается только в том случае, если количество посетителей в выборке больше 10.
Данное правило существует в Метрике уже длительное время для обеспечения конфиденциальности ее пользователей.В отчете такая информация не может быть представлена, так как Вебвизор записывает действия каждого посетителя в отдельности.
В поле «Переход с сайта» указан мой собственный сайт, хотя переход был по рекламеЭто может быть вызвано следующими причинами:
На любом сайте есть некоторый процент посещений, в которых отсутствует активность. Это происходит либо потому, что во время посещения на странице действительно ничего не происходило, либо потому, что действия не удалось записать.
Причины, по которым на странице может ничего не происходить:
Причины, по которым действия могут не записаться:
Нет, нагрузка на сайт не увеличится, поскольку все действия записываются в браузерах посетителей уже после загрузки страницы.
Увеличит ли подключение Вебвизора трафик у посетителей сайта?При просмотре одной страницы, в зависимости от ее размера и продолжительности просмотра, передается от 200 байт до 4 КБ исходящего трафика (это составляет всего несколько процентов от среднего размера страницы в интернете). Такое увеличение трафика будет незначительным по отношению к общему трафику, который передается при работе с сайтом.
Вебвизор может неточно воспроизводить посещения на страницах с большим количеством дефектов HTML-верстки (незакрытые теги, неправильная вложенность тегов и т. п.). Как правило, Вебвизор адаптируется к таким дефектам, но все-таки желательно, чтобы у страниц сайта была правильная HTML-структура.
Что делать, если в моем браузере Вебвизор не работает?Вебвизор поддерживает запись посещений в большинстве современных браузеров для компьютера. Ограниченно поддерживается запись посещений в бета-версиях и некоторых мобильных браузерах.
Рекомендуем обновлять браузер как можно чаще — до последней доступной версии. Воспроизведение посещений поддерживается в следующих браузерах: Яндекс Браузер, Google Chrome, Firefox, Safari, Opera, Internet Explorer.
В Safari 12 страница Вебвизора, а также Карт кликов, ссылок и скроллинга, может бесконечно загружаться из-за опции в настройках браузера.
Примечание. Разные браузеры могут обрабатывать одну и ту же страницу по-разному. Поэтому чтобы наиболее точно воспроизвести посещение, используйте тот же браузер, в котором оно изначально было записано.
Будут ли правильно воспроизводиться посещения на сайтах с резиновой версткой?Да. Для страниц с резиновой версткой посещение будет воспроизведено корректно, даже если разрешения экрана при записи и воспроизведении не совпадают. При воспроизведении возможны небольшие скачки курсора — из-за неодинакового взаимного расположения элементов контента на записываемой и воспроизводимой страницах.
Вебвизор не запоминает паролей и не пытается самостоятельно зайти на сайт от имени пользователей. Поэтому в плеер загружается страница входа на сайт, которая загрузилась бы у любого неавторизованного посетителя.
Вместо страницы c результатом отправки формы плеер отображает ошибку или неверную страницу. Почему?Вероятно, форма отправляет данные методом POST.
При загрузке данных в плеер Вебвизор использует только метод GET
. Это связано с тем, что POST-запросы обычно ведут к выполнению каких-либо действий: отправке заявки, оформлению заказа и т. п. Если бы Вебвизор использовал метод POST, он бы полностью эмулировал действия посетителя, и при каждом воспроизведении такой страницы вам повторно приходила бы заявка или на сайте повторно оформлялся заказ.
Вебвизор записывает действия посетителей только в пределах HTML-содержания страницы. При этом записывается не взаимодействие посетителя с элементами Flash, а движения мыши над этими элементами. При воспроизведении этих движений может возникнуть проблема пропадания курсора. Это связано с тем, что flash-элементы по умолчанию отображаются в браузере поверх всего содержания страницы, включая отображаемый плеером курсор.
Чтобы курсор над flash-областями стал видимым, задайте для них режим отображенияwmode=transparent
:<object> <param name="wmode" value="transparent"> ... <embed wmode="transparent" ... /> </object>Почему при воспроизведении посещения страница с плеером перезагружается и я вижу только свой сайт?
Вероятно, на вашем сайте используется защита от показа страницы внутри фреймов. Пример такой защиты:
<script type="text/javascript">if (top.location != self.location) { top.location.replace(self.location) } </script>
Чтобы посещения воспроизводились корректно, необходимо удалить этот код.
Записывает ли Вебвизор пароли посетителей?Нет, Вебвизор не записывает то, что вводится в поле с типом password
.
Чтобы информация из указанных полей ввода не записывалась, задайте для них CSS-класс ym-disable-keys. Этим классом можно помечать поля для ввода приватной информации.
Вебвизор отправляет форму при воспроизведении посещенияИногда при воспроизведении посещения на сайте генерируется повторная отправка формы от имени посетителя (например, добавляется еще один товар в корзину).
Чтобы этого не происходило, задайте элементам формы CSS-класс -visor-no-click
:
<form action="/login" method="post"></form>Как долго Вебвизор хранит записи посещений?
Яндекс Метрика хранит записи о посещениях за последние две недели.
Написать в чат
Выберите вопрос, чтобы найти решение.
Содержимое страницы в записи может отличаться от реального. Вероятно, на сайте часто меняются CSS. В этом случае добавьте в имена стилевых файлов хеш от содержимого. Тогда при изменении содержимого файла изменится его имя, например style.390b32d4d49d5e7d.css будет изменено на style.0c573d460df87d4de5a4.css. Это позволит Вебвизору при записи визита использовать именно тот стиль, который видит посетитель сайта.
Выполните следующие действия:
Очистите кэш браузера.
Отключите все плагины и дополнения для браузеров.
Удалите cookies браузера.
Проверьте настройки файрвола — возможно, они блокируют работу скрипта счетчика Метрики. Также счетчик может быть заблокирован расширением Adblock Plus.
Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс Метрики.
Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс Метрики.
Если у вас остались вопросы по работе Вебвизора, задайте их через форму ниже — укажите пример посещения, в котором некорректно отображаются данные и полную версию вашего браузера.
Требования и ограничения Вебвизора 2.0 β
Примечание. Когда вы просматриваете запись, ее содержимое может отличаться от отображения сайта в этот момент, так как Вебвизор записывает HTML-содержимое сайта на момент визита, а не на момент просмотра записи.
- Поддержка устаревшего кода счетчика
- По умолчанию Яндекс Метрика использует новый код счетчика. Чтобы работать с Вебвизором 2.0, замените на всех страницах сайта код на новый. Найти его можно на странице Настройка. Если на сайте установлен старый код и вы хотите использовать Вебвизор 1.0, включите опцию Устаревший код счетчика.
- Лимит на период хранения записей
- Данные хранятся 15 дней, включая текущий день.
- Лимит на количество записей в день
- Вебвизор в течение суток записывает достаточное для репрезентативности выборки число визитов. Количество записей в сутки определяется специальным алгоритмом и в разные периоды может различаться.
- Использование Вебвизора 2.0, если на сайте установлено несколько счетчиков
- В этом случае включите Вебвизор 2.0 только на одном из установленных счетчиков. Если Вебвизор 2.0 подключен ко всем счетчикам, данные записываются некорректно на всех счетчиках.
- Рекомендуемая кодировка на сайте
- Вебвизор корректно записывает действия посетителей, если на сайте используется кодировка UTF-8.
- Корректная HTML-верстка страниц
- Вебвизор может неточно воспроизводить посещения на страницах с большим количеством дефектов HTML-верстки (незакрытые теги, неправильная вложенность тегов и т. п.). Как правило, Вебвизор адаптируется к таким дефектам, но все-таки желательно, чтобы у страниц сайта была правильная HTML-структура.
- Запись страниц с резиновой версткой
- Для страниц с резиновой версткой посещение будет воспроизведено корректно, даже если разрешения экрана при записи и воспроизведении не совпадают. При воспроизведении возможны небольшие скачки курсора — из-за неодинакового взаимного расположения элементов контента на записываемой и воспроизводимой страницах.
- Использование Вебвизора 2.0 при часто обновляющихся файлах CSS
Если на вашем сайте часто обновляются CSS, добавьте в имена стилевых файлов хеш от содержимого. Тогда при изменении содержимого файла изменится его имя, например style.390b32d4d49d5e7d.css будет изменено на style.0c573d460df87d4de5a4.css. Это позволит Вебвизору при записи визита использовать именно тот стиль, который видит посетитель сайта.
- Поддержка страниц с canvas
- Вебвизор не записывает содержимое сайта, если оно отображается с помощью элемента canvas.
- Запись видео- и аудио-контента
- Вебвизор не записывает содержимое HTML-элементов audio и video и взаимодействие с ним посетителя, если внутри этих элементов изменяются объекты Audio и Video.
- Запись Flash-контента
- Вебвизор не поддерживает Flash-контент и не может корректно обрабатывать записи сайтов с таким содержимым.
- Поддержка Shadow DOM
Вебвизор не поддерживает технологии Shadow DOM.
- Поддержка браузеров
Вебвизор записывает посещения в большинстве современных браузеров для компьютера: Яндекс Браузер, Google Chrome, Firefox, Safari, Opera, Microsoft Edge. Ограниченно поддерживается запись в бета-версиях и некоторых мобильных браузерах. Также ограниченно могут записываться и воспроизводиться посещения в любой версии Internet Explorer.
Разные браузеры могут обрабатывать одну и ту же страницу по-разному. Поэтому чтобы наиболее точно воспроизвести посещение, используйте тот же браузер, в котором оно изначально было записано.
- Обработка стилей
Если на сайте используются Стили, которые генерируются в момент загрузки страницы.
«}}»> (в том числе из серии Data Styled Components), то Вебвизор не запишет или запишет некорректно визиты. Рекомендуем использовать классические стили.- Обработка медиафайлов WebP
Вебвизор не имеет возможности обрабатывать медиафайлы формата WebP.
- Запись вкладок браузера в приватном режиме
- Вебвизор может некорректно записывать информацию о вкладках в приватном режиме браузера (например, Инкогнито в Яндекс Браузере).
- Запись страниц с ошибками в верстке
- Вебвизор может неточно записывать посещения на страницах с версткой, не соответствующей стандартам W3C.
- Запись содержимого iframe с другого домена
- Чтобы Вебвизор записал содержимое iframe, адрес которого отличается от адреса сайта, настройте счетчик особым образом.
- Обработка медиа-запросов
- Метрика может некорректно обработать некоторые медиа-запросы.
Написать в чат
Выберите вопрос, чтобы найти решение.
Содержимое страницы в записи может отличаться от реального. Вероятно, на сайте часто меняются CSS. В этом случае добавьте в имена стилевых файлов хеш от содержимого. Тогда при изменении содержимого файла изменится его имя, например style.390b32d4d49d5e7d.css будет изменено на style.0c573d460df87d4de5a4.css. Это позволит Вебвизору при записи визита использовать именно тот стиль, который видит посетитель сайта.
Выполните следующие действия:
Очистите кэш браузера.
Отключите все плагины и дополнения для браузеров.
Удалите cookies браузера.
Проверьте настройки файрвола — возможно, они блокируют работу скрипта счетчика Метрики. Также счетчик может быть заблокирован расширением Adblock Plus.
Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс Метрики.
Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс Метрики.
Если у вас остались вопросы по работе Вебвизора, задайте их через форму ниже — укажите пример посещения, в котором некорректно отображаются данные и полную версию вашего браузера.
Что их вызывает и как их исправить
Если вы предпочитаете вместо этого смотреть видео, вы можете посмотреть его ниже!
В Embrace мы помогаем мобильным компаниям решать самые сложные производственные вопросы. В этой серии мы расскажем об интересных ошибках, с которыми могут столкнуться разработчики мобильных приложений, и дадим советы и рекомендации по их поиску и исправлению.
Пустые веб-просмотры
Вот скриншот из одного из мобильных приложений нашего партнера.
Проклятый белый экран пустого webviewВ этих веб-представлениях должен быть контент, но вместо этого просто белый экран. Вы могли столкнуться с этим в своих собственных приложениях и, вероятно, можете догадаться, почему это произошло. Возможно, JavaScript не загрузился или CSS настроен неправильно. Может быть несколько причин, по которым это произошло, но интересно то, что сбой веб-представления не приводит к сбою самого приложения. Почему это?
Модель процесса iOS
В iOS большинство приложений имеют один и только один процесс. У вас есть основной поток, и вы можете создавать другие потоки для выполнения фоновой работы, такой как сетевые задачи или рендеринг. Но в целом ваше приложение выполняется в одном процессе.
Позволяет операционной системе лучше управлять ресурсами. Если ваше приложение использует слишком много памяти, оно может быть приостановлено или остановлено, чтобы освободить ресурсы для других приложений в системе. Но это меняется, когда вы вводите WebKit в свое приложение.
WKWebView фактически использует модель с несколькими процессами для отображения своих страниц, точно так же, как это делает приложение Safari на вашем рабочем столе.
Каждая вкладка или каждая страница WKWebView в вашем приложении поддерживается двумя дополнительными процессами: процессом содержимого и сетевым процессом. Таким образом, если у вас есть приложение с одним веб-представлением, ваше приложение фактически работает в трех процессах операционной системы: процесс приложения, процесс веб-контента и процесс веб-сети. Все три этих процесса могут быть независимо приостановлены или прекращены в зависимости от того, что происходит. Например, если у вас есть веб-представление в вашем приложении, которое запускает много JavaScript, загружает много тяжелых изображений или выполняет тяжелую обработку, этот процесс может быть завершен независимо от процесса вашего приложения.
Это означает, что ваш пользователь может использовать ваше приложение для проверки товаров в вашем магазине или чтения комментариев на форуме, и внезапно все эти товары или комментарии просто исчезают. Это может быть невероятно неприятно для ваших пользователей, поскольку это не приведет к сбою вашего приложения. Для вашего пользователя это выглядит так, как будто ваше приложение все еще работает, но содержимое просто исчезло. Это своего рода наихудший сценарий, так как же вы можете избежать этого?
Решение
К счастью, Apple подумала об этом и предоставила API на WKWebView для обработки пустых веб-представлений. Во-первых, вы должны внедрить WKNavigationDelegate, делегат навигации, предоставляющий серию обратных вызовов, которые могут помочь вам управлять тем, что происходит с контентом в ваших веб-представлениях. Вы будете знать, когда загрузка началась, когда загрузка остановилась, если ваш пользователь нажимает какие-либо ссылки на странице и т. д. Но здесь есть дополнительный метод, который вы, вероятно, никогда не видели и не применяли, и это webViewWebContentProcessDidTerminate
.
Если вы реализуете этот обратный вызов, система сообщит вам, когда процесс содержимого любого из ваших веб-представлений будет завершен, и у вас будет возможность отреагировать на это событие. Иногда вы можете решить скрыть это веб-представление, если это реклама или что-то, что вы не можете исправить самостоятельно. Но если это ваша витрина или страница оформления заказа, вы можете перезагрузить страницу, потому что, скорее всего, ваш пользователь пытался что-то сделать и хотел бы продолжить свою работу. Просто перезагрузив страницу, они могут продолжить работу, и часто это лучшее решение.
Подводя итоги
В этом посте мы рассмотрели пустые веб-представления в приложениях iOS. Они возникают, когда веб-представления терпят неудачу или уничтожаются операционной системой. Обычно уничтожение процесса приводит к сбою приложения, но в iOS WKWebViews имеет два дополнительных процесса: процесс содержимого и сетевой процесс. Их можно убить, не затрагивая основной процесс приложения. Вы можете обеспечить лучший пользовательский интерфейс, решив, какие веб-представления должны быть перезагружены в случае сбоя, и добавив эту функциональность через обратный вызов webViewWebContentProcessDidTerminate
на WKNavigationDelegate.
Мы надеемся, что вы нашли этот пост полезным, и у нас есть возможность принять меры, чтобы ваше приложение реагировало на пустые веб-просмотры в будущем.
Кто мы
Embrace — это мобильная платформа мониторинга и аналитики для разработчиков. Мы являемся универсальным магазином для удовлетворения потребностей производительности вашего мобильного приложения и отладки ошибок. Если вы хотите узнать больше об Embrace, посетите наш веб-сайт или посетите нашу документацию!
Предстоящий веб-семинар — 30.04 — 10:00 по тихоокеанскому времени / 13:00 по восточному времени
У нас скоро веб-семинар о возможностях использования индивидуальных пользовательских сеансов при отладке.
Некоторые ошибки невозможно отследить без контекста фактического сеанса пользователя, в котором они произошли. Посмотрите, какие ошибки попадают в эту категорию, а также как быстро и эффективно их отлаживать, используя данные из индивидуального сеанса пользователя. Мы также расскажем, как создать серверную часть, которая может поддерживать хранение и извлечение полных данных сеанса пользователя.
С чем вы уйдете:
- Какие ошибки вы можете найти в сеансах пользователей
- Как решить каверзные ошибки с пользовательскими сессиями
- Как создать службу, предоставляющую доступ ко всем этим сеансам
- Как вы храните столько данных
Кому будет полезен этот вебинар:
- Разработчики мобильных приложений
- Менеджеры по продукту для мобильных команд
- Backend-инженеры в проектах с большими требованиями к данным
Зарегистрируйтесь здесь, чтобы узнать, как доступ к сеансам пользователей может ускорить отладку!
Вот как исправить загадочные сбои Android WebView
Если на вашем последнем телефоне Samsung внезапно происходит сбой нескольких приложений, вы не одиноки. Этим днем по американскому времени начали поступать отчеты от десятков, а затем и сотен пользователей сабреддита Samsung, жалующихся на сбои приложений на их телефонах, постоянно и, казалось бы, случайным образом. Это вызывает серьезные головные боли. Вы можете быстро решить проблему, отключив приложение Android System WebView или обновив его через Play Store или APK Mirror.
Пользователи последних телефонов Samsung — Galaxy S20 и S21, Note 20, серий A50 и A70 и других — похоже, больше всего пострадали. Есть разрозненные сообщения об одной и той же проблеме, возникающей с телефонами Pixel, Motorola и OnePlus, хотя это могут быть случайные проблемы, не связанные с основной проблемой. Владельцы некоторых старых устройств Samsung, в том числе одного J7, сообщают об аналогичных проблемах. Сбои приложений не ограничиваются каким-либо конкретным подмножеством: приложения с более или менее любой функцией от любого разработчика постоянно и без предупреждения аварийно завершают работу.
Несколько пользователей сообщили об успешном использовании относительно простого метода: удаления последней версии Android System WebView, небольшого инструмента, который позволяет приложениям отображать веб-страницы с помощью Chrome, не выходя из приложения. Он используется по-разному, включая безопасный вход в систему и просмотр документации поддержки. Пользователь Reddit /u/WatfordHert подробно описал свой метод, который довольно прост.
Как исправить недавние сбои приложений
Чтобы использовать метод WatfordHert, перейдите в главное меню настроек Android, затем нажмите «Приложения и уведомления» (на некоторых телефонах просто «Приложения»). Найдите Android System WebView в списке и коснитесь его. (Если вы не видите приложение, проверьте меню из трех точек и нажмите «показать системные приложения».) Не отключайте приложение.
2 ИзображенияКоснитесь трехточечного меню в правом верхнем углу экрана, затем выберите «Удалить обновления». Это не приведет к полному удалению Android System WebView — это важный компонент, и многие приложения перестанут работать без него. Вместо этого он удалит обновления, установленные из Play Store, и восстановит их до версии, поставляемой с вашим телефоном. Это не идеально, но это лучше, чем иметь телефон, который не может работать и тридцати секунд без сбоя приложения.
Нажмите «ОК» во всплывающем предупреждении, и все готово. Если вы по-прежнему видите постоянные сбои приложений, попробуйте перезагрузить телефон.
Мы не можем лично протестировать этот метод на всех затронутых телефонах, но несколько пользователей Reddit сообщают, что у них он работает. Если вы видите, что проблема сбоя приложения возвращается, попробуйте повторить шаги, описанные выше — Play Store мог автоматически обновить приложение, не предупредив вас. По словам таких комментаторов, как Джорелл, этот метод может не работать на устройствах с более старыми версиями Android — вместо этого попробуйте удалить обновления из самого браузера Chrome.
Обновление Android System WebView
Если вам нужно более постоянное решение, Google быстро выпустила обновление для приложения Android System WebView ранним утром 23 марта. Оно должно появиться в Play Store прямо сейчас, но если вы не хотите ждать, оно доступно для прямой загрузки на APK Mirror. Номер версии, которую вы ищете, — 89.0.4389.105.
Согласно служебному обновлению, опубликованному на панели мониторинга состояния Google Workspace, эта версия приложения должна устранить проблемы, связанные со сбоем других зависимых приложений. Обратите внимание, что пользователям, которые уже используют предварительные версии Android 12 для разработчиков, это не нужно — они уже используют ранние версии Chrome 9.0, и WebView обновляется вместе с ним.
ОБНОВЛЕНИЕ: 23 марта 2021 г., 7:00 утра по тихоокеанскому времени, ОТ МАЙКЛ КРАЙДЕРА. 002 Компания Google выпустила обновление для приложения WebView, которое должно устранить проблему сбоя. Мы скорректировали историю, чтобы включить эту и другую информацию для решения проблемы.