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 sürümlerini kullanmanızı sağlar.

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

Maven yapılandırması

BOM'u <dependencyManagement> dosyasına ekleyin ve google-ads öğesini pom.xml dosyanızda bildirin:

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

Gradle 5.0 ve sonraki sürümlerde, platform() kullanılarak BOM'un yerel olarak içe aktarılması desteklenir.

Groovy DSL'de (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'

Kotlin DSL'de (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")

BOM'da yer alan bağımlılıkları bildirme

Google Ads API BOM, Guava, Protobuf, GAX ve gRPC gibi çeşitli ortak 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 belirtmemeniz gerekir. 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 Groovy DSL'de (build.gradle):

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

Gradle Kotlin DSL'de (build.gradle.kts):

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

Sürümü atlayarak BOM'un sürümü yönetmesine izin verirsiniz. Bu sayede, uyumsuz bağımlılık sürümlerinden kaynaklanan sorunları önleyebilirsiniz. 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.