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ıklara yönelik bildirimleri uygun şekilde göstermek sizin sorumluluğunuzdadır.
Google Play Hizmetleri, geliştiricilerin uygulamalarında kullanılan kitaplıkların açık kaynak yazılım bildirimlerini daha kolay ifade etmeleri için tasarlanmış bir dizi araç içerir. Bu araçlardan biri, Gradle eklentisidir ve POM dosyalarında belirtildiği gibi, dahil edilen kitaplıklardan lisans terimlerini toplar ve bu terimleri görüntülemek için kullanılabilecek bir etkinlik oluşturur. Aracın lisans bilgilerini nasıl bulduğu ve paketlediği hakkında daha fazla bilgi edinin.
Gradle eklentisini ekleme
Kök düzeyindeki derleme dosyanızda aşağıdakileri yapın:
- Google Maven deposunu dahil edin.
oss-licenses
eklentisini bağımlılıklarınıza ekleyin.
Aşağıdaki kod snippet'inde şu adımlar gösterilmektedir:
Kotlin DSL
derleme.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") } }
Renkli 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 beyanına aşağıdaki satırı ekleyerek eklentiyi uygulayın:
Kotlin DSL
uygulama/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Renkli DSL
uygulama/derleme.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
GitHub'da bu eklentinin kodunu görüntüleyebilirsiniz.
Kitaplığınıza uygulamanıza ekleyin
Uygulama düzeyindeki derleme dosyanızın dependencies
bölümünde, oss-licenses
kitaplığına bağımlılık ekleyin:
Kotlin DSL
derleme.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.0.0")
Renkli DSL
derleme.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
Lisans bilgilerini göster
Uygulamanız oluşturulduğunda 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, 1. şekilde gösterildiği gibi Google Play Hizmetleri'nin bir parçası olan kitaplıklar da dahil olmak üzere uygulamanızda derlenen açık kaynak kitaplıklarının bir listesi görüntülenir. Kullanıcılar bir kitaplık 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 listesini gösterir.
Etkinlik başlığını ayarlama
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()
yöntemini ç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 uygulayın
Etkinliğinize, 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ılıkları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.