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

ספריית הלקוח של 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)
    // ...
    ->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] 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: ה-interceptors של 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] transport לא מוגדר כ-grpc, הערך של [CONNECTION] grpcChannelIsSecure חייב להיות true.
  10. אפשר להגדיר את [CONNECTION] grpcChannelCredential רק אם הערך של [CONNECTION] transport הוא grpc.
  11. אפשר להגדיר את [CONNECTION] grpcChannelCredential רק אם הערך של [CONNECTION] grpcChannelIsSecure הוא true.