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 lebih mudah untuk menyampaikan pemberitahuan software open source tentang library yang digunakan dalam aplikasi mereka. Salah satu alat ini adalah plugin Gradle yang mengumpulkan istilah lisensi dari library yang disertakan, seperti yang dideklarasikan dalam file POM, dan membuat aktivitas yang dapat digunakan untuk menampilkan istilah ini. Pelajari lebih lanjut cara alat ini menemukan dan memaketkan informasi lisensi.
Menambahkan plugin Gradle
Dalam file build level root, lakukan hal berikut:
- Sertakan repositori Maven Google.
- Tambahkan plugin
oss-licenses
ke dependensi Anda.
Cuplikan kode berikut menunjukkan langkah-langkah tersebut:
DSL Kotlin
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") } }
DSL Asyik
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' } }
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 Asyik
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 ke aplikasi
Di bagian dependencies
file build level aplikasi, tambahkan dependensi pada library oss-licenses
:
DSL Kotlin
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.0.1")
DSL Asyik
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'
Tampilkan informasi lisensi
Saat aplikasi dibuat, 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
di titik yang sesuai
dalam 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 ini menampilkan daftar library open source yang dikompilasi ke dalam aplikasi, termasuk library yang merupakan bagian dari layanan Google Play, seperti yang ditunjukkan pada gambar 1. Pengguna dapat mengetuk nama library untuk melihat informasi lisensi tambahan library tersebut.
Gambar 1. Aktivitas menu lisensi menampilkan daftar library open source yang dapat dipilih dan digunakan oleh 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 dalam
aktivitas lain aplikasi. Untuk melakukannya, sertakan aktivitas lisensi open source pada 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.OssLicensesMenuActivity" android:theme="@style/AppTheme" /> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesActivity" android:theme="@style/AppTheme" /> </application>
Cara penentuan daftar lisensi
Pada waktu kompilasi, plugin Gradle akan memindai dependensi POM project aplikasi
Anda. Jika POM Maven ada untuk dependensi langsung aplikasi, plugin
akan memproses setiap elemen <licenses>
serta menyematkan link dan judul setiap lisensi dalam aset Android yang
disertakan dalam aplikasi Anda.