Miglioramenti della ricerca di app in Xamarin.iOS
Questo articolo illustra i miglioramenti apportati da Apple alla ricerca di app in iOS 10 e come implementarli in Xamarin.iOS.
In iOS 10 Apple ha apportato diversi miglioramenti alla ricerca di app, ad esempio Crowdsourced Deep Linking, Ricerca in-app, Continuazione della ricerca e Visualizzazione dei risultati della convalida. Questo articolo illustra l'implementazione di queste funzionalità in un'app Xamarin.iOS.
Informazioni sui miglioramenti della ricerca di 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.
Le sezioni seguenti illustrano questi argomenti in modo più dettagliato.
Popolarità di Crowdsourced Deep Link
iOS 10 fornisce un meccanismo per contare la frequenza con cui i collegamenti diretti più diffusi in un'app sono seguiti dall'utente e usa queste informazioni per migliorare la classificazione del contenuto di un'app nei risultati della ricerca, proteggendo comunque l'identità dell'utente usando la privacy differenziale.
Per gli oggetti che usano NSUserActivity
oggetti per fornire URL di collegamento diretto e la EligibleForPublicIndexing
proprietà è impostata su true
, iOS 10 invia un subset di hash di privacy differenziale ai server Apple. Queste informazioni vengono quindi usate per promuovere il contenuto in-app più diffuso nei risultati della ricerca.
Per altre informazioni sull'implementazione del deep linking in un'app Xamarin.iOS, vedere la documentazione cerca con NSUserActivity .
Ricerca in-app
Implementando la nuova classe CSSearchQuery, un'app può fornire la tecnologia della regola di ricerca e corrispondenza di Spotlight per trovare il contenuto all'interno di se stesso, senza che l'utente abbia la necessità di uscire dall'app (analogamente al funzionamento dell'app Posta, Messaggi e Note).
In genere, le app che supportano CSSearchQuery
non dovranno mantenere il proprio indice di ricerca separato.
Continuazione della ricerca
In iOS 9, Apple ha introdotto le API di ricerca (ad esempio Core Spotlight NSUserActivity
e markup Web) per offrire una profonda gradizione del contenuto all'interno di un'app per consentire agli utenti di cercare tale contenuto usando le interfacce di ricerca Spotlight e Safari. Per altri dettagli, vedere la documentazione sulle nuove API di ricerca.
In iOS 10 Apple si basa su questa funzionalità consentendo all'utente di avviare una ricerca in Spotlight o Safari, quindi continuare la ricerca quando apre un'app.
Per implementare questa funzionalità, modificare il file dell'appInfo.plist
, aggiungere la chiave di tipo Boolean e impostarne il CoreSpotlightContinuation
valore su YES
:
Per rispondere all'utente continuando un risultato di ricerca (NSUserActivity
), modificare il file ed eseguire l'override AppDelegate.cs
del ContinueUserActivity
metodo . Ad esempio:
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;
}
Questo codice cerca il tipo di azione di continuazione della query (userActivity.ActivityType == CSSearchQuery.ContinuationActionType
), quindi legge la query corrente dell'utente dal NSUserActivity
dizionario informazioni utente della classe (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)
). Da qui, l'app deve intervenire per continuare la ricerca dell'utente.
Per altre informazioni sull'uso delle ricerche in un'app Xamarin.iOS, vedere la documentazione ricerca con Core Spotlight .
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 (incluso il markup definito in Schema.org) durante la preparazione dei test.
Usando lo strumento di convalida, uno sviluppatore può visualizzare le informazioni indicizzate da Applebot Web Crawler per il sito, ad esempio titolo, descrizione, URL e qualsiasi altro elemento supportato.
Per altre informazioni sull'uso del markup Web, vedere la documentazione Relativa al markup Web .
Condivisione immagini dell'app messaggio
Se un'estensione dell'app messaggio fornisce immagini per la condivisione nei messaggi, l'estensione può essere configurata per consentire all'utente di eseguire ricerche spotlight per le immagini più diffuse dall'interno di Messaggi, senza dover uscire dall'app.
Per abilitare questa funzionalità, eseguire le operazioni seguenti:
- Creare un'estensione dell'app messaggio.
- Aggiungere l'oggetto
com.apple.developer.associated-domains
ai diritti dell'app e includere un elenco di domini Web che ospitano le immagini che l'estensione dell'app messaggio condivide. Per ogni dominio, specificare ilspotlight-image-search
servizio. - Aggiungere un
apple-app-site-association
file al sito Web che ospita le immagini. Questo file include un dizionario per ilspotlight-image-search
servizio e include l'ID dell'app, ovvero il prefisso ID team o ID app seguito dall'ID bundle. Il file può contenere fino a 500 percorsi e modelli che verranno indicizzati da Spotlight e inclusi nelle ricerche di immagini più diffuse. Per altre informazioni, vedere la documentazione relativa alla creazione e al caricamento del file di associazione di Apple. - Consentire ad Applebot di eseguire la ricerca per indicizzazione dei siti Web. Vedere la documentazione di Apple About Applebot( Informazioni su Applebot ).
Per altri dettagli, vedere la documentazione sull'integrazione di Message App.
Riepilogo
Questo articolo ha illustrato i miglioramenti apportati da Apple alla ricerca di app in iOS 10 e come implementarli in Xamarin.iOS.