Malzeme Listesi

Google Ads API Malzeme Listesi (BOM), diğer çerçeveler tarafından da kullanılan Guava ve GAX gibi kitaplıklarla bağımlılık çakışmalarını önlemek için bağımlılık sürümlerini yönetir. BOM, bu bağımlılıkların Google Ads istemci kitaplığıyla test edilmiş olan tam sürümlerini kullanmanızı sağlar.

İstemci kitaplığı yapılarını kullanmak için bu yöntem önerilir.

Maven yapılandırması {#maven-configuration}

Maven bağımlılığı şudur:

<!-- 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>41.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 yapılandırması

Gradle bağımlılığı şöyledir:

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

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

BOM kapsamındaki bağımlılıkları bildirme

Google Ads API BOM; Guava, Protobuf, GAX ve gRPC gibi çeşitli yaygın kitaplıklar için sürüm yönetimini içerir. Olası bağımlılık çakışmalarını önlemek için, BOM'un kapsadığı bağımlılıkları bildirirken sürüm belirtmemelisiniz. BOM, bu kitaplıkların sürümlerini otomatik olarak yöneterek uyumluluğu sağlar.

Örneğin, Maven'de Guava bağımlılığını bildirmek için aşağıdakileri kullanın:

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

Gradle'da ise:

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

Sürümü atlayarak, sürümün BOM tarafından yönetilmesine izin verirsiniz. Bu da uyumsuz bağımlılık sürümlerinden kaynaklanan sorunları önlemeye yardımcı olur. Bağımlılık çakışmalarının yaygın göstergeleri arasında NoSuchMethodError veya ClassNotFoundException bulunur. Bu sorunlar genellikle BOM tarafından yönetilen tüm bağımlılıkların sürümünün belirtilmediğinden emin olunarak çözülebilir.