Google Play services में, कभी-कभी ओपन सोर्स लाइब्रेरी शामिल होती हैं या उन पर निर्भर करता है. ओपन सोर्स लाइब्रेरी की लाइसेंस संबंधी ज़रूरतों का पालन करने के लिए, आपको डेवलपर की यह ज़िम्मेदारी है कि वे ओपन सोर्स लाइब्रेरी का इस्तेमाल करता है.
Google Play services में ऐसे टूल का सेट शामिल है जिन्हें डेवलपर ने में उपयोग की जाने वाली लाइब्रेरी के ओपन सोर्स सॉफ़्टवेयर नोटिस को अभिव्यक्त करने का आसान तरीका उनके ऐप्लिकेशन को ढूंढने में मदद मिलती है. इनमें से एक टूल Gradle प्लगिन है, जो लाइसेंस की शर्तों को इकट्ठा करता है शामिल की गई लाइब्रेरी से, जैसा कि उनकी POM फ़ाइलों में बताया गया है, और गतिविधि जिसका इस्तेमाल इन शर्तों को दिखाने के लिए किया जा सकता है. इस बारे में ज़्यादा जानें कि टूल किस तरह ढूंढता है और पैकेज के लाइसेंस की जानकारी.
Gradle प्लग इन जोड़ना
अपनी रूट-लेवल की बिल्ड फ़ाइल में ये काम करें:
- Google Maven को शामिल करें डेटा स्टोर करने की जगह के लिए.
- अपनी डिपेंडेंसी में
oss-licenses
प्लगिन जोड़ें.
नीचे दिया गया कोड स्निपेट यह तरीका दिखाता है:
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") } }
ग्रूवी डीएसएल
बिल्ड.ग्रेडल
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 डीएसएल
app/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
ग्रूवी डीएसएल
app/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
आप यह देख सकते हैं: इसके लिए कोड GitHub पर प्लगिन नहीं है.
अपने ऐप्लिकेशन में लाइब्रेरी जोड़ना
ऐप्लिकेशन-लेवल की बिल्ड फ़ाइल के dependencies
सेक्शन में, oss-licenses
लाइब्रेरी पर डिपेंडेंसी जोड़ें:
Kotlin डीएसएल
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
ग्रूवी डीएसएल
बिल्ड.ग्रेडल
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 की लाइब्रेरी भी शामिल हैं देखें, जैसा कि पहली इमेज में दिखाया गया है. उपयोगकर्ता किसी लाइब्रेरी को देखने के लिए उसके नाम पर टैप कर सकते हैं उस लाइब्रेरी के लिए अतिरिक्त लाइसेंस जानकारी.
पहला डायग्राम. लाइसेंस मेन्यू में, उन सभी आइटम की सूची दिखती है जिन्हें चुना जा सकता है सोर्स लाइब्रेरी का इस्तेमाल करता है जिन्हें कोई ऐप्लिकेशन इस्तेमाल करता है.
गतिविधि का टाइटल सेट करें
डिफ़ॉल्ट रूप से, दिखाई गई गतिविधि का टाइटल "ओपन सोर्स लाइसेंस" होता है. आप
कॉल करके गतिविधि का टाइटल कस्टमाइज़ करें
setActivityTitle()
जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
गतिविधि में कोई थीम लागू करें
आपके पास अपने ऐप्लिकेशन में इस्तेमाल होने वाली थीम से मैच करने के लिए, गतिविधि में कोई थीम लागू करने का विकल्प होता है
अन्य गतिविधियां. ऐसा करने के लिए, ओपन सोर्स लाइसेंस की गतिविधि
आपके ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में <activity>
एलिमेंट होना चाहिए, जैसा कि यहां दिखाया गया है
कोड स्निपेट:
<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 प्लग इन आपके ऐप्लिकेशन की पीओएम डिपेंडेंसी को स्कैन करता है
प्रोजेक्ट. जब ऐप्लिकेशन की डायरेक्ट डिपेंडेंसी के लिए Maven पीओएम मौजूद होता है, तो प्लगिन
हर <licenses>
को प्रोसेस करती है
और उस Android ऐसेट में हर लाइसेंस के लिंक और टाइटल को एम्बेड करता है जिसे
यह सुविधा, आपके ऐप्लिकेशन में शामिल है.