Propozycje dotyczące wyszukiwania

Sugerowane wyszukiwania

Aby uzyskać sugestie wyszukiwania, wywołaj metodę getSearchSuggestions w obiekcie ContextualSearchRuntime. Ta metoda przyjmuje jeden parametr GetSearchSuggestionsOptions, w którym możesz określić tekst, na podstawie którego mają być wyświetlane sugestie wyszukiwania.

Zwrócony obiekt SearchSuggestions nie zawiera żadnych dostępnych właściwości. Zawiera wszystkie informacje potrzebne do wyświetlenia sugestii wyszukiwania, ale poza tym jest nieprzezroczysty.

Swift używa stylu równoczesności Swift, a Objective-C – funkcji wywołania zwrotnego.

Swift

getSearchSuggestions(withOptions:)

Task {
    let suggestions = try await searchRuntime.getSearchSuggestions(
            withOptions: GetSearchSuggestionsOptions(withTextContext:['Sample Query', 'Another query string']))
}

Objective-C

getSearchSuggestionsWithOptions

  [searchRuntime
      getSearchSuggestionsWithOptions:
            [[GetSearchSuggestionsOptions alloc] initWithTextContext: @[@'Sample Query', @'Another query string' ]]
                             completionHandler:^(SearchSuggestions *_Nullable suggestions,
                                                 NSError *_Nullable error) {
                              // error will be not null if there is an error.
                              // On success, suggestions will be non null.
                            }];

Wyświetlanie sugestii wyszukiwania na podstawie lokalizacji

Żądanie getSearchSuggestions obsługuje też sugestie wyszukiwania na podstawie lokalizacji. Utwórz obiekt GetSearchSuggestionsOptions z LocationSuggestionsContext.

Aby utworzyć klasę LocationSuggestionsContext:

  1. (Wymagane) Ustaw wartości latitude, longituderadiusMeters tak, aby odpowiadały żądanemu obszarowi.
  2. (Opcjonalnie) Ustaw startTime tak, aby odpowiadała żądanej godzinie, o której mają zostać zastosowane sugestie wyszukiwania.
  3. (Opcjonalnie) Ustaw listę geoTypes z wymaganymi typami obszarów geograficznych. Podane typy służą do dostosowywania rankingu i filtrowania wyników zwracanych przez usługę. Obsługiwane wartości znajdziesz w dokumentacji LocationSuggestionsContext.

Swift

getSearchSuggestions(withOptions:)

Task {
    let locationContext: LocationSuggestionsContext = {
      let context = LocationSuggestionsContext()
      context.latitude = 40.748595
      context.longitude = -73.992365
      context.radiusMeters = 2500
      context.startTime = try?
        Date.ISO8601FormatStyle.iso8601.parse("2024-03-14T19:20:30.000+02:00")
      context.geoTypes = ["restaurant", "cafe"]
      return context
    }()
    let suggestions = try await searchRuntime.getSearchSuggestions(
            withOptions: GetSearchSuggestionsOptions(locationContext: [
              locationContext
            ]))
}

Objective-C

getSearchSuggestionsWithOptions


  LocationSuggestionsContext *locationContext;
  locationContext = [[LocationSuggestionsContext alloc] init];
  locationContext.latitude = 40.748595;
  locationContext.longitude = -73.992365;
  locationContext.radiusMeters = @2500;
  [searchRuntime
      getSearchSuggestionsWithOptions:
            [[GetSearchSuggestionsOptions alloc] initWithLocationContext: locationContext]
                             completionHandler:^(SearchSuggestions *_Nullable suggestions,
                                                 NSError *_Nullable error) {
                              // error will be not null if there is an error.
                              // On success, suggestions will be non null.
                            }];

Sieć reklamowa

Aby wyświetlać elementy z propozycjami wyszukiwania, użyj tych metod (styl różni się w zależności od tego, czy używasz UIKit czy SwiftUI).

Swift UIKit

Elementy z sugestiami wyszukiwania możesz wyświetlać za pomocą klasy SearchSuggestionsViewController.

// Create the SearchSuggestionsViewController with specified display options.
var searchSuggestionsController = SearchSuggestionsViewController(options: viewOptions)
...
// Add the view controller to the existing view hierarchy
searchSuggestionsController.addToViewContoller(self)
view.addSubview(searchSuggestionsController.view)
...
// Assign a specific set of search suggestions to this view controller.
searchSuggestionsController.searchSuggestions = suggestions

Objective-C

Wyświetlaj elementy wyszukiwania za pomocą widoku kontrolnego SearchSuggestionsViewController.

// Create the SearchSuggestionsController with specified display options.
SearchSuggestionsViewController *_searchSuggestionsController =
      [[SearchSuggestionsViewController alloc] initWithOptions:_customizationOptions];
...
// Add the view controller to the existing view hierarchy
[_searchSuggestionsController addToViewController:self];
[self.view addSubview:_searchSuggestionsController.view];
...
// Assign a specific set of search suggestions to this view controller.
_searchSuggestionsController.searchSuggestions = suggestions

SwiftUI

Sugestie wyszukiwania mogą być wyświetlane za pomocą widoku SearchSuggestionsView

SearchSuggestionsView(suggestions: suggestions, options: options)

Dalej: wyświetlanie wyników wyszukiwania