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 explique comment les implémenter dans Xamarin.iOS.

Dans iOS 10, Apple a apporté plusieurs améliorations à la recherche d’applications, telles que la liaison approfondie, la recherche In-App, la continuation de la 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 apporte plusieurs améliorations à la recherche d’applications, notamment :

  • Crowdsourced Deep-Link Popularity (avec confidentialité différentielle) : permet de promouvoir le contenu d’application profondément lié dans les résultats de recherche.
  • Recherche dans l’application : utilisez la nouvelle CSSearchQuery classe pour fournir une fonctionnalité de recherche à la une dans l’application similaire au fonctionnement des 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 poursuivre cette recherche.
  • 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 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 messages (via une extension d’application de message) d’apparaître dans les recherches à la une.

Les sections suivantes couvrent ces sujets 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é a la EligibleForPublicIndexing valeur true, 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 de la liaison approfondie dans une application Xamarin.iOS, consultez notre documentation Rechercher avec NSUserActivity .

recherche In-App

En implémentant la nouvelle classe CSSearchQuery , une application peut fournir la technologie de recherche et de règle correspondante de Spotlight pour trouver du contenu à l’intérieur d’elle-même, sans que l’utilisateur ait à quitter l’application (de la même façon que l’application Courrier, Messages et Notes).

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

Continuation de la 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 dans 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 lancer 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 Info.plist l’application, ajoutez la CoreSpotlightContinuation clé de type Boolean et définissez sa valeur sur YES:

Pour répondre à l’utilisateur qui poursuit 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 Rechercher 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’analyseur web Applebot a indexées pour le site, telles que le titre, la description, l’URL et tout autre élément pris en charge.

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

Partage d’images d’application de message

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

Pour activer cette fonctionnalité, procédez comme suit :

  1. Créez une extension d’application de message.
  2. Ajoutez le com.apple.developer.associated-domains aux droits de l’application et incluez une liste de domaines web qui hébergent les images que l’extension d’application message 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 l’ID de l’application, qui est l’ID d’équipe ou le préfixe ID d’application suivi de l’ID de bundle. 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 d’Apple sur la création et le chargement du fichier d’association .
  4. Autorisez l’Applebot à analyser les sites web. Consultez la documentation à 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 apportées par Apple à la recherche d’applications dans iOS 10 et la façon de les implémenter dans Xamarin.iOS.