Dołącz powiadomienia open source

Usługi Google Play czasami zawierają biblioteki open source lub są od nich zależne. Aby zachować zgodność z wymaganiami dotyczącymi licencji bibliotek open source, jest odpowiedzialny za prawidłowe wyświetlanie powiadomień dla otwartych bibliotek źródłowych używanych przez aplikację.

Usługi Google Play obejmują zestaw narzędzi, które dają deweloperom jest łatwiejszy sposób na przekazanie informacji o oprogramowaniu open source używanym w bibliotekach. i aplikacjami. Jednym z tych narzędzi jest wtyczka do Gradle, która zbiera warunki licencji z uwzględnionych bibliotek, zgodnie z zadeklarowaniem w plikach POM, i tworzy aktywność których można użyć do wyświetlenia tych haseł. Dowiedz się więcej o tym, jak to narzędzie znajduje informacji o licencjach i pakietach.

Dodawanie wtyczki Gradle

W głównym pliku kompilacji wykonaj te czynności:

  1. Uwzględnij narzędzie Google Maven .
  2. Dodaj wtyczkę oss-licenses do zależności.

Ten fragment kodu ilustruje te kroki:

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

Świetny 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'
  }
}

W pliku kompilacji na poziomie aplikacji zastosuj wtyczkę, dodając ten wiersz: zgodnie z istniejącą deklaracją wtyczki com.android.application na stronie początku pliku:

Kotlin DSL

app/build.gradle.kts

plugins {
    id("com.android.application")
    id("com.google.android.gms.oss-licenses-plugin")
}

Świetny DSL

app/build.gradle

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

Możesz wyświetlić znajdziesz w serwisie GitHub.

Dodaj bibliotekę do aplikacji

W sekcji dependencies pliku kompilacji na poziomie aplikacji dodaj zależność do biblioteki oss-licenses:

Kotlin DSL

build.gradle.kts

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

Świetny DSL

build.gradle

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

Wyświetl informacje o licencji

Gdy aplikacja się kompiluje, wtyczka do Gradle przetwarza licencje i dodaje je do do zasobów Twojej aplikacji. Aby łatwo wyświetlić licencję, możesz uruchomić działanie które jest dostępne w bibliotece play-services-oss-licenses na odpowiednim w swojej aplikacji, jak widać w tym fragmencie kodu:

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));

Po uruchomieniu wyświetla się lista bibliotek open source, które są skompilowane w aplikację, w tym biblioteki należące do Google Play. jak widać na rysunku 1. Użytkownicy mogą kliknąć nazwę biblioteki, aby ją wyświetlić. dodatkowych informacji o licencji na tę bibliotekę.

Widok listy z każdym elementem zawierającym nazwę oprogramowania open source
biblioteka

Rysunek 1. Aktywność w menu licencji zawiera listę otwartych licencji do wyboru. bibliotek źródłowych używanych przez aplikację.

Ustaw nazwę aktywności

Domyślnie wyświetlana aktywność nosi tytuł „Licencje open source”. Dostępne opcje dostosować tytuł aktywności, dzwoniąc setActivityTitle(), Jak widać w tym fragmencie kodu:

Kotlin

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

Java

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

Zastosuj motyw do aktywności

Do aktywności możesz zastosować motyw, by pasował do motywu używanego w aplikacji inne działania. Aby to zrobić, uwzględnij aktywność związaną z licencją open source w <activity> element w pliku manifestu aplikacji, jak na przykładzie poniżej fragment kodu:

<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>

Sposób określania listy licencji

Podczas kompilowania wtyczka Gradle skanuje zależności POM specyfikacji w projektach AI. Gdy istnieje menedżer Maven dla bezpośredniej zależności aplikacji, wtyczka przetwarza każde <licenses> i umieszcza link oraz tytuł każdej licencji w zasobie Androida, który dostępnych w aplikacji.