تتضمن خدمات Google Play أحيانًا المكتبات مفتوحة المصدر أو تعتمد عليها. وللامتثال لمتطلبات الترخيص للمكتبات مفتوحة المصدر، تقع على عاتقك بصفتك مطوّر برامج مسؤولية عرض الإشعارات الملائمة للمكتبات مفتوحة المصدر التي يستخدمها تطبيقك.
تتضمن خدمات Google Play مجموعة من الأدوات المصممة لمنح مطوري البرامج طريقة أسهل للتعبير عن إشعارات البرامج مفتوحة المصدر للمكتبات المستخدمة في تطبيقاتهم. إحدى هذه الأدوات عبارة عن مكوّن إضافي في Gradle يعمل على جمع بنود الترخيص من المكتبات المضمّنة، كما هو منصوص عليه في ملفات مدير عمليات الشركاء، وإنشاء نشاط يمكن استخدامه لعرض هذه العبارات. مزيد من المعلومات حول كيفية عثور الأداة على معلومات تراخيص الحزم وحزمتها.
إضافة مكوّن Gradle الإضافي
في ملف الإصدار على مستوى الجذر، نفِّذ ما يلي:
- ويمكنك تضمين مستودع Google Maven.
- أضِف مكوّن
oss-licenses
الإضافي إلى العناصر التابعة لك.
يعرض مقتطف الشفرة التالي الخطوات التالية:
لغة Kotlin DSL
إصدار build.gradle.kts
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 رائعة
إصدار build.gradle
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
إصدار build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.0.0")
موسيقى DSL رائعة
إصدار build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.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 الإضافي تبعيات مدير عمليات الشركاء لمشروع تطبيقك. عند توفّر حزمة Maven POM لاعتمادية مباشرة على التطبيق، يعالج المكوّن الإضافي
كل عنصر من عناصر <licenses>
ويتضمّن الرابط وعنوان كل ترخيص في مادة عرض Android مضمّنة في تطبيقك.