Почему я не могу найти Яндекс.Такси через системный поиск на iPhone?

Привет, Хабр!

В последнее время Яндекс изо всех сил пытается испортить свои мобильные приложения, превращая их в «суперапп», будь это слово неладно. И одно из двух приложений компании, для которых такое направление развития наиболее заметно — это такси.

Не так давно его переименовали в «Яндекс Go», допихнув заодно внутрь Еду, Лавку, общественный транспорт, кучу рекламы. И здесь-то я вероломно, без объявления войны наткнулся на проблему, которая в конечном счёте послужила идеей для написания сией микростатьи.

У меня на iPhone довольно много разных приложений, и я привык запускать те, что не размещены на первой же странице, через системный поиск Spotlight — тот, что на домашнем экране iOS. Беда в том, что с упомянутым переименованием Яндексовского приложения из его названия исчезло собственно главное ключевое слово — «такси». Найти «Яндекс Go» по нему теперь стало невозможно. Затрудняюсь предположить, насколько от этого могли пострадать статистика запусков или доходы приложения, но как минимум UX точно оказался в проигрыше, причём довольно глупом. К слову, точно так же вы не сможете найти такси «Maxim» по ключевому слову «максим», а Delivery Club не ищется по запросу «еда».

В то же время быстрый анализ проблемы показывает, что приложение «VK» нормально обнаруживается по запросу «вконтакте», iOS предлагает запустить «Инвестиции» при вводе «тинькофф», а Okko весьма уместно всплывает для ключевых слов «кино», «око» и даже «иви». Как же этого удалось добиться? На самом деле, очень просто…

Ключевые слова для Spotlight легко добавляются, если вы уже поддерживаете Handoff, то есть бесшовное переключение юзера между разными своими Apple-устройствами, или Siri Shortcuts. Достаточно лишь проставить свойство keywords для объекта NSUserActivity, с которым вы и так работаете.

let activity = NSUserActivity(activityType: typeID)
activity.keywords = ["слово", "или даже ключевая фраза"]

Если же с Handoff и Siri вам по каким-то причинам не по пути либо хочется поддержать Spotlight на более серьёзном уровне, используйте CoreSpotlight.

import CoreSpotlight

let attributes = CSSearchableItemAttributeSet(contentType: .application)

attributes.title = "Заказать пиццу"
attributes.contentDescription = "Доставим в течение получаса"

attributes.thumbnailData = image.pngData()
attributes.keywords = ["еда", "закуски", "кушать"]

let searchableItem = CSSearchableItem(uniqueIdentifier: "pizza", domainIdentifier: "readyMeal", attributeSet: attributes)
CSSearchableIndex.default().indexSearchableItems([searchableItem]) { _ -> Void in }

Если всё сделали правильно, при вводе одного из переданных нами операционной системе ключевых слов получим примерно следующий результат…

Учитывайте, что чем больше ключевых слов вы скормите iOS, тем ниже она будет ранжировать ваше приложение, поэтому подбирать теги нужно аккуратно и с умом, стараясь обойтись минимально достаточным их набором.

Разумеется, хороший разработчик не просто скопирует приведённый выше код, а правильно обработает ошибки, заполнит дополнительные атрибуты и прокинет воспользовавшегося поиском юзера не просто в приложение, а непосредственно на экран заказа пиццы. Однако поскольку в Яндексе, видимо, не слышали даже о самом факте существования Spotlight, мы на сегодня пока закруглимся.

Спасибо за внимание!

Let’s block ads! (Why?)

Read More

Recent Posts

Apple возобновила переговоры с OpenAI и Google для интеграции ИИ в iPhone

Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…

13 часов ago

Российская «дочка» Google подготовила 23 иска к крупнейшим игрокам рекламного рынка

Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…

20 часов ago

Google завершил обновление основного алгоритма March 2024 Core Update

Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…

23 часа ago

Нейросети будут писать тексты объявления за продавцов на Авито

У частных продавцов на Авито появилась возможность составлять текст объявлений с помощью нейросети. Новый функционал доступен в категории «Обувь, одежда,…

1 день ago

Объявлены победители международной премии Workspace Digital Awards-2024

24 апреля 2024 года в Москве состоялась церемония вручения наград международного конкурса Workspace Digital Awards. В этом году участниками стали…

2 дня ago

Яндекс проведет гик-фестиваль Young Con

27 июня Яндекс проведет гик-фестиваль Young Con для студентов и молодых специалистов, которые интересуются технологиями и хотят работать в IT.…

2 дня ago