تتضمّن "خدمات Google Play" أحيانًا مكتبات مفتوحة المصدر أو تعتمد عليها. للالتزام بمتطلبات ترخيص المكتبات المفتوحة المصدر، تقع على عاتقك بصفتك مطوِّرًا مسؤولية عرض الإشعارات المناسبة للمكتبات المفتوحة المصدر التي يستخدمها تطبيقك.
تتضمّن "خدمات Google Play" مجموعة من الأدوات المصمّمة لتزويد المطوّرين بطريقة أسهل للتعبير عن إشعارات البرامج المفتوحة المصدر للمكتبات المستخدَمة في تطبيقاتهم. ومن هذه الأدوات، مكوّن إضافي في Gradle يجمع بنود الترخيص من المكتبات المضمّنة، كما هو موضّح في ملفات POM، وينشئ نشاطًا يمكن استخدامه لعرض هذه البنود. مزيد من المعلومات حول كيفية عثور الأداة على معلومات الترخيص وحزمها
إضافة المكوّن الإضافي Gradle
في ملف الإنشاء على مستوى الجذر، اتّبِع الخطوات التالية:
- أدرِج مستودع Google Maven.
- أضِف المكوّن الإضافي
oss-licenses
إلى المكوّنات التي تعتمد عليها.
يوضِّح مقتطف الرمز التالي هذه الخطوات:
لغة Kotlin المحددة من جهة العميل
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 المحددة من جهة العميل
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' }
يمكنك الاطّلاع على الرمز لهذا المكوّن الإضافي على GitHub.
إضافة المكتبة إلى تطبيقك
في قسم dependencies
من ملف الإنشاء على مستوى التطبيق، أضِف تبعية على مكتبةoss-licenses
:
لغة Kotlin المحددة من جهة العميل
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
في نقطة
مناسبة في تطبيقك، كما هو موضّح في مقتطف الرمز البرمجي التالي:
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));
عند تشغيل هذا النشاط، يعرض قائمة بالمكتبات المفتوحة المصدر التي يتم compiling دمجها في تطبيقك، بما في ذلك المكتبات التي تشكّل جزءًا من خدمات 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 المضمّنة في تطبيقك.