কনফিগারেশন

Google Ads API PHP ক্লায়েন্ট লাইব্রেরি বেশ কিছু কনফিগারেশন সেটিংস প্রদান করে যা আপনি লাইব্রেরির আচরণ কাস্টমাইজ করতে ব্যবহার করতে পারেন।

কনফিগারেশন ফাইল

আপনি এই কনফিগারেশন সেটিংসের বেশিরভাগ ini ফাইলে সংরক্ষণ করতে পারেন এবং ক্লায়েন্টদের ইনস্ট্যান্ট করার সময় সেগুলি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, google_ads_php.ini

শংসাপত্র এবং ক্লায়েন্ট নির্মাতা উভয়ই এই ধরনের ফাইল থেকে সেটিংস লোড করার জন্য fromFile পদ্ধতিগুলি প্রদান করে:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

যদি আর্গুমেন্ট হিসাবে কোন কনফিগারেশন ফাইল পাথ দেওয়া না থাকে, তাহলে fromFile পদ্ধতিগুলি ডিফল্ট কনফিগারেশন ফাইল পাথ থেকে লোড হয় যা হল:

  1. GOOGLE_ADS_CONFIGURATION_FILE_PATH নামের পরিবেশ ভেরিয়েবলের মান সেট করা থাকলে।
  2. অন্যথায়, আপনার HOME ডিরেক্টরিতে google_ads_php.ini ফাইলটি।
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

গতিশীল কনফিগারেশন

ক্লায়েন্টদের তাত্ক্ষণিক করার সময় আপনি এই কনফিগারেশন সেটিংস গতিশীলভাবে সেট করতে পারেন।

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->build();

কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবল

ক্লায়েন্টদের ইনস্ট্যান্টিয়েট করার সময় আপনি পরিবেশ ভেরিয়েবল থেকে কিছু কনফিগারেশন সেটিংস সেট করতে পারেন ( বিস্তৃত তালিকা দেখুন)।

শংসাপত্র এবং ক্লায়েন্ট নির্মাতা উভয়ই পরিবেশ ভেরিয়েবল থেকে সেটিংস লোড করার জন্য fromEnvironmentVariables পদ্ধতি থেকে প্রদান করে:

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

কনফিগারেশন ক্ষেত্র

কনফিগারেশন সেটিংস বিভাগগুলিতে সংগঠিত বেশ কয়েকটি ক্ষেত্র সমর্থন করে।

  1. OAuth2TokenBuilder দ্বারা ব্যবহৃত ক্ষেত্রগুলি:
    • অ্যাপ্লিকেশন মোড
      • [OAUTH2] clientId : আপনার OAuth2 ক্লায়েন্ট আইডি।
      • [OAUTH2] clientSecret : আপনার OAuth2 ক্লায়েন্ট সিক্রেট।
      • [OAUTH2] refreshToken : আপনার OAuth2 রিফ্রেশ টোকেন।
    • পরিষেবা অ্যাকাউন্ট মোড
      • [OAUTH2] jsonKeyFilePath : Json কী ফাইল পাথ।
      • [OAUTH2] scopes : স্কোপ।
      • [OAUTH2] impersonatedEmail : ছদ্মবেশী করার ইমেল।
  2. GoogleAdsClientBuilder দ্বারা ব্যবহৃত ক্ষেত্রগুলি:
    • [GOOGLE_ADS] developerToken : API অ্যাক্সেস করার জন্য আপনার ডেভেলপার টোকেন।
    • [GOOGLE_ADS] loginCustomerId : অনুরোধে ব্যবহার করার জন্য অনুমোদিত গ্রাহকের আইডি
    • [GOOGLE_ADS] linkedCustomerId : লিঙ্ক করা গ্রাহক আইডি।
    • [LOGGING] logFilePath : লগিং করার জন্য ফাইল পাথ।
    • [LOGGING] logLevel : লগিং লেভেল।
    • [CONNECTION] proxy : ইন্টারনেট সংযোগের জন্য ব্যবহৃত প্রক্সি সার্ভার URL।
    • [CONNECTION] transport : পরিবহন.
    • [CONNECTION] grpcChannelIsSecure : gRPC চ্যানেল সুরক্ষিত কিনা।
    • [CONNECTION] grpcChannelCredential : gRPC চ্যানেল শংসাপত্র।
    • [CONNECTION] unaryMiddlewares : unary Middlewares.
    • [CONNECTION] streamingMiddlewares : স্ট্রিমিং মিডলওয়্যারস৷
    • [CONNECTION] grpcInterceptors : gRPC ইন্টারসেপ্টর।

কনফিগারেশন বৈধতা

ক্লায়েন্ট ইনস্ট্যান্টিয়েটিং করার সময় কনফিগারেশন সেটিংস চেক করা হয় এবং অবৈধ হলে ব্যতিক্রমগুলি নিক্ষেপ করা হয়। এখানে নিয়ম আছে:

  1. [OAUTH2] ক্ষেত্রগুলি একই সময়ে অ্যাপ্লিকেশন মোড এবং পরিষেবা অ্যাকাউন্ট মোড উভয়ের জন্য সেট করা উচিত নয়৷
  2. পরিষেবা অ্যাকাউন্ট মোড ব্যবহার করার সময় [OAUTH2] jsonKeyFilePath এবং [OAUTH2] scopes সেট করা আবশ্যক।
  3. অ্যাপ্লিকেশন মোড ব্যবহার করার সময় [OAUTH2] clientId , [OAUTH2] clientSecret এবং [OAUTH2] refreshToken অবশ্যই সেট করতে হবে।
  4. [GOOGLE_ADS] developerToken সবসময় সেট করা আবশ্যক।
  5. সেট করা হলে, [GOOGLE_ADS] loginCustomerId এবং [GOOGLE_ADS] linkedCustomerId অবশ্যই ধনাত্মক সংখ্যা হতে হবে।
  6. সেট করা থাকলে, [CONNECTION] proxy একটি বৈধ URL হতে হবে (ফিল্টার FILTER_VALIDATE_URL দেখুন)।
  7. যদি সেট করা থাকে, [LOGGING] logLevel অবশ্যই বড়-অক্ষরে একটি বৈধ PSR লগ লেভেল হতে হবে, যেমন INFO
  8. সেট করা হলে, [CONNECTION] transport অবশ্যই grpc বা rest হতে হবে।
  9. যদি [CONNECTION] transport grpc এ সেট করা থাকে, তাহলে gRPC পরিবহন অবশ্যই পরিবেশ দ্বারা সমর্থিত হবে (গাইড ট্রান্সপোর্ট দেখুন)।
  10. [CONNECTION] grpcChannelIsSecure অবশ্যই true হতে হবে যখন [CONNECTION] transport grpc এ সেট করা না থাকে।
  11. [CONNECTION] grpcChannelCredential শুধুমাত্র তখনই সেট করা যাবে যখন [CONNECTION] transport grpc এ সেট করা থাকে।
  12. [CONNECTION] grpcChannelCredential শুধুমাত্র তখনই সেট করা যাবে যখন [CONNECTION] grpcChannelIsSecure true