Ricerche di tendenza

Analogamente ai suggerimenti per le ricerche, per visualizzare l'interfaccia utente delle ricerche di tendenza, devi prima ottenere il generatore seguendo questi passaggi:

  1. Consenti alla classe Activity di destinazione di implementare l'interfaccia GetSearchSuggestionsViewGeneratorCallback o utilizza la classe interna anonima.
  2. Esegui l'override dei metodi onSuccess(SearchSuggestionsViewGenerator) e onError(String) dell'interfaccia GetSearchSuggestionsViewGeneratorCallback.
  3. Costruisci l'istanza della classe GetTrendingSearchesViewOptions con il numero massimo di ricerche di tendenza specificato. (Facoltativo) Questo oggetto accetta anche un oggetto SearchSuggestionsViewOptions che fornisce alcune opzioni per personalizzare l'aspetto della UI dei suggerimenti di ricerca.
  4. Chiama la funzione getTrendingSearchesView(GetTrendingSearchesViewOptions, GetSearchSuggestionsViewGeneratorCallback) di SearchInAppsService.
  5. Dopo aver ottenuto il generatore di UI, puoi valutare di memorizzarlo in un ViewModel in modo da non doverlo richiedere di nuovo quando l'attività deve essere ricreata (ad esempio quando la configurazione è cambiata durante l'esecuzione dell'app).

Codice di esempio

Java

package ...;

...
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.libraries.searchinapps.GetSearchSuggestionsViewGeneratorCallback;
import com.google.android.libraries.searchinapps.GetTrendingSearchesViewOptions;
import com.google.android.libraries.searchinapps.SearchInAppsService;
import com.google.android.libraries.searchinapps.SearchSuggestionsViewGenerator;
...

public class MainActivity extends AppCompatActivity implements GetSearchSuggestionsViewGeneratorCallback {
  private SearchInAppsService service;

  @Override
  public void onSuccess(SearchSuggestionsViewGenerator generator) {
    ...
  }

  @Override
  public void onError(String errorMessage) {
    ...
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    ...
    service = SearchInAppsService.create(this);
    // Uses the default SearchSuggestionsViewOptions.
    service.getTrendingSearchesView(
      new GetTrendingSearchesViewOptions().setMaxNumTrends(3), this);
    ...
  }

  @Override
  public void onDestroy() {
    service.shutDown();
    super.onDestroy();
  }
}

Jetpack Compose

package ...

...
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.platform.LocalContext
import com.google.android.libraries.searchinapps.GetSearchSuggestionsViewGeneratorCallback
import com.google.android.libraries.searchinapps.GetSearchSuggestionsViewOptions
import com.google.android.libraries.searchinapps.SearchInAppsService
import com.google.android.libraries.searchinapps.SearchSuggestionsViewGenerator
...

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
      SearchSuggestionsUI()
    }
  }

  @Composable
  fun SearchSuggestionsUI() {
    ...
    var service by remember {
      mutableStateOf<SearchInAppsService?>(
        SearchInAppsService.create(LocalContext.current))
    }
    DisposableEffect(Unit) { onDispose { service?.shutDown() } }
    val callback =
            object : GetSearchSuggestionsViewGeneratorCallback {
              override fun onSuccess(generator: SearchSuggestionsViewGenerator) {
                ...
              }

              override fun onError(errorMessage: String) {
                ...
              }
            }
    // Uses the default SearchSuggestionsViewOptions.
    var options: GetTrendingSearchesViewOptions =
            GetTrendingSearchesViewOptions()
              .setMaxNumTrends(3)
    service?.getTrendingSearchesView(options, callback)
    ...
  }
}

Il modo per aggiungere la visualizzazione dell'UI delle ricerche di tendenza nell'UI dell'app è lo stesso della funzionalità suggerimenti di ricerca.

Successivo: visualizzare i risultati di ricerca