سرویسهای Google Play گاهی اوقات شامل کتابخانههای منبع باز هستند یا به آن بستگی دارند. برای مطابقت با الزامات مجوز کتابخانه های منبع باز، شما به عنوان یک توسعه دهنده مسئول نمایش مناسب اعلامیه های کتابخانه های منبع بازی هستید که برنامه شما از آنها استفاده می کند.
سرویسهای Google Play مجموعهای از ابزارها را شامل میشود که به توسعهدهندگان راه سادهتری برای بیان اعلانهای نرمافزار منبع باز کتابخانههای مورد استفاده در برنامههایشان ارائه میکنند. یکی از این ابزارها یک پلاگین Gradle است که شرایط مجوز را از کتابخانه های موجود، همانطور که در فایل های POM آنها اعلام شده است، جمع آوری می کند و فعالیتی ایجاد می کند که می تواند برای نمایش این اصطلاحات استفاده شود. درباره نحوه یافتن و بسته بندی اطلاعات مجوز توسط ابزار بیشتر بیاموزید.
افزونه Gradle را اضافه کنید
در فایل بیلد در سطح ریشه، موارد زیر را انجام دهید:
- مخزن Google Maven را در نظر بگیرید.
- افزونه
oss-licenses
را به وابستگی های خود اضافه کنید.
قطعه کد زیر این مراحل را نشان می دهد:
Kotlin DSL
buildscript { repositories { ... google() // maven { url("https://maven.google.com") } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } }
Groovy DSL
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 DSL
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Groovy DSL
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
می توانید کد این افزونه را در گیت هاب مشاهده کنید .
کتابخانه را به برنامه خود اضافه کنید
در بخش dependencies
در فایل ساخت سطح برنامه، یک وابستگی به کتابخانه oss-licenses
اضافه کنید:
Kotlin DSL
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
Groovy DSL
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
نمایش اطلاعات مجوز
هنگامی که برنامه شما ساخته می شود، افزونه Gradle مجوزها را پردازش می کند و آنها را به منابع برنامه شما اضافه می کند. برای نمایش آسان مجوز، میتوانید فعالیتی را که توسط کتابخانه play-services-oss-licenses
در نقطه مناسبی از برنامه خود ارائه میشود راهاندازی کنید، همانطور که در قطعه کد زیر نشان داده شده است:
کاتلین
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity ... // When the user selects an option to see the licenses: startActivity(Intent(this, OssLicensesMenuActivity::class.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 هستند را نمایش می دهد، همانطور که در شکل 1 نشان داده شده است. کاربران می توانند برای مشاهده مجوزهای اضافی روی نام کتابخانه ضربه بزنند. اطلاعات مربوط به آن کتابخانه
شکل 1. فعالیت منوی مجوزها فهرست قابل انتخابی از کتابخانه های منبع باز را نشان می دهد که یک برنامه از آنها استفاده می کند.
عنوان فعالیت را تنظیم کنید
به طور پیش فرض، فعالیت نمایش داده شده دارای عنوان "مجوزهای منبع باز" است. همانطور که در قطعه کد زیر نشان داده شده است، می توانید عنوان فعالیت را با فراخوانی 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.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 موجود در برنامه شما جاسازی میکند.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-09-24 بهوقت ساعت هماهنگ جهانی.