Улучшенные возможности поиска приложения в Xamarin.iOSApp Search Enhancements in Xamarin.iOS

В этой статье рассматриваются усовершенствования Apple сделала для поиска приложения в iOS 10 и способы их реализации в Xamarin.iOS.This article covers the enhancements Apple has made to App Search in iOS 10 and how to implement them in Xamarin.iOS.

В iOS 10 Apple сделала ряд дополнительных возможностей поиска приложения, такие как связывание глубокого приобщиться, поиск в приложении, продолжение поиска и визуализации результатов проверки.In iOS 10, Apple has made several enhancements to App Search such as Crowdsourced Deep-Linking, In-App Searching, Search Continuation and Visualization of Validation Results. В этой статье будут рассмотрены реализации этих функций в приложении Xamarin.iOS.This article will cover implementing these features in a Xamarin.iOS app.

О улучшенные возможности поиска приложенияAbout App Search Enhancements

Полезные сведения в iOS 10 содержит ряд усовершенствований для поиска приложения:Core Spotlight in iOS 10 provides several enhancements to App Search such as:

  • Популярность приобщиться прямой ссылкой (с разностной конфиденциальности) -предоставляет способ распространения содержимого прямая ссылка на приложение в результатах поиска.Crowdsourced Deep-Link Popularity (with differential privacy) - Provides a way to promote deep-linked app content in search results.
  • Поиск в приложении -использовать новый CSSearchQuery класс обеспечивает возможность поиска Spotlight в приложении аналогичную как работают приложения почта, сообщения и заметки.In-App Searching - Use the new CSSearchQuery class to provide in-app Spotlight search ability similar to how the Mail, Messages and Notes apps work.
  • Поиск продолжения — пользователь может начать поиск в центре внимания или Safari, а затем откройте приложение и по-прежнему поиска.Search Continuation - Allows a user to start a search in Spotlight or Safari, then open an app and continue that search.
  • Визуализация результатов проверки -Apple средство проверки API поиска приложения теперь отображает визуальное представление разметки веб сайта и связывание глубокого preforming тестов.Visualization of Validation Results - Apple's App Search API Validation Tool now displays a visual representation of a website's markup and deep-linking when preforming tests.
  • Сообщения, общий доступ к приложениям образ -позволяет популярных изображений в приложении для отображаться в результатах поиска Spotlight совместного использования в сообщениях (через расширение приложения сообщения).Message App Image Sharing - Allows popular in-app images provided for sharing in Messages (via a Message App Extension) to appear in Spotlight searches.

Следующие разделы будут рассмотрены в следующих разделах более подробно.The following sections will cover these topics in more detail.

iOS 10 предоставляет механизм для подсчета частоты, что следует часто используемых глубокого ссылок в приложение пользователя и использует эту информацию, чтобы повысить рейтинг приложения содержимого в результатах поиска, обеспечивая защиту удостоверение пользователя с помощью Разностные конфиденциальности.iOS 10 provides a mechanism to count the frequency that popular deep-links into an app are followed by the user and uses this information to improve the ranking of an app's content in search results, while still protecting the user's identity by using Differential Privacy.

Для приложений, использующих NSUserActivity объектов обеспечивают прямой ссылкой URL-адреса и EligibleForPublicIndexing свойство значение true, iOS 10 отправляет подмножество разностные хэши конфиденциальности на серверах компании Apple.For app's that use NSUserActivity objects to provide deep-link URLs and have the EligibleForPublicIndexing property set to true, iOS 10 submits a subset of Differential Privacy Hashes to Apple's servers. Эта информация затем используется для повышения уровня популярных содержимое в приложении, в результатах поиска.This information is then used to promote popular in-app content in search results.

Дополнительные сведения о реализации сложного связывания в приложении Xamarin.iOS см. в разделе наших поиска с NSUserActivity документации.For more information on implementing deep-linking in a Xamarin.iOS app, please see our Search with NSUserActivity documentation.

Поиск в приложенииIn-App Searching

Путем реализации нового CSSearchQuery класс, приложение может предоставлять поиска объекта Spotlight и сопоставления правил технологии можно искать содержимое внутри самого без пользователю не придется выйти из приложения (аналогично тому, как почта, сообщения и заметки о приложении работе).By implementing the new CSSearchQuery class, an app can provide Spotlight's search and matching rule technology to find content inside of itself, without the user having to leave the app (similar to how the Mail, Messages and Notes app work).

Как правило, приложения, поддерживающие CSSearchQuery будет не нужно хранить свои собственные, отдельные поиска индекса.Typically, apps that support CSSearchQuery will not need to maintain their own, separate search index.

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

В iOS 9 Apple представила API поиска (такие как полезные сведения, NSUserActivity и веб-разметка) для предоставления глубокого оформлением содержимого в приложение, чтобы разрешить пользователям выполнять поиск этого содержимого, с помощью интерфейсов поиска Spotlight и Safari.In iOS 9, Apple introduced the Search APIs (such as Core Spotlight, NSUserActivity and web markup) to provide deep-liking of content within an app to allow users to search for that content using both the Spotlight and Safari search interfaces. См. в разделе наших новые API-интерфейсы поиска документации для получения дополнительных сведений.See our New Search APIs documentation for more details.

