הגדרות אישיות

ספריית הלקוח של Google Ads API ל-PHP כוללת כמה הגדרות אישיות שאפשר להשתמש בהן כדי להתאים אישית את התנהגות הספרייה.

קובץ תצורה

אפשר לשמור את רוב הגדרות התצורה האלה בקובצי ini ולהשתמש בהן כשיוצרים את הלקוחות, לדוגמה google_ads_php.ini.

ה-builders של פרטי הכניסה והלקוח מספקים שיטות 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();

אם לא צוין נתיב תצורה כארגומנט, ה-methods 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();

משתני סביבה של תצורה

אפשר להגדיר חלק מההגדרות באמצעות משתני סביבה בזמן יצירת הלקוחות (רשימת ההגדרות המלאה).

ה-builders של פרטי הכניסה ושל הלקוח מספקים שיטות 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 של שרת ה-proxy שמשמש לחיבור לאינטרנט.
    • [CONNECTION] transport: התחבורה.
    • [CONNECTION] grpcChannelIsSecure: האם ערוץ ה-gRPC מאובטח או לא.
    • [CONNECTION] grpcChannelCredential: פרטי הכניסה של ערוץ ה-gRPC.
    • [CONNECTION] unaryMiddlewares: שכבות הביניים החד-ערוציות.
    • [CONNECTION] streamingMiddlewares: שכבות הביניים לסטרימינג.
    • [CONNECTION] grpcInterceptors: מנטעים של gRPC.

אימות ההגדרות האישיות

הגדרות התצורה נבדקות בזמן יצירת הלקוחות, והמערכת תיצור חריגות אם הן לא תקינות. אלה הכללים:

  1. אסור להגדיר את השדות [OAUTH2] גם למצב Application Mode וגם למצב Service Account Mode בו-זמנית.
  2. צריך להגדיר את [OAUTH2] jsonKeyFilePath ו-[OAUTH2] scopes כשמשתמשים במצב חשבון השירות.
  3. צריך להגדיר את הערכים [OAUTH2] clientId,‏ [OAUTH2] clientSecret ו-[OAUTH2] refreshToken כשמשתמשים במצב Application.
  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 (ראו המדריך transport).
  10. [CONNECTION] grpcChannelIsSecure חייב להיות true אם [CONNECTION] transport לא מוגדר ל-grpc.
  11. אפשר להגדיר את [CONNECTION] grpcChannelCredential רק כשהערך של [CONNECTION] transport הוא grpc.
  12. אפשר להגדיר את [CONNECTION] grpcChannelCredential רק כשהערך של [CONNECTION] grpcChannelIsSecure הוא true.