ওপেন সোর্স বিজ্ঞপ্তিগুলি অন্তর্ভুক্ত করুন

Google Play পরিষেবা SDK-তে কখনও কখনও ওপেন সোর্স লাইব্রেরি অন্তর্ভুক্ত থাকে বা এর উপর নির্ভর করে। ওপেন সোর্স লাইব্রেরির লাইসেন্সের প্রয়োজনীয়তা মেনে চলার জন্য, একজন ডেভেলপার হিসেবে আপনার অ্যাপ যে ওপেন সোর্স লাইব্রেরি ব্যবহার করে তার নোটিশগুলি যথাযথভাবে প্রদর্শন করার জন্য আপনি দায়ী।

Google Play পরিষেবাগুলিতে এমন কিছু সরঞ্জাম রয়েছে যা ডেভেলপারদের তাদের অ্যাপে ব্যবহৃত লাইব্রেরির ওপেন সোর্স সফ্টওয়্যার (OSS) বিজ্ঞপ্তিগুলি প্রকাশ করার সহজ উপায় প্রদান করে। oss-licenses-plugin এবং Google Play পরিষেবা oss-licenses SDK তাদের POM ফাইলগুলিতে ঘোষিত অন্তর্ভুক্ত লাইব্রেরিগুলি থেকে লাইসেন্সের শর্তাবলী সংগ্রহ করে এবং একটি কার্যকলাপ তৈরি করে যা এই শর্তাবলী প্রদর্শন করতে ব্যবহার করা যেতে পারে। সরঞ্জামটি কীভাবে লাইসেন্সের তথ্য খুঁজে বের করে এবং প্যাকেজ করে সে সম্পর্কে আরও জানুন।

গ্রেডল প্লাগইন যোগ করুন

আপনার প্রকল্প সেটিংসের pluginManagement ব্যবস্থাপনায়, নিম্নলিখিতগুলি করুন:

  1. গুগল ম্যাভেন রিপোজিটরি অন্তর্ভুক্ত করুন।
  2. PluginManagementoss-licenses প্লাগইনটি সমাধান করুন।

নিম্নলিখিত কোড স্নিপেট এই পদক্ষেপগুলি দেখায়:

কোটলিন ডিএসএল

সেটিংস.গ্র্যাডল.কেটিএস

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.10")
      }
    }
  }
}

গ্রুভি ডিএসএল

বিল্ড.গ্রেডল

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.10")
      }
    }
  }
}

আপনার অ্যাপ-লেভেল বিল্ড ফাইলে, ফাইলের উপরে com.android.application প্লাগইনের বিদ্যমান ঘোষণার অধীনে নিম্নলিখিত লাইনটি যোগ করে প্লাগইনটি প্রয়োগ করুন:

কোটলিন ডিএসএল

অ্যাপ/বিল্ড.গ্র্যাডল.কেটিএস

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-এ এই প্লাগইনের কোড দেখতে পারেন।

আপনার অ্যাপে play-services-oss-licenses লাইব্রেরি যোগ করুন।

আপনার অ্যাপ-লেভেল বিল্ড ফাইলের dependencies বিভাগে, play-services-oss-licenses লাইব্রেরিতে একটি নির্ভরতা যোগ করুন:

কোটলিন ডিএসএল

বিল্ড.গ্র্যাডল.কেটিএস

implementation("com.google.android.gms:play-services-oss-licenses:17.4.0")

গ্রুভি ডিএসএল

বিল্ড.গ্রেডল

implementation 'com.google.android.gms:play-services-oss-licenses:17.4.0'

লাইসেন্স তথ্য প্রদর্শন করুন

যখন আপনার অ্যাপ তৈরি হয়, তখন Gradle প্লাগইন লাইসেন্সগুলি প্রক্রিয়া করে এবং আপনার অ্যাপের রিসোর্সে যোগ করে। লাইসেন্সটি সহজেই প্রদর্শনের জন্য, আপনি আপনার অ্যাপের একটি উপযুক্ত স্থানে play-services-oss-licenses লাইব্রেরি দ্বারা সরবরাহিত একটি কার্যকলাপ চালু করতে পারেন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:

কোটলিন

import com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity
...

// When the user selects an option to see the licenses:
startActivity(Intent(this, OssLicensesMenuActivity::class.java))

জাভা

import com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity;
...

// When the user selects an option to see the licenses:
startActivity(new Intent(this, OssLicensesMenuActivity.class));

যখন কার্যকলাপটি চালু করা হয়, তখন এটি আপনার অ্যাপে সংকলিত ওপেন সোর্স লাইব্রেরির একটি তালিকা প্রদর্শন করে, যার মধ্যে অ্যাপ দ্বারা ব্যবহৃত লাইব্রেরিগুলিও অন্তর্ভুক্ত থাকে, যেমনটি চিত্র ১-এ দেখানো হয়েছে। ব্যবহারকারীরা সেই লাইব্রেরির জন্য অতিরিক্ত লাইসেন্স তথ্য দেখতে একটি লাইব্রেরির নামে ট্যাপ করতে পারেন।

একটি ওপেন সোর্স লাইব্রেরির নাম সম্বলিত প্রতিটি উপাদানের তালিকা দৃশ্য

চিত্র ১. লাইসেন্স মেনু অ্যাক্টিভিটি একটি অ্যাপ ব্যবহার করে এমন ওপেন সোর্স লাইব্রেরির একটি নির্বাচনযোগ্য তালিকা দেখায়।

কার্যকলাপের শিরোনাম সেট করুন

ডিফল্টরূপে, প্রদর্শিত কার্যকলাপের শিরোনাম "ওপেন সোর্স লাইসেন্স" থাকে। আপনি setActivityTitle() কল করে কার্যকলাপের শিরোনাম কাস্টমাইজ করতে পারেন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:

কোটলিন

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))

জাভা

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));

কার্যকলাপে একটি থিম প্রয়োগ করুন

আপনার অ্যাপের অন্যান্য অ্যাক্টিভিটিতে ব্যবহৃত থিমের সাথে মিলে আপনি অ্যাক্টিভিটিতে একটি থিম প্রয়োগ করতে পারেন। এটি করার জন্য, আপনার অ্যাপের ম্যানিফেস্ট ফাইলের মধ্যে একটি <activity> উপাদানে ওপেন সোর্স লাইসেন্স অ্যাক্টিভিটি অন্তর্ভুক্ত করুন, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:

<application android:theme="@style/AppTheme" ...>
    <activity
        android:name="com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity"
        tools:replace="android:theme"
        android:theme="@style/AppTheme" />
</application>

লাইসেন্সের তালিকা কীভাবে নির্ধারণ করা হয়

কম্পাইলের সময়, গ্রেডল প্লাগইন আপনার অ্যাপের প্রোজেক্টের POM নির্ভরতা স্ক্যান করে। যখন অ্যাপের সরাসরি নির্ভরতার জন্য একটি Maven POM বিদ্যমান থাকে, তখন প্লাগইনটি প্রতিটি <licenses> উপাদান প্রক্রিয়া করে এবং আপনার অ্যাপের সাথে অন্তর্ভুক্ত একটি Android সম্পদে প্রতিটি লাইসেন্সের লিঙ্ক এবং শিরোনাম এম্বেড করে।