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