Materialien

Mit der Google Ads API Bill of Materials (BOM) werden Abhängigkeitsversionen verwaltet, um Abhängigkeitskonflikte mit Bibliotheken wie Guava und GAX zu vermeiden, die auch von anderen Frameworks verwendet werden. Die BOM sorgt dafür, dass Sie genau die Versionen dieser Abhängigkeiten verwenden, die mit der Google Ads-Clientbibliothek getestet wurden.

Dies ist die empfohlene Methode zum Verwenden der Clientbibliotheksartefakte.

Maven-Konfiguration

Fügen Sie die BOM zu <dependencyManagement> hinzu und deklarieren Sie google-ads in der Datei 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>46.1.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>

Gradle-Konfiguration

In Gradle 5.0 und höher wird das Importieren einer BOM mithilfe von platform() nativ unterstützt.

In Groovy DSL (build.gradle):

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

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

In Kotlin DSL (build.gradle.kts):

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

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

Von der Stückliste abgedeckte Abhängigkeiten deklarieren

Die Google Ads API-BOM umfasst die Versionsverwaltung für mehrere gängige Bibliotheken wie Guava, Protobuf, GAX und gRPC. Um potenzielle Abhängigkeitskonflikte zu vermeiden, dürfen Sie keine Version angeben, wenn Sie Abhängigkeiten deklarieren, die von der Stückliste abgedeckt werden. Die BOM verwaltet automatisch die Versionen dieser Bibliotheken und sorgt so für Kompatibilität.

Wenn Sie beispielsweise die Guava-Abhängigkeit in Maven deklarieren möchten, verwenden Sie Folgendes:

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

In der Gradle Groovy DSL (build.gradle):

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

In der Gradle Kotlin DSL (build.gradle.kts):

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

Wenn Sie die Version weglassen, wird sie von der BOM verwaltet. So lassen sich Probleme vermeiden, die durch inkompatible Abhängigkeitsversionen verursacht werden. Häufige Indikatoren für Abhängigkeitskonflikte sind NoSuchMethodError oder ClassNotFoundException. Diese können oft behoben werden, indem sichergestellt wird, dass für alle BOM-verwalteten Abhängigkeiten keine Version angegeben ist.