בדף הזה מוסבר איך להגדיר את Android SDK. אם עדיין לא השלמתם את הדרישות המוקדמות, עליכם להשלים אותן קודם.
תלות
מייבאים את ה-SDK של searchinapps לפרויקט Android מ-GMaven. פותחים את הקובץ build.gradle
של הפרויקט, מגדירים את מאגר Maven של Google ומוסיפים את התלות ב-SDK:
repositories {
google()
...
}
dependencies {
implementation 'com.google.android.libraries.searchinapps:searchinapps:[version]'
...
}
לאחר מכן יוצרים את הפרויקט באמצעות Gradle.
הגדרת AndroidManifest.xml
מעדכנים את הקובץ AndroidManifest.xml
של פרויקט Android ומוסיפים את המטא-נתונים הבאים:
com.google.searchinapps.API_KEY
: ערך המחרוזת של מפתח ה-API של ה-SDK (ראו למעלה).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", ביעד Activity
או בכל המחלקה שאחראית לאחזור תוצאות החיפוש, יוצרים מכונה SearchInAppsService
(אפשר לעשות אותה בפונקציה onCreate
של שיעור הפעילות) וגם להעביר אליה את ההקשר של הפעילות או האפליקציה.
קוד לדוגמה
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() } }
...
}
...
}