Xamarin.iOS で API を検索する

この記事では、ユーザーが Xamarin.iOS アプリ内の情報と機能を検索できるように、iOS 9 で提供されるアプリ検索 API の使用について説明します。

iOS 9 では検索が拡張され、Xamarin.iOS アプリ内の情報や機能にアクセスできる優れた新しい方法が提供されました。 新しい App Search API を使うと、Spotlight と Safari の検索結果、Handoff、Siri のリマインダーと提案を使ってアプリ コンテンツを検索できるようになります。 これにより、ユーザーはアプリ内の奥深くにあるアクティビティや情報にすばやくアクセスできます。

さらに、新しい検索 API を使うと、検索の実装経験がなくても、アプリに検索を簡単に統合できます。 このため、Apple は、通常は数時間で iOS 9 アプリのコンテンツが App Search を使って汎用的に検索できるようになると主張しています。

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

アプリ検索は、次の 3 つの個別の API で構成されます。

  1. NSUserActivity - これは、Apple が iOS 8 でリリースした Handoff API の拡張機能です。 これは、ユーザーがアプリの操作履歴をパブリックとプライベートの両方で検索できるようにするために使用されます。

  2. コア スポットライト - アプリがコンテンツのインデックスを作成して検索結果に表示できるようにします。 これは、項目を追加および削除できるデータベース API と同様に機能し、アプリ内のプライベート コンテンツのインデックスを作成する最適な方法です。

  3. WebMarkup - (アプリ内からだけでなく) Web インターフェイスを介してコンテンツへのアクセスを提供するアプリの場合。 Web コンテンツは、Apple によってクロールされ、ユーザーの iOS 9 デバイス上のアプリへのディープ リンクを提供する特別なリンクでマークできます。

アプリ検索アプローチの選択

実装するこれらの方法の決定は、アプリによって提供される対話の種類と、アプリが提示するコンテンツの種類によって異なります。

次のガイドラインに従ってください。

  • NSUserActivity – このフレームワークを使用して、パブリック コンテンツとプライベート コンテンツの両方の検索可能性と、アプリ内のナビゲーション ポイントの検索可能性を提供します。

  • コア スポットライト – このフレームワークを使用して、デバイスに格納されているプライベート データの検索可能性を提供します。

  • Web マークアップ – このフレームワークを使用して、アプリ内だけでなく、アプリの Web サイトからもコンテンツを表示するアプリの検索可能性を提供します。

アプリ検索のアプローチはそれぞれ異なり、個別に使用できますが、Apple は連携するように設計されています。 複数の方法を使用して特定の項目のインデックスを作成する場合は、各アプローチで同じ 項目 ID を 使用し、個々のリンクが連携するようにします。

複数のアプローチを使用すると、エンド ユーザーによってコンテンツが確実に見つかるだけでなく、検索内からアイテムのランク付けを向上させることができます。

ランク付けプロセスは開発者にとってほとんど透過的ですが、特定のアイテムに対するユーザー操作は、このランク (リンクをタップするユーザーなど) に大きく重み付けされます。 豊富で有益なアイテムを提供することで、ユーザーがコンテンツを操作するように魅力的になり、ランキングを上げることができます。

インデックスを作成するコンテンツ

Apple では、アプリで検索インデックスを提供するコンテンツとアクションに関する次の提案が提供されます。

  • アプリ内からユーザーによって表示、作成、またはキュレーションされたすべてのコンテンツ。
  • アプリ内のナビゲーション ポイントと機能。
  • 最近デバイスにダウンロードされたアプリによって表示される新しいメッセージ、コンテンツ、その他の種類のアイテムなど。

アプリ検索の機能強化

iOS 10 のコア スポットライトでは、次のようないくつかの機能強化がアプリ検索に提供されます。

  • クラウドソースディープリンク人気(差分プライバシー) - 検索結果でディープリンクアプリコンテンツを宣伝する方法を提供します。
  • アプリ内検索 - 新しい CSSearchQuery クラスを使用して、メール、メッセージ、ノート アプリの動作に似たアプリ内スポットライト検索機能を提供します。
  • 検索継続 - ユーザーが Spotlight または Safari で検索を開始し、アプリを開き、その検索を続行できるようにします。
  • 検証結果 の視覚化 - Apple の App Search API 検証ツール で、Web サイトのマークアップの視覚的な表現と、テストの実行時のディープ リンクが表示されるようになりました。
  • メッセージ アプリの画像共有 - メッセージ内で共有するために提供される一般的なアプリ内イメージを (メッセージ アプリ拡張機能を介して) スポットライト検索に表示できるようにします。

詳細については、アプリ検索の拡張機能ガイドを参照してください。

プロアクティブな候補

iOS 10 は、システムが適切な時間にユーザーに役立つ情報を事前に自動的に提示できるようにすることで、アプリへのエンゲージメントを促進する新しい方法を提供します。 iOS 9 が Spotlight、Handoff、Siri Suggestions を使用してアプリにディープ検索を追加する機能を提供したのと同様に、iOS 10 では、アプリは次の場所からシステムによってユーザーに表示できる機能を公開できます。

  • アプリ スイッチャー
  • ロック画面
  • CarPlay
  • マップ
  • Siri の操作
  • QuickType Suggestions

アプリは、NSUserActivity、Web マークアップ、Core Spotlight、MapKit、メディア プレーヤー、UIKit などのテクノロジのコレクションを使用して、この機能をシステムに公開します。

詳細については、プロアクティブな提案ガイドを参照してください。

まとめ

この記事では、Xamarin.iOS アプリ用に iOS 9 で提供される新しい Search API 機能について説明しました。 コンテンツのインデックス作成のための NSUserActivity、Core SpotlightWeb Markup メソッドについて説明しました。 最後に、特定の検索アプローチを使用するタイミングと、インデックスを作成する必要があるコンテンツの種類について簡単に説明しました。