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ı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:

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

Açık kaynak kitaplığın adını içeren her öğenin yer aldığı liste görünümü

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