Усовершенствования поиска приложений в Xamarin.iOS

В этой статье рассматриваются усовершенствования Apple, внесенные в поиск приложений в iOS 10 и способы их реализации в Xamarin.iOS.

В iOS 10 Apple сделала несколько улучшений для поиска приложений, таких как Deepsourced Deep-Linking, In-App Search, Search и Визуализация результатов проверки. В этой статье рассматривается реализация этих функций в приложении Xamarin.iOS.

О усовершенствованиях поиска приложений

Core Spotlight в iOS 10 предоставляет несколько улучшений для поиска приложений, таких как:

  • Crowdsourced Deep-Link Популярность (с разностной конфиденциальностью) — предоставляет способ продвижения содержимого глубоко связанного приложения в результатах поиска.
  • Поиск в приложении — используйте новый CSSearchQuery класс для предоставления возможности поиска в приложении Spotlight, аналогично тому, как работают приложения "Почта", "Сообщения" и "Заметки".
  • Продолжение поиска. Позволяет пользователю запускать поиск в Центре в центре внимания или Safari, а затем открывать приложение и продолжать поиск.
  • Визуализация результатов проверки — средство проверки API поиска приложений Apple теперь отображает визуальное представление разметки веб-сайта и глубокое связывание при подготовке тестов.
  • Общий доступ к изображениям приложения сообщений— позволяет отображать популярные образы в приложении, предоставляемые для совместного использования в сообщениях (с помощью расширения приложения сообщений) в поисках в Центре внимания.

В следующих разделах подробно рассматриваются эти разделы.

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

Для приложений, использующих NSUserActivity объекты для предоставления URL-адресов глубокой связи и присвоения свойствуEligibleForPublicIndexing, trueiOS 10 отправляет подмножество разностных хэшей конфиденциальности на серверы Apple. Затем эта информация используется для продвижения популярного содержимого в приложении в результатах поиска.

Дополнительные сведения о реализации глубокой компоновки в приложении Xamarin.iOS см. в документации по поиску с помощью NSUserActivity .

Поиск в приложении

Реализуя новый класс CSSearchQuery , приложение может предоставить технологии поиска и сопоставления в Центре внимания, чтобы найти содержимое внутри себя без необходимости оставлять приложение (аналогично работе приложения "Почта", "Сообщения и заметки").

Как правило, приложения, которые поддерживают, CSSearchQuery не должны поддерживать собственный отдельный индекс поиска.

Продолжение поиска

В iOS 9 Apple представила API поиска (например, Core Spotlight и NSUserActivity веб-разметку), чтобы обеспечить глубокий вкус содержимого в приложении, чтобы пользователи могли искать это содержимое с помощью интерфейсов поиска в Spotlight и Safari. Дополнительные сведения см. в документации по новым API поиска.

В iOS 10 Apple основывается на этой функции, позволяя пользователю начать поиск в Spotlight или Safari, а затем продолжить поиск при открытии приложения.

Чтобы реализовать эту функцию, измените файл приложенияInfo.plist, добавьте CoreSpotlightContinuation ключ логического типа и задайте для нее значениеYES:

Чтобы ответить пользователю на продолжение результата поиска (NSUserActivity), измените файл и переопределите AppDelegate.csContinueUserActivity метод. Например:

public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{

    // Take action based on the activity type
    switch (userActivity.ActivityType) {
    case "com.xamarin.platform":
        // Restore the state of the app here...
        break;
    default:
        if (userActivity.ActivityType == CSSearchQuery.ContinuationActionType) {
            var search = userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString);
            // Continue user's search here...
        }
        break;
    }

    return true;
}

Этот код ищет тип действия продолжения запроса (userActivity.ActivityType == CSSearchQuery.ContinuationActionType), а затем считывает текущий запрос пользователя из NSUserActivity словаря сведений о пользователе (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)). Отсюда приложение должно принять меры, чтобы продолжить поиск пользователя.

Дополнительные сведения о работе с поиском в приложении Xamarin.iOS см. в нашей документации по поиску в Core Spotlight .

Визуализация результатов проверки

Средство проверки API поиска приложений Apple теперь отображает визуальное представление разметки веб-сайта и глубокого связывания (включая разметку, например определенную в Schema.org) при подготовке тестов.

С помощью средства проверки разработчик может просмотреть сведения, индексированные Applebot Web Crawler для сайта, например название, описание, URL-адрес и другие поддерживаемые элементы.

Дополнительные сведения о работе с веб-разметкой см . в документации по Веб-разметке Seach.

Общий доступ к образам приложения сообщений

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

Чтобы включить эту функцию, сделайте следующее:

  1. Создайте расширение приложения сообщений.
  2. com.apple.developer.associated-domains Добавьте права приложения и добавьте список веб-доменов, на которых размещены изображения, которым предоставляется общий доступ к расширению приложения сообщений. Для каждого домена укажите spotlight-image-search службу.
  3. Добавьте файл на apple-app-site-association веб-сайт, на котором размещены изображения. Этот файл содержит словарь для spotlight-image-search службы и содержит идентификатор приложения, который является префиксом идентификатора команды или идентификатора приложения, за которым следует идентификатор пакета. Файл может содержать до 500 путей и шаблонов, которые будут индексированы в Центре внимания и включены в популярные поиски изображений. Дополнительные сведения см. в документации по созданию и отправке файла ассоциаций Apple.
  4. Разрешите Applebot обходить веб-сайты. Ознакомьтесь с документацией Apple About Applebot.

Дополнительные сведения см. в документации по интеграции приложений сообщений.

Итоги

В этой статье рассматриваются улучшения Apple, внесенные в поиск приложений в iOS 10 и как реализовать их в Xamarin.iOS.