API di ricerca in Xamarin.iOS

Questo articolo illustra l'uso delle API di ricerca app fornite da iOS 9 per consentire agli utenti di cercare informazioni e funzionalità all'interno delle app Xamarin.iOS.

La ricerca è stata ampliata in iOS 9 per offrire nuovi modi per accedere alle informazioni e alle funzionalità all'interno di un'app Xamarin.iOS. Usando le nuove API di ricerca app, il contenuto dell'app è reso ricercabile tramite i risultati della ricerca Spotlight e Safari, Handoff e Siri Reminders e Suggestions. In questo modo gli utenti possono accedere rapidamente alle attività e alle informazioni all'interno dell'app.

Inoltre, le nuove API di ricerca semplificano l'integrazione della ricerca nell'app senza esperienza di implementazione della ricerca precedente. Per questo motivo, Apple sostiene che in genere sono necessarie alcune ore per rendere il contenuto di un'app iOS 9 universalmente ricercabile tramite Ricerca app.

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

Ricerca app è costituita da tre API separate:

  1. NSUserActivity : estensione dell'API Handoff rilasciata da Apple in iOS 8. Viene usato per rendere la cronologia di interazione dell'app ricercabile sia pubblicamente che privatamente) dall'utente.

  2. Core Spotlight : consente a un'app di indicizzarne il contenuto da presentare nei risultati della ricerca. Funziona come un'API di database in cui è possibile aggiungere e rimuovere elementi ed è il modo migliore per indicizzare il contenuto privato all'interno di un'app.

  3. WebMarkup : per le app che forniscono l'accesso al contenuto tramite un'interfaccia Web (non solo dall'interno dell'app). Il contenuto Web può essere contrassegnato con collegamenti speciali che verranno sottoposti a ricerca per indicizzazione da Apple e forniscono il collegamento diretto all'app nel dispositivo iOS 9 dell'utente.

Selezione di un approccio di ricerca di app

Decidere quale di questi metodi implementare dipende dai tipi di interazione forniti dalla tua app e dal tipo di contenuto che presenta.

Attenersi alle linee guida seguenti:

  • NSUserActivity : usare questo framework per fornire la ricerca sia per il contenuto pubblico che per quello privato e anche per la ricerca dei punti di spostamento all'interno dell'app.

  • Core Spotlight : usare questo framework per fornire la ricerca dei dati privati archiviati nel dispositivo.

  • Markup Web: usare questo framework per fornire la ricerca per le app che presentano il contenuto non solo dall'interno dell'app, ma anche dal sito Web dell'app.

Ognuno degli approcci di Ricerca app è distinto e può essere usato singolarmente, ma Apple li ha progettati per collaborare. Quando si usano più approcci per indicizzare un elemento specifico, assicurarsi di usare lo stesso ID elemento per ogni approccio, in modo che i singoli collegamenti funzionino insieme.

L'uso di più approcci non solo garantisce che il contenuto venga trovato dall'utente finale, ma consente anche di migliorare la classificazione dell'elemento dall'interno della ricerca.

Mentre il processo di classificazione in gran parte trasparente per lo sviluppatore, l'interazione dell'utente con un determinato elemento pesa pesantemente su questa classificazione (ad esempio l'utente che tocca un collegamento). Fornendo elementi avanzati e informativi, è possibile assicurarsi che un utente possa interagire con il contenuto, aumentando così la classificazione.

Contenuto da indicizzare

Apple fornisce i suggerimenti seguenti su quali contenuti e azioni fornire indici di ricerca nell'app:

  • Qualsiasi contenuto visualizzato, creato o curato dall'utente dall'interno dell'app.
  • Punti di spostamento e funzionalità all'interno dell'app.
  • Elementi come nuovi messaggi, contenuti o altri tipi di elementi visualizzati dall'app che sono stati scaricati di recente nel dispositivo.

Miglioramenti per la ricerca nelle app

Core Spotlight in iOS 10 offre diversi miglioramenti alla ricerca di app, ad esempio:

  • Crowdsourced Deep Link Popularity (con privacy differenziale): offre un modo per promuovere il contenuto dell'app deep linked nei risultati della ricerca.
  • Ricerca in-app: usare la nuova CSSearchQuery classe per offrire funzionalità di ricerca in evidenza in-app simili al funzionamento delle app Posta elettronica, Messaggi e Note.
  • Continuazione ricerca: consente a un utente di avviare una ricerca in Spotlight o Safari, quindi aprire un'app e continuare la ricerca.
  • Visualizzazione dei risultati della convalida: lo strumento di convalida dell'API Ricerca app di Apple ora visualizza una rappresentazione visiva del markup e del deep linking di un sito Web durante la preparazione dei test.
  • Condivisione immagini dell'app messaggi: consente la visualizzazione delle immagini in-app più diffuse per la condivisione nei messaggi (tramite un'estensione dell'app messaggio) nelle ricerche in evidenza.

Per altre informazioni, vedi la guida Ai miglioramenti della ricerca delle app.

Suggerimenti proattivi

iOS 10 presenta nuovi modi per favorire l'engagement verso un'app consentendo al sistema di presentare in modo proattivo informazioni utili automaticamente all'utente in momenti appropriati. Proprio come iOS 9 ha fornito la possibilità di aggiungere una ricerca approfondita all'app usando Spotlight, Handoff e Siri Suggestions, con iOS 10 un'app può esporre funzionalità che possono essere presentate all'utente dal sistema all'interno delle posizioni seguenti:

  • Cambio app
  • Schermata di blocco
  • CarPlay
  • Mappe
  • Interazioni di Siri
  • Suggerimenti per QuickType

Un'app espone questa funzionalità al sistema usando una raccolta di tecnologie come NSUserActivity, markup Web, Core Spotlight, MapKit, Lettore multimediale e UIKit.

Per altre informazioni, vedere la guida ai suggerimenti proattivi .

Riepilogo

Questo articolo ha illustrato le nuove funzionalità dell'API di ricerca fornite da iOS 9 per le app Xamarin.iOS. Sono stati trattati i metodi NSUserActivity, Core Spotlight e Web Markup per l'indicizzazione del contenuto. È stata completata una breve discussione su quando deve essere usato un approccio di ricerca specifico e quali tipi di contenuto devono essere indicizzati.