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