אפשר להשתמש ב-Google Ad Manager API כדי ליצור אפליקציות שמנהלות מלאי שטחי פרסום, ליצור הזמנות, להפיק דוחות ועוד.
Ad Manager API משתמש ב-SOAP. כדי לעזור לך להתחיל, אנו מציעים לקוח של Java, .NET, Python, PHP ו-Ruby.
כדי ליצור את בקשת ה-API הראשונה, פועלים לפי השלבים הבאים:
קבלת גישה לרשת Ad Manager
אם עדיין אין לך חשבון, נרשמים ל-Ad Manager חשבון. אפשר גם ליצור רשת בדיקה אם רוצים לבדוק את ה-API ליצור סביבה נפרדת. לתשומת ליבך: אין צורך בחשבון AdSense כדי לבצע את הבדיקה למטרות.
צריך לרשום את קוד הרשת. אפשר למצוא את זה בכתובת ה-URL בכניסה לחשבון
לרשת שלך. לדוגמה, בכתובת האתר
קוד הרשת שלך: https://admanager.google.com/1234#home
, 1234
.
יצירת פרטי כניסה לאימות
צריך לאמת את כל הבקשות של Ad Manager API באמצעות OAuth 2.0. השלבים בהמשך אנחנו מסבירים את התרחיש לדוגמה של גישה לנתונים שלכם ב-Ad Manager. אפשר לקרוא פרטים נוספים ואפשרויות נוספות, ראו אימות.
פותחים את Google API Console דף פרטי הכניסה
בתפריט הפרויקט, בוחרים באפשרות Create project, ומזינים שם לפרויקט. פרויקט, ואם רוצים, עורכים את מזהה הפרויקט שסופק. לוחצים על Create.
בדף Credentials, בוחרים באפשרות Create credentials ואז בוחרים מפתח לחשבון השירות.
בוחרים באפשרות שירות חדש. חשבון ובוחרים ב-
JSON
בתור סוג המפתח.לוחצים על יצירה כדי להוריד קובץ שמכיל מפתח פרטי.
הגדרת רשת Ad Manager
נכנסים לחשבון Google Ads. מנהל.
בסרגל הצד, לוחצים על ניהול > הגדרות גלובליות.
בקטע הגדרות כלליות > גישה לממשק ה-API לוחצים על פס ההזזה כדי לבחור באפשרות מופעל.
לוחצים על הלחצן שמירה בחלק התחתון של הדף.
הגדרת הלקוח
מורידים אחת מספריות הלקוח של Ad Manager. ספריות מציעות פונקציות ותכונות של wrapper שבזכותן קל ומהיר יותר לפתח אפליקציות.
בכרטיסיות הבאות ניתן למצוא מדריכים למתחילים בנושא תכנות בכל אחת מהשפות יש ספריית לקוח.
Java
דוגמה בסיסית שמראה איך להשתמש בלקוח Java לספרייה. למידע מפורט יותר על השימוש, קובץ README בהפצה של ספריית הלקוח.
- הגדרת פרטי הכניסה
מריצים את הפקודה הבאה במעטפת:
פותחים את הקובץ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 [...]
-
ציון יחסי תלות
עורכים את הקובץ
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>
-
כותבים קוד ושולחים בקשה!
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.v202408.Network; import com.google.api.ads.admanager.axis.v202408.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 בהפצה של ספריית הלקוח.
- מתקינים את הספרייה ומגדירים את פרטי הכניסה.
מריצים את הפקודות הבאות במעטפת:
pip install googleads
curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \ -o ~/googleads.yaml
- הגדרת קובץ
~/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
-
מריצים קוד ושולחים בקשה.
# 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='v202408') # 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.
-
מתקינים את הספרייה ומגדירים את פרטי הכניסה.
מריצים את הפקודות הבאות במעטפת כדי להתקין את ספריית הלקוח ולהוריד את 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
-
מגדירים את הקובץ
~/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"
-
הפעילו קוד ושלחו בקשה!
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202408\ApiException; use Google\AdsApi\AdManager\v202408\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 ספרייה
- יצירת פרויקט חדש
פותחים את Visual Studio ויוצרים פרויקט חדש (אפליקציית Console).
- הוספת ההפניות הנדרשות לספרייה לפרויקט
מוסיפים תלות קטנה ב-Google.Dfp.
- מגדירים את ה-App.config
מעתיקים את src\App.config לספריית הפרויקט ומוסיפים אותו לפרויקט. אם לאפליקציה יש App.config משלה, אפשר להעתיק את הצמתים הבאים ל-App.config:
- configuration/AdManagerApi
- configuration/configSections/section[name="AdManagerApi"]
- configuration/system.net
- להגדרת פרטי כניסה
פותחים את 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" />
- ביצוע שיחה לספרייה
אפשר לקרוא לספרייה כפי שמוצג בקטע קוד 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, למאמר הוויקי הזה לדרכים חלופיות לשימוש במחלקה AdManagerUser. למידע מפורט יותר על השימוש בספריית הלקוח של .NET, ראו אל README . אם רוצים לפתח ב-NET .ללא ספריית הלקוח, אפשר לעיין NoClientLibrary מאמר ב-wiki.
Ruby
דוגמה בסיסית שמראה איך להשתמש ב-Ruby ספריית לקוח. כדי להשתמש בספריית הלקוח של Ruby נדרשת גרסה 2.1 ואילך של Ruby.
-
מתקינים את ה-gem של Ruby ומקבלים את קובץ התצורה.
מריצים את הפקודות הבאות במעטפת:
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
-
הגדרת פרטי הכניסה
לאכלס את שדות החובה ב
~/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
-
כותבים קוד ושולחים בקשה!
# 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, :v202408) # 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.
לקבלת עזרה נוספת, אפשר להיכנס אל דף התמיכה.