תחילת העבודה

בדף הזה מוסבר איך להגדיר את Android SDK. אם לא השלמתם את הדרישות המוקדמות, עליכם להשלים אותן קודם.

תלות

מייבאים את ה-SDK ‏searchinapps לפרויקט Android מ-GMaven. פותחים את הקובץ build.gradle של הפרויקט, מכריזים על מאגר ה-Maven של Google ומוסיפים את התלות ב-SDK:

repositories {
  google()
  ...
}

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

לאחר מכן, מבצעים build של הפרויקט באמצעות Gradle.

הגדרה של AndroidManifest.xml

מעדכנים את קובץ AndroidManifest.xml של פרויקט Android כדי להוסיף את המטא-נתונים הבאים:

  1. com.google.searchinapps.API_KEY: ערך המחרוזת של מפתח ה-API של ה-SDK (ראו למעלה).
  2. com.google.searchinapps.CLIENT_ID: ערך המחרוזת של מזהה הלקוח של האפליקציה (ראו למעלה).

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>

אתחול

כדי להשתמש בפונקציות של ה-SDK ‏searchinapps, צריך ליצור מופע SearchInAppsService ביעד Activity או בכל המחלקות שאחראיות לאחזור תוצאות החיפוש (אפשר לעשות את זה בפונקציה onCreate של המחלקה Activity), ולהעביר אליו גם את ההקשר של הפעילות או האפליקציה.

קוד לדוגמה

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 פיתוח נייטיב

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

השלב הבא: תכונות חיפוש