सामान्य ट्रैफ़िकिंग टास्क

इस पेज में बताया गया है कि डीसीएम/डीएफ़ए रिपोर्टिंग और ट्रैफ़िकिंग एपीआई का इस्तेमाल करके ट्रैफ़िकिंग के सबसे आम काम कैसे किए जाएं.

कोडिंग से जुड़ी सामान्य सलाह

  • ज़रूरी और वैकल्पिक प्रॉपर्टी और पैरामीटर - एपीआई कॉल के लिए प्रॉपर्टी या पैरामीटर ज़रूरी है या नहीं, यह जानने के लिए पहचान फ़ाइल से जुड़ा दस्तावेज़ देखें.
  • वाइल्डकार्ड नाम की खोज - ऑब्जेक्ट के नाम खोजते समय आप तारे के निशान (*) वाइल्डकार्ड का इस्तेमाल कर सकते हैं. तारे का निशान, किसी भी वर्ण के शून्य या उससे ज़्यादा मेल खाता है. यह एपीआई, शामिल की गई सबस्ट्रिंग के साथ भी काम करता है. इसलिए, "abc" के लिए खोज की जा सकती है "*abc*" के लिए भी अनुमान लगाया जाएगा.
  • अपडेट करना बनाम पैच करना - किसी मौजूदा ऑब्जेक्ट में बदलाव करने के लिए, आपके पास दो विकल्प हैं:
    1. अपडेट करना - किसी ऑब्जेक्ट को अपडेट करते समय, शामिल करने पर सभी फ़ील्ड ओवरराइट हो जाएंगे. आपको जिस ऑब्जेक्ट को अपडेट करना है उसे लोड करना और उस ऑब्जेक्ट में कोई भी बदलाव करना ज़रूरी है. ऐसा नहीं करने पर, उन फ़ील्ड को सेट नहीं किया जाएगा जो अपडेट के अनुरोध में मौजूद नहीं हैं.
    2. पैचिंग - पैच करते समय, सिर्फ़ तय किए गए फ़ील्ड को इंसर्ट करने पर ओवरराइट किया जाएगा. इस स्थिति में, एक नया ऑब्जेक्ट बनाया जा सकता है. साथ ही, उसे वही आईडी असाइन किया जा सकता है जो ऑब्जेक्ट को अपडेट करना है. साथ ही, अपडेट किए जाने वाले फ़ील्ड सेट करें और पैच का अनुरोध करें.
  • साइज़ - फ़िज़िकल डाइमेंशन को एक Size ऑब्जेक्ट से दिखाया जाता है. यह ऑब्जेक्ट, साइज़ सर्विस के ज़रिए तय किया जाता है. खाता, स्टैंडर्ड साइज़ का एक सेट उपलब्ध कराता है. साथ ही, इस सूची में आपके पास कस्टम साइज़ जोड़ने का विकल्प भी होता है.
  • तारीख और समय - स्थानीय टाइम ज़ोन का इस्तेमाल करके, आरएफ़सी 3339 फ़ॉर्मैट में तारीख/समय सेव किए जा सकते हैं; एपीआई से मिलने वाली सभी वैल्यू यूटीसी में होती हैं. यह उस वेबसाइट से अलग है जहां आपके कॉन्फ़िगर किए गए टाइमज़ोन (डिफ़ॉल्ट रूप से, अमेरिका/न्यूयॉर्क का समय) में तारीखें और समय दिखाए जाते हैं.

विज्ञापन देने वाला बनाएं

C#

  1. Advertiser ऑब्जेक्ट बनाएं और उसके लिए ज़रूरी नाम और स्टेटस प्रॉपर्टी सेट करें.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. विज्ञापन देने वाले को सेव करने के लिए, advertisers.insert() पर कॉल करें.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. Advertiser ऑब्जेक्ट बनाएं और उसके लिए ज़रूरी नाम और स्टेटस प्रॉपर्टी सेट करें.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. विज्ञापन देने वाले को सेव करने के लिए, advertisers.insert() पर कॉल करें.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. Advertiser ऑब्जेक्ट बनाएं और उसके लिए ज़रूरी नाम और स्टेटस प्रॉपर्टी सेट करें.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. विज्ञापन देने वाले को सेव करने के लिए, advertisers.insert() पर कॉल करें.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. Advertiser ऑब्जेक्ट बनाएं और उसके लिए ज़रूरी नाम और स्टेटस प्रॉपर्टी सेट करें.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. विज्ञापन देने वाले को सेव करने के लिए, advertisers.insert() पर कॉल करें.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Advertiser ऑब्जेक्ट बनाएं और उसके लिए ज़रूरी नाम और स्टेटस प्रॉपर्टी सेट करें.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
    
  2. विज्ञापन देने वाले को सेव करने के लिए, advertisers.insert() पर कॉल करें.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

कैंपेन बनाएं

C#

  1. Campaign ऑब्जेक्ट बनाएं और उसकी ज़रूरी प्रॉपर्टी सेट करें:

    • advertiserId - विज्ञापन देने वाला वह व्यक्ति या कंपनी जिससे इस कैंपेन को जोड़ा जाएगा.
    • name - यह, विज्ञापन देने वाली इस कंपनी के सभी कैंपेन के लिए यूनीक होना चाहिए.
    • defaultLandingPageId - अगर उपयोगकर्ताओं को इस कैंपेन में मौजूद किसी विज्ञापन पर क्लिक नहीं किया गया है, तो लैंडिंग पेज पर ले जाया जाएगा. मौजूदा लैंडिंग पेज देखने के लिए, advertiserLandingPages.list पर कॉल करें या advertiserLandingPages.insert पर कॉल करके, एक नया लैंडिंग पेज बनाएं.
    • शुरू होने और खत्म होने की तारीखें - आगे की होनी चाहिए और ये आज की सटीक हो सकती हैं. ज़्यादा जानकारी के लिए, कोडिंग की सामान्य जानकारी में तारीख और समय वाला बुलेट पॉइंट देखें. अलग-अलग विज्ञापन की तारीखें, खत्म होने की तारीख के बाद की हो सकती हैं. ऐसा इसलिए, ताकि पब्लिशर, कैंपेन के खत्म होने की तय तारीख तक कानूनी समझौते को पूरा कर सके.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId);
    
    // Create the campaign structure.
    Campaign campaign = new Campaign();
    campaign.Name = campaignName;
    campaign.AdvertiserId = advertiserId;
    campaign.Archived = false;
    campaign.DefaultLandingPageId = defaultLandingPage.Id;
    
    // Set the campaign start date. This example uses today's date.
    campaign.StartDate =
        DfaReportingDateConverterUtil.convertToDateString(DateTime.Now);
    
    // Set the campaign end date. This example uses one month from today's date.
    campaign.EndDate =
        DfaReportingDateConverterUtil.convertToDateString(DateTime.Now.AddMonths(1));
    
  2. कैंपेन सेव करने के लिए campaigns.insert() पर कॉल करें.

    // Insert the campaign.
    Campaign result = service.Campaigns.Insert(campaign, profileId).Execute();
    

Java

  1. Campaign ऑब्जेक्ट बनाएं और उसकी ज़रूरी प्रॉपर्टी सेट करें:

    • advertiserId - विज्ञापन देने वाला वह व्यक्ति या कंपनी जिससे इस कैंपेन को जोड़ना है.
    • name - यह, विज्ञापन देने वाली इस कंपनी के सभी कैंपेन के लिए यूनीक होना चाहिए.
    • defaultLandingPageId - अगर उपयोगकर्ताओं को इस कैंपेन में मौजूद किसी विज्ञापन पर क्लिक नहीं किया गया है, तो लैंडिंग पेज पर ले जाया जाएगा. मौजूदा लैंडिंग पेज देखने के लिए, advertiserLandingPages.list पर कॉल करें या advertiserLandingPages.insert पर कॉल करके, एक नया लैंडिंग पेज बनाएं.
    • शुरू होने और खत्म होने की तारीखें - आगे की होनी चाहिए और ये आज की सटीक हो सकती हैं. ज़्यादा जानकारी के लिए, कोडिंग की सामान्य जानकारी में तारीख और समय वाला बुलेट पॉइंट देखें. अलग-अलग विज्ञापन की तारीखें, खत्म होने की तारीख के बाद की हो सकती हैं. ऐसा इसलिए, ताकि पब्लिशर, कैंपेन के खत्म होने की तय तारीख तक कानूनी समझौते को पूरा कर सके.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId);
    
    // Create the campaign structure.
    Campaign campaign = new Campaign();
    campaign.setName(campaignName);
    campaign.setAdvertiserId(advertiserId);
    campaign.setArchived(false);
    campaign.setDefaultLandingPageId(defaultLandingPage.getId());
    
    // Set the campaign start date. This example uses today's date.
    Calendar today = Calendar.getInstance();
    DateTime startDate = new DateTime(true, today.getTimeInMillis(), null);
    campaign.setStartDate(startDate);
    
    // Set the campaign end date. This example uses one month from today's date.
    Calendar nextMonth = Calendar.getInstance();
    nextMonth.add(Calendar.MONTH, 1);
    DateTime endDate = new DateTime(true, nextMonth.getTimeInMillis(), null);
    campaign.setEndDate(endDate);
    
  2. कैंपेन सेव करने के लिए campaigns.insert() पर कॉल करें.

    // Insert the campaign.
    Campaign result = reporting.campaigns().insert(profileId, campaign).execute();
    

