Google Play Hizmetleri SDK'ları bazen açık kaynak kitaplıklar içerir veya bu kitaplıklara bağlıdır. Açık kaynak kitaplıklarının lisans şartlarına uymak için geliştirici olarak, uygulamanızın kullandığı açık kaynak kitaplıklarının bildirimlerini uygun şekilde göstermekten sorumlusunuz.
Google Play Hizmetleri, geliştiricilere uygulamalarında kullanılan kitaplıklarla ilgili açık kaynak yazılım (OSS) bildirimlerini daha kolay bir şekilde ifade etmelerini sağlamak için tasarlanmış bir dizi araç içerir. oss-licenses-plugin
ve Google Play Hizmetleri açık kaynak lisansları SDK'sı, dahil edilen kitaplıklardan lisans şartlarını POM dosyalarında beyan edildiği şekilde toplar ve bu şartları görüntülemek için kullanılabilecek bir etkinlik oluşturur. Aracın lisans bilgilerini nasıl bulup paketlediği hakkında daha fazla bilgi edinin.
Gradle eklentisini ekleme
Proje ayarlarınızın pluginManagement
bölümünde aşağıdakileri yapın:
- Google Maven deposunu ekleyin.
PluginManagement
'daoss-licenses
eklentisini çözün.
Aşağıdaki kod snippet'inde bu adımlar gösterilmektedir:
Kotlin DSL
settings.gradle.kts
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
Groovy DSL
build.gradle
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
Uygulama düzeyindeki build dosyanızda, dosyanın en üstündeki com.android.application
eklentisinin mevcut beyanının altına aşağıdaki satırı ekleyerek eklentiyi uygulayın:
Kotlin DSL
app/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Groovy DSL
app/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Bu eklentinin kodunu GitHub'da görüntüleyebilirsiniz.
play-services-oss-licenses
kitaplığını uygulamanıza ekleme
Uygulama düzeyindeki derleme dosyanızın dependencies
bölümünde play-services-oss-licenses
kitaplığına bağımlılık ekleyin:
Kotlin DSL
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
Groovy DSL
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
Lisans bilgilerini gösterme
Uygulamanız derlenirken Gradle eklentisi lisansları işler ve uygulamanızın kaynaklarına ekler. Lisansı kolayca görüntülemek için aşağıdaki kod snippet'inde gösterildiği gibi uygulamanızın uygun bir noktasında play-services-oss-licenses
kitaplığı tarafından sağlanan bir etkinlik 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));
Etkinlik başlatıldığında, uygulama tarafından kullanılan kitaplıklar da dahil olmak üzere uygulamanıza derlenen açık kaynak kitaplıkların bir listesi gösterilir (Şekil 1). Kullanıcılar, bir kitaplığın adına dokunarak ilgili kitaplıkla ilgili ek lisans bilgilerini görüntüleyebilir.
Şekil 1. Lisanslar menüsü etkinliği, bir uygulamanın kullandığı açık kaynak kitaplıklarının seçilebilir bir listesini gösterir.
Etkinlik başlığını ayarlama
Varsayılan olarak, gösterilen etkinliğin başlığı "Açık kaynak lisansları"dır. Aşağıdaki kod snippet'inde gösterildiği gibi setActivityTitle()
öğesini ç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
Uygulamanızın diğer etkinliklerinde kullanılan temayla eşleşecek şekilde etkinliğe bir tema uygulayabilirsiniz. Bunu yapmak için açık kaynak lisans etkinliğini, aşağıdaki kod snippet'inde gösterildiği gibi uygulamanızın manifest dosyasında 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ılıkları tarar. Uygulamanın doğrudan bağımlılığı için bir Maven POM mevcut olduğunda, eklenti her <licenses>
öğesini işler ve her lisansın bağlantısını ve başlığını uygulamanıza dahil edilen bir Android öğesine yerleştirir.