قائمة المواد

تتولّى قائمة مواد Google Ads API إدارة إصدارات التبعيات لتجنُّب تعارض التبعيات مع المكتبات، مثل Guava وGAX، التي تستخدمها أيضًا أُطر أخرى. تضمن قائمة BOM استخدام الإصدارات المحدّدة من هذه التبعيات التي تم اختبارها مع مكتبة برامج العميل في "إعلانات Google".

هذه هي الطريقة المُقترَحة لاستخدام عناصر مكتبة العميل.

إعدادات 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>42.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:42.0.0')

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

تحديد الاعتماديات التي يغطيها بيان المواد

يتضمّن قائمة مواد البناء (BOM) لواجهة برمجة التطبيقات Google Ads API إدارة الإصدارات للعديد من المكتبات الشائعة، مثل Guava وProtobuf وGAX وgRPC. لتجنُّب حدوث تعارضات محتملة في التبعيات، يجب عدم تحديد إصدار عند تعريف التبعيات التي تغطيها قائمة المواد. تتولّى قائمة المواد تلقائيًا إدارة إصدارات هذه المكتبات، ما يضمن التوافق.

على سبيل المثال، للإعلان عن اعتمادية Guava في Maven، استخدِم ما يلي:

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

وفي Gradle:

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

من خلال حذف رقم الإصدار، يمكنك السماح لقائمة مواد البناء بإدارته، ما يساعد في منع حدوث مشاكل ناتجة عن إصدارات غير متوافقة من التبعيات. تشمل المؤشرات الشائعة لتضارب التبعيات NoSuchMethodError أو ClassNotFoundException، ويمكن غالبًا حلّها من خلال التأكّد من عدم تحديد أي إصدار لجميع التبعيات المُدارة بواسطة BOM.