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 dirancang untuk memberi developer
cara yang lebih mudah untuk menyatakan pemberitahuan software open source (OSS) library yang digunakan
di aplikasi mereka. oss-licenses-plugin
dan SDK lisensi oss
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
cara alat ini menemukan dan memaketkan informasi lisensi.
Menambahkan plugin Gradle
Di pluginManagement
setelan project, lakukan hal berikut:
- Sertakan repositori Google Maven.
- Selesaikan plugin
oss-licenses
diPluginManagement
.
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") } } } }
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") } } } }
Dalam 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") }
Groovy DSL
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.1.0")
Groovy DSL
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
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, 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 akan menampilkan daftar library open source yang dikompilasi ke dalam aplikasi Anda, termasuk library yang digunakan oleh aplikasi, seperti yang ditunjukkan dalam 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
Anda dapat menerapkan tema ke aktivitas agar cocok dengan tema yang digunakan dalam aktivitas
lain aplikasi Anda. Untuk melakukannya, sertakan aktivitas lisensi open source dalam
elemen <activity>
dalam file manifes aplikasi, 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 akan memindai dependensi POM dari project
aplikasi Anda. Jika POM Maven ada untuk dependensi langsung aplikasi, plugin
akan memproses setiap elemen
<licenses>
dan menyematkan link serta judul setiap lisensi dalam aset Android yang
disertakan dengan aplikasi Anda.