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

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.1.0")

ग्रूवी डीएसएल

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));

लॉन्च किए जाने पर, यह गतिविधि उन ओपन सोर्स लाइब्रेरी की सूची दिखाती है जिन्हें आपके ऐप्लिकेशन में इकट्ठा किए जाने वाले डेटा. इसमें 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 ऐसेट में हर लाइसेंस के लिंक और टाइटल को एम्बेड करता है जिसे यह सुविधा, आपके ऐप्लिकेशन में शामिल है.