با مجموعهها، منظم بمانید ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
SDK های خدمات Google Play گاهی اوقات شامل کتابخانه های منبع باز هستند یا به آنها وابسته هستند. برای مطابقت با الزامات مجوز کتابخانه های منبع باز، شما به عنوان یک توسعه دهنده مسئول نمایش مناسب اعلامیه های کتابخانه های منبع بازی هستید که برنامه شما از آنها استفاده می کند.
سرویسهای Google Play شامل مجموعهای از ابزارهایی است که به توسعهدهندگان راه سادهتری برای بیان اعلانهای نرمافزار منبع باز (OSS) کتابخانههای مورد استفاده در برنامههایشان ارائه میکنند. oss-licenses-plugin و خدمات Google Play oss-licenses SDK شرایط مجوز را از کتابخانه های موجود، همانطور که در فایل های POM آنها اعلام شده است، جمع آوری می کند و فعالیتی ایجاد می کند که می تواند برای نمایش این شرایط استفاده شود. درباره نحوه یافتن و بسته بندی اطلاعات مجوز توسط ابزار بیشتر بیاموزید.
افزونه Gradle را اضافه کنید
در pluginManagement تنظیمات پروژه خود، موارد زیر را انجام دهید:
هنگامی که برنامه شما ساخته می شود، افزونه Gradle مجوزها را پردازش می کند و آنها را به منابع برنامه شما اضافه می کند. برای نمایش آسان مجوز، میتوانید فعالیتی را که توسط کتابخانه play-services-oss-licenses در نقطه مناسبی از برنامه خود ارائه میشود راهاندازی کنید، همانطور که در قطعه کد زیر نشان داده شده است:
کاتلین
importcom.google.android.gms.oss.licenses.OssLicensesMenuActivity...// When the user selects an option to see the licenses:startActivity(Intent(this,OssLicensesMenuActivity::class.java))
جاوا
importcom.google.android.gms.oss.licenses.OssLicensesMenuActivity;...// When the user selects an option to see the licenses:startActivity(newIntent(this,OssLicensesMenuActivity.class));
هنگامی که فعالیت راه اندازی می شود، فهرستی از کتابخانه های منبع باز را که در برنامه شما کامپایل شده اند، از جمله کتابخانه های مورد استفاده برنامه، همانطور که در شکل 1 نشان داده شده است، نمایش می دهد. کاربران می توانند برای مشاهده اطلاعات مجوز اضافی برای آن کتابخانه، روی نام یک کتابخانه ضربه بزنند.
شکل 1. فعالیت منوی مجوزها فهرست قابل انتخابی از کتابخانه های منبع باز را نشان می دهد که یک برنامه از آنها استفاده می کند.
عنوان فعالیت را تنظیم کنید
به طور پیش فرض، فعالیت نمایش داده شده دارای عنوان "مجوزهای منبع باز" است. همانطور که در قطعه کد زیر نشان داده شده است، می توانید عنوان فعالیت را با فراخوانی setActivityTitle() سفارشی کنید:
میتوانید یک طرح زمینه برای فعالیت اعمال کنید تا با طرح زمینه مورد استفاده در سایر فعالیتهای برنامهتان مطابقت داشته باشد. برای انجام این کار، همانطور که در قطعه کد زیر نشان داده شده است، فعالیت مجوز منبع باز را در عنصر <activity> در فایل مانیفست برنامه خود قرار دهید:
در زمان کامپایل، پلاگین Gradle وابستگی های POM پروژه برنامه شما را اسکن می کند. هنگامی که یک Maven POM برای وابستگی مستقیم برنامه وجود دارد، افزونه هر عنصر <licenses> را پردازش میکند و پیوند و عنوان هر مجوز را در دارایی Android موجود در برنامه شما جاسازی میکند.
تاریخ آخرین بهروزرسانی 2025-08-15 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-15 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eGoogle Play services uses open source libraries, requiring developers to display licenses.\u003c/p\u003e\n"],["\u003cp\u003eA Gradle plugin helps by gathering license information and creating an activity to display them.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers need to add the plugin, the library dependency, and launch the provided activity in their app.\u003c/p\u003e\n"],["\u003cp\u003eThe license activity's title and theme can be customized.\u003c/p\u003e\n"],["\u003cp\u003eThe plugin scans POM dependencies to compile the license list, including those used by Google Play services itself.\u003c/p\u003e\n"]]],["Developers must display notices for open-source libraries used in their apps. Google Play services provides a Gradle plugin to streamline this. To use it, include the Google Maven repository and add the `oss-licenses` plugin in the root-level build file. Apply the plugin in the app-level build file and add the `oss-licenses` library as a dependency. The plugin then processes licenses from POM files and creates an activity via `OssLicensesMenuActivity` to display them. Developers can customize the activity's title and theme. The plugin scans direct and transitive dependencies, including those of Google Play services.\n"],null,["Google Play services SDKs sometimes include, or depend upon, open source\nlibraries. To comply with the license requirements of open source libraries, you\nas a developer are responsible for appropriately displaying the notices for the\nopen source libraries that your app uses.\n\nGoogle Play services includes a set of tools designed to give developers an\neasier way to express the open source software (OSS) notices of libraries used\nin their apps. The `oss-licenses-plugin` and the Google Play services\noss-licenses SDK collect license terms from included libraries, as declared in\ntheir POM files, and create an\n[activity](https://developer.android.com/guide/components/activities/intro-activities)\nthat can be used to display these terms. Learn more about\n[how the tool finds and packages license information](#how-licenses-are-determined).\n\nAdd the Gradle plugin\n\nIn your `pluginManagement` of your project settings, do the following:\n\n1. Include the [Google Maven repository](https://developer.android.com/studio/build/dependencies#google-maven).\n2. Resolve the `oss-licenses` plugin in the `PluginManagement`.\n\nThe following code snippet shows these steps: \n\nKotlin DSL\n\nsettings.gradle.kts \n\n```kotlin\npluginManagement {\n repositories {\n ...\n google()\n }\n resolutionStrategy {\n eachPlugin {\n if (requested.id.id == \"com.google.android.gms.oss-licenses-plugin\") {\n useModule(\"com.google.android.gms:oss-licenses-plugin:0.10.6\")\n }\n }\n }\n}\n```\n\nGroovy DSL\n\nbuild.gradle \n\n```groovy\npluginManagement {\n repositories {\n ...\n google()\n }\n resolutionStrategy {\n eachPlugin {\n if (requested.id.id == \"com.google.android.gms.oss-licenses-plugin\") {\n useModule(\"com.google.android.gms:oss-licenses-plugin:0.10.6\")\n }\n }\n }\n}\n```\n\nIn your app-level build file, apply the plugin by adding the following line\nunder the existing declaration of the `com.android.application` plugin at the\ntop of the file: \n\nKotlin DSL\n\napp/build.gradle.kts \n\n```kotlin\nplugins {\n id(\"com.android.application\")\n id(\"com.google.android.gms.oss-licenses-plugin\")\n}\n```\n\nGroovy DSL\n\napp/build.gradle \n\n```groovy\nplugins {\n id 'com.android.application'\n id 'com.google.android.gms.oss-licenses-plugin'\n}\n```\n\nYou can\n[view the code](https://github.com/google/play-services-plugins)\nfor this plugin on GitHub.\n\nAdd the `play-services-oss-licenses` library to your app\n\nIn the `dependencies` section of your app-level build file, add a dependency on\nthe `play-services-oss-licenses` library: \n\nKotlin DSL\n\nbuild.gradle.kts \n\n```kotlin\nimplementation(\"com.google.android.gms:play-services-oss-licenses:17.2.1\")\n```\n\nGroovy DSL\n\nbuild.gradle \n\n```groovy\nimplementation 'com.google.android.gms:play-services-oss-licenses:17.2.1'\n```\n\nDisplay license information\n\nWhen your app builds, the Gradle plugin processes the licenses and adds them to\nyour app's resources. To easily display the license, you can launch an activity\nthat's provided by the `play-services-oss-licenses` library at an appropriate\npoint in your app, as shown in the following code snippet: \n\nKotlin \n\n```kotlin\nimport com.google.android.gms.oss.licenses.OssLicensesMenuActivity\n...\n\n// When the user selects an option to see the licenses:\nstartActivity(Intent(this, OssLicensesMenuActivity::class.java))\n```\n\nJava \n\n```java\nimport com.google.android.gms.oss.licenses.OssLicensesMenuActivity;\n...\n\n// When the user selects an option to see the licenses:\nstartActivity(new Intent(this, OssLicensesMenuActivity.class));\n```\n\nWhen the activity is launched, it displays a list of open source libraries that\nare compiled into your app, including libraries used by the app, as shown in\nfigure 1. Users can tap on the name of a library to view additional license\ninformation for that library.\n\n**Figure 1.** The licenses menu activity shows a selectable list of open source\nlibraries that an app uses.\n\nSet the activity title\n\nBy default, the displayed activity has the title \"Open source licenses\". You can\ncustomize the title of the activity by calling\n[`setActivityTitle()`](/android/reference/com/google/android/gms/oss/licenses/OssLicensesMenuActivity#public-static-void-setactivitytitle-string-title),\nas shown in the following code snippet: \n\nKotlin \n\n```kotlin\nOssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))\n```\n\nJava \n\n```java\nOssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));\n```\n\nApply a theme to the activity\n\nYou can apply a theme to the activity to match the theme used in your app's\nother activities. To do so, include the open source license activity in an\n`\u003cactivity\u003e` element within your app's manifest file, as shown in the following\ncode snippet: \n\n```xml\n\u003capplication android:theme=\"@style/AppTheme\" ...\u003e\n \u003cactivity\n android:name=\"com.google.android.gms.oss.licenses.OssLicensesMenuActivity\"\n android:theme=\"@style/AppTheme\" /\u003e\n \u003cactivity\n android:name=\"com.google.android.gms.oss.licenses.OssLicensesActivity\"\n android:theme=\"@style/AppTheme\" /\u003e\n\u003c/application\u003e\n```\n\nHow the list of licenses is determined\n\nAt compile time, the Gradle plugin scans the POM dependencies of your app's\nproject. When a Maven POM exists for a direct dependency of the app, the plugin\nprocesses each [`\u003clicenses\u003e`](https://maven.apache.org/pom.html#Licenses)\nelement and embeds the link and title of each license in an Android asset that's\nincluded with your app.\n| **Note:** The list of licenses also includes the full license text of any library that is depended upon by the transitive closure of Google Play services libraries used by the app. This means that the list includes any open source libraries that are used to create the Google Play services libraries that are compiled into your app."]]