תצורה

ספריית הלקוח של 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();

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