Dapatkan konten penelusuran
Kami telah menambahkan dukungan untuk mendapatkan UI konten penelusuran di SDK.
Search Content
adalah istilah umum yang mewakili beberapa jenis fitur
konten. Lihat bagian berikut untuk mengetahui cara meminta setiap jenis fitur
konten.
Telusuri Ulangi
Panggil metode getSearchContent
pada ContextualSearchRuntime
. Metode ini
memerlukan satu GetSearchContentOptions
tempat Anda dapat menentukan teks yang akan digunakan
untuk mendapatkan konten penelusuran. Untuk mendapatkan pengulangan penelusuran, teruskan teks pengulangan penelusuran
ke instance GetSearchContentOptions
.
Objek SearchContents
yang ditampilkan tidak berisi properti yang dapat diakses.
File ini berisi semua informasi yang diperlukan untuk merender konten penelusuran, tetapi
tidak transparan.
SwiftUI
Task {
let sampleSearchRepeat = "search repeat text"
let options = GetSearchContentOptions(searchRepeat: sampleSearchRepeat)
let searchContents: SearchContents =
try await contextualSearchRuntime.getSearchContent(withOptions: options)
}
Objective-C
GetSearchContentOptions *options =
[[GetSearchContentOptions alloc] initWithSearchRepeat:@"sample search repeat"];
[_contextualSearchRuntime getSearchContentWithOptions:options
completionHandler:^(SearchContents *_Nullable contents,
NSError *_Nullable error) {
// error will be not null if there is an error.
// On success, contents will be non null.
}];
Konten Penelusuran Display
Untuk menampilkan konten penelusuran, gunakan metode berikut.
SwiftUI
var customizationOptions = SearchContentViewOptions()
...
VStack {
ForEach(searchContents.searchContentBlocks) { block in
SearchContentView(blockData: block, options: customizationOptions)
}
}
Objective-C
for (SearchContentBlockData *block in ((SearchContents *)_searchContents)
.searchContentBlocks) {
SearchContentViewController *blockView = [[SearchContentViewController alloc]
initWithOptions:[[SearchSuggestionsViewOptions alloc] init]];
blockView.blockData = block;
[_searchContentStackView addSubview:blockView.view];
[blockView addToViewController:self];
}