Google Play Hizmetleri bazen açık kaynak kitaplıkları içerir veya bunlara bağımlıdır. Açık kaynak kitaplıklarının lisans gereksinimlerine uymak için uygulamanızın kullandığı açık kaynak kitaplıklarla ilgili bildirimleri uygun şekilde görüntülemek sizin sorumluluğunuzdadır.
Google Play Hizmetleri, geliştiricilere uygulamalarında kullanılan kitaplıkların açık kaynak yazılım bildirimlerini daha kolay şekilde ifade etmeleri için tasarlanmış bir dizi araç içerir. Bu araçlardan biri, dahil olan kitaplıklardan lisans şartlarını POM dosyalarında belirtildiği şekilde toplayan ve bu terimleri görüntülemek için kullanılabilecek bir etkinlik oluşturan Gradle eklentisidir. Aracın lisans bilgilerini nasıl bulduğu ve paketlediği hakkında daha fazla bilgi edinin.
Gradle eklentisini ekleyin
Kök düzeyindeki derleme dosyanızda aşağıdakileri yapın:
- Google Maven deposunu ekleyin.
oss-licenses
eklentisini bağımlılıklarınıza ekleyin.
Aşağıdaki kod snippet'inde bu adımlar gösterilmektedir:
Kotlin DSL'si
build.gradle.kts
buildscript { repositories { ... google() // maven { url("https://maven.google.com") } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } }
Eski DSL
derleme.gradle
buildscript { repositories { ... google() // maven { url "https://maven.google.com" } for Gradle <= 3 } dependencies { ... classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' } }
Uygulama düzeyindeki derleme dosyanızda, dosyanın üst kısmındaki com.android.application
eklentisinin mevcut bildiriminin altına aşağıdaki satırı ekleyerek eklentiyi uygulayın:
Kotlin DSL'si
uygulama/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Eski DSL
uygulama/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
GitHub'da bu eklentinin kodunu görüntüleyebilirsiniz.
Kitaplığı kitaplığınıza ekleyin
Uygulama düzeyinde derleme dosyanızın dependencies
bölümünde bir bağımlıyı oss-licenses
kitaplığına ekleyin:
Kotlin DSL'si
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.0.1")
Eski DSL
derleme.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'
Lisans bilgilerini göster
Uygulamanız derlendiğinde, Gradle eklentisi lisansları işleyip uygulamanızın kaynaklarına ekler. Lisansı kolayca görüntülemek için aşağıdaki kod snippet'inde gösterildiği gibi, play-services-oss-licenses
kitaplığı tarafından sağlanan bir etkinliği uygulamanızın uygun bir noktasında başlatabilirsiniz:
Kotlin
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity ... // When the user selects an option to see the licenses: startActivity(Intent(this, OssLicensesMenuActivity::class.java))
Java
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity; ... // When the user selects an option to see the licenses: startActivity(new Intent(this, OssLicensesMenuActivity.class));
Bu etkinlik kullanıma sunulduğunda, Google Play Hizmetleri'nin parçası olan kitaplıklar da dahil olmak üzere, uygulamanızda derlenen açık kaynak kitaplıklarının listesi (Şekil 1'de gösterildiği gibi) görüntülenir. Kullanıcılar bir kitaplığın adına dokunarak ilgili kitaplıkla ilgili ek lisans bilgilerini görüntüleyebilir.
Şekil 1. Lisanslar menü etkinliği, bir uygulamanın kullandığı açık kaynak kitaplıklarının seçilebilir bir listesini gösterir.
Etkinlik başlığını ayarlayın
Varsayılan olarak, gösterilen etkinlik "Açık kaynak lisansları" başlığına sahiptir. Aşağıdaki kod snippet'inde gösterildiği gibi, setActivityTitle()
çağırarak etkinliğin başlığını özelleştirebilirsiniz:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Etkinliğe tema uygulama
Etkinliğe, uygulamanızın diğer etkinliklerinde kullanılan temayla eşleşecek şekilde bir tema uygulayabilirsiniz. Bunun için açık kaynak lisans etkinliğini, aşağıdaki kod snippet'inde gösterildiği gibi uygulamanızın manifest dosyasındaki bir <activity>
öğesine ekleyin:
<application android:theme="@style/AppTheme" ...> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity" android:theme="@style/AppTheme" /> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesActivity" android:theme="@style/AppTheme" /> </application>
Lisans listesi nasıl belirlenir?
Gradle eklentisi, derleme sırasında uygulamanızın projesinin POM bağımlılarını tarar. Uygulamanın doğrudan bağımlılığı için bir Maven POM varsa eklenti, her <licenses>
öğesini işler ve her lisansın bağlantısını ve başlığını uygulamanıza dahil olan bir Android öğesine yerleştirir.