Açık kaynak bildirimlerini dahil et

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

Google Play Hizmetleri, geliştiricilere uygulamalarında kullanılan kitaplıkların açık kaynak yazılım (OSS) bildirimlerini daha kolay bir şekilde ifade etme imkanı sunmak için tasarlanmış bir dizi araç içerir. oss-licenses-plugin ve Google Play Hizmetleri oss-licenses SDK'sı, POM dosyalarında belirtildiği gibi dahil edilen kitaplıklardan lisans koşullarını toplar ve bu koşulları görüntülemek için kullanılabilecek bir etkinlik oluşturur. Aracın lisans bilgilerini nasıl bulup paketlediği hakkında daha fazla bilgi edinin.

Gradle eklentisini ekleme

Proje ayarlarınızın pluginManagement bölümünde aşağıdakileri yapın:

  1. Google Maven deposunu ekleyin.
  2. oss-licenses eklentisini PluginManagement içinde çözün.

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

Kotlin DSL

settings.gradle.kts

pluginManagement {
  repositories {
    ...
    google()
  }
  resolutionStrategy {
    eachPlugin {
      if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") {
        useModule("com.google.android.gms:oss-licenses-plugin:0.10.6")
      }
    }
  }
}

Groovy DSL

build.gradle

pluginManagement {
  repositories {
    ...
    google()
  }
  resolutionStrategy {
    eachPlugin {
      if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") {
        useModule("com.google.android.gms:oss-licenses-plugin:0.10.6")
      }
    }
  }
}

Uygulama düzeyindeki derleme dosyanızda, dosyanın en üstünde com.android.application eklentisinin mevcut bildirimi 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.

play-services-oss-licenses kitaplığını uygulamanıza ekleyin

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

Kotlin DSL

build.gradle.kts

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

Groovy DSL

build.gradle

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

Lisans bilgilerini gösterme

Uygulamanız oluşturulurken Gradle eklentisi lisansları işler ve uygulamanızın kaynaklarına ekler. Lisansı kolayca göstermek için aşağıdaki kod snippet'inde gösterildiği gibi uygulamanızda uygun bir noktada play-services-oss-licenses kitaplığı tarafından sağlanan bir etkinlik 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));

Etkinlik başlatıldığında, Şekil 1'de gösterildiği gibi, uygulama tarafından kullanılan kitaplıklar da dahil olmak üzere uygulamanıza derlenen açık kaynak kitaplıkların bir listesi gösterilir. Kullanıcılar, bir kitaplığın adını tıklayarak o 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ü

1.şekil Lisanslar menüsü etkinliği, bir uygulamanın kullandığı seçilebilir açık kaynak kitaplıklarının 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() işlevini ç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şmesi için etkinliğe 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 varsa 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.