部品構成表

Google Ads API の部品構成表 (BOM) は、他のフレームワークでも使用される GuavaGAX などのライブラリとの依存関係の競合を避けるために、依存関係のバージョンを管理します。BOM を使用すると、Google Ads クライアント ライブラリでテスト済みのこれらの依存関係の正確なバージョンを使用できます。

クライアント ライブラリ アーティファクトを使用する際は、この方法をおすすめします。

Maven の構成 {#maven-configuration}

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>

Gradle 構成

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'

BOM でカバーされる依存関係の宣言

Google Ads API BOM には、GuavaProtobufGAXgRPCなど、いくつかの一般的なライブラリのバージョン管理が含まれています。依存関係の競合を避けるため、BOM でカバーされる依存関係を宣言するときは、バージョンを指定しないでください 。 BOM は、これらのライブラリのバージョンを自動的に管理し、互換性を確保します。

たとえば、Maven で Guava の依存関係を宣言するには、次のようにします。

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

Gradle の場合:

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

バージョンを省略すると、BOM がバージョンを管理するため、互換性のない依存関係のバージョンによって発生する問題を回避できます。依存関係の競合の一般的な指標としては、NoSuchMethodError または ClassNotFoundException があります。これは、BOM で管理されるすべての依存関係にバージョンが指定されていないことを確認することで解決できることがよくあります。