Envanteri yöneten, sipariş oluşturan, raporları çeken ve daha fazlasını yapan uygulamalar oluşturmak için Google Ad Manager SOAP API'yi kullanabilirsiniz.
Başlamanıza yardımcı olmak için Java, .NET, Python, PHP ve Ruby için istemci kitaplıkları sunuyoruz.
İlk API isteğinizi göndermek için aşağıdaki adımları uygulayın:
Ad Manager ağına erişme
Henüz bir hesabınız yoksa Ad Manager hesabına kaydolun. API'yi ayrı bir ortamda test etmek istiyorsanız test ağı da oluşturabilirsiniz. Test amacıyla AdSense hesabına ihtiyacınız olmadığını unutmayın.
Ağ kodunuzu not edin. Ağınızda oturum açtığınızda bunu URL'de bulabilirsiniz. Örneğin, https://admanager.google.com/1234#home URL'sinde 1234 ağ kodunuzdur.
Kimlik doğrulama bilgileri oluşturma
Tüm Ad Manager SOAP API isteklerinin kimliğini OAuth 2.0 kullanarak doğrulamanız gerekir. Aşağıdaki adımlarda, kendi Ad Manager verilerinize erişme kullanım alanı ele alınmaktadır. Daha fazla bilgi ve diğer seçenekler için Kimlik doğrulama başlıklı makaleyi inceleyin.
Proje menüsünden Proje oluştur'u seçin, projeye bir ad girin ve isterseniz sağlanan proje kimliğini düzenleyin. Oluştur'u tıklayın.
Kimlik Bilgileri sayfasında Kimlik bilgisi oluştur'u, ardından Hizmet hesabı anahtarı'nı seçin.
Yeni hizmet hesabı'nı seçin ve anahtar türü olarak
JSONsimgesini seçin.Özel anahtar içeren bir dosyayı indirmek için Oluştur'u tıklayın.
Ad Manager ağınızı yapılandırma
Google Ad Manager'da oturum açın.
Kenar çubuğunda Yönetici > Genel ayarlar'ı tıklayın.
Genel ayarlar > API erişimi bölümünde kaydırma çubuğunu Etkin olarak ayarlayın.
Sayfanın alt kısmındaki Kaydet düğmesini tıklayın.
Müşterinizin kurulumunu yapın
Ad Manager istemci kitaplıklarından birini indirin. Kitaplıklar, uygulamaları daha kolay ve hızlı geliştirmeyi sağlayan sarmalayıcı işlevler ve özellikler sunar.
Aşağıdaki sekmelerde, istemci kitaplığı bulunan her dilde kodlamayla ilgili hızlı başlangıç kılavuzları yer alır.
Java
Java istemci kitaplığının nasıl kullanılacağını gösteren temel bir örneği aşağıda bulabilirsiniz. Daha ayrıntılı kullanım bilgileri için istemci kitaplığı dağıtımındaki README dosyasını inceleyin.
- Kimlik bilgilerinizi ayarlama
Bir kabukta aşağıdaki komutu çalıştırın:
curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties~/ads.propertiesdosyasını açın ve aşağıdaki alanları doldurun:[...] api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE api.admanager.networkCode=INSERT_NETWORK_CODE_HERE [...]
-
Bağımlılıkları belirtme
pom.xmldosyanızı düzenleyin vedependenciesetiketine aşağıdakileri ekleyin. En son sürüm numarasını GitHub'da bulabilirsiniz.<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>
-
Kod yazın ve istekte bulunun.
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 istemci kitaplığının nasıl kullanılacağını gösteren temel bir örneği aşağıda bulabilirsiniz. Python istemci kitaplığı, Python v3.6 ve sonraki sürümlerini destekler. Daha ayrıntılı kullanım bilgileri için istemci kitaplığı dağıtımındaki README dosyasını inceleyin.
- Kitaplığı yükleyin ve kimlik bilgilerinizi ayarlayın.
Bir kabukta aşağıdaki komutları çalıştırın:
python3 -m pip install googleadscurl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \ -o ~/googleads.yaml ~/googleads.yamldosyanızı oluşturun.Aşağıdaki alanları doldurun:
ad_manager: application_name: INSERT_APPLICATION_NAME_HERE network_code: INSERT_NETWORK_CODE_HERE path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
-
Kod çalıştırın ve istekte bulunun.
# 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
Aşağıda, PHP istemci kitaplığının nasıl kullanılacağını gösteren temel bir örnek verilmiştir.
-
Kitaplığı yükleyin ve kimlik bilgilerinizi ayarlayın.
İstemci kitaplığını yüklemek ve adsapi_php.ini dosyasını ana dizininize indirmek için bir kabukta aşağıdaki komutları çalıştırın:
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.inidosyanızı ayarlayın.Aşağıdaki alanları doldurun:
[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"
-
Kod çalıştırın ve istekte bulunun.
<?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
Aşağıda, .NET istemci kitaplığının nasıl kullanılacağını gösteren temel bir örnek verilmiştir.
- Yeni proje oluşturma
Visual Studio'yu açın ve yeni bir proje (Console Application) oluşturun.
- Projenize gerekli kitaplık referanslarını ekleme
Google.Dfp için bir NuGet bağımlılığı ekleyin.
- App.config dosyanızı ayarlama
src\App.config dosyasını proje dizininize kopyalayın ve projenize ekleyin. Uygulamanızın kendi App.config dosyası varsa aşağıdaki düğümleri App.config dosyanıza kopyalayabilirsiniz:
- configuration/AdManagerApi
- configuration/configSections/section[name="AdManagerApi"]
- configuration/system.net
- Kimlik bilgilerini ayarlama
App.config dosyasını açın ve aşağıdaki anahtarları düzenleyin:
<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" />
- Kütüphaneyi arama
Kitaplığı aşağıdaki C# kod snippet'inde gösterildiği gibi çağırabilirsiniz.
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); }
Kimlik bilgilerinizi App.config dosyanızda ayarlamak istemiyorsanız AdManagerUser sınıfını kullanmanın alternatif yolları için bu wiki makalesine bakın. .NET istemci kitaplığını kullanma hakkında daha ayrıntılı bilgi için README dosyasına bakın. İstemci kitaplığı olmadan .NET'te geliştirme yapmak istiyorsanız lütfen NoClientLibrary wiki makalesine bakın.
Ruby
Ruby istemci kitaplığının nasıl kullanılacağını gösteren temel bir örneği burada bulabilirsiniz. Ruby istemci kitaplığı için Ruby 2.1 veya sonraki bir sürüm gerekir.
-
Ruby gem'ini yükleyin ve yapılandırma dosyasını alın.
Bir kabukta aşağıdaki komutları çalıştırın:
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 -
Kimlik bilgilerinizi ayarlama
~/ad_manager_api.ymldosyasındaki zorunlu alanları doldurun. Henüz bir OAuth2 anahtar dosyanız yoksa OAuth2 kimlik bilgilerinizi oluşturma adımlarını uygulamanız gerekir.:authentication: :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE :application_name: INSERT_APPLICATION_NAME_HERE :network_code: INSERT_NETWORK_CODE_HERE
-
Kod yazın ve istekte bulunun.
# 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]]
Başlangıçla ilgili daha ayrıntılı adımları, Ruby istemci kitaplığıyla birlikte dağıtılan README dosyasında bulabilirsiniz. Ayrıca Ruby için tam örnek kitaplığımıza da göz atın.
Sonraki adımlar
İstemci kitaplığınız çalışır duruma geldiğinde, sağlanan örnekleri ihtiyaçlarınıza göre genişletecek şekilde değiştirin.
API hakkında daha fazla bilgi edinmek için referans belgelerine göz atın.
Yardıma ihtiyacınız olursa destek sayfamızı ziyaret edin.