La nomenclature (BOM) de l'API Google Ads gère les versions des dépendances pour éviter les conflits de dépendances avec des bibliothèques telles que Guava et GAX, qui sont également utilisées par d'autres frameworks. La BOM vous permet d'utiliser les versions exactes de ces dépendances qui ont été testées avec la bibliothèque cliente Google Ads.
Il s'agit de la méthode recommandée pour utiliser les artefacts de la bibliothèque cliente.
Configuration Maven {#maven-configuration}
La dépendance Maven est la suivante :
<!-- 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>
Configuration de Gradle
La dépendance Gradle est la suivante :
// 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'
Déclarer les dépendances couvertes par la BOM
La BOM de l'API Google Ads inclut la gestion des versions pour plusieurs bibliothèques courantes, telles que Guava, Protobuf, GAX et gRPC. Pour éviter d'éventuels conflits de dépendances, vous ne devez pas spécifier de version lorsque vous déclarez des dépendances couvertes par la BOM.
La nomenclature gère automatiquement les versions de ces bibliothèques, ce qui garantit la compatibilité.
Par exemple, pour déclarer la dépendance Guava dans Maven, utilisez ce qui suit :
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
Dans Gradle :
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
En omettant la version, vous laissez la BOM la gérer, ce qui permet d'éviter les problèmes causés par des versions de dépendances incompatibles. Les indicateurs courants de conflits de dépendances incluent NoSuchMethodError ou ClassNotFoundException, qui peuvent souvent être résolus en s'assurant qu'aucune version n'est spécifiée pour toutes les dépendances gérées par BOM.