PHP

  1. Campaign ऑब्जेक्ट बनाएं और उसकी ज़रूरी प्रॉपर्टी सेट करें:

    • advertiserId - विज्ञापन देने वाला वह व्यक्ति या कंपनी जिससे इस कैंपेन को जोड़ना है.
    • name - यह, विज्ञापन देने वाली इस कंपनी के सभी कैंपेन के लिए यूनीक होना चाहिए.
    • defaultLandingPageId - अगर उपयोगकर्ताओं को इस कैंपेन में मौजूद किसी विज्ञापन पर क्लिक नहीं किया गया है, तो लैंडिंग पेज पर ले जाया जाएगा. मौजूदा लैंडिंग पेज देखने के लिए, advertiserLandingPages.list पर कॉल करें या advertiserLandingPages.insert पर कॉल करके, एक नया लैंडिंग पेज बनाएं.
    • शुरू और खत्म होने की तारीखें - ये आने वाले समय की होनी चाहिए और इनमें आज की तारीख तक सटीक हो सकता है. ज़्यादा जानकारी के लिए, कोडिंग की सामान्य जानकारी में तारीख और समय वाला बुलेट पॉइंट देखें. अलग-अलग विज्ञापन की तारीखें, खत्म होने की तारीख के बाद की हो सकती हैं. ऐसा इसलिए, ताकि पब्लिशर, कैंपेन के खत्म होने की तय तारीख तक कानूनी समझौते को पूरा कर सके.
    $startDate = new DateTime('today');
    $endDate = new DateTime('+1 month');
    
    $campaign = new Google_Service_Dfareporting_Campaign();
    $campaign->setAdvertiserId($values['advertiser_id']);
    $campaign->setDefaultLandingPageId($values['default_landing_page_id']);
    $campaign->setName($values['campaign_name']);
    $campaign->setStartDate($startDate->format('Y-m-d'));
    $campaign->setEndDate($endDate->format('Y-m-d'));
    
  2. कैंपेन सेव करने के लिए campaigns.insert() पर कॉल करें.

    $result = $this->service->campaigns->insert(
        $values['user_profile_id'],
        $campaign
    );
    

Python

  1. Campaign ऑब्जेक्ट बनाएं और उसकी ज़रूरी प्रॉपर्टी सेट करें:

    • advertiserId - विज्ञापन देने वाला वह व्यक्ति या कंपनी जिससे इस कैंपेन को जोड़ा जाएगा.
    • name - यह, विज्ञापन देने वाली इस कंपनी के सभी कैंपेन के लिए यूनीक होना चाहिए.
    • defaultLandingPageId - अगर उपयोगकर्ताओं को इस कैंपेन में मौजूद किसी विज्ञापन पर क्लिक नहीं किया गया है, तो लैंडिंग पेज पर ले जाया जाएगा. मौजूदा लैंडिंग पेज देखने के लिए, advertiserLandingPages.list पर कॉल करें या advertiserLandingPages.insert पर कॉल करके, एक नया लैंडिंग पेज बनाएं.
    • शुरू और खत्म होने की तारीखें - ये आने वाले समय की होनी चाहिए और इनमें आज की तारीख तक सटीक हो सकता है. ज़्यादा जानकारी के लिए, कोडिंग की सामान्य जानकारी में तारीख और समय वाला बुलेट पॉइंट देखें. अलग-अलग विज्ञापन की तारीखें, खत्म होने की तारीख के बाद की हो सकती हैं. ऐसा इसलिए, ताकि पब्लिशर, कैंपेन के खत्म होने की तय तारीख तक कानूनी समझौते को पूरा कर सके.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
                                                       advertiser_id)
    
    # Construct and save campaign.
    campaign = {
        'name': 'Test Campaign #%s' % uuid.uuid4(),
        'advertiserId': advertiser_id,
        'archived': 'false',
        'defaultLandingPageId': default_landing_page['id'],
        'startDate': '2015-01-01',
        'endDate': '2020-01-01'
    }
    
  2. कैंपेन सेव करने के लिए campaigns.insert() पर कॉल करें.

    request = service.campaigns().insert(profileId=profile_id, body=campaign)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Campaign ऑब्जेक्ट बनाएं और उसकी ज़रूरी प्रॉपर्टी सेट करें:

    • advertiserId - विज्ञापन देने वाला वह व्यक्ति या कंपनी जिससे इस कैंपेन को जोड़ा जाएगा.
    • name - यह, विज्ञापन देने वाली इस कंपनी के सभी कैंपेन के लिए यूनीक होना चाहिए.
    • defaultLandingPageId - अगर उपयोगकर्ताओं को इस कैंपेन में मौजूद किसी विज्ञापन पर क्लिक नहीं किया गया है, तो लैंडिंग पेज पर ले जाया जाएगा. मौजूदा लैंडिंग पेज देखने के लिए, advertiserLandingPages.list पर कॉल करें या advertiserLandingPages.insert पर कॉल करके, एक नया लैंडिंग पेज बनाएं.
    • शुरू और खत्म होने की तारीखें - ये आने वाले समय की होनी चाहिए और इनमें आज की तारीख तक सटीक हो सकता है. ज़्यादा जानकारी के लिए, कोडिंग की सामान्य जानकारी में तारीख और समय वाला बुलेट पॉइंट देखें. अलग-अलग विज्ञापन की तारीखें, खत्म होने की तारीख के बाद की हो सकती हैं. ऐसा इसलिए, ताकि पब्लिशर, कैंपेन के खत्म होने की तय तारीख तक कानूनी समझौते को पूरा कर सके.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
      advertiser_id)
    
    # Create a new campaign resource to insert.
    campaign = DfareportingUtils::API_NAMESPACE::Campaign.new(
      advertiser_id: advertiser_id,
      archived: false,
      default_landing_page_id: default_landing_page.id,
      name: format('Example Campaign #%s', SecureRandom.hex(3)),
      start_date: '2014-01-01',
      end_date: '2020-01-01'
    )
    
  2. कैंपेन सेव करने के लिए campaigns.insert() पर कॉल करें.

    # Insert the campaign.
    result = service.insert_campaign(profile_id, campaign)
    

प्लेसमेंट बनाएं

C#

  1. Placement ऑब्जेक्ट बनाएं और ज़रूरी प्लेसमेंट प्रॉपर्टी सेट करें. इनमें campaignId और siteId शामिल हैं. आपने अपनी वेबसाइट के साथ जिस प्लेसमेंट को लेकर मोल-भाव किया है उसके लिए प्लेसमेंट का टाइप और साइज़, सही तरह से सेट करना न भूलें.
    // Create the placement.
    Placement placement = new Placement();
    placement.Name = placementName;
    placement.CampaignId = campaignId;
    placement.Compatibility = "DISPLAY";
    placement.PaymentSource = "PLACEMENT_AGENCY_PAID";
    placement.SiteId = dfaSiteId;
    placement.TagFormats = new List<string>() { "PLACEMENT_TAG_STANDARD" };
    
    // Set the size of the placement.
    Size size = new Size();
    size.Id = sizeId;
    placement.Size = size;
    
  2. प्लेसमेंट को असाइन करने के लिए, एक नया PricingSchedule ऑब्जेक्ट बनाएं.
    // Set the pricing schedule for the placement.
    PricingSchedule pricingSchedule = new PricingSchedule();
    pricingSchedule.EndDate = campaign.EndDate;
    pricingSchedule.PricingType = "PRICING_TYPE_CPM";
    pricingSchedule.StartDate = campaign.StartDate;
    placement.PricingSchedule = pricingSchedule;
    
  3. placements.insert() पर कॉल करके Placement ऑब्जेक्ट को सेव करें. अगर आपको लौटाए गए आईडी का इस्तेमाल किसी विज्ञापन या क्रिएटिव के लिए असाइन करना है, तो उसे स्टोर करना न भूलें.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. Placement ऑब्जेक्ट बनाएं और ज़रूरी प्लेसमेंट प्रॉपर्टी सेट करें. इनमें campaignId और siteId शामिल हैं. आपने अपनी वेबसाइट के साथ जिस प्लेसमेंट को लेकर मोल-भाव किया है उसके लिए प्लेसमेंट का टाइप और साइज़, सही तरह से सेट करना न भूलें.
    // Create the placement.
    Placement placement = new Placement();
    placement.setName(placementName);
    placement.setCampaignId(campaignId);
    placement.setCompatibility("DISPLAY");
    placement.setPaymentSource("PLACEMENT_AGENCY_PAID");
    placement.setSiteId(dfaSiteId);
    placement.setTagFormats(ImmutableList.of("PLACEMENT_TAG_STANDARD"));
    
    // Set the size of the placement.
    Size size = new Size();
    size.setId(sizeId);
    placement.setSize(size);
    
  2. प्लेसमेंट को असाइन करने के लिए, एक नया PricingSchedule ऑब्जेक्ट बनाएं.
    // Set the pricing schedule for the placement.
    PricingSchedule pricingSchedule = new PricingSchedule();
    pricingSchedule.setEndDate(campaign.getEndDate());
    pricingSchedule.setPricingType("PRICING_TYPE_CPM");
    pricingSchedule.setStartDate(campaign.getStartDate());
    placement.setPricingSchedule(pricingSchedule);
    
  3. placements.insert() पर कॉल करके Placement ऑब्जेक्ट को सेव करें. अगर आपको लौटाए गए आईडी का इस्तेमाल किसी विज्ञापन या क्रिएटिव के लिए असाइन करना है, तो उसे स्टोर करना न भूलें.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. Placement ऑब्जेक्ट बनाएं और ज़रूरी प्लेसमेंट प्रॉपर्टी सेट करें. इनमें campaignId और siteId शामिल हैं. आपने अपनी वेबसाइट के साथ जिस प्लेसमेंट को लेकर मोल-भाव किया है उसके लिए प्लेसमेंट का टाइप और साइज़, सही तरह से सेट करना न भूलें.
    $placement = new Google_Service_Dfareporting_Placement();
    $placement->setCampaignId($values['campaign_id']);
    $placement->setCompatibility('DISPLAY');
    $placement->setName($values['placement_name']);
    $placement->setPaymentSource('PLACEMENT_AGENCY_PAID');
    $placement->setSiteId($values['site_id']);
    $placement->setTagFormats(['PLACEMENT_TAG_STANDARD']);
    
    // Set the size of the placement.
    $size = new Google_Service_Dfareporting_Size();
    $size->setId($values['size_id']);
    $placement->setSize($size);
    
  2. प्लेसमेंट को असाइन करने के लिए, एक नया PricingSchedule ऑब्जेक्ट बनाएं.
    // Set the pricing schedule for the placement.
    $pricingSchedule = new Google_Service_Dfareporting_PricingSchedule();
    $pricingSchedule->setEndDate($campaign->getEndDate());
    $pricingSchedule->setPricingType('PRICING_TYPE_CPM');
    $pricingSchedule->setStartDate($campaign->getStartDate());
    $placement->setPricingSchedule($pricingSchedule);
    
  3. placements.insert() पर कॉल करके Placement ऑब्जेक्ट को सेव करें. अगर आपको लौटाए गए आईडी का इस्तेमाल किसी विज्ञापन या क्रिएटिव के लिए असाइन करना है, तो उसे स्टोर करना न भूलें.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. Placement ऑब्जेक्ट बनाएं और ज़रूरी प्लेसमेंट प्रॉपर्टी सेट करें. इनमें campaignId और siteId शामिल हैं. आपने अपनी वेबसाइट के साथ जिस प्लेसमेंट को लेकर मोल-भाव किया है उसके लिए प्लेसमेंट का टाइप और साइज़, सही तरह से सेट करना न भूलें.
    # Construct and save placement.
    placement = {
        'name': 'Test Placement',
        'campaignId': campaign_id,
        'compatibility': 'DISPLAY',
        'siteId': site_id,
        'size': {
            'height': '1',
            'width': '1'
        },
        'paymentSource': 'PLACEMENT_AGENCY_PAID',
        'tagFormats': ['PLACEMENT_TAG_STANDARD']
    }
    
  2. प्लेसमेंट को असाइन करने के लिए, एक नया PricingSchedule ऑब्जेक्ट बनाएं.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. placements.insert() पर कॉल करके Placement ऑब्जेक्ट को सेव करें. अगर आपको लौटाए गए आईडी का इस्तेमाल किसी विज्ञापन या क्रिएटिव के लिए असाइन करना है, तो उसे स्टोर करना न भूलें.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Placement ऑब्जेक्ट बनाएं और ज़रूरी प्लेसमेंट प्रॉपर्टी सेट करें. इनमें campaignId और siteId शामिल हैं. आपने अपनी वेबसाइट के साथ जिस प्लेसमेंट को लेकर मोल-भाव किया है उसके लिए प्लेसमेंट का टाइप और साइज़, सही तरह से सेट करना न भूलें.
    # Create a new placement resource to insert.
    placement = DfareportingUtils::API_NAMESPACE::Placement.new(
      campaign_id: campaign_id,
      compatibility: 'DISPLAY',
      name: 'Example Placement',
      payment_source: 'PLACEMENT_AGENCY_PAID',
      site_id: site_id,
      size: DfareportingUtils::API_NAMESPACE::Size.new(
        height: 1,
        width: 1
      ),
      tag_formats: ['PLACEMENT_TAG_STANDARD']
    )
    
  2. प्लेसमेंट को असाइन करने के लिए, एक नया PricingSchedule ऑब्जेक्ट बनाएं.
    # Set the pricing schedule for the placement.
    placement.pricing_schedule =
      DfareportingUtils::API_NAMESPACE::PricingSchedule.new(
        end_date: campaign.end_date,
        pricing_type: 'PRICING_TYPE_CPM',
        start_date: campaign.start_date
      )
    
  3. placements.insert() पर कॉल करके Placement ऑब्जेक्ट को सेव करें. अगर आपको लौटाए गए आईडी का इस्तेमाल किसी विज्ञापन या क्रिएटिव के लिए असाइन करना है, तो उसे स्टोर करना न भूलें.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

