يمكنك استخدام Google Ad Manager SOAP API لإنشاء تطبيقات تدير المستودع و تنشئ الطلبات وتسحب التقارير وغير ذلك.
لمساعدتك في البدء، نقدّم لك المكتبات لـ Java، و .NET، وPython، وPHP، وRuby.
لتقديم طلب البيانات من واجهة برمجة التطبيقات الأول، اتّبِع الخطوات التالية:
الوصول إلى شبكة "مدير الإعلانات"
إذا لم يكن لديك حساب، يمكنك الاشتراك في "مدير الإعلانات" الحساب. يمكنك أيضًا إنشاء شبكة اختبار إذا كنت تريد اختبار واجهة برمجة التطبيقات في بيئة منفصلة. تجدر الإشارة إلى أنّك لست بحاجة إلى حساب على AdSense لأغراض الاختبار.
دوِّن رمز الشبكة. يمكنك العثور على هذا الرابط في عنوان URL عند تسجيل الدخول.
إلى شبكتك. على سبيل المثال، في عنوان URL
https://admanager.google.com/1234#home
، 1234
هو رمز الشبكة.
إنشاء بيانات اعتماد المصادقة
يجب مصادقة جميع طلبات SOAP API في "مدير إعلانات Google" باستخدام OAuth 2.0. تشير رسالة الأشكال البيانية تتناول الخطوات التالية حالة استخدام الوصول إلى بياناتك على "مدير إعلانات Google". بالنسبة المزيد من التفاصيل والخيارات الأخرى، راجِع المصادقة.
افتح وحدة التحكم في واجهة Google API. صفحة "بيانات الاعتماد"
من قائمة المشروع، اختَر إنشاء مشروع، وأدخِل اسمًا مشروعك، ويمكنك تعديل رقم تعريف المشروع المقدم. انقر على إنشاء.
في صفحة "بيانات الاعتماد"، اختَر إنشاء بيانات اعتماد، ثم اختَر مفتاح حساب الخدمة.
اختَر حساب خدمة جديدة واختَر
JSON
كنوع المفتاح.انقر على إنشاء لتنزيل ملف يحتوي على مفتاح خاص.
ضبط شبكة "مدير الإعلانات"
سجِّل الدخول إلى "مدير إعلانات Google".
في الشريط الجانبي، انقر على المشرف > الإعدادات العامة:
ضمن الإعدادات العامة > الوصول إلى واجهة برمجة التطبيقات، انقر على شريط التمرير لتفعيل الخيار مفعَّل.
انقر على الزر حفظ في أسفل الصفحة.
إعداد البرنامج
نزِّل إحدى مكتبات عملاء "مدير إعلانات Google". تقدّم المكتبات دوالّ وميزات ملفّات لفّ تجعل تطوير التطبيقات أسهل وأسرع.
توفر علامات التبويب التالية نقاط بدايات سريعة للترميز بكل لغة من اللغات والذي توجد فيه مكتبة برامج.
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.v202505.Network; import com.google.api.ads.admanager.axis.v202505.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 ملف في توزيع مكتبة العملاء.
- ثبِّت المكتبة واضبط بيانات الاعتماد.
شغِّل الأوامر التالية في واجهة Shell:
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='v202505') # 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\v202505\ApiException; use Google\AdsApi\AdManager\v202505\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).
- إضافة المراجع المطلوبة للمكتبة إلى مشروعك
أضِف عنصرًا تابعًا لـ nuget لـ 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، يمكنك الرجوع إلى إلى مقالة wiki هذه للتعرّف على طرق بديلة لاستخدام فئة AdManagerUser. للحصول على معلومات أكثر تفصيلاً عن استخدام مكتبة عملاء .NET، يُرجى الرجوع إلى ملف README . إذا كنت تريد التطوير في .NET بدون مكتبة العملاء، يرجى الرجوع إلى NoClientLibrary من موقع wiki
Ruby
في ما يلي مثال أساسي يوضّح كيفية استخدام مكتبة العميل Ruby. تتطلّب مكتبة عملاء Ruby استخدام Ruby 2.1 أو إصدار أحدث.
-
ثبِّت حِزمة 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, :v202505) # 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.
الخطوات التالية
بعد إعداد مكتبة عملاء وتشغيلها، يمكنك تعديل الأمثلة المقدَّمة ل توسيع نطاقها لتلبية احتياجاتك.
تصفَّح المستندات المرجعية للاطّلاع على مزيد من المعلومات حول واجهة برمجة التطبيقات.
إذا كنت بحاجة إلى المساعدة، يُرجى الانتقال إلى صفحة الدعم.