توفر مكتبة عميل 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
من مسار ملف الإعداد التلقائي وهو:
- تمثّل هذه السمة قيمة متغيّر البيئة المُسمّى
GOOGLE_ADS_CONFIGURATION_FILE_PATH
في حال ضبطها. - أو ملف
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();
حقول التهيئة
تدعم إعدادات التهيئة عدة حقول يتم تنظيمها في فئات.
- الحقول التي يستخدمها
OAuth2TokenBuilder
:- وضع التطبيق
[OAUTH2] clientId
: معرِّف عميل OAuth2.[OAUTH2] clientSecret
: سر عميل OAuth2.[OAUTH2] refreshToken
: الرمز المميز لإعادة تحميل OAuth2.
- وضع حساب الخدمة
[OAUTH2] jsonKeyFilePath
: مسار ملف مفتاح Json.[OAUTH2] scopes
: النطاقات.[OAUTH2] impersonatedEmail
: البريد الإلكتروني لانتحال الهوية.
- وضع التطبيق
- الحقول التي يستخدمها
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
التحقق من صحة التهيئة
يتم التحقق من إعدادات التهيئة عند طرح مثيلات البرامج والاستثناءات عند عدم صلاحيتها. وفي ما يلي القواعد:
- يجب عدم تعيين حقلين (
[OAUTH2]
) لكلٍّ من وضع التطبيق ووضع حساب الخدمة في نفس الوقت. - يجب ضبط
[OAUTH2] jsonKeyFilePath
و[OAUTH2] scopes
عند استخدام "وضع حساب الخدمة". - يجب تعيين
[OAUTH2] clientId
و[OAUTH2] clientSecret
و[OAUTH2] refreshToken
عند استخدام وضع التطبيق. - يجب تعيين
[GOOGLE_ADS] developerToken
دائمًا. - في حال الضبط، يجب أن يكون
[GOOGLE_ADS] loginCustomerId
و[GOOGLE_ADS] linkedCustomerId
أرقامًا موجبة. - في حال الضبط، يجب أن يكون
[CONNECTION] proxy
عنوان URL صالحًا (راجِع الفلتر FILTER_VALIDATE_URL). - في حال ضبط السياسة، يجب أن يكون
[LOGGING] logLevel
مستوى صالحًا لسجلّ PSR بالأحرف الكبيرة، مثلINFO
. - وفي حال ضبطها، يجب أن تكون
[CONNECTION] transport
grpc
أوrest
. - في حال ضبط
[CONNECTION] transport
علىgrpc
، يجب أن تكون عملية نقل gRPC متوافقة مع البيئة المحيطة (راجِع الدليل النقل). - يجب أن يكون
[CONNECTION] grpcChannelIsSecure
true
بدون ضبط[CONNECTION] transport
علىgrpc
. - لا يمكن ضبط
[CONNECTION] grpcChannelCredential
إلا عند ضبط[CONNECTION] transport
علىgrpc
. - لا يمكن ضبط
[CONNECTION] grpcChannelCredential
إلا عند ضبط[CONNECTION] grpcChannelIsSecure
علىtrue
.