Lista materiałów

Lista materiałów (BOM) interfejsu Google Ads API zarządza wersjami zależności, aby uniknąć konfliktów zależności z bibliotekami takimi jak Guava i GAX, które są też używane przez inne platformy. Lista materiałów zapewnia, że używasz dokładnych wersji tych zależności, które zostały przetestowane z biblioteką klienta Google Ads.

Jest to zalecany sposób korzystania z artefaktów biblioteki klienta.

Konfiguracja Maven

Dodaj BOM do pliku <dependencyManagement> i zadeklaruj google-ads w pliku pom.xml:

<!-- Import the Bill of Materials (BOM) to ensure you're using compatible
     versions of all google-ads libraries. -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>google-ads-bom</artifactId>
      <version>47.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<!-- Add the google-ads dependency, without a version. The version is
     managed by the BOM. -->
<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
</dependency>

Konfiguracja Gradle

Gradle w wersji 5.0 i nowszych natywnie obsługuje importowanie BOM za pomocą platform().

W Groovy DSL (build.gradle):

// Import the Bill of Materials (BOM).
implementation platform('com.google.api-ads:google-ads-bom:47.0.0')

// Add the google-ads dependency, without a version.
implementation 'com.google.api-ads:google-ads'

W Kotlin DSL (build.gradle.kts):

// Import the Bill of Materials (BOM).
implementation(platform("com.google.api-ads:google-ads-bom:47.0.0"))

// Add the google-ads dependency, without a version.
implementation("com.google.api-ads:google-ads")

Deklarowanie zależności objętych BOM

Lista materiałów (BOM) interfejsu Google Ads API obejmuje zarządzanie wersjami kilku popularnych bibliotek, takich jak Guava, Protobuf, GAX i gRPC. Aby uniknąć potencjalnych konfliktów zależności, nie wolno określać wersji podczas deklarowania zależności, które obejmuje BOM. Zestaw BOM automatycznie zarządza wersjami tych bibliotek, zapewniając zgodność.

Aby na przykład zadeklarować zależność Guava w Mavenie, użyj tego kodu:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <!-- NO VERSION SPECIFIED -->
</dependency>

W Gradle Groovy DSL (build.gradle):

implementation 'com.google.guava:guava' // NO VERSION SPECIFIED

W Gradle Kotlin DSL (build.gradle.kts):

implementation("com.google.guava:guava") // NO VERSION SPECIFIED

Pomijając wersję, pozwalasz BOM zarządzać nią, co pomaga zapobiegać problemom spowodowanym przez niezgodne wersje zależności. Typowe wskaźniki konfliktów zależności to NoSuchMethodError lub ClassNotFoundException. Często można je rozwiązać, upewniając się, że wszystkie zależności zarządzane przez BOM nie mają określonej wersji.