Google Play services में, कभी-कभी ओपन सोर्स लाइब्रेरी शामिल होती हैं या उन पर निर्भर करता है. ओपन सोर्स लाइब्रेरी की लाइसेंस से जुड़ी ज़रूरी शर्तों का पालन करने के लिए, डेवलपर के तौर पर यह आपकी ज़िम्मेदारी है कि आप अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली ओपन सोर्स लाइब्रेरी की सूचनाओं को सही तरीके से दिखाएं.
Google Play services में टूल का एक सेट शामिल है, जिसे इस तरह से डिज़ाइन किया गया है कि डेवलपर अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली लाइब्रेरी के ओपन सोर्स सॉफ़्टवेयर की सूचनाएं आसानी से ज़ाहिर कर सकें. इनमें से एक टूल Gradle प्लग इन है, जो शामिल की गई लाइब्रेरी से लाइसेंस की शर्तें इकट्ठा करता है, जैसा कि उनकी पीओएम फ़ाइलों में बताया गया है. यह एक ऐसी गतिविधि बनाता है जिसका इस्तेमाल इन शब्दों को दिखाने के लिए किया जा सकता है. इस बारे में ज़्यादा जानें कि टूल, लाइसेंस की जानकारी और पैकेज की जानकारी कैसे ढूंढता है.
Gradle प्लग इन जोड़ना
अपनी रूट-लेवल की बिल्ड फ़ाइल में ये काम करें:
- इसमें Google Maven रिपॉज़िटरी शामिल है.
- अपनी डिपेंडेंसी में
oss-licenses
प्लगिन जोड़ें.
नीचे दिया गया कोड स्निपेट यह तरीका दिखाता है:
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") } }
ग्रूवी डीएसएल
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 डीएसएल
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 डीएसएल
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 ऐसेट में जोड़ता है.