Premiers pas

Cette page explique comment configurer le SDK Android. Si vous n'avez pas rempli les conditions préalables, commencez par le faire.

Dépendance

Importez le SDK "searchinapps" dans un projet Android à partir de GMaven. Ouvrez le fichier build.gradle de votre projet, déclarez le dépôt Maven Google et ajoutez la dépendance du SDK:

repositories {
  google()
  ...
}

dependencies {
  implementation 'com.google.android.libraries.searchinapps:searchinapps:[version]'
  ...
}

Ensuite, créez votre projet avec Gradle.

Configuration du fichier AndroidManifest.xml

Mettez à jour le fichier AndroidManifest.xml de votre projet Android pour ajouter les métadonnées suivantes:

  1. com.google.searchinapps.API_KEY: valeur de chaîne de votre clé API de SDK (voir ci-dessus).
  2. com.google.searchinapps.CLIENT_ID: valeur de chaîne de l'identifiant client de votre application (voir ci-dessus).

Exemple AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.samples.quickstart.searchinapps">

<application
...
>
<meta-data
android:name="com.google.searchinapps.API_KEY"
android:value="[your api key]"/>
<meta-data
android:name="com.google.searchinapps.CLIENT_ID"
android:value="[your client id]"/>
...
</application>

</manifest>

Initialisation

Pour utiliser les fonctions du SDK "searchinapps", dans le Activity cible ou dans les classes chargées de récupérer les résultats de recherche, créez une instance SearchInAppsService (vous pouvez le faire dans la fonction onCreate de la classe Activity) et transmettez-y également le contexte de l'activité ou de l'application.

Exemple de code

Java

package ...;

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

public class MainActivity extends AppCompatActivity {
  private SearchInAppsService service;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    ...
    service = SearchInAppsService.create(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.SearchInAppsService
...

class MainActivityJetpack : AppCompatActivity() {
  private var service: SearchInAppsService? = null

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

Suivant: Fonctionnalités de recherche