الإعداد

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

ملف الإعداد

يمكنك تخزين معظم إعدادات الضبط هذه في ملفات 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: الرمز المميز للمطوِّر للوصول إلى واجهة برمجة التطبيقات.
    • [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] 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.