Teilen über


Verbesserungen bei der App-Suche in Xamarin.iOS

In diesem Artikel werden die Verbesserungen beschrieben, die Apple zur App-Suche in iOS 10 gemacht hat und wie sie in Xamarin.iOS implementiert werden.

In iOS 10 hat Apple mehrere Verbesserungen an der App-Suche vorgenommen, z. B. Crowdsourced Deep-Linking, In-App-Suche, Suchfortsetzung und Visualisierung von Validierungsergebnissen. In diesem Artikel wird die Implementierung dieser Features in einer Xamarin.iOS-App behandelt.

Informationen zu Verbesserungen bei der App-Suche

Core Spotlight in iOS 10 bietet verschiedene Verbesserungen für die App-Suche, z. B.:

  • Crowdsourced Deep-Link-Beliebtheit (mit differenziellem Datenschutz) – Bietet eine Möglichkeit, deep-linked App-Inhalte in Suchergebnissen zu fördern.
  • In-App-Suche – Verwenden Sie die neue CSSearchQuery Klasse, um die In-App-Spotlight-Suchfunktion bereitzustellen, ähnlich wie die Mail-, Nachrichten- und Notizen-Apps funktionieren.
  • Suchfortsetzung – Ermöglicht es einem Benutzer, eine Suche in Spotlight oder Safari zu starten, dann eine App zu öffnen und diese Suche fortzusetzen.
  • Visualisierung der Validierungsergebnisse – Das App-Such-API-Validierungstool von Apple zeigt nun eine visuelle Darstellung des Markups und deep-linkings einer Website an, wenn Vorformtests durchgeführt werden.
  • Nachrichten-App-Bildfreigabe – Ermöglicht das Freigeben beliebter In-App-Bilder, die für die Freigabe in Nachrichten (über eine Nachrichten-App-Erweiterung) bereitgestellt werden, in Spotlight-Suchvorgängen angezeigt werden.

In den folgenden Abschnitten werden diese Themen ausführlicher behandelt.

iOS 10 bietet einen Mechanismus zum Zählen der Häufigkeit, mit der häufig verwendete Deep-Links in eine App vom Benutzer gefolgt werden, und verwendet diese Informationen, um die Rangfolge der Inhalte einer App in Suchergebnissen zu verbessern und gleichzeitig die Identität des Benutzers mithilfe des differenziellen Datenschutzes zu schützen.

Bei Apps, die Objekte verwenden NSUserActivity , um Deep-Link-URLs bereitzustellen und die EligibleForPublicIndexing Eigenschaft auf "iOS 10" festgelegt zu truehaben, übermittelt iOS 10 eine Teilmenge von Differential Privacy Hashes an die Server von Apple. Diese Informationen werden dann verwendet, um beliebte In-App-Inhalte in Suchergebnissen zu bewerben.

Weitere Informationen zur Implementierung von Deep-Linking in einer Xamarin.iOS-App finden Sie in unserer Dokumentation zur Suche mit NSUserActivity .

In-App-Suche

Durch die Implementierung der neuen CSSearchQuery-Klasse kann eine App die Such- und Passende Regeltechnologie von Spotlight bereitstellen, um Inhalte innerhalb von sich selbst zu finden, ohne dass der Benutzer die App verlassen muss (ähnlich wie die Mail-, Nachrichten- und Notizen-App funktioniert).

Apps, die unterstützt CSSearchQuery werden, müssen in der Regel keinen eigenen, separaten Suchindex Standard.

Suchfortsetzung

In iOS 9 hat Apple die Such-APIs (z. B. Core Spotlight und Webmarkup) eingeführt, NSUserActivity um inhalte in einer App deep-liking bereitzustellen, damit Benutzer mithilfe der Spotlight- und Safari-Suchschnittstellen nach diesem Inhalt suchen können. Weitere Details finden Sie in unserer Dokumentation zu neuen Such-APIs .

In iOS 10 baut Apple auf diesem Feature auf, indem der Benutzer eine Suche in Spotlight oder Safari starten kann, und fahren Sie dann mit der Suche fort, wenn sie eine App öffnen.

Um dieses Feature zu implementieren, bearbeiten Sie die Datei der App Info.plist , fügen Sie den CoreSpotlightContinuation Schlüssel vom Typ Boolean hinzu, und legen Sie den Wert auf YES:

Um auf den Benutzer zu reagieren, der ein Suchergebnis fortsetzt (NSUserActivity), bearbeiten Sie die AppDelegate.cs Datei, und überschreiben Sie die ContinueUserActivity Methode. Zum Beispiel:

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

Dieser Code sucht nach dem Aktionstyp für die Fortsetzung der Abfrage (userActivity.ActivityType == CSSearchQuery.ContinuationActionType), und liest dann die aktuelle Abfrage des Benutzers aus dem NSUserActivity Benutzerinformationsverzeichnis (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)). Von hier aus muss die App Maßnahmen ergreifen, um die Suche des Benutzers fortzusetzen.

Weitere Informationen zum Arbeiten mit Suchvorgängen in einer Xamarin.iOS-App finden Sie in unserer Dokumentation "Suche mit Core Spotlight ".

Visualisierung der Validierungsergebnisse

Das App-Such-API-Validierungstool von Apple zeigt nun eine visuelle Darstellung des Markups und der Deep-Linking (einschließlich Markups wie bei Schema.org definiert) an, wenn Vorabtests durchgeführt werden.

Mithilfe des Überprüfungstools kann ein Entwickler die Informationen sehen, die der Applebot Web Crawler für die Website indiziert hat, z. B. Titel, Beschreibung, URL und alle anderen unterstützten Elemente.

Weitere Informationen zum Arbeiten mit Web Markup finden Sie in unserer Seach with Web Markup-Dokumentation .

Freigabe von Nachrichten-App-Bildern

Wenn eine Nachrichten-App-Erweiterung Bilder für die Freigabe in Nachrichten bereitstellt, kann die Erweiterung so konfiguriert werden, dass der Benutzer Spotlight-Suchen nach beliebten Bildern innerhalb der Nachrichten durchführt, ohne die App verlassen zu müssen.

Gehen Sie wie folgt vor, um diese Funktion zu aktivieren:

  1. Erstellen Sie eine Nachrichten-App-Erweiterung.
  2. Fügen Sie die com.apple.developer.associated-domains Berechtigungen der App hinzu, und fügen Sie eine Liste der Web-Do Standard s ein, die die Bilder hosten, die die Nachrichten-App-Erweiterung teilt. Geben Sie für jede Do Standard den spotlight-image-search Dienst an.
  3. Fügen Sie der Website, die die Bilder hosten, eine apple-app-site-association Datei hinzu. Diese Datei enthält ein Wörterbuch für den spotlight-image-search Dienst und enthält die ID der App, die team-ID oder das App-ID-Präfix gefolgt von der Bundle-ID. Die Datei kann bis zu 500 Pfade und Muster enthalten, die von Spotlight indiziert und in beliebte Bildsuchen einbezogen werden. Weitere Informationen finden Sie in der Dokumentation zum Erstellen und Hochladen der Zuordnungsdatei von Apple.
  4. Erlauben Sie dem Applebot, die Websites zu durchforsten. Weitere Informationen finden Sie in der Apple-Dokumentation zu Applebot .

Weitere Details finden Sie in der Dokumentation zur Nachrichten-App-Integration .

Zusammenfassung

In diesem Artikel wurden die Verbesserungen beschrieben, die Apple an der App-Suche in iOS 10 vorgenommen hat und wie sie in Xamarin.iOS implementiert werden.