Memulai

Halaman ini menjelaskan cara menyiapkan Android SDK. Jika Anda belum menyelesaikan prasyarat, selesaikan terlebih dahulu.

Dependensi

Impor SDK "searchinapps" ke dalam project Android dari GMaven. Buka file build.gradle project Anda, deklarasikan repositori Maven Google, lalu tambahkan dependensi SDK:

repositories {
  google()
  ...
}

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

Kemudian, build project Anda menggunakan Gradle.

Konfigurasi AndroidManifest.xml

Perbarui file AndroidManifest.xml project Android Anda untuk menambahkan metadata berikut:

  1. com.google.searchinapps.API_KEY: nilai string kunci API SDK Anda (lihat di atas).
  2. com.google.searchinapps.CLIENT_ID: nilai string ID klien aplikasi Anda (lihat di atas).

Sampel 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>

Inisialisasi

Untuk menggunakan fungsi SDK "searchinapps", di Activity target atau class apa pun yang bertanggung jawab untuk mengambil hasil penelusuran, buat instance SearchInAppsService (Anda dapat melakukannya di fungsi onCreate class Aktivitas) dan juga teruskan Konteks aktivitas atau aplikasi ke dalamnya.

Kode contoh

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

Berikutnya: Fitur penelusuran