Sertakan pemberitahuan open source

SDK layanan Google Play terkadang menyertakan, atau bergantung pada, library open source. Untuk mematuhi persyaratan lisensi library open source, Anda sebagai developer bertanggung jawab untuk menampilkan pemberitahuan dengan tepat untuk library open source yang digunakan aplikasi Anda.

Layanan Google Play menyertakan serangkaian alat yang didesain untuk memberi developer cara yang lebih mudah dalam menyatakan pemberitahuan software open source (OSS) dari library yang digunakan dalam aplikasi mereka. oss-licenses-plugin dan SDK oss-licenses layanan Google Play mengumpulkan persyaratan lisensi dari library yang disertakan, sebagaimana dideklarasikan dalam file POM-nya, dan membuat aktivitas yang dapat digunakan untuk menampilkan persyaratan ini. Pelajari lebih lanjut cara alat menemukan dan mengemas informasi lisensi.

Menambahkan plugin Gradle

Di pluginManagement setelan project Anda, lakukan hal berikut:

  1. Sertakan repositori Maven Google.
  2. Selesaikan plugin oss-licenses di PluginManagement.

Cuplikan kode berikut menunjukkan langkah-langkah ini:

DSL Kotlin

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

DSL Groovy

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

Dalam file build level aplikasi, terapkan plugin dengan menambahkan baris berikut di bawah pernyataan plugin com.android.application yang ada di bagian atas file:

DSL Kotlin

app/build.gradle.kts

plugins {
    id("com.android.application")
    id("com.google.android.gms.oss-licenses-plugin")
}

DSL Groovy

app/build.gradle

plugins {
    id 'com.android.application'
    id 'com.google.android.gms.oss-licenses-plugin'
}

Anda dapat melihat kode untuk plugin ini di GitHub.

Tambahkan library play-services-oss-licenses ke aplikasi Anda

Di bagian dependencies dari file build tingkat aplikasi, tambahkan dependensi pada library play-services-oss-licenses:

DSL Kotlin

build.gradle.kts

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

DSL Groovy

build.gradle

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

Menampilkan informasi lisensi

Saat aplikasi Anda di-build, plugin Gradle akan memproses lisensi dan menambahkannya ke resource aplikasi Anda. Untuk menampilkan lisensi dengan mudah, Anda dapat meluncurkan aktivitas yang disediakan oleh library play-services-oss-licenses pada titik yang sesuai di aplikasi Anda, seperti yang ditunjukkan dalam cuplikan kode berikut:

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));

Saat diluncurkan, aktivitas ini akan menampilkan daftar library open source yang dikompilasi ke dalam aplikasi Anda, termasuk library yang digunakan oleh aplikasi, seperti yang ditunjukkan pada gambar 1. Pengguna dapat mengetuk nama perpustakaan untuk melihat informasi lisensi tambahan untuk perpustakaan tersebut.

Tampilan daftar dengan setiap elemen berisi nama library open source

Gambar 1. Aktivitas menu lisensi menampilkan daftar library open source yang dapat dipilih yang digunakan aplikasi.

Menetapkan judul aktivitas

Secara default, aktivitas yang ditampilkan memiliki judul "Lisensi open source". Anda dapat menyesuaikan judul aktivitas dengan memanggil setActivityTitle(), seperti yang ditunjukkan dalam cuplikan kode berikut:

Kotlin

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))

Java

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));

Menerapkan tema ke aktivitas

Anda dapat menerapkan tema ke aktivitas agar sesuai dengan tema yang digunakan di aktivitas lain aplikasi Anda. Untuk melakukannya, sertakan aktivitas lisensi open source dalam elemen <activity> di file manifes aplikasi Anda, seperti yang ditunjukkan dalam cuplikan kode berikut:

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

Cara daftar lisensi ditentukan

Pada waktu kompilasi, plugin Gradle memindai dependensi POM project aplikasi Anda. Jika POM Maven ada untuk dependensi langsung aplikasi, plugin akan memproses setiap elemen <licenses> dan menyematkan link dan judul setiap lisensi dalam aset Android yang disertakan dengan aplikasi Anda.