В iOS 10 Apple развивает эту функцию, поскольку пользователь может начать поиск в центре внимания или Safari, а затем продолжить поиск в том случае, когда он открывает приложение.In iOS 10 Apple builds upon this feature by allowing the user to start a search in Spotlight or Safari, then continue the search when they open an app.

Чтобы реализовать эту функцию, измените приложения Info.plist добавьте CoreSpotlightContinuation ключа типа логическое и присвойте ему значение YES:To implement this feature, edit the app's Info.plist file, add the CoreSpotlightContinuation key of type Boolean and set its value to YES:

Реагировать на пользователя, продолжить результатов поиска (NSUserActivity), изменить AppDelegate.cs файл и переопределить ContinueUserActivity метод.To respond to the user continuing a search result (NSUserActivity), edit the AppDelegate.cs file and override the ContinueUserActivity method. Пример:For example:

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)).This code looks for the query continuation action type (userActivity.ActivityType == CSSearchQuery.ContinuationActionType), then reads the user's current query from the NSUserActivity class's user info dictionary (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)). На этой странице приложению необходимо предпринимать действия для продолжения поиска пользователя.From here, the app needs to take action to continue the user's search.

Дополнительные сведения о работе с поисковыми запросами в приложении Xamarin.iOS см. в разделе наших поиска с полезные сведения документации.For more information on working with searches in a Xamarin.iOS app, please see our Search with Core Spotlight documentation.

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

Apple средство проверки API поиска приложения теперь отображается визуальное представление разметки и связывание глубокого веб сайта (включая разметку, такие как определенные в Schema.org) при preforming тестов.Apple's App Search API Validation Tool now displays a visual representation of a website's markup and deep-linking (including markup such as defined at Schema.org) when preforming tests.

С помощью средства проверки, разработчик может видеть сведения, что программа-обходчик Applebot содержит индексированные для сайта, такие как название, описание, URL-адрес и любых других поддерживаемых элементов.By using the Validation Tool, a developer can see the information that the Applebot Web Crawler has indexed for the site such as title, description, URL and any other supported elements.

Дополнительные сведения о работе с веб-разметка, см. в разделе наших поиск с помощью веб-разметка документации.For more information on working with Web Markup, please see our Seach with Web Markup documentation.

Изображение приложения сообщение совместное использованиеMessage App Image Sharing

Если расширение приложения сообщение предоставляет образов для совместного использования в сообщениях, расширение можно настроить разрешение для выполнения поиска Spotlight для популярных образов из в сообщения, не нужно выйти из приложения.If a Message App Extension provides images for sharing in Messages, the extension can be configured to allow the user to perform Spotlight searches for popular images from within the Messages, without having to leave the app.

Чтобы включить эту функцию, выполните следующие действия.To enable this feature, do the following:

  1. Создайте расширение сообщения приложения.Create a Message App Extension.
  2. Добавление com.apple.developer.associated-domains для прав приложения и включают список веб-доменов, на которых размещены образы, общий доступ к расширение приложения для сообщения.Add the com.apple.developer.associated-domains to the app's entitlements and include a list of web domains that host the images the Message App Extension is sharing. Для каждого домена, укажите spotlight-image-search службы.For each domain, specify the spotlight-image-search service.
  3. Добавление apple-app-site-association файл на веб-сайт, на котором размещается изображения.Add a apple-app-site-association file to the website that is hosting the images. Этот файл содержит словарь для spotlight-image-search службы и включает в себя идентификатор приложения, — это префикс идентификатор команды или идентификатор приложения, следуют идентификатор пакета.This file includes a dictionary for the spotlight-image-search service and includes the app's ID, which is the Team ID or App ID prefix followed by the Bundle ID. Файл может содержать до 500 пути и шаблоны, которые будут включены в поиск популярных изображений и индексируются с помощью Spotlight.The file can contain up to 500 paths and patterns that will be indexed by Spotlight and included in popular image searches. Дополнительные сведения см. в разделе Apple создания и загрузки файла сопоставления документации.For more information, please see Apple's Creating and Uploading the Association File documentation.
  4. Разрешить Applebot для обхода веб-сайтов.Allow the Applebot to crawl the websites. См. в разделе Apple Applebot о документации.Please see Apple's About Applebot documentation.

См. в разделе наших интеграция приложения сообщений документации для получения дополнительных сведений.See our Message App Integration documentation for more details.

СводкаSummary

Статья описывает усовершенствования Apple сделала для поиска приложения в iOS 10 и способы их реализации в Xamarin.iOS.This article has covered the enhancements Apple has made to App Search in iOS 10 and how to implement them in Xamarin.iOS.