Ulepszenia wyszukiwania aplikacji na platformie Xamarin.iOS

W tym artykule opisano ulepszenia wprowadzone przez firmę Apple w usłudze App Search w systemie iOS 10 oraz sposób ich implementowania w środowisku Xamarin.iOS.

W systemie iOS 10 firma Apple wprowadziła kilka ulepszeń funkcji wyszukiwania aplikacji, takich jak link do aplikacji Crowdsourced, wyszukiwanie w aplikacji, kontynuacja wyszukiwania i wizualizacja wyników weryfikacji. W tym artykule omówiono implementację tych funkcji w aplikacji platformy Xamarin.iOS.

Ulepszenia wyszukiwania aplikacji — informacje

Funkcja Core Spotlight w systemie iOS 10 oferuje kilka ulepszeń funkcji wyszukiwania aplikacji, takich jak:

  • Crowdsourced Deep-Link Popularity (z prywatnością różnicową) — zapewnia sposób promowania głęboko połączonej zawartości aplikacji w wynikach wyszukiwania.
  • Wyszukiwanie w aplikacji — użyj nowej CSSearchQuery klasy, aby zapewnić możliwość wyszukiwania w funkcji W centrum uwagi w aplikacji podobną do sposobu działania aplikacji Poczta, Wiadomości i Notatki.
  • Kontynuacja wyszukiwania — umożliwia użytkownikowi rozpoczęcie wyszukiwania w centrum uwagi lub przeglądarce Safari, a następnie otwarcie aplikacji i kontynuowanie tego wyszukiwania.
  • Wizualizacja wyników walidacji — narzędzie weryfikacji interfejsu API wyszukiwania aplikacji firmy Apple wyświetla teraz wizualną reprezentację znaczników i linków w witrynie internetowej podczas testów preformowania.
  • Udostępnianie obrazów aplikacji komunikatów — umożliwia wyświetlanie popularnych obrazów w aplikacji udostępnianych w wiadomościach (za pośrednictwem rozszerzenia aplikacji komunikatów) w wyszukiwaniach W centrum uwagi.

W poniższych sekcjach bardziej szczegółowo omówiono te tematy.

System iOS 10 udostępnia mechanizm zliczający częstotliwość, z jaką korzystają popularne linki głębokie do aplikacji, a następnie użytkownik korzysta z tych informacji, aby poprawić klasyfikację zawartości aplikacji w wynikach wyszukiwania, jednocześnie chroniąc tożsamość użytkownika przy użyciu prywatności różnicowej.

W przypadku aplikacji, które używają NSUserActivity obiektów do udostępniania adresów URL linku głębokiego i mają EligibleForPublicIndexing właściwość ustawioną na true, system iOS 10 przesyła podzbiór skrótów prywatności różnicowej do serwerów firmy Apple. Te informacje są następnie używane do promowania popularnej zawartości w aplikacji w wynikach wyszukiwania.

Aby uzyskać więcej informacji na temat implementowania linków głębokich w aplikacji platformy Xamarin.iOS, zobacz naszą dokumentację Search with NSUserActivity (Wyszukiwanie za pomocą funkcji NSUserActivity ).

Wyszukiwanie w aplikacji

Implementując nową klasę CSSearchQuery , aplikacja może zapewnić technologię reguł wyszukiwania i dopasowywania funkcji Spotlight, aby znaleźć zawartość wewnątrz siebie, bez konieczności opuszczania aplikacji przez użytkownika (podobnie jak działa aplikacja Poczta, Wiadomości i Notatki).

Zazwyczaj aplikacje, które obsługują CSSearchQuery , nie będą musiały obsługiwać własnego, oddzielnego indeksu wyszukiwania.

Kontynuacja wyszukiwania

W systemie iOS 9 firma Apple wprowadziła interfejsy API wyszukiwania (takie jak Core Spotlight NSUserActivity i znaczniki internetowe), aby zapewnić głębokie polubienie zawartości w aplikacji, aby umożliwić użytkownikom wyszukiwanie tej zawartości przy użyciu interfejsów wyszukiwania Spotlight i Safari. Aby uzyskać więcej informacji, zobacz dokumentację nowych interfejsów API wyszukiwania.

