API тем
Экспериментально: Это экспериментальная технология
Перед использованием в продакшене внимательно проверьте таблицу совместимости с браузерами.
Нестандартно: Эта функция нестандартна и не находится на пути стандартизации. Не используйте её на сайтах, работающих в веб-среде: она может не работать для всех пользователей. Также могут быть большие расхождения между реализациями, и поведение может измениться в будущем.
Предупреждение: Эта функция в настоящее время не поддерживается двумя производителями браузеров. Подробности об оппозиции см. в разделе Позиции стандартов ниже.
Примечание: Для использования API тем в ваших приложениях требуется процесс регистрации. Подробности о том, какие подфункции ограничены регистрацией, см. в разделе Регистрация.
API тем предоставляет механизм для разработчиков, чтобы реализовать такие сценарии использования, как таргетированная реклама (IBA), основанную на темах, собранных браузером по мере навигации пользователя по различным страницам, а не собранную разработчиком путем отслеживания пути пользователя по различным сайтам с помощью куки сторонних сайтов.
Концепции и использование
Типичный механизм рекламы в Интернете включает посещение пользователем сайтов издателя, которые используют платформу рекламной технологии (ad tech), чтобы публиковать объявления для продуктов или услуг рекламодателя. Издатель получает плату за отображение объявлений, что помогает финансировать их контент, и увеличивает трафик на сайты рекламодателей.
Вышеуказанный процесс можно сделать более эффективным с помощью таргетированной рекламы (IBA). Идея заключается в том, что когда пользователи посещают сайты издателя, им показывается персонализированный набор объявлений, основанный на их интересах. Их интересы определяются по сайтам, которые они посещали ранее. В прошлом для сбора информации об интересах пользователей использовались куки сторонних сайтов, но браузеры постепенно отказываются от их предоставления для всё большего числа пользователей. API тем предлагает часть пути к достижению этой цели — механизм реализации таргетированной рекламы, который не зависит от отслеживания пользователей.
Во-первых, браузер определяет интересы пользователя по URL-адресам сайтов, которые они посещают, и на которых встроены рекламные технологии <iframe>. Эти интересы сопоставляются со специфическими темами интересов, и браузер рассчитывает и записывает самую важную тему (т.е. тему, к которой их интересы наиболее часто сопоставляются) в конце каждой эпохи. Эпоха по умолчанию — неделя. Самая важная тема обновляется каждую неделю, чтобы интересы оставались актуальными, и пользователи не начинали видеть объявления по темам, к которым они больше не заинтересованы.
Примечание: Этот процесс происходит только на сайтах, где используется функция API тем (см. Какие функции API активируют API тем?).
После того, как браузер обнаружил одну или несколько тем для пользователя, API тем может извлечь их и отправить их на платформу рекламной технологии. Затем платформа может использовать эти темы, чтобы персонализировать объявления, которые она отображает пользователю. API помогает сохранить конфиденциальность, возвращая темы вызывающему API только в том случае, если они были обнаружены им на страницах, посещенных текущим пользователем.
См. Использование API тем для объяснения того, как работает API.
Какие темы доступны?
Доступные основные темы, которые браузер может рассчитать, хранятся в общедоступной классификации интересов. Первоначальная классификация была предложена Chrome с намерением, что она станет ресурсом, поддерживаемым надёжными участниками экосистемы. Классификация была вручную составлена для исключения категорий, обычно считающихся чувствительными, таких как этническая принадлежность или сексуальная ориентация.
Интерфейсы
API тем не имеет собственных отдельных интерфейсов.
Расширения для других интерфейсов
Document.browsingTopics()-
Возвращает промис, который выполняется с массивом объектов, представляющих самые важные темы для пользователя, по одной от каждой из последних трех эпох. По умолчанию метод также заставляет браузер записывать текущий визит на страницу как наблюдаемый вызывающей стороной, поэтому имя хоста страницы впоследствии может быть использовано для расчета тем.
-
fetch()/Request(), параметрbrowsingTopics -
Логическое значение, указывающее, что выбранные темы для текущего пользователя должны быть отправлены в заголовке
Sec-Browsing-Topicsвместе с соответствующим запросом. HTMLIFrameElement.browsingTopics-
Логическое свойство, указывающее, что выбранные темы для текущего пользователя должны быть отправлены вместе с запросом на источник связанного
<iframe>. Это отражает значение атрибутаbrowsingtopicscontent.
HTML элементы
HTTP заголовки
Sec-Browsing-Topics-
Отправляет выбранные темы для текущего пользователя вместе с запросом, которые используются платформой рекламной технологии для выбора персонализированного объявления для отображения.
Observe-Browsing-Topics-
Используется для маркировки тем интересов, выведенных из URL-адреса вызывающего сайта (т.е. сайта, где встроена рекламная технология
<iframe>), как наблюдаемых в ответ на запрос, сгенерированный функцией, которая активирует API тем (что это за функция?). Впоследствии браузер будет использовать эти темы для расчета основных тем для текущего пользователя в будущих эпохах. -
Permissions-Policy; директиваbrowsing-topics -
Управляет доступом к API тем. Если политика конкретно запрещает использование API тем, все попытки вызвать метод
Document.browsingTopics()или отправить запрос с заголовкомSec-Browsing-Topicsзавершатся ошибкой с заголовкомNotAllowedErrorDOMException.
Регистрация
Чтобы использовать API тем на ваших сайтах, вы должны указать его в процессе регистрации в песочнице конфиденциальности. Если вы этого не сделаете, следующие подфункции не будут работать:
- Промис, возвращаемый методом
Document.browsingTopics(), отклонится с ошибкойNotAllowedErrorDOMException. - Создание или изменение заголовка
Sec-Browsing-Topicsзавершится без ответа, и любой существующий заголовокSec-Browsing-Topicsбудет удален.
Примеры
Полные рабочие примеры см.:
-
Демо API тем: Демонстрирует, как вызовы
document.browsingTopics()могут использоваться для наблюдения и получения доступа к темам (посмотреть исходный код). -
Демо API тем с заголовком: Демонстрирует, что запрос
fetch()с заголовкомSec-Browsing-Topicsможет быть использован для наблюдения и получения доступа к темам (посмотреть исходный код).
Спецификации
Эта функция не является частью официального стандарта, хотя она описана в черновике неофициального предложения API тем.
Позиции стандартов
Два производителя браузеров выступают против этого предложения. Известные позиции таковы:
- Mozilla (Firefox): Отрицательно
- Apple (Safari): Отрицательно
Совместимость с браузерами
| Рабочие станции | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
Topics_API |
115 | 115 | Нет | 101 | Нет | 115 | Нет | 77 | Нет | 23.0 | 115 |
См. также
- API тем на developers.google.com (2023)
- Песочница конфиденциальности на developers.google.com (2023)
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Topics_API