Компания Apple совершенно неожиданно нанесла удар в поддых рекламной индустрии, легализуя использование контент-блокировщиков в мобильной версии Safari под iOS 9. Вполне очевидно, какой именно контент будут блокировать такие расширения в первую очередь: это реклама.
Этого не объявляли во время презентации в понедельник, но о поддержке соответствующих расширений говорится в официальной документации.
«Новая версия Safari содержит поддержку расширений для блокировки контента (Content Blocking Safari Extensions) в iOS, — сказано в документации. — Блокировка контента предоставляет расширению быстрый и эффективный способ блокировать куки, картинки, ресурсы, всплывающие окна и другой контент».
Для активации блокировки расширение должно предоставить браузеру файл JSON. Он состоит из набора правил (действий и триггеров) для блокировки специфического контента. Safari конвертирует JSON в байткод, который затем эффективно применяет на всех загружаемых ресурсах, предотвращая также передачу информации о действиях пользователя и посещённых страницах обратно расширению.
Новая версия Xcode 7 (которая, кстати, теперь распространяется совершенно свободно и бесплатно, не требуя годовой подписки на лицензию разработчика за $99 в год) содержит шаблон правил для указания в JSON-файле. Вот пример таких действий и триггеров.
[
{
"action": {
"type": "block"
},
"trigger": {
"url-filter": "webkit.org/images/icon-gold.png"
}
},
{
"action": {
"selector": "a[href^="http://nightly.webkit.org/"]",
"type": "css-display-none"
},
"trigger": {
"url-filter": ".*"
}
}
]
Правда, есть некоторая вероятность, что Apple какой-нибудь специальной оговоркой в условиях соглашения запретит использование конкретно блокировщиков рекламы под iOS, но есть три аргумента, указывающие на обратное. Во-первых, о блокировке всплывающих окон напрямую говорится в документации. Во-вторых, всё равно останется техническая возможность установки блокирующих расширений в Safari, так что после джейлбрейка эту проблему в любом случае легко решить. В-третьих, десктопная версия Safari тоже поддерживает такие расширения, и это похоже на целенаправленную политику Apple по борьбе с ненужной рекламой.
Да и вообще, сложно представить, для чего Apple внедряет блокировку контента в браузере через расширения, если не для блокировки рекламы. В конце концов, это не она получает львиную часть доходов от рекламы, а Google. В каком-то смысле, это не только забота о пользователях, но и удар по конкуренту.
Блокировка контента доступна и в десктопной версии Safari под OS X.
Как показано на скриншоте, JSON-файл с правилами следует добавить в новом разделе "Content Blocker" в "Safari Extensions Builder". Блокировка происходит с использованием нового программного интерфейса setContentBlocker
.
Автор: alizar