Bu sayfada, Android SDK'sını nasıl ayarlayacağınız açıklanmaktadır. Ön koşulları tamamlamadıysanız önce bunları tamamlayın.
Bağımlı seçim
"searchinapps" SDK'sını GMaven'den bir Android projesine aktarın. Projenizin build.gradle
dosyasını açın, Google Maven deposunu tanımlayın ve SDK bağımlılığını ekleyin:
repositories {
google()
...
}
dependencies {
implementation 'com.google.android.libraries.searchinapps:searchinapps:[version]'
...
}
Ardından, Gradle'ı kullanarak projenizi derleyin.
AndroidManifest.xml yapılandırması
Android projenizin AndroidManifest.xml
dosyasını aşağıdaki meta verileri eklemek için güncelleyin:
com.google.searchinapps.API_KEY
: SDK API anahtarınızın dize değeri (yukarıya bakın).com.google.searchinapps.CLIENT_ID
: Uygulamanızın istemci tanımlayıcısının dize değeri (yukarıya bakın).
Örnek 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>
Başlatma
"searchinapps" SDK'sının işlevlerini kullanmak için hedef Activity
veya arama sonuçlarını almaktan sorumlu herhangi bir sınıfta bir SearchInAppsService
örneği oluşturun (Etkinlik sınıfının onCreate
işlevinde yapabilirsiniz) ve ayrıca etkinlik veya uygulama Bağlamını bu örneğe iletin.
Örnek kod
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() } }
...
}
...
}