Google Play services के SDK टूल में कभी-कभी ओपन सोर्स लाइब्रेरी शामिल होती हैं या उन पर निर्भर होती हैं. ओपन सोर्स लाइब्रेरी के लाइसेंस की ज़रूरी शर्तों का पालन करने के लिए, डेवलपर के तौर पर आपके पास उन ओपन सोर्स लाइब्रेरी के लिए सूचनाएं सही तरीके से दिखाने की ज़िम्मेदारी होती है जिनका इस्तेमाल आपके ऐप्लिकेशन में किया जाता है.
Google Play services में कुछ टूल शामिल हैं. इनकी मदद से, डेवलपर अपने ऐप्लिकेशन में इस्तेमाल की गई लाइब्रेरी के ओपन सोर्स सॉफ़्टवेयर (ओएसएस) की सूचनाएं आसानी से दे सकते हैं. oss-licenses-plugin
और Google Play services के ओएसएस लाइसेंस वाले SDK टूल, शामिल की गई लाइब्रेरी से लाइसेंस की शर्तें इकट्ठा करते हैं. इन शर्तों के बारे में, लाइब्रेरी की POM फ़ाइलों में बताया गया होता है. साथ ही, ये टूल एक ऐसी गतिविधि बनाते हैं जिसका इस्तेमाल इन शर्तों को दिखाने के लिए किया जा सकता है. टूल, लाइसेंस की जानकारी कैसे ढूंढता है और उसे पैकेज में कैसे डालता है, इस बारे में ज़्यादा जानें.
Gradle प्लग इन जोड़ना
प्रोजेक्ट की सेटिंग में जाकर, pluginManagement
में ये काम करें:
- Google Maven का डेटा स्टोर करने की जगह शामिल करें.
PluginManagement
मेंoss-licenses
प्लग इन को ठीक करें.
यहां दिए गए कोड स्निपेट में ये चरण दिखाए गए हैं:
Kotlin डीएसएल
settings.gradle.kts
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
Groovy DSL
build.gradle
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("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") }
Groovy DSL
app/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
GitHub पर इस प्लग इन का कोड देखा जा सकता है.
अपने ऐप्लिकेशन में play-services-oss-licenses
लाइब्रेरी जोड़ना
अपने ऐप्लिकेशन-लेवल की बिल्ड फ़ाइल के dependencies
सेक्शन में, play-services-oss-licenses
लाइब्रेरी पर डिपेंडेंसी जोड़ें:
Kotlin डीएसएल
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
Groovy DSL
build.gradle
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));
गतिविधि शुरू होने पर, यह उन ओपन सोर्स लाइब्रेरी की सूची दिखाती है जिन्हें आपके ऐप्लिकेशन में कॉम्पाइल किया गया है. इसमें, ऐप्लिकेशन में इस्तेमाल की गई लाइब्रेरी भी शामिल हैं, जैसा कि पहला चित्र दिखाता है. उपयोगकर्ता किसी लाइब्रेरी के नाम पर टैप करके, उस लाइब्रेरी के लाइसेंस के बारे में ज़्यादा जानकारी देख सकते हैं.
पहली इमेज. लाइसेंस मेन्यू गतिविधि, उन ओपन सोर्स लाइब्रेरी की सूची दिखाती है जिनका इस्तेमाल कोई ऐप्लिकेशन करता है.
गतिविधि का टाइटल सेट करना
डिफ़ॉल्ट रूप से, दिखाई गई गतिविधि का टाइटल "ओपन सोर्स लाइसेंस" होता है. 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 प्लग इन आपके ऐप्लिकेशन के प्रोजेक्ट की POM डिपेंडेंसी को स्कैन करता है. जब ऐप्लिकेशन की सीधी डिपेंडेंसी के लिए Maven POM मौजूद होता है, तो प्लग इन हर <licenses>
एलिमेंट को प्रोसेस करता है. साथ ही, हर लाइसेंस के लिंक और टाइटल को, आपके ऐप्लिकेशन में शामिल Android ऐसेट में एम्बेड करता है.