Partager via


Améliorations apportées à la recherche d’applications dans Xamarin.iOS

Cet article décrit les améliorations apportées par Apple à La recherche d’applications dans iOS 10 et comment les implémenter dans Xamarin.iOS.

Dans iOS 10, Apple a apporté plusieurs améliorations à la recherche d’applications, telles que la recherche approfondie crowdsourced, la recherche dans l’application, la continuation de recherche et la visualisation des résultats de validation. Cet article traite de l’implémentation de ces fonctionnalités dans une application Xamarin.iOS.

À propos des améliorations apportées à la recherche d’applications

Core Spotlight dans iOS 10 fournit plusieurs améliorations apportées à La recherche d’applications, telles que :

  • Popularité deep-link crowdsourced (avec confidentialité différentielle) : permet de promouvoir le contenu d’application lié en profondeur dans les résultats de recherche.
  • Recherche dans l’application : utilisez la nouvelle CSSearchQuery classe pour fournir une fonctionnalité de recherche dans l’application à la une similaire à la façon dont fonctionnent les applications Courrier, Messages et Notes.
  • Continuation de la recherche : permet à un utilisateur de démarrer une recherche dans Spotlight ou Safari, puis d’ouvrir une application et de continuer cette recherche.
  • Visualisation des résultats de la validation : l’outil de validation de l’API Recherche d’applications d’Apple affiche désormais une représentation visuelle du balisage et de la liaison approfondie d’un site web lors de la préformation des tests.
  • Partage d’images d’application de message : permet aux images populaires dans l’application fournies pour le partage dans les messages (via une extension d’application de message) d’apparaître dans les recherches Spotlight.

Les sections suivantes couvrent ces rubriques plus en détail.

iOS 10 fournit un mécanisme permettant de compter la fréquence à laquelle les liens profonds populaires dans une application sont suivis par l’utilisateur et utilise ces informations pour améliorer le classement du contenu d’une application dans les résultats de recherche, tout en protégeant l’identité de l’utilisateur à l’aide de la confidentialité différentielle.

Pour les applications qui utilisent NSUserActivity des objets pour fournir des URL de lien profond et dont la propriété est EligibleForPublicIndexing définie truesur , iOS 10 envoie un sous-ensemble de hachages de confidentialité différentielles aux serveurs d’Apple. Ces informations sont ensuite utilisées pour promouvoir le contenu populaire dans l’application dans les résultats de recherche.

Pour plus d’informations sur l’implémentation d’une liaison approfondie dans une application Xamarin.iOS, consultez notre documentation Search with NSUserActivity .

Recherche dans l’application

En implémentant la nouvelle classe CSSearchQuery , une application peut fournir la technologie de règle de recherche et de correspondance de Spotlight pour trouver du contenu à l’intérieur de lui-même, sans que l’utilisateur n’ait à quitter l’application (comme le travail de l’application Courrier, Messages et Notes).

En règle générale, les applications qui prennent en charge CSSearchQuery n’auront pas besoin de conserver leur propre index de recherche distinct.

Continuation de recherche

Dans iOS 9, Apple a introduit les API de recherche (telles que Core Spotlight NSUserActivity et le balisage web) pour fournir un goût profond du contenu au sein d’une application afin de permettre aux utilisateurs de rechercher ce contenu à l’aide des interfaces de recherche Spotlight et Safari. Pour plus d’informations, consultez notre documentation sur les NOUVELLES API de recherche.

Dans iOS 10 Apple s’appuie sur cette fonctionnalité en permettant à l’utilisateur de démarrer une recherche dans Spotlight ou Safari, puis de poursuivre la recherche lorsqu’il ouvre une application.

Pour implémenter cette fonctionnalité, modifiez le fichier de l’application Info.plist , ajoutez la CoreSpotlightContinuation clé de type Boolean et définissez sa valeur sur YES:

Pour répondre à l’utilisateur en continuant un résultat de recherche (NSUserActivity), modifiez le AppDelegate.cs fichier et remplacez la ContinueUserActivity méthode. Par exemple :

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;
}

Ce code recherche le type d’action de continuation de requête (userActivity.ActivityType == CSSearchQuery.ContinuationActionType), puis lit la requête actuelle de l’utilisateur à partir du dictionnaire d’informations utilisateur de la NSUserActivity classe (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)). À partir de là, l’application doit prendre des mesures pour poursuivre la recherche de l’utilisateur.

Pour plus d’informations sur l’utilisation des recherches dans une application Xamarin.iOS, consultez notre documentation Recherche avec Core Spotlight .

Visualisation des résultats de validation

L’outil de validation de l’API Recherche d’applications d’Apple affiche désormais une représentation visuelle du balisage et de la liaison approfondie d’un site web (y compris le balisage tel que défini à Schema.org) lors de la préformation des tests.

À l’aide de l’outil de validation, un développeur peut voir les informations que l’outil Applebot Web Crawler a indexées pour le site, comme le titre, la description, l’URL et tous les autres éléments pris en charge.

Pour plus d’informations sur l’utilisation de Web Markup, consultez notre documentation Seach avec Web Markup .

Partage d’images d’application de message

Si une extension d’application de message fournit des images pour le partage dans messages, l’extension peut être configurée pour permettre à l’utilisateur d’effectuer des recherches à la une des images populaires à partir des messages, sans avoir à quitter l’application.

Pour l’activer, veuillez procéder comme suit :

  1. Créez une extension d’application de message.
  2. Ajoutez les com.apple.developer.associated-domains droits de l’application et incluez une liste de domaines web qui hébergent les images que l’extension Message App partage. Pour chaque domaine, spécifiez le spotlight-image-search service.
  3. Ajoutez un apple-app-site-association fichier au site web qui héberge les images. Ce fichier inclut un dictionnaire pour le spotlight-image-search service et inclut l’ID de l’application, qui est l’ID d’équipe ou le préfixe ID d’application suivi de l’ID d’offre groupée. Le fichier peut contenir jusqu’à 500 chemins et modèles qui seront indexés par Spotlight et inclus dans les recherches d’images populaires. Pour plus d’informations, consultez la documentation Création et chargement du fichier d’association d’Apple.
  4. Autorisez l’Applebot à analyser les sites web. Consultez la documentation applebot à propos d’Applebot.

Pour plus d’informations, consultez notre documentation d’intégration d’application de messages.

Résumé

Cet article a abordé les améliorations qu’Apple a apportées à La recherche d’applications dans iOS 10 et comment les implémenter dans Xamarin.iOS.