شامل اعلامیه های منبع باز

سرویس‌های 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")
  }
}

Groovy 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")
}

Groovy DSL

app/build.gradle

plugins {
    id 'com.android.application'
    id 'com.google.android.gms.oss-licenses-plugin'
}

می توانید کد این افزونه را در گیت هاب مشاهده کنید .

کتابخانه را به برنامه خود اضافه کنید

در بخش dependencies در فایل ساخت سطح برنامه، یک وابستگی به کتابخانه oss-licenses اضافه کنید:

Kotlin DSL

build.gradle.kts

implementation("com.google.android.gms:play-services-oss-licenses:17.0.1")

Groovy DSL

build.gradle

implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'

نمایش اطلاعات مجوز

هنگامی که برنامه شما ساخته می شود، افزونه Gradle مجوزها را پردازش می کند و آنها را به منابع برنامه شما اضافه می کند. برای نمایش آسان مجوز، می‌توانید فعالیتی را که توسط کتابخانه play-services-oss-licenses در نقطه مناسبی از برنامه خود ارائه می‌شود راه‌اندازی کنید، همانطور که در قطعه کد زیر نشان داده شده است:

کاتلین

import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
...

// When the user selects an option to see the licenses:
startActivity(Intent(this, OssLicensesMenuActivity::class.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() سفارشی کنید:

کاتلین

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))

جاوا

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 موجود در برنامه شما جاسازی می‌کند.