מתחילים

אתם יכולים להשתמש ב-Google Ad Manager SOAP API כדי ליצור אפליקציות שמנהלות מלאי שטחי פרסום, יוצרות הזמנות, שולפות דוחות ועוד.

כדי לעזור לכם להתחיל, אנחנו מציעים ספריות לקוח ל-Java, ל-‎.NET, ל-Python, ל-PHP ול-Ruby.

כדי לשלוח את בקשת ה-API הראשונה, פועלים לפי השלבים הבאים:

קבלת גישה לרשת ב-Ad Manager

אם עדיין אין לכם חשבון, אתם יכולים להירשם לחשבון Ad Manager. אפשר גם ליצור רשת בדיקה אם רוצים לבדוק את ה-API בסביבה נפרדת. שימו לב שלא צריך חשבון AdSense למטרות בדיקה.

חשוב לשים לב לקוד של הרשת. אפשר למצוא אותו בכתובת ה-URL כשנכנסים לרשת. לדוגמה, בכתובת ה-URL https://admanager.google.com/1234#home, ‏1234 הוא קוד הרשת שלכם.

יצירת פרטי כניסה לאימות

צריך לאמת את כל הבקשות ל-Ad Manager SOAP API באמצעות OAuth 2.0. השלבים הבאים מתייחסים לתרחיש לדוגמה של גישה לנתונים שלכם ב-Ad Manager. לפרטים נוספים ולאפשרויות אחרות, ראו אימות.

  1. פותחים את הדף Credentials ב-Google API Console.

  2. בתפריט הפרויקט, בוחרים באפשרות Create project, מזינים שם לפרויקט ומשנים את מזהה הפרויקט שמופיע (אם רוצים). לוחצים על יצירה.

  3. בדף Credentials (פרטי כניסה), בוחרים באפשרות Create credentials (יצירת פרטי כניסה) ואז באפשרות Service account key (מפתח של חשבון שירות).

  4. בוחרים באפשרות New service account (חשבון שירות חדש) ובוחרים באפשרות JSON כסוג המפתח.

  5. לוחצים על Create כדי להוריד קובץ שמכיל מפתח פרטי.

הגדרת רשת Ad Manager

  1. נכנסים לחשבון Google Ad Manager.

  2. בסרגל הצד, לוחצים על אדמין > הגדרות גלובליות.

  3. בקטע הגדרות כלליות > גישת API, לוחצים על פס ההזזה כדי להעביר אותו למצב מופעל.

  4. לוחצים על הכפתור שמירה בתחתית הדף.

הגדרת מינוי לקוח

מורידים אחת מספריות הלקוח של Ad Manager. הספריות כוללות פונקציות ותכונות של wrapper שמקלות על פיתוח אפליקציות ומזרזות אותו.

בכרטיסיות הבאות מופיעות מדריכי התחלה מהירה לקידוד בכל אחת מהשפות שיש להן ספריית לקוח.

Java

הנה דוגמה בסיסית שמראה איך להשתמש בספריית לקוח Java. למידע מפורט יותר על השימוש, אפשר לעיין בקובץ README בהפצה של ספריית הלקוח.

  1. הגדרת פרטי הכניסה

    מריצים את הפקודה הבאה במעטפת:

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
    פותחים את הקובץ ~/ads.properties וממלאים את השדות הבאים:
    [...]
    api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE
    api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE
    api.admanager.networkCode=INSERT_NETWORK_CODE_HERE
    [...]
  2. ציון יחסי תלות

    עורכים את קובץ pom.xml ומוסיפים את הפרטים הבאים לתג dependencies. מספר הגרסה העדכנית מופיע ב- Github.

    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>ads-lib</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>dfp-axis</artifactId>
      <version>RELEASE</version>
    </dependency>
  3. כדאי לכתוב קוד ולשלוח בקשה!

    import com.google.api.ads.common.lib.auth.OfflineCredentials;
    import com.google.api.ads.common.lib.auth.OfflineCredentials.Api;
    import com.google.api.ads.admanager.axis.factory.AdManagerServices;
    import com.google.api.ads.admanager.axis.v202608.Network;
    import com.google.api.ads.admanager.axis.v202608.NetworkServiceInterface;
    import com.google.api.ads.admanager.lib.client.AdManagerSession;
    import com.google.api.client.auth.oauth2.Credential;
    
    public class App {
      public static void main(String[] args) throws Exception {
        Credential oAuth2Credential = new OfflineCredentials.Builder()
            .forApi(Api.AD_MANAGER)
            .fromFile()
            .build()
            .generateCredential();
    
        // Construct an AdManagerSession.
        AdManagerSession session = new AdManagerSession.Builder()
            .fromFile()
            .withOAuth2Credential(oAuth2Credential)
            .build();
    
        // Construct a Google Ad Manager service factory, which can only be used once per
        // thread, but should be reused as much as possible.
        AdManagerServices adManagerServices = new AdManagerServices();
    
        // Retrieve the appropriate service
        NetworkServiceInterface networkService = adManagerServices.get(session,
            NetworkServiceInterface.class);
    
        // Make a request
        Network network = networkService.getCurrentNetwork();
    
        System.out.printf("Current network has network code '%s' and display" +
            " name '%s'.%n", network.getNetworkCode(), network.getDisplayName());
      }
    }