एसेट अपलोड करें

मीडिया अपलोड प्रोसेस के ज़रिए, कई तरह के ऐसेट अपलोड किए जा सकते हैं. हालांकि, यह प्रोसेस सभी तरह के क्रिएटिव के लिए एक जैसी होती है. हालांकि, कुछ टाइप के लिए खास प्रॉपर्टी को मेटाडेटा के तौर पर पास करना पड़ सकता है, ताकि उनका सही तरीके से इस्तेमाल किया जा सके.

C#

  1. कोई assetIdentifierऑब्जेक्ट बनाएं और ज़रूरी प्रॉपर्टी सेट करें. सभी ऐसेट के लिए, assetIdentifier की जानकारी देना ज़रूरी होता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि ऐसेट का इस्तेमाल किस तरह या किस तरह किया गया है. किसी क्रिएटिव को ऐसेट असाइन करते समय, ऐसेट को फिर से रेफ़र करने के लिए इस ऑब्जेक्ट का इस्तेमाल किया जाएगा. नीचे दी गई प्रॉपर्टी ज़रूरी हैं:

    • name प्रॉपर्टी, जो सर्वर पर मौजूद ऐसेट का नाम होगा. नाम में एक ऐसा एक्सटेंशन शामिल होना चाहिए जो .png या .gif जैसे फ़ाइल टाइप के बारे में बताता हो. साथ ही, ब्राउज़र पर एसेट के नाम के रूप में दिखेगा, लेकिन यह ज़रूरी नहीं है कि इसका नाम मूल फ़ाइल के नाम जैसा हो. ध्यान दें कि Campaign Manager 360 इस नाम को सर्वर पर यूनीक बनाने के लिए, इसे बदल सकता है; यह देखने के लिए कि क्या रिटर्न वैल्यू बदली गई है.
    • type प्रॉपर्टी, जिससे यह पता चलता है कि ऐसेट किस तरह की है. यह प्रॉपर्टी, यह तय करेगी कि किस तरह के क्रिएटिव के साथ इस ऐसेट को जोड़ा जा सकता है.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. creativeAssets.insert() पर कॉल करके फ़ाइल अपलोड करें. एक ही अनुरोध के हिस्से के रूप में assetIdentifier और फ़ाइल के कॉन्टेंट, दोनों को पास करते हुए एक से ज़्यादा हिस्सों वाला अपलोड करें. अगर अनुरोध स्वीकार हो जाता है, तो assetIdentifier के साथ एक CreativeAsset संसाधन दिखाया जाएगा. इसका इस्तेमाल, इस एसेट को किसी क्रिएटिव को असाइन करने के लिए किया जाएगा.

    // Prepare an input stream.
    FileStream assetContent = new FileStream(assetFile, FileMode.Open, FileAccess.Read);
    
    
    CreativeAssetMetadata metaData = new CreativeAssetMetadata();
    metaData.AssetIdentifier = assetId;
    
    // Insert the creative.
    String mimeType = determineMimeType(assetFile, assetType);
    CreativeAssetsResource.InsertMediaUpload request =
        Service.CreativeAssets.Insert(metaData, ProfileId, AdvertiserId, assetContent, mimeType);
    
    IUploadProgress progress = request.Upload();
    if (UploadStatus.Failed.Equals(progress.Status)) {
        throw progress.Exception;
    }
    

Java

  1. कोई assetIdentifierऑब्जेक्ट बनाएं और ज़रूरी प्रॉपर्टी सेट करें. सभी ऐसेट के लिए, assetIdentifier की जानकारी देना ज़रूरी होता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि ऐसेट का इस्तेमाल किस तरह या किस तरह किया गया है. किसी क्रिएटिव को ऐसेट असाइन करते समय, ऐसेट को फिर से रेफ़र करने के लिए इस ऑब्जेक्ट का इस्तेमाल किया जाएगा. नीचे दी गई प्रॉपर्टी ज़रूरी हैं:

    • name प्रॉपर्टी, जो सर्वर पर मौजूद ऐसेट का नाम होगा. नाम में एक ऐसा एक्सटेंशन शामिल होना चाहिए जो .png या .gif जैसे फ़ाइल टाइप के बारे में बताता हो. साथ ही, ब्राउज़र पर एसेट के नाम के रूप में दिखेगा, लेकिन यह ज़रूरी नहीं है कि इसका नाम मूल फ़ाइल के नाम जैसा हो. ध्यान दें कि Campaign Manager 360 इस नाम को सर्वर पर यूनीक बनाने के लिए, इसे बदल सकता है; यह देखने के लिए कि क्या रिटर्न वैल्यू बदली गई है.
    • type प्रॉपर्टी, जिससे यह पता चलता है कि ऐसेट किस तरह की है. यह प्रॉपर्टी, यह तय करेगी कि किस तरह के क्रिएटिव के साथ इस ऐसेट को जोड़ा जा सकता है.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. creativeAssets.insert() पर कॉल करके फ़ाइल अपलोड करें. एक ही अनुरोध के हिस्से के रूप में assetIdentifier और फ़ाइल के कॉन्टेंट, दोनों को पास करते हुए एक से ज़्यादा हिस्सों वाला अपलोड करें. अगर अनुरोध स्वीकार हो जाता है, तो assetIdentifier के साथ एक CreativeAsset संसाधन दिखाया जाएगा. इसका इस्तेमाल, इस एसेट को किसी क्रिएटिव को असाइन करने के लिए किया जाएगा.

    // Open the asset file.
    File file = new File(assetFile);
    
    // Prepare an input stream.
    String contentType = getMimeType(assetFile);
    InputStreamContent assetContent =
        new InputStreamContent(contentType, new BufferedInputStream(new FileInputStream(file)));
    assetContent.setLength(file.length());
    
    
    CreativeAssetMetadata metaData = new CreativeAssetMetadata();
    metaData.setAssetIdentifier(assetId);
    
    // Insert the creative.
    CreativeAssetMetadata result = reporting.creativeAssets()
        .insert(profileId, advertiserId, metaData, assetContent).execute();
    

PHP

  1. कोई assetIdentifierऑब्जेक्ट बनाएं और ज़रूरी प्रॉपर्टी सेट करें. सभी ऐसेट के लिए, assetIdentifier की जानकारी देना ज़रूरी होता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि ऐसेट का इस्तेमाल किस तरह या किस तरह किया गया है. किसी क्रिएटिव को ऐसेट असाइन करते समय, ऐसेट को फिर से रेफ़र करने के लिए इस ऑब्जेक्ट का इस्तेमाल किया जाएगा. नीचे दी गई प्रॉपर्टी ज़रूरी हैं:

    • name प्रॉपर्टी, जो सर्वर पर मौजूद ऐसेट का नाम होगा. नाम में एक ऐसा एक्सटेंशन शामिल होना चाहिए जो .png या .gif जैसे फ़ाइल टाइप के बारे में बताता हो. साथ ही, ब्राउज़र पर एसेट के नाम के रूप में दिखेगा, लेकिन यह ज़रूरी नहीं है कि इसका नाम मूल फ़ाइल के नाम जैसा हो. ध्यान दें कि Campaign Manager 360 इस नाम को सर्वर पर यूनीक बनाने के लिए, इसे बदल सकता है; यह देखने के लिए कि क्या रिटर्न वैल्यू बदली गई है.
    • type प्रॉपर्टी, जिससे यह पता चलता है कि ऐसेट किस तरह की है. यह प्रॉपर्टी, यह तय करेगी कि किस तरह के क्रिएटिव के साथ इस ऐसेट को जोड़ा जा सकता है.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. creativeAssets.insert() पर कॉल करके फ़ाइल अपलोड करें. एक ही अनुरोध के हिस्से के रूप में assetIdentifier और फ़ाइल के कॉन्टेंट, दोनों को पास करके एक से ज़्यादा हिस्सों वाला अपलोड करें. अगर अनुरोध स्वीकार हो जाता है, तो assetIdentifier के साथ एक CreativeAsset संसाधन दिखाया जाएगा. इसका इस्तेमाल, इस एसेट को किसी क्रिएटिव को असाइन करने के लिए किया जाएगा.

    $metadata = new Google_Service_Dfareporting_CreativeAssetMetadata();
    $metadata->setAssetIdentifier($assetId);
    
    $result = $service->creativeAssets->insert(
        $userProfileId,
        $advertiserId,
        $metadata,
        ['data' => file_get_contents($asset['tmp_name']),
         'mimeType' => $asset['type'],
         'uploadType' => 'multipart']
    );
    

