يمكنك استخدام Google Ad Manager SOAP API لإنشاء تطبيقات تدير المساحات الإعلانية المتاحة، وتنشئ الطلبات، وتستخرج التقارير، وغير ذلك.
لمساعدتك في البدء، نوفّر مكتبات برامج للغات Java و.NET وPython وPHP وRuby.
لإرسال أول طلب بيانات من واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
الحصول على إذن وصول إلى شبكة في "إدارة إعلانات Google"
إذا لم يكن لديك حساب، يمكنك الاشتراك في حساب على "إدارة إعلانات Google". يمكنك أيضًا إنشاء شبكة اختبار إذا أردت اختبار واجهة برمجة التطبيقات في بيئة منفصلة. يُرجى العِلم أنّك لست بحاجة إلى حساب على AdSense لأغراض الاختبار.
دوِّن رمز الشبكة. يمكنك العثور عليه في عنوان URL عند تسجيل الدخول
إلى شبكتك. على سبيل المثال، في عنوان URL
https://admanager.google.com/1234#home، يكون 1234 هو رمز الشبكة.
إنشاء بيانات اعتماد للمصادقة
يجب مصادقة جميع طلبات بيانات من واجهة برمجة التطبيقات SOAP في "مدير إعلانات Google" باستخدام OAuth 2.0. تتناول الخطوات التالية حالة استخدام الوصول إلى بياناتك في "مدير إعلانات Google". لمزيد من التفاصيل والخيارات الأخرى، يُرجى الاطّلاع على المصادقة.
من قائمة المشروع، اختَر إنشاء مشروع، وأدخِل اسمًا للمشروع، وعدِّل رقم تعريف المشروع المقدَّم إذا أردت. انقر على إنشاء.
في صفحة "بيانات الاعتماد"، اختَر إنشاء بيانات اعتماد، ثم اختَر مفتاح حساب الخدمة.
اختَر حساب خدمة جديد واختَر
JSONكنوع المفتاح.انقر على إنشاء لتنزيل ملف يحتوي على مفتاح خاص.
ضبط إعدادات شبكة "إدارة الإعلانات"
سجِّل الدخول إلى "إدارة إعلانات Google".
في الشريط الجانبي، انقر على المشرف > الإعدادات العامة.
ضمن الإعدادات العامة > الوصول إلى واجهة برمجة التطبيقات، انقر على شريط التمرير لضبطه على مفعَّل.
انقر على الزر حفظ في أسفل الصفحة.
إعداد العميل
نزِّل إحدى مكتبات برامج "إدارة إعلانات Google". وتوفّر المكتبات دوال وميزات تضمينية تسهّل تطوير التطبيقات وتسرّع العملية.
توفّر علامات التبويب التالية أدلة سريعة للترميز بكل لغة من اللغات التي تتوفّر لها مكتبة برامج.
جافا
في ما يلي مثال أساسي يوضّح كيفية استخدام مكتبة برامج 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.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 مع الإصدار 3.6 من Python والإصدارات الأحدث. لمزيد من المعلومات التفصيلية حول الاستخدام، يُرجى الرجوع إلى ملف README في توزيع مكتبة البرامج.
- ثبِّت المكتبة وأعِدّ بيانات الاعتماد.
نفِّذ الأوامر التالية في واجهة الأوامر:
python3 -m pip install googleadscurl 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='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.
-
ثبِّت المكتبة وأعِدّ بيانات الاعتماد.
نفِّذ الأوامر التالية في واجهة برمجية لتثبيت مكتبة البرامج وتنزيل ملف adsapi_php.ini إلى الدليل الرئيسي:
composer require googleads/googleads-php-libcurl 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\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
- إنشاء مشروع جديد
افتح Visual Studio وأنشئ مشروعًا جديدًا (تطبيق وحدة التحكّم).
- إضافة مراجع المكتبة المطلوبة إلى مشروعك
أضِف تبعية 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 على الويكي.
Ruby
في ما يلي مثال أساسي يوضّح كيفية استخدام مكتبة عملاء Ruby. تتطلّب مكتبة برامج Ruby توفّر الإصدار 2.1 أو الإصدارات اللاحقة من Ruby.
-
ثبِّت Ruby gem واحصل على ملف الإعداد.
نفِّذ الأوامر التالية في واجهة الأوامر:
gem install google-dfp-apicurl 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, :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.
الخطوات التالية
عندما تكون لديك مكتبة عملاء جاهزة للاستخدام، يمكنك تعديل الأمثلة المقدَّمة لتوسيع نطاقها بما يتناسب مع احتياجاتك.
تصفَّح المستندات المرجعية لمزيد من المعلومات حول واجهة برمجة التطبيقات.
إذا كنت بحاجة إلى المساعدة، يُرجى الانتقال إلى صفحة الدعم.