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

ספריית הלקוח של 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 של הלקוח מספקים שניהם methods של 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.
  3. [GAPIC] useGapicV2Source: האם להשתמש בקוד המקור של GAPIC v2 כשיוצרים לקוחות שירות.

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

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

  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.