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 yang sesuai untuk library open source yang digunakan aplikasi Anda.
Layanan Google Play menyertakan serangkaian alat yang dirancang untuk memberi developer cara yang lebih mudah untuk menyatakan pemberitahuan software open source (OSS) dari library yang digunakan dalam aplikasi mereka. The oss-licenses-plugin dan SDK oss-licenses layanan Google Play mengumpulkan persyaratan lisensi dari library yang disertakan, seperti yang dideklarasikan dalam file POM-nya, dan membuat aktivitas yang dapat digunakan untuk menampilkan persyaratan ini. Pelajari lebih lanjut tentang
cara alat ini menemukan dan memaketkan informasi lisensi.
Menambahkan plugin Gradle
Di pluginManagement setelan project Anda, lakukan hal berikut:
- Sertakan repositori Maven Google.
- Selesaikan plugin
oss-licensesdiPluginManagement.
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.12.0") } } } }
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.12.0") } } } }
Di file build level aplikasi, terapkan plugin dengan menambahkan baris berikut di bawah deklarasi 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.
Menambahkan library play-services-oss-licenses ke aplikasi Anda
Di bagian dependencies file build level aplikasi, tambahkan dependensi pada library play-services-oss-licenses:
DSL Kotlin
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.5.1")
DSL Groovy
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.5.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.v2.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.v2.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 library untuk melihat informasi lisensi tambahan untuk library tersebut.
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
Ada berbagai cara untuk menerapkan tema ke OssLicensesMenuActivity, bergantung pada apakah aplikasi Anda menggunakan tema berbasis Material 3 atau XML.
Aplikasi yang menggunakan Material 3
Untuk aplikasi yang menggunakan Material 3, Anda dapat memanggil the
setTheme()
metode untuk menerapkan tema kustom ke aktivitas, seperti yang ditunjukkan dalam cuplikan kode berikut:
Kotlin
import com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity ... OssLicensesMenuActivity.setTheme(lightColorScheme, darkColorScheme, typography) startActivity(Intent(this, OssLicensesMenuActivity::class.java))
Java
import com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity; ... OssLicensesMenuActivity.setTheme(lightColorScheme, darkColorScheme, typography); startActivity(new Intent(this, OssLicensesMenuActivity.class));
Aplikasi yang menggunakan tema XML
Untuk aplikasi yang menggunakan tema XML, Anda dapat menerapkan tema ke aktivitas dalam manifes agar sesuai dengan tema yang digunakan dalam aktivitas lain aplikasi Anda. Untuk melakukannya,
sertakan aktivitas lisensi open source dalam elemen <activity> dalam 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.v2.OssLicensesMenuActivity" tools:replace="android:theme" android:theme="@style/AppTheme" /> </application>
Cara daftar lisensi ditentukan
Pada waktu kompilasi, plugin Gradle memindai dependensi POM project aplikasi Anda. Jika Maven POM ada untuk dependensi langsung aplikasi, plugin
memproses setiap <licenses>
elemen dan menyematkan link dan judul setiap lisensi dalam aset Android yang
disertakan dengan aplikasi Anda.