Açık kaynak bildirimlerini dahil et

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:

  1. Google Maven deposunu dahil edin.
  2. 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.

Bir açık kaynak kitaplığının adını içeren her bir öğenin bulunduğu liste görünümü

Ş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.