Python

  1. कोई assetIdentifierऑब्जेक्ट बनाएं और ज़रूरी प्रॉपर्टी सेट करें. सभी ऐसेट के लिए, assetIdentifier की जानकारी देना ज़रूरी होता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि ऐसेट का इस्तेमाल किस तरह या किस तरह किया गया है. किसी क्रिएटिव को ऐसेट असाइन करते समय, ऐसेट को फिर से रेफ़र करने के लिए इस ऑब्जेक्ट का इस्तेमाल किया जाएगा. नीचे दी गई प्रॉपर्टी ज़रूरी हैं:

    • name प्रॉपर्टी, जो सर्वर पर मौजूद ऐसेट का नाम होगा. नाम में एक ऐसा एक्सटेंशन शामिल होना चाहिए जो .png या .gif जैसे फ़ाइल टाइप के बारे में बताता हो. साथ ही, ब्राउज़र पर एसेट के नाम के रूप में दिखेगा, लेकिन यह ज़रूरी नहीं है कि इसका नाम मूल फ़ाइल के नाम जैसा हो. ध्यान दें कि Campaign Manager 360 इस नाम को सर्वर पर यूनीक बनाने के लिए, इसे बदल सकता है; यह देखने के लिए कि क्या रिटर्न वैल्यू बदली गई है.
    • type प्रॉपर्टी, जिससे यह पता चलता है कि ऐसेट किस तरह की है. यह प्रॉपर्टी, यह तय करेगी कि किस तरह के क्रिएटिव के साथ इस ऐसेट को जोड़ा जा सकता है.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. creativeAssets.insert() पर कॉल करके फ़ाइल अपलोड करें. एक ही अनुरोध के हिस्से के रूप में assetIdentifier और फ़ाइल के कॉन्टेंट, दोनों को पास करते हुए एक से ज़्यादा हिस्सों वाला अपलोड करें. अगर अनुरोध स्वीकार हो जाता है, तो assetIdentifier के साथ एक CreativeAsset संसाधन दिखाया जाएगा. इसका इस्तेमाल, इस एसेट को किसी क्रिएटिव को असाइन करने के लिए किया जाएगा.

    media = MediaFileUpload(path_to_asset_file)
    if not media.mimetype():
      media = MediaFileUpload(path_to_asset_file, 'application/octet-stream')
    
    response = service.creativeAssets().insert(
        advertiserId=advertiser_id,
        profileId=profile_id,
        media_body=media,
        body=creative_asset).execute()
    

Ruby

  1. कोई assetIdentifierऑब्जेक्ट बनाएं और ज़रूरी प्रॉपर्टी सेट करें. सभी ऐसेट के लिए, assetIdentifier की जानकारी देना ज़रूरी होता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि ऐसेट का इस्तेमाल किस तरह या किस तरह किया गया है. किसी क्रिएटिव को ऐसेट असाइन करते समय, ऐसेट को फिर से रेफ़र करने के लिए इस ऑब्जेक्ट का इस्तेमाल किया जाएगा. नीचे दी गई प्रॉपर्टी ज़रूरी हैं:

    • name प्रॉपर्टी, जो सर्वर पर मौजूद ऐसेट का नाम होगा. नाम में एक ऐसा एक्सटेंशन शामिल होना चाहिए जो .png या .gif जैसे फ़ाइल टाइप के बारे में बताता हो. साथ ही, ब्राउज़र पर एसेट के नाम के रूप में दिखेगा, लेकिन यह ज़रूरी नहीं है कि इसका नाम मूल फ़ाइल के नाम जैसा हो. ध्यान दें कि Campaign Manager 360 इस नाम को सर्वर पर यूनीक बनाने के लिए, इसे बदल सकता है; यह देखने के लिए कि क्या रिटर्न वैल्यू बदली गई है.
    • type प्रॉपर्टी, जिससे यह पता चलता है कि ऐसेट किस तरह की है. यह प्रॉपर्टी, यह तय करेगी कि किस तरह के क्रिएटिव के साथ इस ऐसेट को जोड़ा जा सकता है.
    # Construct the creative asset metadata
    creative_asset = DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
      asset_identifier: DfareportingUtils::API_NAMESPACE::CreativeAssetId.new(
        name: asset_name,
        type: asset_type
      )
    )
    
  2. creativeAssets.insert() पर कॉल करके फ़ाइल अपलोड करें. एक ही अनुरोध के हिस्से के रूप में assetIdentifier और फ़ाइल के कॉन्टेंट, दोनों को पास करते हुए एक से ज़्यादा हिस्सों वाला अपलोड करें. अगर अनुरोध स्वीकार हो जाता है, तो assetIdentifier के साथ एक CreativeAsset संसाधन दिखाया जाएगा. इसका इस्तेमाल, इस एसेट को किसी क्रिएटिव को असाइन करने के लिए किया जाएगा.

    # Upload the asset.
    mime_type = determine_mime_type(path_to_asset_file, asset_type)
    
    result = @service.insert_creative_asset(
      @profile_id,
      advertiser_id,
      creative_asset,
      content_type: mime_type,
      upload_source: path_to_asset_file
    )
    

क्रिएटिव बनाना

Creative ऑब्जेक्ट, मौजूदा ऐसेट को रैप करता है. होस्ट पेज पर क्रिएटिव का इस्तेमाल करने के तरीके के आधार पर, अलग-अलग क्रिएटिव टाइप के Creative ऑब्जेक्ट बनाए जा सकते हैं. आपके लिए कौनसा टाइप सही है, यह तय करने के लिए रेफ़रंस दस्तावेज़ देखें.

नीचे दिए गए उदाहरण में, नया HTML5 डिसप्ले क्रिएटिव बनाने का तरीका बताया गया है.

C#

  1. ऐसेट अपलोड करें. अलग-अलग क्रिएटिव के लिए, अलग-अलग टाइप और ऐसेट की संख्या होनी चाहिए; ज़्यादा जानकारी के लिए ऐसेट अपलोड करें देखें. हर बार कोई ऐसेट अपलोड करने पर, आपको जवाब में assetIdenfitier मिलेगा; अपने क्रिएटिव में इन ऐसेट का रेफ़रंस देने के लिए, पारंपरिक आईडी के बजाय सेव किए गए फ़ाइल नाम और टाइप का इस्तेमाल करें.
  2. क्रिएटिव बनाएं और सही वैल्यू असाइन करें. Creative इंस्टैंशिएट करें और सही type सेट करें; सेव करने के बाद, Creative ऑब्जेक्ट का टाइप नहीं बदला जा सकता. ऐसेट को, उनके AssetIdentifier और role के हिसाब से बताएं.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId);
    
    // Create the creative structure.
    Creative creative = new Creative();
    creative.AdvertiserId = advertiserId;
    creative.Name = "Test HTML5 display creative";
    creative.Size = new Size() { Id = sizeId };
    creative.Type = "DISPLAY";
    
    // Upload the HTML5 asset.
    CreativeAssetUtils assetUtils = new CreativeAssetUtils(service, profileId, advertiserId);
    CreativeAssetId html5AssetId =
        assetUtils.uploadAsset(pathToHtml5AssetFile, "HTML").AssetIdentifier;
    
    CreativeAsset html5Asset = new CreativeAsset();
    html5Asset.AssetIdentifier = html5AssetId;
    html5Asset.Role = "PRIMARY";
    
    // Upload the backup image asset.
    CreativeAssetId imageAssetId =
        assetUtils.uploadAsset(pathToImageAssetFile, "HTML_IMAGE").AssetIdentifier;
    
    CreativeAsset imageAsset = new CreativeAsset();
    imageAsset.AssetIdentifier = imageAssetId;
    imageAsset.Role = "BACKUP_IMAGE";
    
    // Add the creative assets.
    creative.CreativeAssets = new List<CreativeAsset>() { html5Asset, imageAsset };
    
    // Configure the bacup image.
    creative.BackupImageClickThroughUrl = new CreativeClickThroughUrl() {
      LandingPageId = defaultLandingPage.Id
    };
    creative.BackupImageReportingLabel = "backup";
    creative.BackupImageTargetWindow = new TargetWindow() { TargetWindowOption = "NEW_WINDOW" };
    
    // Add a click tag.
    ClickTag clickTag = new ClickTag();
    clickTag.Name = "clickTag";
    clickTag.EventName = "exit";
    clickTag.ClickThroughUrl = new CreativeClickThroughUrl() {
      LandingPageId = defaultLandingPage.Id
    };
    creative.ClickTags = new List<ClickTag>() { clickTag };
    
  3. क्रिएटिव को सेव करें. creatives.insert() पर कॉल करके ऐसा करें. इस क्रिएटिव को जोड़ने के लिए, विज्ञापन देने वाले का आईडी बताना ज़रूरी है.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (ज़रूरी नहीं) क्रिएटिव को कैंपेन से जोड़ें. ऐसा करने के लिए, campaignCreativeAssociations.insert() पर कॉल करें. साथ ही, कैंपेन और क्रिएटिव आईडी को पास करें.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.CreativeId = creativeId;
    
    // Insert the association.
    CampaignCreativeAssociation result =
        service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
    

