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 depuis GMaven. Ouvrez le fichier build.gradle de votre projet, déclarez le dépôt Google Maven et ajoutez la dépendance du SDK :

repositories {
  google()
  ...
}

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

Ensuite, compilez votre projet à l'aide de Gradle.

Configuration d'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 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 toute classe responsable de la récupération des 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 d'activité ou d'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