Açık kaynak bildirimlerini dahil et

Google Play Hizmetleri bazen açık kaynak kitaplıklar içerir veya bu kitaplıklara bağlıdır. Açık kaynak kitaplıkların lisans şartlarına uymak için uygulamanızın kullandığı açık kaynak kitaplıklarla ilgili bildirimleri uygun şekilde göstermek geliştirici olarak sizin sorumluluğunuzdadır.

Google Play Hizmetleri, geliştiricilerin uygulamalarında kullanılan kitaplıklarla ilgili açık kaynak yazılım bildirimlerini daha kolay ifade etmelerini sağlamak için tasarlanmış bir dizi araç içerir. Bu araçlardan biri, POM dosyalarında belirtilen kitaplıklardan lisans şartlarını toplayan ve bu şartları 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 ekleme

Kök düzeyindeki derleme dosyanızda şunları yapın:

  1. Google Maven deposunu dahil edin.
  2. Bağımlılıklarınıza oss-licenses eklentisini ekleyin.

Aşağıdaki kod snippet'inde bu adımlar gösterilmektedir:

Kotlin DSL

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

build.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 en üstünde bulunan com.android.application eklentisi bildiriminin 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")
}

Eski DSL

uygulama/build.gradle

plugins {
    id 'com.android.application'
    id 'com.google.android.gms.oss-licenses-plugin'
}

Bu eklentinin kodunu GitHub'da görüntüleyebilirsiniz.

Kitaplığı uygulamanıza ekleme

Uygulama düzeyindeki derleme dosyanızın dependencies bölümünde oss-licenses kitaplığına bir bağımlılık ekleyin:

Kotlin DSL

build.gradle.kts

implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")

Eski DSL

build.gradle

implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'

Lisans bilgilerini göster

Uygulamanız oluşturulduğunda 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ızdaki uygun bir noktada play-services-oss-licenses kitaplığı tarafından sağlanan bir etkinliği 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 başlatıldığında Şekil 1'de gösterildiği gibi, Google Play hizmetlerinin bir parçası olan kitaplıklar da dahil olmak üzere uygulamanızda derlenen açık kaynak kitaplıkların bir listesini görüntüler. Kullanıcılar, ilgili kitaplığın adına dokunarak ilgili kitaplıkla ilgili ek lisans bilgilerini görüntüleyebilir.

Her öğenin bir açık kaynak kitaplığının adını içeren
liste görünümü

Şekil 1. Lisanslar menüsü etkinliği, bir uygulamanın kullandığı açık kaynak kitaplıkların seçilebilir bir listesini gösterir.

Etkinlik başlığını ayarla

Varsayılan olarak, görüntülenen etkinliğin başlığı "Açık kaynak lisansları"dır. 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 uygulama

Uygulamanızın diğer etkinliklerinde kullanılan temayla eşleştirmek için 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ı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 mevcut olduğunda, eklenti her <licenses> öğesini işler ve her lisansın bağlantısını ve başlığını uygulamanızla birlikte sağlanan bir Android öğesine yerleştirir.