在 Xamarin.iOS 中搜索 API

本文介绍如何使用 iOS 9 提供的应用搜索 API 来允许用户搜索 Xamarin.iOS 应用中的信息和功能。

搜索功能在 iOS 9 中得到了扩展,为访问 Xamarin.iOS 应用中的信息和功能提供了全新方式。 使用新的应用搜索 API,可通过聚焦和 Safari 搜索结果、接力和 Siri 提醒和建议来搜索应用内容。 用户可以借此快速访问应用中的活动和信息。

此外,使用新的搜索 API 可更轻松地将搜索集成到应用中,而无需具备搜索实施经验。 因此,Apple 声称通常需要几个小时才能实现使用 App Search 进行 iOS 9 应用内容的普遍搜索。

An example of iOS 9 app content universally searchable using App Search

应用搜索由三个单独的 API 组成:

  1. NSUserActivity - 这是 Apple 在 iOS 8 中发布的 Handoff API 的扩展。 它用于使用户可公开和私密地搜索应用交互历史记录。

  2. 核心聚焦 - 允许应用在搜索结果中为其内容编制索引。 它的工作方式类似于数据库 API,可在其中添加和删除项,并且它是在应用中为专用内容编制索引的最佳方式。

  3. WebMarkup - 对于通过 Web 界面提供对其内容的访问权限的应用(不仅来自应用内部)。 可以使用 Apple 将爬网的特殊链接来标记 Web 内容,并在用户的 iOS 9 设备上提供应用的深层链接。

选择应用搜索方法

确定要实现的这些方法中的哪一种取决于应用提供的交互类型及其呈现的内容类型。

遵循以下指南:

  • NSUserActivity – 使用此框架提供公共和专用内容的可搜索性,以及应用中导航点的可搜索性。

  • 核心聚焦 - 使用此框架为设备上存储的专用数据提供可搜索性。

  • Web 标记 - 使用此框架为不仅在应用中显示其内容的应用提供可搜索性,还可以从应用的网站提供搜索性。

每个应用搜索方法都是不同的,可以单独使用,但 Apple 设计为协同工作。 使用多个方法为特定项编制索引时,请确保在每个方法上使用相同的 项 ID ,以便各个链接协同工作。

使用多种方法不仅可确保最终用户能够找到内容,而且还有助于改进项目在搜索中的排名。

虽然排名过程主要对开发人员透明,但用户与给定项目的交互会严重地权衡此排名(例如,用户点击链接)。 通过提供丰富的信息性项目,可以确保用户能够与内容交互,从而提升其排名。

要编制索引的内容

Apple 提供有关在应用中提供搜索索引的内容和操作的以下建议:

  • 用户在应用中查看、创建或策划的任何内容。
  • 应用中的导航点和功能。
  • 新消息、内容或应用最近下载到设备的其他类型的项目等内容。

应用搜索增强功能

iOS 10 中的核心聚焦为应用搜索提供了多项增强功能,例如:

  • 众包深度链接普及(具有差异隐私) - 提供了一种方法来促进搜索结果中的深层链接应用内容。
  • 应用内搜索 - 使用新 CSSearchQuery 类提供应用内聚焦搜索功能,与邮件、邮件和备注应用的工作方式类似。
  • 搜索延续 - 允许用户在聚焦或 Safari 中启动搜索,然后打开应用并继续搜索。
  • 验证结果 的可视化 - Apple 的应用搜索 API 验证工具 现在在预生成测试时显示网站的标记和深层链接的可视表示形式。
  • 消息应用图像共享 - 允许在消息中共享(通过消息应用扩展)提供的常用应用内图像显示在聚焦搜索中。

若要了解详细信息,请参阅我们的 应用搜索增强功能 指南。

主动建议

iOS 10 通过允许系统在适当时间自动向用户自动呈现有用的信息,从而向应用提供新的参与方式。 正如 iOS 9 提供了使用 Spotlight、Handoff 和 Siri Suggestions 向应用添加深度搜索的功能一样,应用可以使用 iOS 10 公开系统从以下位置向用户呈现的功能:

  • 应用切换器
  • 锁屏界面
  • CarPlay
  • Maps
  • Siri 交互
  • QuickType 建议

应用使用 NSUserActivity、Web 标记、Core Spotlight、MapKit、媒体播放器 和 UIKit 等技术集合向系统公开此功能。

若要了解详细信息,请参阅我们的 主动建议 指南。

总结

本文介绍了 iOS 9 为 Xamarin.iOS 应用提供的新搜索 API 功能。 其中介绍了 用于索引内容的 NSUserActivityCore SpotlightWeb 标记 方法。 它完成了关于何时应使用给定搜索方法以及应为内容类型编制索引的简短讨论。