গুগল অ্যাডস এপিআই বিল অফ মেটেরিয়ালস (BOM) ডিপেন্ডেন্সি ভার্সনগুলো পরিচালনা করে, যাতে Guava ) এবং GAX এর মতো লাইব্রেরিগুলোর সাথে ডিপেন্ডেন্সি কনফ্লিক্ট এড়ানো যায়, যেগুলো অন্যান্য ফ্রেমওয়ার্কেও ব্যবহৃত হয়। BOM নিশ্চিত করে যে আপনি এই ডিপেন্ডেন্সিগুলোর ঠিক সেই ভার্সনগুলোই ব্যবহার করছেন, যেগুলো গুগল অ্যাডস ক্লায়েন্ট লাইব্রেরির সাথে পরীক্ষা করা হয়েছে।
ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্টগুলো ব্যবহারের জন্য এটিই প্রস্তাবিত পদ্ধতি।
মেভেন কনফিগারেশন {#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>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>
গ্রেডল কনফিগারেশন
গ্রেডল নির্ভরতাটি হলো:
// 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 দ্বারা আচ্ছাদিত নির্ভরতা ঘোষণা করা
Google Ads API BOM-এ Guava , Protobuf , GAX , এবং gRPC মতো বেশ কিছু প্রচলিত লাইব্রেরির জন্য ভার্সন ম্যানেজমেন্ট অন্তর্ভুক্ত রয়েছে। সম্ভাব্য ডিপেন্ডেন্সি দ্বন্দ্ব এড়ানোর জন্য, BOM-এর আওতাভুক্ত ডিপেন্ডেন্সিগুলো ডিক্লেয়ার করার সময় আপনাকে অবশ্যই কোনো ভার্সন উল্লেখ করা থেকে বিরত থাকতে হবে । BOM স্বয়ংক্রিয়ভাবে এই লাইব্রেরিগুলোর ভার্সন ম্যানেজ করে, যা সামঞ্জস্যতা নিশ্চিত করে।
উদাহরণস্বরূপ, Maven-এ Guava ডিপেন্ডেন্সি ডিক্লেয়ার করতে নিম্নলিখিতটি ব্যবহার করুন:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
এবং গ্রেডলে:
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
ভার্সন উল্লেখ না করার মাধ্যমে, আপনি BOM-কে এটি পরিচালনা করতে দেন, যা অসঙ্গত ডিপেন্ডেন্সি ভার্সনের কারণে সৃষ্ট সমস্যা প্রতিরোধ করতে সাহায্য করে। ডিপেন্ডেন্সি দ্বন্দ্বের সাধারণ সূচকগুলির মধ্যে রয়েছে NoSuchMethodError বা ClassNotFoundException , যা প্রায়শই BOM-পরিচালিত সমস্ত ডিপেন্ডেন্সির কোনো ভার্সন নির্দিষ্ট না করার মাধ্যমে সমাধান করা যায়।