Ricerche di tendenza

Come per richiedere i suggerimenti per le ricerche, per visualizzare la visualizzazione dell'interfaccia utente delle ricerche di tendenza, devi prima recuperare il relativo generatore seguendo questi passaggi:

  1. Consenti alla tua classe Activity target di implementare l'interfaccia GetSearchSuggestionsViewGeneratorCallback o utilizza la classe interna anonima.
  2. Sostituisci i 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 dell'interfaccia utente dei suggerimenti di ricerca.
  4. Chiama la funzione getTrendingSearchesView(GetTrendingSearchesViewOptions, GetSearchSuggestionsViewGeneratorCallback) di SearchInAppsService.
  5. Dopo aver ottenuto il generatore di UI, puoi valutare la possibilità di memorizzarlo in un ViewModel in modo da non dover richiedere di nuovo il generatore quando l'attività deve essere ricreata (ad esempio quando la configurazione è cambiata mentre l'app è in esecuzione).

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)
    ...
  }
}

Per aggiungere la visualizzazione dell'interfaccia utente delle ricerche di tendenza all'interfaccia utente dell'app, segui la stessa procedura utilizzata per la funzionalità dei suggerimenti di ricerca.

Avanti: mostra i risultati di ricerca