تتولّى قائمة مواد Google Ads API
(BOM)
إدارة إصدارات التبعيات لتجنُّب تعارض التبعيات مع المكتبات، مثل
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>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
تكون تبعية Gradle على النحو التالي:
// 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'
تحديد الاعتماديات التي يغطيها بيان المواد
يتضمّن مستند مواد البناء لواجهة برمجة التطبيقات Google Ads API إدارة الإصدارات للعديد من المكتبات الشائعة، مثل Guava وProtobuf وGAX وgRPC. لتجنُّب حدوث تعارضات محتملة في الاعتماديات، يجب عدم تحديد إصدار عند تعريف الاعتماديات التي تغطيها قائمة مواد الإنشاء.
تتولّى قائمة BOM إدارة إصدارات هذه المكتبات تلقائيًا، ما يضمن التوافق.
على سبيل المثال، للإعلان عن اعتمادية 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، ويمكن غالبًا حلّها من خلال التأكّد من عدم تحديد إصدار لجميع التبعيات المُدارة بواسطة قائمة المواد.