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

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

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

  • ज़रूरी और वैकल्पिक प्रॉपर्टी और पैरामीटर - रेफ़रंस दस्तावेज़ देखें और पता लगाएं कि एपीआई कॉल के लिए प्रॉपर्टी या पैरामीटर की ज़रूरत है या नहीं.
  • वाइल्डकार्ड नाम की खोज - ऑब्जेक्ट के नाम खोजते समय, तारे के निशान (*) वाइल्डकार्ड का इस्तेमाल किया जा सकता है. स्टार का निशान किसी भी वर्ण से शून्य या उससे ज़्यादा मैच करता है. एपीआई में दिखाने के लिए सेट की गई सबस्ट्रिंग का भी इस्तेमाल किया जा सकता है. इसलिए, "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 और फ़ाइल के कॉन्टेंट को एक ही अनुरोध के हिस्से के तौर पर पास करें. अगर सफल हुआ, तो CreativeAsset संसाधन को assetIdentifier के साथ दिया जाएगा, जिसका इस्तेमाल आप इस एसेट को किसी क्रिएटिव को असाइन करने के लिए करेंगे.

    // 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 और फ़ाइल के कॉन्टेंट को एक ही अनुरोध के हिस्से के तौर पर पास करें. अगर सफल हुआ, तो CreativeAsset संसाधन को assetIdentifier के साथ दिया जाएगा, जिसका इस्तेमाल आप इस एसेट को किसी क्रिएटिव को असाइन करने के लिए करेंगे.

    // 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 और फ़ाइल के कॉन्टेंट को एक ही अनुरोध के हिस्से के तौर पर पास करें. अगर सफल हुआ, तो CreativeAsset संसाधन को assetIdentifier के साथ दिया जाएगा, जिसका इस्तेमाल आप इस एसेट को किसी क्रिएटिव को असाइन करने के लिए करेंगे.

    $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 और फ़ाइल के कॉन्टेंट को एक ही अनुरोध के हिस्से के तौर पर पास करें. अगर सफल हुआ, तो CreativeAsset संसाधन को assetIdentifier के साथ दिया जाएगा, जिसका इस्तेमाल आप इस एसेट को किसी क्रिएटिव को असाइन करने के लिए करेंगे.

    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 और फ़ाइल के कॉन्टेंट को एक ही अनुरोध के हिस्से के तौर पर पास करें. अगर सफल हुआ, तो CreativeAsset संसाधन को assetIdentifier के साथ दिया जाएगा, जिसका इस्तेमाल आप इस एसेट को किसी क्रिएटिव को असाइन करने के लिए करेंगे.

    # 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 ऑब्जेक्ट बनाएं. क्रिएटिवरोटेशन को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और प्लेसमेंट Assignments को 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 ऑब्जेक्ट बनाएं. क्रिएटिवरोटेशन को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और प्लेसमेंट Assignments को 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 ऑब्जेक्ट बनाएं. क्रिएटिवरोटेशन को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और प्लेसमेंट Assignments को 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 ऑब्जेक्ट बनाएं. क्रिएटिवरोटेशन को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और प्लेसमेंट Assignments को 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 ऑब्जेक्ट बनाएं. क्रिएटिवरोटेशन को Ad ऑब्जेक्ट के creativeRotation फ़ील्ड में और प्लेसमेंट Assignments को 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 टैग जनरेट करने के लिए, आपको FloodlightActivityGroup से जुड़े FloodlightActivity की ज़रूरत होगी:

C#

  1. ऐसा नया Floodlight ऐक्टिविटी ग्रुप बनाएं जो name, type, और floodlightConfigurationId के लिए वैल्यू पास करे.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. floodlightActivityGroups.insert() को कॉल करके, Floodlight ऐक्टिविटी ग्रुप को सेव करें. इससे नए ग्रुप का आईडी दिखेगा.
    // 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. ऐसा नया Floodlight ऐक्टिविटी ग्रुप बनाएं जो name, type, और floodlightConfigurationId के लिए वैल्यू पास करे.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. floodlightActivityGroups.insert() को कॉल करके, Floodlight ऐक्टिविटी ग्रुप को सेव करें. इससे नए ग्रुप का आईडी दिखेगा.
    // 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. ऐसा नया Floodlight ऐक्टिविटी ग्रुप बनाएं जो name, type, और floodlightConfigurationId के लिए वैल्यू पास करे.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. floodlightActivityGroups.insert() को कॉल करके, Floodlight ऐक्टिविटी ग्रुप को सेव करें. इससे नए ग्रुप का आईडी दिखेगा.
    $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. ऐसा नया Floodlight ऐक्टिविटी ग्रुप बनाएं जो name, type, और floodlightConfigurationId के लिए वैल्यू पास करे.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. floodlightActivityGroups.insert() को कॉल करके, Floodlight ऐक्टिविटी ग्रुप को सेव करें. इससे नए ग्रुप का आईडी दिखेगा.
    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. ऐसा नया Floodlight ऐक्टिविटी ग्रुप बनाएं जो name, type, और floodlightConfigurationId के लिए वैल्यू पास करे.
    # 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. floodlightActivityGroups.insert() को कॉल करके, Floodlight ऐक्टिविटी ग्रुप को सेव करें. इससे नए ग्रुप का आईडी दिखेगा.
    # 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)
    

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

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

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])