تتضمن خدمات 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
app/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
رائع DSL
app/build.gradle
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.0.1")
رائع DSL
إنشاء
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'
عرض معلومات الترخيص
عندما يتم إنشاء تطبيقك، يعالج مكوّن 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 POM قائمًا على اعتماد مباشر من التطبيق، يعالج المكوّن الإضافي كل عنصر <licenses>
ويتضمّن الرابط وعنوان كل ترخيص في مادة عرض Android المضمّنة في تطبيقك.