Verbesserungen bei der App-Suche in Xamarin.iOS

In diesem Artikel werden die Verbesserungen beschrieben, die Apple an der App-Suche in iOS 10 vorgenommen 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 Search, Search Continuation und Visualization of Validation Results. In diesem Artikel wird die Implementierung dieser Features in einer Xamarin.iOS-App behandelt.

Informationen zu Verbesserungen der App-Suche

Core Spotlight in iOS 10 bietet mehrere Verbesserungen an der App-Suche, z. B.:

  • Crowdsourced Deep-Link Popular (mit differenziellem Datenschutz): Bietet eine Möglichkeit, deep-linked App-Inhalte in Suchergebnissen zu bewerben.
  • In-App-Suche : Verwenden Sie die neue CSSearchQuery Klasse, um eine In-App-Spotlight-Suchfunktion bereitzustellen, die der Funktionsweise der E-Mail-, Nachrichten- und Notizen-Apps ähnelt.
  • Suchfortsetzung : Ermöglicht es einem Benutzer, eine Suche in Spotlight oder Safari zu starten, dann eine App zu öffnen und die Suche fortzusetzen.
  • Visualisierung von Validierungsergebnissen : Das App Search API Validation Tool von Apple zeigt jetzt eine visuelle Darstellung des Markups und der Deep-Linking einer Website beim Vorforming von Tests an.
  • Nachrichten-App-Bildfreigabe : Ermöglicht die Anzeige gängiger In-App-Bilder, die für die Freigabe in Nachrichten (über eine Nachrichten-App-Erweiterung) bereitgestellt werden.

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

iOS 10 bietet einen Mechanismus zum Zählen der Häufigkeit, mit der beliebte Deep-Links in eine App vom Benutzer verfolgt werden, und verwendet diese Informationen, um die Rangfolge der Inhalte einer App in Suchergebnissen zu verbessern, während gleichzeitig die Identität des Benutzers mithilfe von differenziellem Datenschutz geschützt wird.

Für Apps, die Objekte verwenden NSUserActivity , um Deep-Link-URLs bereitzustellen und die EligibleForPublicIndexing -Eigenschaft auf truefestgelegt ist, übermittelt iOS 10 eine Teilmenge der differenziellen Datenschutzhashes an die Apple-Server. Diese Informationen werden dann verwendet, um beliebte In-App-Inhalte in Suchergebnissen zu bewerben.

Weitere Informationen zum Implementieren von DeepLinks in einer Xamarin.iOS-App finden Sie in der Dokumentation Zur Suche mit NSUserActivity .

In-App Suchen

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

In der Regel müssen Apps, die diese Unterstützung unterstützen CSSearchQuery , keinen eigenen, separaten Suchindex verwalten.

Suchfortsetzung

In iOS 9 hat Apple die Such-APIs (z. B. Core Spotlight und Webmarkup) eingeführt, NSUserActivity um inhalte in einer App mit tiefen Vorlieben zu versehen, damit Benutzer über die Spotlight- und Safari-Suchschnittstelle nach diesen Inhalten suchen können. Weitere Informationen finden Sie in der Dokumentation zu neuen Such-APIs .

In iOS 10 baut Apple auf dieser Funktion auf, indem es dem Benutzer ermöglicht, eine Suche in Spotlight oder Safari zu starten und dann die Suche fortzusetzen, wenn er eine App öffnet.

Bearbeiten Sie zum Implementieren dieses Features die Datei der App Info.plist , fügen Sie den CoreSpotlightContinuation Schlüssel vom Typ Boolean hinzu, und legen Sie den Wert auf YESfest:

Um darauf zu reagieren, dass der Benutzer ein Suchergebnis (NSUserActivity) fortsetzt, bearbeiten Sie die AppDelegate.cs Datei, und überschreiben Sie die ContinueUserActivity -Methode. 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 "Abfragefortsetzung" (userActivity.ActivityType == CSSearchQuery.ContinuationActionType) und liest dann die aktuelle Abfrage des Benutzers aus dem NSUserActivity Benutzerinformationswörterbuch der Klasse (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 der Dokumentation Suchen mit Core Spotlight .

Visualisierung von Validierungsergebnissen

Das App Search API Validation Tool von Apple zeigt jetzt eine visuelle Darstellung des Markups und der Deep-Linking einer Website (einschließlich Markups wie bei Schema.org definiert) beim Preforming von Tests an.

Mithilfe des Validierungstools kann ein Entwickler die Informationen anzeigen, die der Applebot-Webcrawler 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 Dokumentation zu Seach mit Web Markup .

Nachrichten-App-Bildfreigabe

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

Gehen Sie wie folgt vor, um dieses Feature zu aktivieren:

  1. Erstellen Sie eine Nachrichten-App-Erweiterung.
  2. Fügen Sie den com.apple.developer.associated-domains Berechtigungen der App hinzu, und fügen Sie eine Liste der Webdomänen hinzu, die die Bilder hosten, die von der Nachrichten-App-Erweiterung freigegeben werden. Geben Sie für jede Domäne den Dienst an spotlight-image-search .
  3. Fügen Sie der Website, auf der die Bilder gehostet werden, 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 die Team-ID oder das App-ID-Präfix gefolgt von der Paket-ID ist. 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 Dokumentation zu Apples Informationen zu Applebot .

Weitere Informationen 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.