جستجوهای پیشنهادی را دریافت کنید
برای دریافت پیشنهادات جستجو، با متد getSearchSuggestions
در ContextualSearchRuntime
تماس بگیرید. این روش یک GetSearchSuggestionsOptions دارد که در آن می توانید متن مورد استفاده برای دریافت پیشنهادهای جستجو را مشخص کنید.
شی SearchSuggestions
بازگشتی حاوی هیچ ویژگی قابل دسترسی نیست. این شامل تمام اطلاعات لازم برای ارائه پیشنهادات جستجو است، اما در غیر این صورت مبهم است.
Swift از سبک Swift Concurrency استفاده می کند، Objective-C از تابع callback استفاده می کند.
سویفت
getSearchSuggestions (با گزینه ها:)
Task {
let suggestions = try await searchRuntime.getSearchSuggestions(
withOptions: GetSearchSuggestionsOptions(withTextContext:['Sample Query', 'Another query string']))
}
هدف-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.
}];
جستجوهای پیشنهادی مبتنی بر مکان را دریافت کنید
درخواست getSearchSuggestions
از پیشنهادات جستجوی مبتنی بر مکان نیز پشتیبانی می کند. یک شی GetSearchSuggestionsOptions
با LocationSuggestionsContext بسازید.
این مراحل را برای ساخت کلاس LocationSuggestionsContext
دنبال کنید:
- (الزامی)
latitude
،longitude
وradiusMeters
برای مطابقت با منطقه درخواستی تنظیم کنید. - (اختیاری)
startTime
برای مطابقت با زمان درخواستی که در آن پیشنهادات جستجو باید اعمال شوند، تنظیم کنید. - (اختیاری) لیست
geoTypes
را با انواع جغرافیایی درخواستی تنظیم کنید. انواع ارائه شده برای تنظیم رتبه بندی و فیلتر کردن نتایج بازگردانده شده توسط سرویس استفاده می شود. مقادیر پشتیبانی شده در LocationSuggestionsContext مستند شده اند.
سویفت
getSearchSuggestions (با گزینه ها:)
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
]))
}
هدف-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.
}];
نمایش
برای نمایش تراشه های پیشنهادات جستجو، از روش های زیر استفاده کنید (اگر از UIKit در مقابل SwiftUI استفاده می کنید، سبک متفاوت است).
Swift UIKit
نمایش تراشه های پیشنهاد جستجو با استفاده از 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
هدف-C
نمایش تراشه های پیشنهاد جستجو با استفاده از 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
پیشنهادات جستجو را می توان با SearchSuggestionsView نمایش داد
SearchSuggestionsView(suggestions: suggestions, options: options)