Suchinhalte abrufen
Im SDK gibt es jetzt die Unterstützung für die Benutzeroberfläche für Suchinhalte.
Search Content
ist ein allgemeiner Begriff, der für mehrere Arten von Inhaltstypen steht. In den folgenden Abschnitten erfahren Sie, wie Sie die einzelnen Inhaltstypen anfordern.
Suche wiederholen
Rufen Sie die Methode getSearchContent
für die ContextualSearchRuntime
auf. Diese Methode verwendet eine einzelne GetSearchContentOptions
, mit der Sie den Text angeben können, der verwendet werden soll, um Suchinhalte abzurufen. Wenn du die Wiederholung der Suche abrufen möchtest, gib den Text für die Wiederholung der Suche in die GetSearchContentOptions
-Instanz ein.
Das zurückgegebene SearchContents
-Objekt enthält keine zugänglichen Properties.
Sie enthält alle erforderlichen Informationen zum Rendern von Suchinhalten, ist aber ansonsten undurchsichtig.
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.
}];
Suchinhalte im Displaynetzwerk
Sie haben folgende Möglichkeiten, Suchinhalte anzuzeigen:
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];
}