ओपन सोर्स नोटिस शामिल करें

Google Play services में, कभी-कभी ओपन सोर्स लाइब्रेरी शामिल होती हैं या वे उन पर निर्भर होती हैं. ओपन सोर्स लाइब्रेरी के लाइसेंस से जुड़ी ज़रूरी शर्तों का पालन करने के लिए, डेवलपर के तौर पर उन ओपन सोर्स लाइब्रेरी की सूचनाओं को सही तरीके से दिखाने की ज़िम्मेदारी आपकी होती है जिनका इस्तेमाल आपके ऐप्लिकेशन में होता है.

Google Play services में, ऐसे टूल का सेट शामिल है जिन्हें डेवलपर को अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली लाइब्रेरी के ओपन सोर्स सॉफ़्टवेयर नोटिस को दिखाने का आसान तरीका दिया गया है. इन टूल में से एक ऐसा Gradle प्लग इन है जो शामिल की गई लाइब्रेरी से लाइसेंस की शर्तें इकट्ठा करता है, जैसा कि उनकी POM फ़ाइलों में बताया गया है और एक गतिविधि बनाता है जिसका इस्तेमाल इन शर्तों को दिखाने के लिए किया जा सकता है. टूल को लाइसेंस और पैकेज की जानकारी कैसे मिलती है, इस बारे में ज़्यादा जानें.

Gradle प्लग इन जोड़ें

अपने रूट-लेवल की बिल्ड फ़ाइल में, ये करें:

  1. Google Maven का डेटा स्टोर करने की जगह शामिल करें.
  2. अपनी डिपेंडेंसी में 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 एसेट में मौजूद हर लाइसेंस का लिंक और शीर्षक एम्बेड करता है.