本頁說明如何設定 Android SDK。如果您尚未完成前置作業,請先完成這些作業。
依附元件
從 GMaven 將「searchinapps」SDK 匯入 Android 專案。開啟專案的 build.gradle
檔案,宣告 Google Maven 存放區並新增 SDK 依附元件:
repositories {
google()
...
}
dependencies {
implementation 'com.google.android.libraries.searchinapps:searchinapps:[version]'
...
}
然後使用 Gradle 建構專案。
AndroidManifest.xml 設定
更新 Android 專案 AndroidManifest.xml
檔案,以新增下列中繼資料:
com.google.searchinapps.API_KEY
:SDK API 金鑰的字串值 (請參閱上方說明)。com.google.searchinapps.CLIENT_ID
:應用程式用戶端 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>
初始化
如要使用「searchinapps」SDK 的函式,請在目標 Activity
或負責擷取搜尋結果的任何類別中建立 SearchInAppsService
例項 (您可以在 Activity 類別的 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);
...
}
}
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.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() {
...
if (service == null) {
service = SearchInAppsService.create(LocalContext.current)
}
...
}
...
}