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, Google Ads istemci kitaplığıyla test edilmiş bu bağımlılıkların 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ığı:

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

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

// 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 tarafından kapsanan 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 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 yer alır. 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.