تتضمّن "خدمات 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") } }
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") }
DSL رائعة
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
يمكنك عرض الرمز لهذا الغرض المكون الإضافي على GitHub.
إضافة المكتبة إلى تطبيقك
في القسم dependencies
من ملف الإصدار على مستوى التطبيق، أضِف اعتمادية إلى مكتبة oss-licenses
:
لغة Kotlin DSL
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
DSL رائعة
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 والخدمات كما هو موضح في الشكل 1. يمكن للمستخدمين النقر على اسم المكتبة لعرضها. معلومات ترخيص إضافية لتلك المكتبة.
الشكل 1. يعرض نشاط قائمة التراخيص قائمة قابلة للاختيار ومكتبات المصادر التي يستخدمها التطبيق.
ضبط عنوان النشاط
يحمل النشاط المعروض عنوان "تراخيص البرامج المفتوحة المصدر" تلقائيًا. يمكنك
تخصيص عنوان النشاط من خلال طلب
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
التي يتضمنها تطبيقك.