スタート ガイド

このページでは、Android SDK を設定する方法について説明します。前提条件をまだ完了していない場合は、まず前提条件を完了してください。

依存関係

GMaven から Android プロジェクトに「searchinapps」SDK をインポートします。プロジェクトの build.gradle ファイルを開き、Google Maven リポジトリを宣言して、SDK の依存関係を追加します。

repositories {
  google()
  ...
}

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

次に、Gradle を使用してプロジェクトをビルドします。

AndroidManifest.xml の構成

Android プロジェクトの AndroidManifest.xml ファイルを更新して、次のメタデータを追加します。

  1. com.google.searchinapps.API_KEY: SDK API キーの文字列値(上記を参照)。
  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>

初期化

「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);
    ...
  }

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

次へ: 検索機能