Java

  1. ऐसेट अपलोड करें. अलग-अलग क्रिएटिव के लिए, अलग-अलग टाइप और ऐसेट की संख्या होनी चाहिए; ज़्यादा जानकारी के लिए ऐसेट अपलोड करें देखें. हर बार कोई ऐसेट अपलोड करने पर, आपको जवाब में assetIdenfitier मिलेगा; अपने क्रिएटिव में इन ऐसेट का रेफ़रंस देने के लिए, पारंपरिक आईडी के बजाय सेव किए गए फ़ाइल नाम और टाइप का इस्तेमाल करें.
  2. क्रिएटिव बनाएं और सही वैल्यू असाइन करें. Creative इंस्टैंशिएट करें और सही type सेट करें; सेव करने के बाद, Creative ऑब्जेक्ट का टाइप नहीं बदला जा सकता. ऐसेट को, उनके AssetIdentifier और role के हिसाब से बताएं.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId);
    
    // Create the creative structure.
    Creative creative = new Creative();
    creative.setAdvertiserId(advertiserId);
    creative.setName("Test HTML5 display creative");
    creative.setSize(new Size().setId(sizeId));
    creative.setType("DISPLAY");
    
    // Upload the HTML5 asset.
    CreativeAssetId html5AssetId = CreativeAssetUtils.uploadAsset(reporting, profileId,
        advertiserId, HTML5_ASSET_NAME, PATH_TO_HTML5_ASSET_FILE, "HTML").getAssetIdentifier();
    
    CreativeAsset html5Asset =
        new CreativeAsset().setAssetIdentifier(html5AssetId).setRole("PRIMARY");
    
    // Upload the backup image asset (note: asset type must be set to HTML_IMAGE).
    CreativeAssetId imageAssetId = CreativeAssetUtils.uploadAsset(reporting, profileId,
        advertiserId, IMAGE_ASSET_NAME, PATH_TO_IMAGE_ASSET_FILE, "HTML_IMAGE")
        .getAssetIdentifier();
    
    CreativeAsset backupImageAsset =
        new CreativeAsset().setAssetIdentifier(imageAssetId).setRole("BACKUP_IMAGE");
    
    // Add the creative assets.
    creative.setCreativeAssets(ImmutableList.of(html5Asset, backupImageAsset));
    
    // Configure the backup image.
    creative.setBackupImageClickThroughUrl(
        new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId()));
    creative.setBackupImageReportingLabel("backup");
    creative.setBackupImageTargetWindow(new TargetWindow().setTargetWindowOption("NEW_WINDOW"));
    
    // Add a click tag.
    ClickTag clickTag =
        new ClickTag().setName("clickTag").setEventName("exit").setClickThroughUrl(
            new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId()));
    creative.setClickTags(ImmutableList.of(clickTag));
    
  3. क्रिएटिव को सेव करें. creatives.insert() पर कॉल करके ऐसा करें. इस क्रिएटिव को जोड़ने के लिए, विज्ञापन देने वाले का आईडी बताना ज़रूरी है.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (ज़रूरी नहीं) क्रिएटिव को कैंपेन से जोड़ें. ऐसा करने के लिए, campaignCreativeAssociations.insert() पर कॉल करें. साथ ही, कैंपेन और क्रिएटिव आईडी को पास करें.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.setCreativeId(creativeId);
    
    // Insert the association.
    CampaignCreativeAssociation result = reporting
        .campaignCreativeAssociations().insert(profileId, campaignId, association)
        .execute();
    

PHP

  1. ऐसेट अपलोड करें. अलग-अलग क्रिएटिव के लिए, अलग-अलग टाइप और ऐसेट की संख्या होनी चाहिए; ज़्यादा जानकारी के लिए ऐसेट अपलोड करें देखें. हर बार कोई ऐसेट अपलोड करने पर, आपको जवाब में assetIdenfitier मिलेगा; अपने क्रिएटिव में इन ऐसेट का रेफ़रंस देने के लिए, पारंपरिक आईडी के बजाय सेव किए गए फ़ाइल नाम और टाइप का इस्तेमाल करें.
  2. क्रिएटिव बनाएं और सही वैल्यू असाइन करें. Creative इंस्टैंशिएट करें और सही type सेट करें; सेव करने के बाद, Creative ऑब्जेक्ट का टाइप नहीं बदला जा सकता. ऐसेट को, उनके AssetIdentifier और role के हिसाब से बताएं.
    $creative = new Google_Service_Dfareporting_Creative();
    $creative->setAdvertiserId($values['advertiser_id']);
    $creative->setAutoAdvanceImages(true);
    $creative->setName('Test HTML5 display creative');
    $creative->setType('DISPLAY');
    
    $size = new Google_Service_Dfareporting_Size();
    $size->setId($values['size_id']);
    $creative->setSize($size);
    
    // Upload the HTML5 asset.
    $html = uploadAsset(
        $this->service,
        $values['user_profile_id'],
        $values['advertiser_id'],
        $values['html_asset_file'],
        'HTML'
    );
    
    $htmlAsset = new Google_Service_Dfareporting_CreativeAsset();
    $htmlAsset->setAssetIdentifier($html->getAssetIdentifier());
    $htmlAsset->setRole('PRIMARY');
    
    // Upload the backup image asset.
    $image = uploadAsset(
        $this->service,
        $values['user_profile_id'],
        $values['advertiser_id'],
        $values['image_asset_file'],
        'HTML_IMAGE'
    );
    
    $imageAsset = new Google_Service_Dfareporting_CreativeAsset();
    $imageAsset->setAssetIdentifier($image->getAssetIdentifier());
    $imageAsset->setRole('BACKUP_IMAGE');
    
    // Add the creative assets.
    $creative->setCreativeAssets([$htmlAsset, $imageAsset]);
    
    // Configure the default click-through URL.
    $clickThroughUrl =
        new Google_Service_Dfareporting_CreativeClickThroughUrl();
    $clickThroughUrl->setLandingPageId($values['landing_page_id']);
    
    // Configure the backup image.
    $creative->setBackupImageClickThroughUrl($clickThroughUrl);
    $creative->setBackupImageReportingLabel('backup');
    
    $targetWindow = new Google_Service_Dfareporting_TargetWindow();
    $targetWindow->setTargetWindowOption('NEW_WINDOW');
    $creative->setBackupImageTargetWindow($targetWindow);
    
    // Add a click tag.
    $clickTag = new Google_Service_Dfareporting_ClickTag();
    $clickTag->setName('clickTag');
    $clickTag->setEventName('exit');
    $clickTag->setClickThroughUrl($clickThroughUrl);
    $creative->setClickTags([$clickTag]);
    
  3. क्रिएटिव को सेव करें. creatives.insert() पर कॉल करके ऐसा करें. इस क्रिएटिव को जोड़ने के लिए, विज्ञापन देने वाले का आईडी बताना ज़रूरी है.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (ज़रूरी नहीं) क्रिएटिव को कैंपेन से जोड़ें. ऐसा करने के लिए, campaignCreativeAssociations.insert() पर कॉल करें. साथ ही, कैंपेन और क्रिएटिव आईडी को पास करें.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );
    

Python

  1. ऐसेट अपलोड करें. अलग-अलग क्रिएटिव के लिए, अलग-अलग टाइप और ऐसेट की संख्या होनी चाहिए; ज़्यादा जानकारी के लिए ऐसेट अपलोड करें देखें. हर बार कोई ऐसेट अपलोड करने पर, आपको जवाब में assetIdenfitier मिलेगा; अपने क्रिएटिव में इन ऐसेट का रेफ़रंस देने के लिए, पारंपरिक आईडी के बजाय सेव किए गए फ़ाइल नाम और टाइप का इस्तेमाल करें.
  2. क्रिएटिव बनाएं और सही वैल्यू असाइन करें. Creative इंस्टैंशिएट करें और सही type सेट करें; सेव करने के बाद, Creative ऑब्जेक्ट का टाइप नहीं बदला जा सकता. ऐसेट को, उनके AssetIdentifier और role के हिसाब से बताएं.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
                                                       advertiser_id)
    
    # Upload the HTML5 asset
    html5_asset_id = upload_creative_asset(service, profile_id, advertiser_id,
                                           html5_asset_name,
                                           path_to_html5_asset_file, 'HTML')
    
    # Upload the backup image asset
    backup_image_asset_id = upload_creative_asset(
        service, profile_id, advertiser_id, backup_image_name,
        path_to_backup_image_file, 'HTML_IMAGE')
    
    # Construct the creative structure.
    creative = {
        'advertiserId': advertiser_id,
        'backupImageClickThroughUrl': {
            'landingPageId': default_landing_page['id']
        },
        'backupImageReportingLabel': 'backup_image_exit',
        'backupImageTargetWindow': {'targetWindowOption': 'NEW_WINDOW'},
        'clickTags': [{
            'eventName': 'exit',
            'name': 'click_tag',
            'clickThroughUrl': {'landingPageId': default_landing_page['id']}
        }],
        'creativeAssets': [
            {'assetIdentifier': html5_asset_id, 'role': 'PRIMARY'},
            {'assetIdentifier': backup_image_asset_id, 'role': 'BACKUP_IMAGE'}
        ],
        'name': 'Test HTML5 display creative',
        'size': {'id': size_id},
        'type': 'DISPLAY'
    }
    
  3. क्रिएटिव को सेव करें. creatives.insert() पर कॉल करके ऐसा करें. इस क्रिएटिव को जोड़ने के लिए, विज्ञापन देने वाले का आईडी बताना ज़रूरी है.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (ज़रूरी नहीं) क्रिएटिव को कैंपेन से जोड़ें. ऐसा करने के लिए, campaignCreativeAssociations.insert() पर कॉल करें. साथ ही, कैंपेन और क्रिएटिव आईडी को पास करें.
    # Construct the request.
    association = {
        'creativeId': creative_id
    }
    
    request = service.campaignCreativeAssociations().insert(
        profileId=profile_id, campaignId=campaign_id, body=association)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. ऐसेट अपलोड करें. अलग-अलग क्रिएटिव के लिए, अलग-अलग टाइप और ऐसेट की संख्या होनी चाहिए; ज़्यादा जानकारी के लिए ऐसेट अपलोड करें देखें. हर बार कोई ऐसेट अपलोड करने पर, आपको जवाब में assetIdenfitier मिलेगा; अपने क्रिएटिव में इन ऐसेट का रेफ़रंस देने के लिए, पारंपरिक आईडी के बजाय सेव किए गए फ़ाइल नाम और टाइप का इस्तेमाल करें.
  2. क्रिएटिव बनाएं और सही वैल्यू असाइन करें. Creative इंस्टैंशिएट करें और सही type सेट करें; सेव करने के बाद, Creative ऑब्जेक्ट का टाइप नहीं बदला जा सकता. ऐसेट को, उनके AssetIdentifier और role के हिसाब से बताएं.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
      advertiser_id)
    
    # Upload the HTML5 asset.
    html5_asset_id = util.upload_asset(advertiser_id, path_to_html5_asset_file,
      'HTML').asset_identifier
    
    # Upload the backup image asset.
    backup_image_asset_id = util.upload_asset(advertiser_id,
      path_to_backup_image_file, 'HTML_IMAGE').asset_identifier
    
    # Construct the creative structure.
    creative = DfareportingUtils::API_NAMESPACE::Creative.new(
      advertiser_id: advertiser_id,
      backup_image_click_through_url:
        DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new(
          landing_page_id: default_landing_page.id
        ),
      backup_image_reporting_label: 'backup',
      backup_image_target_window:
        DfareportingUtils::API_NAMESPACE::TargetWindow.new(
          target_window_option: 'NEW_WINDOW'
        ),
      click_tags: [
        DfareportingUtils::API_NAMESPACE::ClickTag.new(
          event_name: 'exit',
          name: 'click_tag',
          click_through_url:
            DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new(
              landing_page_id: default_landing_page.id
            )
        )
      ],
      creative_assets: [
        DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
          asset_identifier: html5_asset_id,
          role: 'PRIMARY'
        ),
        DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
          asset_identifier: backup_image_asset_id,
          role: 'BACKUP_IMAGE'
        )
      ],
      name: 'Example HTML5 display creative',
      size: DfareportingUtils::API_NAMESPACE::Size.new(id: size_id),
      type: 'DISPLAY'
    )
    
  3. क्रिएटिव को सेव करें. creatives.insert() पर कॉल करके ऐसा करें. इस क्रिएटिव को जोड़ने के लिए, विज्ञापन देने वाले का आईडी बताना ज़रूरी है.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (ज़रूरी नहीं) क्रिएटिव को कैंपेन से जोड़ें. ऐसा करने के लिए, campaignCreativeAssociations.insert() पर कॉल करें. साथ ही, कैंपेन और क्रिएटिव आईडी को पास करें.
    # Create a new creative-campaign association to insert
    association =
      DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new(
        creative_id: creative_id
      )
    
    # Insert the advertiser group.
    result = service.insert_campaign_creative_association(profile_id, campaign_id,
      association)
    

