Açık kaynak bildirimlerini dahil et

Google Play Hizmetleri bazen açık kaynak kitaplıklar içerir veya bunlara bağlıdır. Açık kaynak kitaplıkların lisans gereksinimlerine uymak için uygulamanızın kullandığı açık kaynak kitaplıklara ait bildirimleri uygun şekilde görüntülemek geliştirici olarak sizin sorumluluğunuzdadır.

Google Play Hizmetleri, geliştiricilere uygulamalarında kullanılan kitaplıklarla ilgili açık kaynak yazılım bildirimlerini daha kolay ifade etmeleri için tasarlanmış araçlar sunar. Bu araçlardan biri, dahil edilen kitaplıklardan POM dosyalarında belirtilen lisans şartlarını toplayan ve bu terimleri 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 dahil edin.
  2. oss-licenses eklentisini bağımlılıklarınıza ekleyin.

Aşağıdaki kod snippet'inde aşağıdaki 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")
  }
}

Modern 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 üst kısmındaki mevcut 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")
}

Modern 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 bir bağımlılık ekleyin:

Kotlin DSL

build.gradle.kts

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

Modern DSL

build.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şler ve uygulamanızın kaynaklarına ekler. Lisansı kolayca görüntülemek için play-services-oss-licenses kitaplığı tarafından sağlanan bir etkinliği, aşağıdaki kod snippet'inde gösterildiği gibi uygulamanızdaki uygun bir noktada 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 listesini gösterir. Kullanıcılar kitaplığın adına dokunarak ek lisans bilgilerini görüntüleyebilir.

Her öğede açık kaynak kütüphanenin adını içeren liste görünümü

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

Etkinlik başlığını ayarlayın

Varsayılan olarak, görüntülenen 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

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?

Derleme sırasında Gradle eklentisi, uygulamanızın projesinin POM bağımlılıklarını tarar. Uygulamanın doğrudan bağımlı bir Maven POM söz konusu olduğunda, eklenti her <licenses> öğesini işler ve her lisansın bağlantısı ile başlığını uygulamanıza dahil edilen bir Android öğesine yerleştirir.