Açık kaynak bildirimlerini dahil et

Google Play Hizmetleri bazen açık kaynak kitaplıkları içerir veya bu kitaplıklara ihtiyaç duyar. 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ıkların açık kaynak yazılım bildirimlerini daha kolay bir şekilde ifade etmelerini sağlamak için tasarlanmış bir dizi araç içerir. Bu araçlardan biri, dahil edilen kitaplıklardan POM dosyalarında belirtildiği şekilde lisans şartlarını toplayan ve bu şartları görüntülemek için kullanılabilecek bir etkinlik oluşturan bir 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 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

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")
  }
}

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

Kitaplığı uygulamanıza ekleme

Uygulama düzeyindeki derleme dosyanızın dependencies bölümünde, 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 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 Google Play hizmetlerinin bir parçası olan kitaplıklar da dahil olmak üzere uygulamanızda derlenen açık kaynak kitaplıkların listesini gösterir (Şekil 1). Kullanıcılar, bir kitaplığın adına dokunarak ilgili kitaplıkla ilgili ek lisans bilgilerini görüntüleyebilir.

Her öğenin açık kaynak kitaplığının adını içerdiği 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ı 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() çağrısını yaparak 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.