विज्ञापन बनाएं

Ad, Creative और Placement के बीच का लिंक है. Ad को एक या ज़्यादा प्लेसमेंट से लिंक किया जा सकता है और उसमें एक या ज़्यादा क्रिएटिव होते हैं.

आपके पास साफ़ तौर पर या किसी दूसरे तरीके से Ad बनाने का विकल्प है.

साफ़ तौर पर जानकारी देना

C#

  1. हर उस क्रिएटिव के लिए CreativeAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. CreativeAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    // Create a click-through URL.
    ClickThroughUrl clickThroughUrl = new ClickThroughUrl();
    clickThroughUrl.DefaultLandingPage = true;
    
    // Create a creative assignment.
    CreativeAssignment creativeAssignment = new CreativeAssignment();
    creativeAssignment.Active = true;
    creativeAssignment.CreativeId = creativeId;
    creativeAssignment.ClickThroughUrl = clickThroughUrl;
    
  2. CreativeAssignment को सेव करने के लिए, CreativeRotation ऑब्जेक्ट बनाएं. यदि रोटेशन समूह बना रहे हैं, तो अन्य आवश्यक क्रिएटिव रोटेशन फ़ील्ड सेट करना न भूलें.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. हर उस प्लेसमेंट के लिए PlacementAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. PlacementAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Ad ऑब्जेक्ट बनाएं. CreativeRotation को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और रोमांच के प्लेसमेंट को Ad ऑब्जेक्ट के placementAssignments कलेक्शन में सेट करें.
    // Create a delivery schedule.
    DeliverySchedule deliverySchedule = new DeliverySchedule();
    deliverySchedule.ImpressionRatio = 1;
    deliverySchedule.Priority = "AD_PRIORITY_01";
    
    DateTime startDate = DateTime.Now;
    DateTime endDate = Convert.ToDateTime(campaign.EndDate);
    
    // Create a rotation group.
    Ad rotationGroup = new Ad();
    rotationGroup.Active = true;
    rotationGroup.CampaignId = campaignId;
    rotationGroup.CreativeRotation = creativeRotation;
    rotationGroup.DeliverySchedule = deliverySchedule;
    rotationGroup.StartTime = startDate;
    rotationGroup.EndTime = endDate;
    rotationGroup.Name = adName;
    rotationGroup.PlacementAssignments = new List<PlacementAssignment>() {
        placementAssignment
    };
    rotationGroup.Type = "AD_SERVING_STANDARD_AD";
    
  5. ads.insert() पर कॉल करके विज्ञापन सेव करें.
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. हर उस क्रिएटिव के लिए CreativeAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. CreativeAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    // Create a click-through URL.
    ClickThroughUrl clickThroughUrl = new ClickThroughUrl();
    clickThroughUrl.setDefaultLandingPage(true);
    
    // Create a creative assignment.
    CreativeAssignment creativeAssignment = new CreativeAssignment();
    creativeAssignment.setActive(true);
    creativeAssignment.setCreativeId(creativeId);
    creativeAssignment.setClickThroughUrl(clickThroughUrl);
    
  2. CreativeAssignment को सेव करने के लिए, CreativeRotation ऑब्जेक्ट बनाएं. यदि रोटेशन समूह बना रहे हैं, तो अन्य आवश्यक क्रिएटिव रोटेशन फ़ील्ड सेट करना न भूलें.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. हर उस प्लेसमेंट के लिए PlacementAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. PlacementAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Ad ऑब्जेक्ट बनाएं. CreativeRotation को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और placementAssignments को Ad ऑब्जेक्ट के placementAssignments कलेक्शन में सेट करें.
    // Create a delivery schedule.
    DeliverySchedule deliverySchedule = new DeliverySchedule();
    deliverySchedule.setImpressionRatio(1L);
    deliverySchedule.setPriority("AD_PRIORITY_01");
    
    DateTime startDate = new DateTime(new Date());
    DateTime endDate = new DateTime(campaign.getEndDate().getValue());
    
    // Create a rotation group.
    Ad rotationGroup = new Ad();
    rotationGroup.setActive(true);
    rotationGroup.setCampaignId(campaignId);
    rotationGroup.setCreativeRotation(creativeRotation);
    rotationGroup.setDeliverySchedule(deliverySchedule);
    rotationGroup.setStartTime(startDate);
    rotationGroup.setEndTime(endDate);
    rotationGroup.setName(adName);
    rotationGroup.setPlacementAssignments(ImmutableList.of(placementAssignment));
    rotationGroup.setType("AD_SERVING_STANDARD_AD");
    
  5. ads.insert() पर कॉल करके विज्ञापन सेव करें.
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. हर उस क्रिएटिव के लिए CreativeAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. CreativeAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    // Create a click-through URL.
    $url = new Google_Service_Dfareporting_ClickThroughUrl();
    $url->setDefaultLandingPage(true);
    
    // Create a creative assignment.
    $creativeAssignment =
        new Google_Service_Dfareporting_CreativeAssignment();
    $creativeAssignment->setActive(true);
    $creativeAssignment->setCreativeId($values['creative_id']);
    $creativeAssignment->setClickThroughUrl($url);
    
  2. CreativeAssignment को सेव करने के लिए, CreativeRotation ऑब्जेक्ट बनाएं. यदि रोटेशन समूह बना रहे हैं, तो अन्य आवश्यक क्रिएटिव रोटेशन फ़ील्ड सेट करना न भूलें.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. हर उस प्लेसमेंट के लिए PlacementAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. PlacementAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. Ad ऑब्जेक्ट बनाएं. CreativeRotation को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और रोमांच के प्लेसमेंट को Ad ऑब्जेक्ट के placementAssignments कलेक्शन में सेट करें.
    // Create a delivery schedule.
    $deliverySchedule = new Google_Service_Dfareporting_DeliverySchedule();
    $deliverySchedule->setImpressionRatio(1);
    $deliverySchedule->SetPriority('AD_PRIORITY_01');
    
    $startDate = new DateTime('today');
    $endDate = new DateTime($campaign->getEndDate());
    
    // Create a rotation group.
    $ad = new Google_Service_Dfareporting_Ad();
    $ad->setActive(true);
    $ad->setCampaignId($values['campaign_id']);
    $ad->setCreativeRotation($creativeRotation);
    $ad->setDeliverySchedule($deliverySchedule);
    $ad->setStartTime($startDate->format('Y-m-d') . 'T23:59:59Z');
    $ad->setEndTime($endDate->format('Y-m-d') . 'T00:00:00Z');
    $ad->setName($values['ad_name']);
    $ad->setPlacementAssignments([$placementAssignment]);
    $ad->setType('AD_SERVING_STANDARD_AD');
    
  5. ads.insert() पर कॉल करके विज्ञापन सेव करें.
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. हर उस क्रिएटिव के लिए CreativeAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. CreativeAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. CreativeAssignment को सेव करने के लिए, CreativeRotation ऑब्जेक्ट बनाएं. यदि रोटेशन समूह बना रहे हैं, तो अन्य आवश्यक क्रिएटिव रोटेशन फ़ील्ड सेट करना न भूलें.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. हर उस प्लेसमेंट के लिए PlacementAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. PlacementAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Ad ऑब्जेक्ट बनाएं. CreativeRotation को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और रोमांच के प्लेसमेंट को Ad ऑब्जेक्ट के placementAssignments कलेक्शन में सेट करें.
    # Construct delivery schedule.
    delivery_schedule = {
        'impressionRatio': '1',
        'priority': 'AD_PRIORITY_01'
    }
    
    # Construct and save ad.
    ad = {
        'active': 'true',
        'campaignId': campaign_id,
        'creativeRotation': creative_rotation,
        'deliverySchedule': delivery_schedule,
        'endTime': '%sT00:00:00Z' % campaign['endDate'],
        'name': 'Test Rotation Group',
        'placementAssignments': [placement_assignment],
        'startTime': '%sT23:59:59Z' % time.strftime('%Y-%m-%d'),
        'type': 'AD_SERVING_STANDARD_AD'
    }
    
  5. ads.insert() पर कॉल करके विज्ञापन सेव करें.
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. हर उस क्रिएटिव के लिए CreativeAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. CreativeAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    # Construct creative assignment.
    creative_assignment =
      DfareportingUtils::API_NAMESPACE::CreativeAssignment.new(
        active: true,
        creative_id: creative_id,
        click_through_url: DfareportingUtils::API_NAMESPACE::ClickThroughUrl.new(
          default_landing_page: true
        )
      )
    
  2. CreativeAssignment को सेव करने के लिए, CreativeRotation ऑब्जेक्ट बनाएं. यदि रोटेशन समूह बना रहे हैं, तो अन्य आवश्यक क्रिएटिव रोटेशन फ़ील्ड सेट करना न भूलें.
    # Construct creative rotation.
    creative_rotation = DfareportingUtils::API_NAMESPACE::CreativeRotation.new(
      creative_assignments: [creative_assignment],
      type: 'CREATIVE_ROTATION_TYPE_RANDOM',
      weight_calculation_strategy: 'WEIGHT_STRATEGY_OPTIMIZED'
    )
    
  3. हर उस प्लेसमेंट के लिए PlacementAssignment ऑब्जेक्ट बनाएं जिससे यह विज्ञापन जुड़ा होना चाहिए. PlacementAssignment.active फ़ील्ड को 'सही' पर सेट करना न भूलें.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Ad ऑब्जेक्ट बनाएं. CreativeRotation को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और रोमांच के प्लेसमेंट को Ad ऑब्जेक्ट के placementAssignments कलेक्शन में सेट करें.
    # Construct delivery schedule.
    delivery_schedule = DfareportingUtils::API_NAMESPACE::DeliverySchedule.new(
      impression_ratio: 1,
      priority: 'AD_PRIORITY_01'
    )
    
    # Construct and save ad.
    ad = DfareportingUtils::API_NAMESPACE::Ad.new(
      active: true,
      campaign_id: campaign_id,
      creative_rotation: creative_rotation,
      delivery_schedule: delivery_schedule,
      end_time: format('%sT00:00:00Z', campaign.end_date),
      name: 'Example Rotation Group',
      placement_assignments: [placement_assignment],
      start_time: format('%sT23:59:59Z', Time.now.strftime('%Y-%m-%d')),
      type: 'AD_SERVING_STANDARD_AD'
    )
    
  5. ads.insert() पर कॉल करके विज्ञापन सेव करें.
    result = service.insert_ad(profile_id, ad)
    