Python

הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של Python. ספריית הלקוח של Python תומכת ב-Python מגרסה 3.6 ואילך. למידע מפורט יותר על השימוש, אפשר לעיין בקובץ README בהפצה של ספריית הלקוח.

  1. מתקינים את הספרייה ומגדירים את פרטי הכניסה.

    מריצים את הפקודות הבאות במעטפת:

    python3 -m pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \
         -o ~/googleads.yaml
  2. מגדירים את הקובץ ~/googleads.yaml.

    ממלאים את השדות הבאים:

    ad_manager:
      application_name: INSERT_APPLICATION_NAME_HERE
      network_code: INSERT_NETWORK_CODE_HERE
      path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
  3. מריצים קוד ושולחים בקשה.
    # Import the library.
    from googleads import ad_manager
    
    # Initialize a client object, by default uses the credentials in ~/googleads.yaml.
    client = ad_manager.AdManagerClient.LoadFromStorage()
    
    # Initialize a service.
    network_service = client.GetService('NetworkService', version='v202608')
    
    # Make a request.
    current_network = network_service.getCurrentNetwork()
    
    print("Current network has network code '%s' and display name '%s'." %
            (current_network['networkCode'], current_network['displayName']))

PHP

הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של PHP.

  1. מתקינים את הספרייה ומגדירים את פרטי הכניסה.

    מריצים את הפקודות הבאות בשורת פקודה כדי להתקין את ספריית הלקוח ולהוריד את הקובץ adsapi_php.ini לספריית הבית:

    composer require googleads/googleads-php-lib
    curl https://raw.githubusercontent.com/googleads/googleads-php-lib/main/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
  2. מגדירים את קובץ ~/adsapi_php.ini.

    ממלאים את השדות הבאים:

    [AD_MANAGER]
    networkCode = "INSERT_NETWORK_CODE_HERE"
    applicationName = "INSERT_APPLICATION_NAME_HERE"
    
    [OAUTH2]
    jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
    scopes = "https://www.googleapis.com/auth/dfp"
  3. מריצים קוד ושולחים בקשה!
    <?php
    require 'vendor/autoload.php';
    use Google\AdsApi\AdManager\AdManagerSession;
    use Google\AdsApi\AdManager\AdManagerSessionBuilder;
    use Google\AdsApi\AdManager\v202608\ApiException;
    use Google\AdsApi\AdManager\v202608\ServiceFactory;
    use Google\AdsApi\Common\OAuth2TokenBuilder;
    
    // Generate a refreshable OAuth2 credential for authentication.
    $oAuth2Credential = (new OAuth2TokenBuilder())
        ->fromFile()
        ->build();
    // Construct an API session configured from a properties file and the OAuth2
    // credentials above.
    $session = (new AdManagerSessionBuilder())
        ->fromFile()
        ->withOAuth2Credential($oAuth2Credential)
        ->build();
    
    // Get a service.
    $serviceFactory = new ServiceFactory();
    $networkService = $serviceFactory->createNetworkService($session);
    
    // Make a request
    $network = $networkService->getCurrentNetwork();
    printf(
        "Network with code %d and display name '%s' was found.\n",
        $network->getNetworkCode(),
        $network->getDisplayName()
    );

‎.NET

הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של ‎.NET

  1. יצירת פרויקט חדש

    פותחים את Visual Studio ויוצרים פרויקט חדש (Console Application).

  2. הוספה של הפניות לספריות הנדרשות לפרויקט

    מוסיפים תלות ב-NuGet עבור Google.Dfp.

  3. הגדרת הקובץ App.config

    מעתיקים את הקובץ src\App.config לתיקיית הפרויקט ומוסיפים אותו לפרויקט. אם לאפליקציה שלכם יש קובץ App.config משלה, אתם יכולים להעתיק את הצמתים הבאים לקובץ App.config:

    • configuration/AdManagerApi
    • configuration/configSections/section[name="AdManagerApi"]
    • configuration/system.net
  4. הגדרת פרטי כניסה

    פותחים את הקובץ App.config ועורכים את המפתחות הבאים:

    <add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" />
    <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" />
    <add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
    <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
  5. איך מתקשרים לספרייה

    אפשר לקרוא לספרייה כמו בקטע הקוד הבא ב-C#:

    AdManagerUser user = new AdManagerUser();
          using (InventoryService inventoryService = user.GetService<InventoryService>())
                {
                    // Create a statement to select ad units.
                    int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT;
                    StatementBuilder statementBuilder =
                        new StatementBuilder().OrderBy("id ASC").Limit(pageSize);
    
                    // Retrieve a small amount of ad units at a time, paging through until all
                    // ad units have been retrieved.
                    int totalResultSetSize = 0;
                    do
                    {
                        AdUnitPage page =
                            inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement());
    
                        // Print out some information for each ad unit.
                        if (page.results != null)
                        {
                            totalResultSetSize = page.totalResultSetSize;
                            int i = page.startIndex;
                            foreach (AdUnit adUnit in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++,
                                    adUnit.id, adUnit.name);
                            }
                        }
    
                        statementBuilder.IncreaseOffsetBy(pageSize);
                    } while (statementBuilder.GetOffset() < totalResultSetSize);
    
                    Console.WriteLine("Number of results found: {0}", totalResultSetSize);
                }
            

אם אתם לא רוצים להגדיר את פרטי הכניסה בקובץ App.config, תוכלו לעיין במאמר הזה ב-Wiki כדי לקבל מידע על דרכים חלופיות לשימוש במחלקה AdManagerUser. מידע מפורט יותר על השימוש בספריית הלקוח של ‎ .NET זמין בקובץ ה-README . אם רוצים לפתח ב-‎ .NET בלי ספריית הלקוח, אפשר לעיין במאמר בוויקי בנושא NoClientLibrary.

Ruby

הנה דוגמה בסיסית שמראה איך להשתמש בספריית הלקוח של Ruby. ספריית הלקוח של Ruby דורשת Ruby 2.1 ואילך.

  1. מתקינים את Ruby gem ומקבלים את קובץ התצורה.

    מריצים את הפקודות הבאות במעטפת:

    gem install google-dfp-api
    curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/main/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
  2. הגדרת פרטי הכניסה

    ממלאים את שדות החובה בקובץ ~/ad_manager_api.yml. אם עדיין אין לכם קובץ מפתח OAuth2, תצטרכו לפעול לפי השלבים ליצירת פרטי כניסה של OAuth2.

    :authentication:
      :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE
      :application_name: INSERT_APPLICATION_NAME_HERE
      :network_code: INSERT_NETWORK_CODE_HERE
  3. כדאי לכתוב קוד ולשלוח בקשה!
    # Import the library.
    require 'ad_manager_api'
    
    # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default).
    ad_manager = AdManagerApi::Api.new
    
    # Get a service instance.
    network_service = ad_manager.service(:NetworkService, :v202608)
    
    # Make a request.
    network = network_service.get_current_network()
    
    puts "The current network is %s (%d)." %
            [network[:display_name], network[:network_code]]

שלבים מפורטים יותר לתחילת העבודה זמינים בקובץ README שמופץ עם ספריית הלקוח של Ruby. אפשר גם לעיין בספריית הדוגמאות המלאה שלנו ל-Ruby.

השלבים הבאים

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

מידע נוסף על ה-API זמין במאמרי העזרה.

אם דרושה לך עזרה, אפשר להיכנס לדף התמיכה.