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") } }
ग्रूवी डीएसएल
build.gradle
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.0.1")
ग्रूवी डीएसएल
build.gradle
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 प्लग इन आपके ऐप्लिकेशन के प्रोजेक्ट की POM डिपेंडेंसी को स्कैन करता है. जब Maven पीओएम, ऐप्लिकेशन पर सीधे तौर पर निर्भर होता है, तो प्लग इन हर <licenses>
एलिमेंट को प्रोसेस करता है और आपके ऐप्लिकेशन में शामिल Android एसेट में मौजूद हर लाइसेंस का लिंक और शीर्षक एम्बेड करता है.