सीधे तौर पर जानकारी न देना

C#

  1. Placement बनाएं और सेव करें.
  2. Creative बनाएं और सेव करें.
  3. campaignCreativeAssociations.insert() को कॉल करके, Creative को Placement के लिए इस्तेमाल किए गए Campaign से जोड़ें. क्रिएटिव बनाना सेक्शन में चौथा चरण देखें. इससे क्रिएटिव और प्लेसमेंट, दोनों से जुड़ा एक डिफ़ॉल्ट विज्ञापन बन जाएगा.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.CreativeId = creativeId;
    
    // Insert the association.
    CampaignCreativeAssociation result =
        service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
    

Java

  1. Placement बनाएं और सेव करें.
  2. Creative बनाएं और सेव करें.
  3. campaignCreativeAssociations.insert() को कॉल करके, Creative को Placement के लिए इस्तेमाल किए गए Campaign से जोड़ें. क्रिएटिव बनाना सेक्शन में चौथा चरण देखें. इससे क्रिएटिव और प्लेसमेंट, दोनों से जुड़ा एक डिफ़ॉल्ट विज्ञापन बन जाएगा.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.setCreativeId(creativeId);
    
    // Insert the association.
    CampaignCreativeAssociation result = reporting
        .campaignCreativeAssociations().insert(profileId, campaignId, association)
        .execute();
    

PHP

  1. Placement बनाएं और सेव करें.
  2. Creative बनाएं और सेव करें.
  3. campaignCreativeAssociations.insert() को कॉल करके, Creative को Placement के लिए इस्तेमाल किए गए Campaign से जोड़ें. क्रिएटिव बनाना सेक्शन में चौथा चरण देखें. इससे क्रिएटिव और प्लेसमेंट, दोनों से जुड़ा एक डिफ़ॉल्ट विज्ञापन बन जाएगा.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );
    

Python

  1. Placement बनाएं और सेव करें.
  2. Creative बनाएं और सेव करें.
  3. campaignCreativeAssociations.insert() को कॉल करके, Creative को Placement के लिए इस्तेमाल किए गए Campaign से जोड़ें. क्रिएटिव बनाना सेक्शन में चौथा चरण देखें. इससे क्रिएटिव और प्लेसमेंट, दोनों से जुड़ा एक डिफ़ॉल्ट विज्ञापन बन जाएगा.
    # Construct the request.
    association = {
        'creativeId': creative_id
    }
    
    request = service.campaignCreativeAssociations().insert(
        profileId=profile_id, campaignId=campaign_id, body=association)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Placement बनाएं और सेव करें.
  2. Creative बनाएं और सेव करें.
  3. campaignCreativeAssociations.insert() को कॉल करके, Creative को Placement के लिए इस्तेमाल किए गए Campaign से जोड़ें. क्रिएटिव बनाना सेक्शन में चौथा चरण देखें. इससे क्रिएटिव और प्लेसमेंट, दोनों से जुड़ा एक डिफ़ॉल्ट विज्ञापन बन जाएगा.
    # Create a new creative-campaign association to insert
    association =
      DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new(
        creative_id: creative_id
      )
    
    # Insert the advertiser group.
    result = service.insert_campaign_creative_association(profile_id, campaign_id,
      association)
    

साफ़ तौर पर विज्ञापन बनाने से, Ad बनाने का अतिरिक्त चरण सेव हो जाता है. ध्यान दें कि ऐसा तभी किया जा सकता है, जब आपके कैंपेन में तय साइज़ का कोई डिफ़ॉल्ट विज्ञापन पहले से मौजूद न हो.

ऑब्जेक्ट खोजना

ऑब्जेक्ट टाइप के लिए सही वैकल्पिक मानदंड तय करते हुए, ऑब्जेक्ट को ढूंढने के लिए तय करने वाली सेवा के ज़रिए एक्सपोज़ किए गए list() ऑपरेशन को कॉल करके ऑब्जेक्ट खोजे जा सकते हैं. उदाहरण के लिए, विज्ञापन ऑब्जेक्ट खोजने के लिए, आपको ads.list() को कॉल करना होगा. वैकल्पिक मानदंड उस ऑब्जेक्ट के लिए सही प्रॉपर्टी का सेट दिखाते हैं; खोजने के लिए जितनी चाहें उतनी प्रॉपर्टी भरें. खोज में सिर्फ़ वे ऑब्जेक्ट दिखेंगे जो आपकी सभी शर्तों को पूरा करते हैं; आप किसी ऐसी खोज नहीं कर सकते जो किसी मापदंड से मेल खाती हो. स्ट्रिंग, * वाइल्डकार्ड के साथ काम करती हैं. ये केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) नहीं होती हैं. साथ ही, ये बड़ी स्ट्रिंग के साथ मैच करती हैं.

परफ़ॉर्मेंस को बेहतर बनाने के लिए, fields पैरामीटर का इस्तेमाल करके आंशिक जवाबों का अनुरोध किया जा सकता है. यह सर्वर को पूरा संसाधन दिखाने के बजाय, सिर्फ़ आपके बताए गए फ़ील्ड दिखाने का निर्देश देता है. इस विषय के बारे में ज़्यादा जानकारी, परफ़ॉर्मेंस के बारे में सलाह वाली गाइड में मिल सकती है.

पृष्ठांकन

कभी-कभी list() अनुरोध के लिए सभी नतीजे पाना ज़रूरी नहीं होता. उदाहरण के लिए, हो सकता है आप हज़ारों नए विज्ञापनों में से सिर्फ़ 10 सबसे नए विज्ञापनों में दिलचस्पी रखते हों. इसमें मदद करने के लिए, list() के कई तरीकों में पेजिंग नाम की प्रोसेस का इस्तेमाल करके, कम नतीजों के लिए अनुरोध किया जा सकता है.

ऐसे तरीके जो पेज नाम के ग्रुप में नतीजों के सबसेट को पेजिंग के रूप में दिखाते हैं. हर पेज पर ज़्यादा से ज़्यादा 1,000 नतीजे दिखाए जा सकते हैं. यह डिफ़ॉल्ट सेटिंग है. maxResults को सेट करके, हर पेज के नतीजों की संख्या बदली जा सकती है. रिस्पॉन्स के तौर पर मिले nextPageToken का इस्तेमाल करके, हर पेज पर दिखने वाले नतीजों की संख्या को दोहराया जा सकता है:

C#

// Limit the fields returned.
String fields = "nextPageToken,ads(advertiserId,id,name)";

AdsListResponse result;
String nextPageToken = null;

do {
  // Create and execute the ad list request.
  AdsResource.ListRequest request = service.Ads.List(profileId);
  request.Active = true;
  request.Fields = fields;
  request.PageToken = nextPageToken;
  result = request.Execute();

  foreach (Ad ad in result.Ads) {
    Console.WriteLine(
        "Ad with ID {0} and name \"{1}\" is associated with advertiser" +
        " ID {2}.", ad.Id, ad.Name, ad.AdvertiserId);
  }

  // Update the next page token.
  nextPageToken = result.NextPageToken;
} while (result.Ads.Any() && !String.IsNullOrEmpty(nextPageToken));

Java

// Limit the fields returned.
String fields = "nextPageToken,ads(advertiserId,id,name)";

AdsListResponse result;
String nextPageToken = null;

do {
  // Create and execute the ad list request.
  result = reporting.ads().list(profileId).setActive(true).setFields(fields)
      .setPageToken(nextPageToken).execute();

  for (Ad ad : result.getAds()) {
    System.out.printf(
        "Ad with ID %d and name \"%s\" is associated with advertiser ID %d.%n", ad.getId(),
        ad.getName(), ad.getAdvertiserId());
  }

  // Update the next page token.
  nextPageToken = result.getNextPageToken();
} while (!result.getAds().isEmpty() && !Strings.isNullOrEmpty(nextPageToken));

PHP

$response = null;
$pageToken = null;

do {
    // Create and execute the ads list request.
    $response = $this->service->ads->listAds(
        $values['user_profile_id'],
        ['active' => true, 'pageToken' => $pageToken]
    );

    foreach ($response->getAds() as $ads) {
        $this->printResultsTableRow($ads);
    }

    // Update the next page token.
    $pageToken = $response->getNextPageToken();
} while (!empty($response->getAds()) && !empty($pageToken));

Python

