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:
com.google.searchinapps.API_KEY
: valeur de chaîne de votre clé API de SDK (voir ci-dessus).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() } }
...
}
...
}