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 secara tepat untuk library sumber yang digunakan aplikasi Anda.
Layanan Google Play menyertakan serangkaian alat yang dirancang untuk memberikan cara yang lebih mudah untuk mengekspresikan pemberitahuan perangkat lunak {i>open source<i} tentang library yang digunakan aplikasi mereka. Salah satu alat ini adalah plugin Gradle yang mengumpulkan persyaratan lisensi dari library yang disertakan, seperti yang dideklarasikan dalam file POM mereka, 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 halaman Google Maven repositori Anda.
- Tambahkan plugin
oss-licenses
ke dependensi Anda.
Cuplikan kode berikut menunjukkan langkah-langkah ini:
DSL Kotlin
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 Groovy
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
pada deklarasi plugin com.android.application
yang sudah ada di
bagian atas file:
DSL Kotlin
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
DSL Groovy
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Anda dapat melihat kode untuk perintah ini plugin di GitHub.
Menambahkan library ke aplikasi
Di bagian dependencies
pada file build tingkat aplikasi, tambahkan dependensi pada library oss-licenses
:
DSL Kotlin
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
DSL Groovy
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
Menampilkan informasi lisensi
Saat aplikasi Anda dibangun, plugin Gradle memproses lisensi dan menambahkannya ke
untuk resource aplikasi Anda. Agar mudah menampilkan lisensi, Anda dapat meluncurkan aktivitas
yang disediakan oleh library play-services-oss-licenses
di aplikasi Anda, seperti yang ditampilkan 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 Anda, termasuk library yang merupakan bagian dari Google Play seperti yang ditunjukkan pada gambar 1. Pengguna dapat mengetuk nama library untuk melihatnya informasi lisensi tambahan untuk library tersebut.
Gambar 1. Aktivitas menu lisensi menampilkan daftar terbuka library sumber yang digunakan aplikasi.
Tetapkan judul aktivitas
Secara default, aktivitas yang ditampilkan memiliki judul "Lisensi open source". Anda dapat
sesuaikan 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 lainnya. Untuk melakukannya, sertakan aktivitas lisensi open source dalam
<activity>
dalam file manifes aplikasi Anda, seperti yang ditampilkan dalam
cuplikan kode:
<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 menentukan daftar lisensi
Pada waktu kompilasi, plugin Gradle memindai dependensi POM dari
proyek. Saat POM Maven ada untuk dependensi langsung aplikasi, plugin akan
memproses setiap <licenses>
dan menyematkan tautan serta judul setiap lisensi dalam aset Android yang
disertakan dengan aplikasi Anda.