التهيئة

توفّر مكتبة Google Ads API PHP Client Library عدة إعدادات يمكنك استخدامها لتخصيص سلوك المكتبة.

ملف الإعداد

يمكنك تخزين معظم إعدادات الضبط هذه في يمكنك تخزين معظم إعدادات الضبط هذه في 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)
    // ...
    ->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] 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] jsonKeyFilePath و[OAUTH2] scopes عند استخدام "وضع حساب الخدمة".
  3. يجب ضبط [OAUTH2] clientId و[OAUTH2] clientSecret و[OAUTH2] refreshToken عند استخدام "وضع التطبيق".
  4. إذا تم ضبط [GOOGLE_ADS] loginCustomerId و[GOOGLE_ADS] linkedCustomerId، يجب أن يكونا رقمَين موجبَين.
  5. إذا تم ضبط [CONNECTION] proxy، يجب أن يكون عنوان URL صالحًا (راجِع الفلتر FILTER_VALIDATE_URL).
  6. إذا تم ضبط [LOGGING] logLevel، يجب أن يكون مستوى تسجيل PSR صالحًا بأحرف كبيرة، مثل INFO.
  7. إذا تم ضبط [CONNECTION] transport، يجب أن تكون القيمة grpc أو rest.
  8. إذا تم ضبط [CONNECTION] transport على grpc، يجب أن يكون النقل gRPC متوافقًا مع البيئة (راجِع دليل النقل).
  9. يجب أن تكون [CONNECTION] grpcChannelIsSecure هي true عندما لا يتم ضبط [CONNECTION] transport على grpc.
  10. لا يمكن ضبط [CONNECTION] grpcChannelCredential إلا عندما يتم ضبط [CONNECTION] transport على grpc.
  11. لا يمكن ضبط [CONNECTION] grpcChannelCredential إلا عندما تكون [CONNECTION] grpcChannelIsSecure هي true.