پیکربندی

کتابخانه سرویس گیرنده 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. در غیر این صورت، فایل google_ads_php.ini در دایرکتوری HOME شما.
$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 : میان افزارهای یکپارچه.
    • [CONNECTION] streamingMiddlewares : میان افزارهای پخش جریانی.
    • [CONNECTION] grpcInterceptors : رهگیرهای gRPC.

اعتبار سنجی پیکربندی

تنظیمات پیکربندی هنگام نمونه‌سازی کلاینت‌ها بررسی می‌شوند و در صورت نامعتبر بودن، استثناها ایجاد می‌شوند. در اینجا قوانین وجود دارد:

  1. فیلدهای [OAUTH2] نباید همزمان برای حالت برنامه و حالت حساب سرویس تنظیم شوند.
  2. هنگام استفاده از حالت حساب سرویس [OAUTH2] scopes [OAUTH2] jsonKeyFilePath و [OAUTH2] باید تنظیم شوند.
  3. [OAUTH2] clientId ، [OAUTH2] clientSecret و [OAUTH2] refreshToken باید هنگام استفاده از Application Mode تنظیم شوند.
  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 باشد.