Lista materiałów

Zestawienie materiałów (BOM) interfejsu Google Ads API zarządza wersjami zależności, aby uniknąć konfliktów zależności z bibliotekami takimi jak Google Ads API Bill of Materials (BOM) i GAX które są też używane przez inne platformy.Guava BOM zapewnia, że używasz dokładnie tych wersji 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 {#maven-configuration}

Zależność Maven:

<!-- 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>44.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

Zależność Gradle:

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

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

Deklarowanie zależności objętych BOM

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 objętych BOM. BOM automatycznie zarządza wersjami tych bibliotek, zapewniając zgodność.

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

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

A w Gradle:

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.