Na tej stronie opisaliśmy, jak skonfigurować pakiet SDK Androida. Jeśli nie spełniasz jeszcze wymagań wstępnych, musisz je najpierw spełnić.
Zależność
Zaimportuj pakiet SDK „searchinapps” do projektu na Androida z GMaven. Otwórz plik build.gradle
projektu, zadeklaruj repozytorium Google Maven i dodaj zależność pakietu SDK:
repositories {
google()
...
}
dependencies {
implementation 'com.google.android.libraries.searchinapps:searchinapps:[version]'
...
}
Następnie skompiluj projekt za pomocą Gradle.
Konfiguracja pliku AndroidManifest.xml
Zaktualizuj plik AndroidManifest.xml
projektu na Androida, dodając te metadane:
com.google.searchinapps.API_KEY
: ciąg znaków odpowiadający kluczowi interfejsu API pakietu SDK (patrz wyżej).com.google.searchinapps.CLIENT_ID
: ciąg znaków identyfikatora klienta aplikacji (patrz wyżej).
Przykładowa 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>
Zdarzenie inicjujące
Aby używać funkcji pakietu SDK „searchinapps”, w docelowym Activity
lub dowolnych klasach odpowiedzialnych za pobieranie wyników wyszukiwania utwórz instancję SearchInAppsService
(możesz to zrobić w funkcji onCreate
klasy Activity) i przekaż do niej kontekst aktywności lub aplikacji.
Przykładowy kod
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() } }
...
}
...
}