شروع به کار

شما می‌توانید از API SOAP گوگل اد منیجر برای ساخت برنامه‌هایی استفاده کنید که موجودی را مدیریت می‌کنند، سفارش ایجاد می‌کنند، گزارش‌ها را دریافت می‌کنند و موارد دیگر.

برای کمک به شما در شروع کار، ما کتابخانه‌های کلاینت برای جاوا، دات‌نت، پایتون، پی‌اچ‌پی و روبی ارائه می‌دهیم.

برای ایجاد اولین درخواست API خود، این مراحل را دنبال کنید:

به یک شبکه مدیر تبلیغات دسترسی پیدا کنید

اگر هنوز حساب کاربری ندارید، یک حساب مدیریت تبلیغات (Ad Manager) ایجاد کنید. همچنین اگر می‌خواهید API را در یک محیط جداگانه آزمایش کنید، می‌توانید یک شبکه آزمایشی ایجاد کنید. توجه داشته باشید که برای اهداف آزمایشی نیازی به حساب AdSense ندارید.

کد شبکه خود را یادداشت کنید. می‌توانید این کد را هنگام ورود به شبکه خود در URL پیدا کنید. برای مثال، در URL https://admanager.google.com/1234#home ، کد شبکه شما 1234 است.

ایجاد اعتبارنامه‌های احراز هویت

شما باید تمام درخواست‌های Ad Manager SOAP API را با استفاده از OAuth 2.0 تأیید اعتبار کنید. مراحل زیر موارد استفاده از دسترسی به داده‌های Ad Manager خودتان را پوشش می‌دهد. برای جزئیات بیشتر و سایر گزینه‌ها، به تأیید اعتبار مراجعه کنید.

  1. صفحه اعتبارنامه‌های کنسول API گوگل را باز کنید

  2. از منوی پروژه، گزینه ایجاد پروژه را انتخاب کنید، نامی برای پروژه وارد کنید و در صورت تمایل، شناسه پروژه ارائه شده را ویرایش کنید. روی ایجاد کلیک کنید.

  3. در صفحه اعتبارنامه‌ها، گزینه ایجاد اعتبارنامه‌ها و سپس کلید حساب سرویس را انتخاب کنید.

  4. حساب کاربری سرویس جدید (New service account) را انتخاب کنید و نوع کلید (key type) را JSON قرار دهید.

  5. برای دانلود فایلی که حاوی کلید خصوصی است، روی «ایجاد» کلیک کنید.

شبکه مدیریت تبلیغات خود را پیکربندی کنید

  1. وارد مدیریت تبلیغات گوگل شوید .

  2. در نوار کناری، روی مدیریت > تنظیمات کلی کلیک کنید.

  3. در قسمت تنظیمات عمومی > دسترسی به API، روی نوار لغزنده روی Enabled کلیک کنید.

  4. روی دکمه ذخیره در پایین صفحه کلیک کنید.

کلاینت خود را تنظیم کنید

یکی از کتابخانه‌های کلاینت Ad Manager را دانلود کنید. این کتابخانه‌ها توابع و ویژگی‌هایی را ارائه می‌دهند که توسعه برنامه‌ها را آسان‌تر و سریع‌تر می‌کند.

تب‌های زیر، شروع سریع کدنویسی در هر یک از زبان‌هایی که کتابخانه کلاینت برای آنها وجود دارد را ارائه می‌دهند.

Java

در اینجا یک مثال ساده وجود دارد که نحوه استفاده از کتابخانه کلاینت جاوا را نشان می‌دهد. برای اطلاعات بیشتر در مورد نحوه استفاده، به فایل README در توزیع کتابخانه کلاینت مراجعه کنید.

  1. اعتبارنامه‌های خود را تنظیم کنید

    دستور زیر را در یک shell اجرا کنید:

    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

در اینجا یک مثال ساده وجود دارد که نحوه استفاده از کتابخانه کلاینت پایتون را نشان می‌دهد. کتابخانه کلاینت پایتون از پایتون نسخه ۳.۶ به بالا پشتیبانی می‌کند. برای اطلاعات بیشتر در مورد نحوه استفاده، به فایل README در توزیع کتابخانه کلاینت مراجعه کنید.

  1. کتابخانه را نصب کنید و اعتبارنامه‌های خود را تنظیم کنید.

    دستورات زیر را در یک shell اجرا کنید:

    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. ایجاد یک پروژه جدید

    ویژوال استودیو را باز کنید و یک پروژه جدید (Console Application) ایجاد کنید.

  2. منابع کتابخانه مورد نیاز را به پروژه خود اضافه کنید

    یک وابستگی nuget برای Google.Dfp اضافه کنید.

  3. فایل App.config خود را تنظیم کنید

    فایل src\App.config را در دایرکتوری پروژه خود کپی کرده و آن را به پروژه خود اضافه کنید. اگر برنامه شما App.config مخصوص به خود را دارد، می‌توانید گره‌های زیر را در App.config خود کپی کنید:

    • پیکربندی/AdManagerApi
    • پیکربندی/بخش‌های پیکربندی/بخش[name="AdManagerApi"]
    • پیکربندی/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 تنظیم کنید، برای روش‌های جایگزین استفاده از کلاس AdManagerUser به این مقاله ویکی مراجعه کنید. برای اطلاعات بیشتر در مورد استفاده از کتابخانه کلاینت .NET، به فایل README مراجعه کنید. اگر می‌خواهید بدون کتابخانه کلاینت در .NET توسعه دهید، لطفاً به مقاله ویکی NoClientLibrary مراجعه کنید.

Ruby

در اینجا یک مثال ساده وجود دارد که نحوه استفاده از کتابخانه کلاینت روبی را نشان می‌دهد. کتابخانه کلاینت روبی به روبی ۲.۱ یا بالاتر نیاز دارد.

  1. Ruby gem را نصب کنید و فایل پیکربندی را دریافت کنید.

    دستورات زیر را در یک shell اجرا کنید:

    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 که همراه با کتابخانه کلاینت روبی توزیع شده است، بیابید. همچنین، کتابخانه مثال کامل ما برای روبی را بررسی کنید.

مراحل بعدی

وقتی یک کتابخانه کلاینت راه‌اندازی و اجرا کردید، مثال‌های ارائه شده را تغییر دهید تا آنها را مطابق نیازهای خود گسترش دهید.

برای کسب اطلاعات بیشتر در مورد API، مستندات مرجع را مرور کنید.

اگر به کمک نیاز دارید، از صفحه پشتیبانی ما دیدن کنید.