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.
Popularność linku głębokiego w usłudze Crowdsourced
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:
- Utwórz rozszerzenie aplikacji komunikatów.
- 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
. apple-app-site-association
Dodaj plik do witryny internetowej, która hostuje obrazy. Ten plik zawiera słownik usługispotlight-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.- 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.