W systemie iOS 10 Apple opiera się na tej funkcji, umożliwiając użytkownikowi rozpoczęcie wyszukiwania w centrum uwagi lub Safari, a następnie kontynuuj wyszukiwanie po otwarciu aplikacji.

Aby zaimplementować tę funkcję, zmodyfikuj Info.plist plik aplikacji, dodaj CoreSpotlightContinuation klucz typu Wartość logiczna i ustaw jej wartość na :YES

Aby odpowiedzieć użytkownikowi kontynuując wynik wyszukiwania (NSUserActivity), zmodyfikuj AppDelegate.cs plik i przesłoń metodę ContinueUserActivity . Na przykład:

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

Ten kod wyszukuje typ akcji kontynuacji zapytania (userActivity.ActivityType == CSSearchQuery.ContinuationActionType), a następnie odczytuje bieżące zapytanie użytkownika ze słownika informacji o użytkowniku NSUserActivity klasy (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)). W tym miejscu aplikacja musi podjąć działania, aby kontynuować wyszukiwanie użytkownika.

Aby uzyskać więcej informacji na temat pracy z wyszukiwaniem w aplikacji platformy Xamarin.iOS, zapoznaj się z naszą dokumentacją Wyszukiwania w centrum uwagi Core.

Wizualizacja wyników walidacji

Narzędzie weryfikacji interfejsu API wyszukiwania aplikacji firmy Apple wyświetla teraz wizualną reprezentację znaczników witryny internetowej i głębokiego łączenia (w tym znaczników, takich jak zdefiniowane w Schema.org) podczas preformowania testów.

Za pomocą narzędzia do sprawdzania poprawności deweloper może zobaczyć informacje indeksowane przez przeszukiwarkę internetową firmy Applebot dla witryny, takie jak tytuł, opis, adres URL i inne obsługiwane elementy.

Aby uzyskać więcej informacji na temat pracy z adiustacjami internetowymi, zobacz dokumentację seach with Web Markup (Adiustacja internetowa).

Udostępnianie obrazów aplikacji komunikatów

Jeśli rozszerzenie aplikacji komunikatów udostępnia obrazy do udostępniania w wiadomościach, można skonfigurować rozszerzenie, aby umożliwić użytkownikowi wyszukiwanie w centrum uwagi dla popularnych obrazów z poziomu komunikatów bez konieczności opuszczania aplikacji.

Aby włączyć tę funkcję, wykonaj następujące czynności:

  1. Utwórz rozszerzenie aplikacji komunikatów.
  2. Dodaj element com.apple.developer.associated-domains do uprawnień aplikacji i dołącz listę domen internetowych hostujących obrazy udostępniane przez rozszerzenie aplikacji wiadomości. Dla każdej domeny określ usługę spotlight-image-search .
  3. apple-app-site-association Dodaj plik do witryny internetowej, która hostuje obrazy. Ten plik zawiera słownik usługi spotlight-image-search i zawiera identyfikator aplikacji, który jest identyfikatorem zespołu lub prefiksem identyfikatora aplikacji, a następnie identyfikatorem pakietu. Plik może zawierać maksymalnie 500 ścieżek i wzorców, które będą indeksowane przez usługę Spotlight i uwzględnione w popularnych wyszukiwaniach obrazów. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą tworzenia i przekazywania pliku skojarzenia firmy Apple.
  4. Zezwól applebotowi na przeszukiwanie witryn internetowych. Zapoznaj się z dokumentacją apple's About Applebot (Informacje o applebotach ).

Aby uzyskać więcej informacji, zobacz naszą dokumentację integracji aplikacji komunikatów.

Podsumowanie

W tym artykule omówiono ulepszenia wprowadzone przez firmę Apple w usłudze App Search w systemie iOS 10 oraz sposób ich implementowania w środowisku Xamarin.iOS.