# Construct the request.
request = service.ads().list(profileId=profile_id, active=True)

while True:
  # Execute request and print response.
  response = request.execute()

  for ad in response['ads']:
    print 'Found ad with ID %s and name "%s".' % (ad['id'], ad['name'])

  if response['ads'] and response['nextPageToken']:
    request = service.ads().list_next(request, response)
  else:
    break

Ruby

token = nil
loop do
  result = service.list_ads(profile_id,
    page_token: token,
    fields: 'nextPageToken,ads(id,name)')

  # Display results.
  if result.ads.any?
    result.ads.each do |ad|
      puts format('Found ad with ID %d and name "%s".', ad.id, ad.name)
    end

    token = result.next_page_token
  else
    # Stop paging if there are no more results.
    token = nil
  end

  break if token.to_s.empty?
end

Floodlight टैग जनरेट करें

Floodlight टैग, किसी पेज में एम्बेड किए गए एचटीएमएल टैग होते हैं. इनका इस्तेमाल किसी साइट में उपयोगकर्ता की कार्रवाइयों (जैसे कि खरीदारी) को ट्रैक करने के लिए किया जाता है. Floodlight टैग जनरेट करने के लिए, आपको FloodlightActivity की ज़रूरत होगी जो FloodlightActivityGroup से जुड़े हैं:

C#

  1. name, type, और floodlightConfigurationId के लिए वैल्यू पास करके, Floodlight ऐक्टिविटी का एक नया ग्रुप बनाएं.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. Floodlight ऐक्टिविटी ग्रुप को सेव करने के लिए, floodlightActivityGroups.insert() पर कॉल करें. इससे आपको नए ग्रुप का आईडी मिल जाएगा.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. कोई नई Floodlight गतिविधि बनाएं और उसे, अभी-अभी बनाए गए Floodlight ऐक्टिविटी ग्रुप के आईडी और अन्य सभी ज़रूरी फ़ील्ड असाइन करें.
    // Set floodlight activity structure.
    FloodlightActivity activity = new FloodlightActivity();
    activity.CountingMethod = "STANDARD_COUNTING";
    activity.Name = activityName;
    activity.FloodlightActivityGroupId = activityGroupId;
    activity.FloodlightTagType = "GLOBAL_SITE_TAG";
    activity.ExpectedUrl = url;
    
  4. floodlightActivities.insert() पर कॉल करके नई गतिविधि सेव करें. इससे आपको नई गतिविधि का आईडी दिखेगा.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. अपनी नई गतिविधि के floodlightActivityId के साथ floodlightActivities.generatetag() को कॉल करके टैग जनरेट करें. विज्ञापन देने वाले की वेबसाइट के वेबमास्टर को टैग भेजें.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. name, type, और floodlightConfigurationId के लिए वैल्यू पास करके, Floodlight ऐक्टिविटी का एक नया ग्रुप बनाएं.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. Floodlight ऐक्टिविटी ग्रुप को सेव करने के लिए, floodlightActivityGroups.insert() पर कॉल करें. इससे आपको नए ग्रुप का आईडी मिल जाएगा.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. कोई नई Floodlight गतिविधि बनाएं और उसे, अभी-अभी बनाए गए Floodlight ऐक्टिविटी ग्रुप के आईडी और अन्य सभी ज़रूरी फ़ील्ड असाइन करें.
    // Set floodlight activity structure.
    FloodlightActivity activity = new FloodlightActivity();
    activity.setName(activityName);
    activity.setCountingMethod("STANDARD_COUNTING");
    activity.setExpectedUrl(url);
    activity.setFloodlightActivityGroupId(activityGroupId);
    activity.setFloodlightTagType("GLOBAL_SITE_TAG");
    
  4. floodlightActivities.insert() पर कॉल करके नई गतिविधि सेव करें. इससे आपको नई गतिविधि का आईडी दिखेगा.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. अपनी नई गतिविधि के floodlightActivityId के साथ floodlightActivities.generatetag() को कॉल करके टैग जनरेट करें. विज्ञापन देने वाले की वेबसाइट के वेबमास्टर को टैग भेजें.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. name, type, और floodlightConfigurationId के लिए वैल्यू पास करके, Floodlight ऐक्टिविटी का एक नया ग्रुप बनाएं.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. Floodlight ऐक्टिविटी ग्रुप को सेव करने के लिए, floodlightActivityGroups.insert() पर कॉल करें. इससे आपको नए ग्रुप का आईडी मिल जाएगा.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. कोई नई Floodlight गतिविधि बनाएं और उसे, अभी-अभी बनाए गए Floodlight ऐक्टिविटी ग्रुप के आईडी और अन्य सभी ज़रूरी फ़ील्ड असाइन करें.
    $activity = new Google_Service_Dfareporting_FloodlightActivity();
    $activity->setCountingMethod('STANDARD_COUNTING');
    $activity->setExpectedUrl($values['url']);
    $activity->setFloodlightActivityGroupId($values['activity_group_id']);
    $activity->setFloodlightTagType('GLOBAL_SITE_TAG');
    $activity->setName($values['activity_name']);
    
  4. floodlightActivities.insert() पर कॉल करके नई गतिविधि सेव करें. इससे आपको नई गतिविधि का आईडी दिखेगा.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. अपनी नई गतिविधि के floodlightActivityId के साथ floodlightActivities.generatetag() को कॉल करके टैग जनरेट करें. विज्ञापन देने वाले की वेबसाइट के वेबमास्टर को टैग भेजें.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. name, type, और floodlightConfigurationId के लिए वैल्यू पास करके, Floodlight ऐक्टिविटी का एक नया ग्रुप बनाएं.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. Floodlight ऐक्टिविटी ग्रुप को सेव करने के लिए, floodlightActivityGroups.insert() पर कॉल करें. इससे आपको नए ग्रुप का आईडी मिल जाएगा.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. कोई नई Floodlight गतिविधि बनाएं और उसे, अभी-अभी बनाए गए Floodlight ऐक्टिविटी ग्रुप के आईडी और अन्य सभी ज़रूरी फ़ील्ड असाइन करें.
    # Construct and save floodlight activity.
    floodlight_activity = {
        'countingMethod': 'STANDARD_COUNTING',
        'expectedUrl': 'http://www.google.com',
        'floodlightActivityGroupId': activity_group_id,
        'floodlightTagType': 'GLOBAL_SITE_TAG',
        'name': 'Test Floodlight Activity'
    }
    
  4. floodlightActivities.insert() पर कॉल करके नई गतिविधि सेव करें. इससे आपको नई गतिविधि का आईडी दिखेगा.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. अपनी नई गतिविधि के floodlightActivityId के साथ floodlightActivities.generatetag() को कॉल करके टैग जनरेट करें. विज्ञापन देने वाले की वेबसाइट के वेबमास्टर को टैग भेजें.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. name, type, और floodlightConfigurationId के लिए वैल्यू पास करके, Floodlight ऐक्टिविटी का एक नया ग्रुप बनाएं.
    # Create a new floodlight activity group resource to insert.
    activity_group =
      DfareportingUtils::API_NAMESPACE::FloodlightActivityGroup.new(
        floodlight_configuration_id: floodlight_config_id,
        name:
          format('Example Floodlight Activity Group #%s', SecureRandom.hex(3)),
        type: 'COUNTER'
      )
    
  2. Floodlight ऐक्टिविटी ग्रुप को सेव करने के लिए, floodlightActivityGroups.insert() पर कॉल करें. इससे आपको नए ग्रुप का आईडी मिल जाएगा.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. कोई नई Floodlight गतिविधि बनाएं और उसे, अभी-अभी बनाए गए Floodlight ऐक्टिविटी ग्रुप के आईडी और अन्य सभी ज़रूरी फ़ील्ड असाइन करें.
    # Create a new floodlight activity resource to insert.
    activity = DfareportingUtils::API_NAMESPACE::FloodlightActivity.new(
      counting_method: 'STANDARD_COUNTING',
      expected_url: 'http://www.google.com',
      floodlight_activity_group_id: activity_group_id,
      floodlight_tag_type: 'GLOBAL_SITE_TAG',
      name: format('Example Floodlight Activity #%s', SecureRandom.hex(3))
    )
    
  4. floodlightActivities.insert() पर कॉल करके नई गतिविधि सेव करें. इससे आपको नई गतिविधि का आईडी दिखेगा.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. अपनी नई गतिविधि के floodlightActivityId के साथ floodlightActivities.generatetag() को कॉल करके टैग जनरेट करें. विज्ञापन देने वाले की वेबसाइट के वेबमास्टर को टैग भेजें.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

प्लेसमेंट टैग जनरेट करें

आखिरी चरण है एचटीएमएल टैग जनरेट करना, ताकि प्रकाशक को आपके विज्ञापन दिखाने के लिए उन्हें भेजा जा सके. एपीआई की मदद से टैग जनरेट करने के लिए, placementIds और tagFormats का सेट तय करके placements.generatetags() को अनुरोध करें.

C#

// Generate the placement activity tags.
PlacementsResource.GeneratetagsRequest request =
    service.Placements.Generatetags(profileId);
request.CampaignId = campaignId;
request.TagFormats =
    PlacementsResource.GeneratetagsRequest.TagFormatsEnum.PLACEMENTTAGIFRAMEJAVASCRIPT;
request.PlacementIds = placementId.ToString();

PlacementsGenerateTagsResponse response = request.Execute();

Java

// Generate the placement activity tags.
Generatetags request = reporting.placements().generatetags(profileId);
request.setCampaignId(campaignId);
request.setTagFormats(tagFormats);
request.setPlacementIds(ImmutableList.of(placementId));

PlacementsGenerateTagsResponse response = request.execute();

PHP

$placementTags = $this->service->placements->generatetags(
    $values['user_profile_id'],
    ['campaignId' => $values['campaign_id'],
     'placementIds' => [$values['placement_id']],
     'tagFormats' => ['PLACEMENT_TAG_STANDARD',
                      'PLACEMENT_TAG_IFRAME_JAVASCRIPT',
                      'PLACEMENT_TAG_INTERNAL_REDIRECT']
    ]
);

Python

# Construct the request.
request = service.placements().generatetags(
    profileId=profile_id, campaignId=campaign_id,
    placementIds=[placement_id])

# Execute request and print response.
response = request.execute()

Ruby

# Construct the request.
result = service.generate_placement_tags(profile_id,
  campaign_id: campaign_id,
  placement_ids: [placement_id])