Zintegruj funkcje wyszukiwania na Androidzie ze swoją aplikacją

Wyszukiwarka jest podstawową funkcją użytkowników Androida. Użytkownicy muszą mieć możliwość wyszukiwania dowolnych danych, które są dla nich dostępne, niezależnie od tego, czy znajdują się one na urządzeniu, czy w internecie. Aby zapewnić użytkownikom jednolite środowisko wyszukiwania, Android zapewnia platformę wyszukiwania, która pomaga wdrożyć wyszukiwanie dotyczące aplikacji.

Rysunek 1. Okno wyszukiwania z niestandardowymi sugestiami wyszukiwania.

Platforma wyszukiwania udostępnia 2 tryby wyszukiwania: okno wyszukiwania u góry ekranu lub widżet wyszukiwania (SearchView), który można umieścić w układzie aktywności. W obu przypadkach system Android pomaga w implementacji wyszukiwania, dostarczając wyszukiwane hasła do określonych działań, które przeprowadzają wyszukiwanie. Możesz też włączyć widżet lub okno wyszukiwania, aby wyświetlać sugestie wyszukiwania podczas wpisywania zapytania przez użytkownika. Rysunek 1 przedstawia przykład okna wyszukiwania z opcjonalnymi sugestiami wyszukiwania.

Po skonfigurowaniu okna wyszukiwania lub widżetu wyszukiwania możesz wykonywać te czynności:

  • Włącz wyszukiwanie głosowe.
  • Podaj sugestie wyszukiwania na podstawie ostatnich zapytań użytkowników.
  • Podaj niestandardowe sugestie wyszukiwania, które odpowiadają rzeczywistym wynikom wyszukiwania w danych aplikacji.
  • Zaoferuj sugestie wyszukiwania dla swojej aplikacji w całym systemie Okno szybkiego wyszukiwania.

Uwaga: platforma wyszukiwania nie zapewnia interfejsów API do przeszukiwania danych. Aby wyszukiwać, musisz użyć interfejsów API odpowiednich dla Twoich danych. Jeśli na przykład Twoje dane są przechowywane w bazie danych SQLite, do wyszukiwania użyj interfejsów API android.database.sqlite.

Nie ma też gwarancji, że urządzenie udostępnia dedykowany przycisk WYSZUKIWANIE, który wywołuje interfejs wyszukiwania w aplikacji. Jeśli używasz okna wyszukiwania lub niestandardowego interfejsu, musisz umieścić w interfejsie przycisk wyszukiwania, który aktywuje ten interfejs. Więcej informacji znajdziesz w artykule Wywoływanie okna wyszukiwania.

Na tych stronach znajdziesz informacje o tym, jak zaimplementować wyszukiwanie za pomocą platformy Androida:

Tworzenie interfejsu wyszukiwania
Jak skonfigurować aplikację, aby używała okna wyszukiwania lub widżetu wyszukiwania.
Dodaj ostatnie sugestie zapytań
jak wyświetlać sugestie na podstawie wcześniej używanych zapytań;
Dodawanie niestandardowych sugestii
Jak przedstawiać sugestie na podstawie niestandardowych danych z aplikacji i udostępniać je w całym systemie Okno szybkiego wyszukiwania.
Konfiguracja z możliwością wyszukiwania
Dokument referencyjny dla pliku konfiguracji, który można przeszukiwać. W innych dokumentach opisaliśmy też działania związane z plikiem konfiguracji.

Ochrona prywatności użytkowników

Gdy implementujesz wyszukiwanie w swojej aplikacji, zadbaj o ochronę prywatności użytkownika. Wielu użytkowników traktuje swoją aktywność na telefonie, w tym wyszukiwania, za informacje prywatne. Aby chronić prywatność użytkowników, przestrzegaj tych zasad:

  • Nie wysyłaj danych osobowych na serwery Google, a w razie potrzeby nie rejestruj ich.

    Dane osobowe to wszelkie informacje, które umożliwiają identyfikację użytkowników, takie jak imię i nazwisko, adres e-mail, informacje rozliczeniowe lub inne dane, które można w racjonalny sposób powiązać z takimi informacjami. Jeśli Twoja aplikacja implementuje wyszukiwanie przy użyciu serwera, unikaj wysyłania danych osobowych razem z zapytaniami. Jeśli na przykład szukasz firm znajdujących się w pobliżu określonego kodu pocztowego, nie musisz też podawać identyfikatora użytkownika. Wyślij na serwer tylko ten kod. Jeśli musisz wysyłać dane osobowe, nie zapisuj ich. Jeśli musisz je zapisać, zachowaj szczególną ostrożność i jak najszybciej je usuń.

  • Zapewnij użytkownikom możliwość wyczyszczenia historii wyszukiwania

    Platforma wyszukiwania pomaga aplikacji wyświetlać sugestie kontekstowe, gdy użytkownik wpisuje typ użytkownika. Czasami sugestie są oparte na wcześniejszych wyszukiwaniach lub innych działaniach użytkownika w poprzedniej sesji. Użytkownik może nie życzyć sobie ujawniania wcześniejszych wyszukiwań innym użytkownikom urządzenia. Jeśli aplikacja zawiera sugestie, które mogą ujawnić informacje o wcześniejszych wyszukiwaniach, zaimplementuj sposób, w którym użytkownik może wyczyścić historię wyszukiwania. Jeśli używasz SearchRecentSuggestions, możesz wywołać metodę clearHistory(). Jeśli wdrażasz niestandardowe sugestie, musisz udostępnić u dostawcy treści podobną metodę „czyszczenia historii”, którą użytkownicy będą mogli wykonać.