تضمين إشعارات البرامج المفتوحة المصدر

تتضمّن "خدمات Google Play" أحيانًا مكتبات مفتوحة المصدر أو تعتمد عليها. للامتثال لمتطلبات ترخيص المكتبات المفتوحة المصدر، عليك بصفتك مطور البرامج مسؤول عن عرض إشعارات التطبيقات المفتوحة ومكتبات المصدر التي يستخدمها تطبيقك.

تتضمّن "خدمات Google Play" مجموعة من الأدوات المصمَّمة لمنح المطوّرين طريقة أسهل للتعبير عن إشعارات البرامج مفتوحة المصدر للمكتبات المستخدمة في تطبيقاتهم. وأحد هذه الأدوات هو مكوّن إضافي من Gradle يجمع بنود الترخيص. من المكتبات المضمَّنة، كما هو موضح في ملفات POM الخاصة بها، وإنشاء النشاط التي يمكن استخدامها لعرض هذه المصطلحات. المزيد من المعلومات حول كيفية عثور الأداة على معلومات ترخيص الحِزم والحِزم

إضافة المكوّن الإضافي Gradle

في ملف الإصدار على مستوى الجذر، نفِّذ ما يلي:

  1. تضمين Google Maven المستودع.
  2. يمكنك إضافة المكوّن الإضافي 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.1.0")

DSL رائعة

build.gradle

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 التي يتضمنها تطبيقك.