บางครั้งบริการ Google Play มีหรือขึ้นอยู่กับไลบรารีโอเพนซอร์ส ในการปฏิบัติตามข้อกำหนดเกี่ยวกับใบอนุญาตของไลบรารีโอเพนซอร์ส คุณซึ่งเป็น จะต้องแสดงประกาศสำหรับ ไลบรารีแหล่งที่มาที่แอปของคุณใช้
บริการ Google Play มีชุดเครื่องมือที่ออกแบบมาเพื่อให้ การแสดงประกาศซอฟต์แวร์โอเพนซอร์สของไลบรารีที่ใช้ใน แอปของตนได้ หนึ่งในเครื่องมือเหล่านี้คือปลั๊กอิน Gradle ที่รวบรวมข้อกำหนดของใบอนุญาต จากไลบรารีที่รวม ตามที่ประกาศไว้ในไฟล์ POM และสร้าง กิจกรรม ที่ใช้เพื่อแสดงคำเหล่านี้ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่เครื่องมือค้นหา และแพ็กเกจ
เพิ่มปลั๊กอิน Gradle
ในไฟล์บิลด์ระดับราก ให้ทำดังนี้
- รวมถึง Google Maven ที่เก็บ
- เพิ่มปลั๊กอิน
oss-licenses
ไปยังทรัพยากร Dependency
ข้อมูลโค้ดต่อไปนี้จะแสดงขั้นตอนเหล่านี้
Kotlin DSL
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 กรูฟฟี่
buildscript { repositories { ... google() // maven { url "https://maven.google.com" } for Gradle <= 3 } dependencies { ... classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' } }
ในไฟล์บิลด์ระดับแอป ให้ใช้ปลั๊กอินโดยเพิ่มบรรทัดต่อไปนี้
ภายใต้การประกาศที่มีอยู่ของปลั๊กอิน com.android.application
ที่
ด้านบนของไฟล์:
Kotlin DSL
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
DSL กรูฟฟี่
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
คุณสามารถดู สำหรับกรณีนี้ ใน GitHub
เพิ่มไลบรารีลงในแอป
ในส่วน dependencies
ของไฟล์บิลด์ระดับแอป ให้เพิ่มทรัพยากร Dependency ในไลบรารี oss-licenses
ดังนี้
Kotlin DSL
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
DSL กรูฟฟี่
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
แสดงข้อมูลใบอนุญาต
เมื่อคุณสร้างแอป ปลั๊กอิน Gradle จะประมวลผลใบอนุญาตและเพิ่มใบอนุญาตลงใน
ทรัพยากรของแอปคุณ เพื่อให้แสดงใบอนุญาตได้ง่าย คุณสามารถเปิดกิจกรรม
ที่ไลบรารี play-services-oss-licenses
มีให้ที่
ชี้ในแอปของคุณ ดังที่แสดงในข้อมูลโค้ดต่อไปนี้
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));
เมื่อเปิดขึ้น กิจกรรมนี้จะแสดงรายการไลบรารีโอเพนซอร์สที่ ที่คอมไพล์ไว้ในแอปของคุณ รวมถึงไลบรารีที่เป็นส่วนหนึ่งของ Google Play บริการ ดังที่แสดงในรูปที่ 1 ผู้ใช้สามารถแตะชื่อห้องสมุดเพื่อดู ข้อมูลใบอนุญาตเพิ่มเติมสำหรับไลบรารีดังกล่าว
รูปที่ 1 กิจกรรมเมนูใบอนุญาตแสดงรายการเปิดที่เลือกได้ ไลบรารีแหล่งที่มาที่แอปใช้
ตั้งชื่อกิจกรรม
โดยค่าเริ่มต้น กิจกรรมที่แสดงจะมีชื่อว่า "ใบอนุญาตโอเพนซอร์ส" คุณสามารถ
กำหนดชื่อกิจกรรมเองโดยการเรียก
setActivityTitle()
ดังที่แสดงในข้อมูลโค้ดต่อไปนี้
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
ใช้ธีมกับกิจกรรม
คุณสามารถใช้ธีมกับกิจกรรมเพื่อให้ตรงกับธีมที่ใช้ในแอป
กิจกรรมอื่นๆ ในการดำเนินการนี้ ให้ใส่กิจกรรมใบอนุญาตโอเพนซอร์สไว้ใน
องค์ประกอบ <activity>
ภายในไฟล์ Manifest ของแอปตามที่แสดงในข้อมูลต่อไปนี้
ข้อมูลโค้ด:
<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>
วิธีกำหนดรายการใบอนุญาต
ขณะคอมไพล์ ปลั๊กอิน Gradle จะสแกนทรัพยากร Dependency ของ POM ของแอปคุณ
เมื่อมี Maven POM สำหรับทรัพยากร Dependency โดยตรงของแอป
ประมวลผล <licenses>
และฝังลิงก์และชื่อของใบอนุญาต
แต่ละรายการในเนื้อหา Android ที่
ที่รวมอยู่ในแอปของคุณ