توضّح هذه الصفحة كيفية إعداد حزمة Android SDK. إذا لم تكن قد أكملت الـ متطلبات الأساسية، يُرجى إكمالها أولاً.
اعتمادية
استورِد حزمة SDK الخاصة بميزة "البحث داخل التطبيقات" إلى مشروع 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 الخاصة بميزة "البحث داخل التطبيقات"، أنشئ مثيلاً من SearchInAppsService في Activity المستهدَف أو أي فئات مسؤولة عن استرداد نتائج البحث (يمكنك إجراء ذلك في الدالة onCreate لفئة النشاط)، ومرِّر أيضًا سياق النشاط أو التطبيق إليه.
نموذج الرموز البرمجية
جافا
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() } }
...
}
...
}