Częste zadania trafikowania

Na tej stronie opisujemy, jak wykonywać najczęstsze działania związane z trafikowaniem, korzystając z interfejsu DCM/DFA Reporting and Trafficking API.

Ogólne wskazówki dotyczące kodowania

  • Wymagane i opcjonalne właściwości i parametry – zapoznaj się z dokumentacją, by dowiedzieć się, czy do wywołania interfejsu API wymagana jest właściwość lub parametr.
  • Wyszukiwanie z użyciem symboli wieloznacznych – podczas wyszukiwania nazw obiektów możesz użyć symbolu wieloznacznego gwiazdki (*). Gwiazdka odpowiada zero lub więcej dowolnych znaków. Interfejs API obsługuje również domniemane wyszukiwanie podłańcucha, więc wyszukiwanie ciągu „abc” domyślnie wyszuka „*abc*”.
  • Aktualizowanie a stosowanie poprawek – możesz zmodyfikować istniejący obiekt na 2 sposoby:
    1. Aktualizowanie – podczas aktualizowania obiektu wszystkie pola zostaną zastąpione po wstawieniu. Musisz załadować obiekt, który chcesz zaktualizować, i wprowadzić w nim zmiany. W przeciwnym razie wszystkie pola, których nie ma w żądaniu aktualizacji, zostaną nieskonfigurowane.
    2. Poprawki – podczas stosowania poprawek tylko określone pola zostaną zastąpione po wstawieniu. W takim przypadku możesz utworzyć nowy obiekt, przypisać mu taki sam identyfikator jak obiektowi do aktualizacji, ustawić pola do aktualizacji i wykonać żądanie poprawki.
  • Rozmiary – wymiary fizyczne są reprezentowane przez obiekt Size zdefiniowany przez usługę rozmiarów. Na koncie dostępny jest zestaw standardowych rozmiarów, ale możesz dodać do tej listy własne rozmiary niestandardowe.
  • Daty i godziny – możesz zapisywać daty i godziny w formacie RFC 3339, korzystając z lokalnych stref czasowych. wszystkie wartości zwracane przez interfejs API są podane w czasie UTC. Różni się ona od witryny, w której daty i godziny są wyświetlane w skonfigurowanej strefie czasowej (domyślnie Ameryka Północna i Nowy Jork).

Tworzenie reklamodawcy

C#

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości name i status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. Wywołaj advertisers.insert(), aby zapisać reklamodawcę.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości name i status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. Wywołaj advertisers.insert(), aby zapisać reklamodawcę.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości name i status.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. Wywołaj advertisers.insert(), aby zapisać reklamodawcę.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości name i status.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. Wywołaj advertisers.insert(), aby zapisać reklamodawcę.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości name i status.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
    
  2. Wywołaj advertisers.insert(), aby zapisać reklamodawcę.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

Tworzenie kampanii

C#

  1. Utwórz obiekt Campaign i ustaw jego wymagane właściwości:

    • advertiserId – reklamodawca, z którym ma być powiązana ta kampania.
    • name – musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub tworząc nowe, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
    // 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. Aby zapisać kampanię, zadzwoń pod numer campaigns.insert().

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

Java

  1. Utwórz obiekt Campaign i ustaw jego wymagane właściwości:

    • advertiserId – reklamodawca, z którym ma być powiązana ta kampania.
    • name – musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub tworząc nowe, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
    // 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. Aby zapisać kampanię, zadzwoń pod numer campaigns.insert().

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

PHP

  1. Utwórz obiekt Campaign i ustaw jego wymagane właściwości:

    • advertiserId – reklamodawca, z którym ma być powiązana ta kampania.
    • name – musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub tworząc nowe, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
    $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. Aby zapisać kampanię, zadzwoń pod numer campaigns.insert().

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

Python

  1. Utwórz obiekt Campaign i ustaw jego wymagane właściwości:

    • advertiserId – reklamodawca, z którym ma być powiązana ta kampania.
    • name – musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub tworząc nowe, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
    # 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. Aby zapisać kampanię, zadzwoń pod numer campaigns.insert().

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

Ruby

  1. Utwórz obiekt Campaign i ustaw jego wymagane właściwości:

    • advertiserId – reklamodawca, z którym ma być powiązana ta kampania.
    • name – musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub tworząc nowe, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
    # 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. Aby zapisać kampanię, zadzwoń pod numer campaigns.insert().

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

Tworzenie miejsca docelowego

C#

  1. Utwórz obiekt Placement i ustaw wymagane właściwości miejsca docelowego (w tym campaignId i siteId). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.
    // 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. Utwórz nowy obiekt PricingSchedule, który przypiszesz do miejsca docelowego.
    // 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. Zapisz obiekt Placement, wywołując funkcję placements.insert(). Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. Utwórz obiekt Placement i ustaw wymagane właściwości miejsca docelowego (w tym campaignId i siteId). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.
    // 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. Utwórz nowy obiekt PricingSchedule, który przypiszesz do miejsca docelowego.
    // 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. Zapisz obiekt Placement, wywołując funkcję placements.insert(). Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. Utwórz obiekt Placement i ustaw wymagane właściwości miejsca docelowego (w tym campaignId i siteId). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.
    $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. Utwórz nowy obiekt PricingSchedule, który przypiszesz do miejsca docelowego.
    // 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. Zapisz obiekt Placement, wywołując funkcję placements.insert(). Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. Utwórz obiekt Placement i ustaw wymagane właściwości miejsca docelowego (w tym campaignId i siteId). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.
    # 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. Utwórz nowy obiekt PricingSchedule, który przypiszesz do miejsca docelowego.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. Zapisz obiekt Placement, wywołując funkcję placements.insert(). Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Utwórz obiekt Placement i ustaw wymagane właściwości miejsca docelowego (w tym campaignId i siteId). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.
    # 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. Utwórz nowy obiekt PricingSchedule, który przypiszesz do miejsca docelowego.
    # 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. Zapisz obiekt Placement, wywołując funkcję placements.insert(). Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

Prześlij komponenty

W ramach procesu nazywanego przesyłaniem multimediów możesz przesyłać wiele typów zasobów. Chociaż ten proces jest podobny w przypadku wszystkich typów kreacji, niektóre typy kreacji mogą wymagać przekazania określonych właściwości jako metadanych, by mogły one działać prawidłowo.

C#

  1. Utwórz obiekt assetIdentifier i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony element assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. Prześlij plik, wywołując funkcję creativeAssets.insert(). Wykonaj przesyłanie wieloczęściowe, przekazując zarówno assetIdentifier, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasób CreativeAsset z elementem assetIdentifier, którego należy użyć do przypisania zasobu do kreacji.

    // 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. Utwórz obiekt assetIdentifier i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony element assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. Prześlij plik, wywołując funkcję creativeAssets.insert(). Wykonaj przesyłanie wieloczęściowe, przekazując zarówno assetIdentifier, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasób CreativeAsset z elementem assetIdentifier, którego należy użyć do przypisania zasobu do kreacji.

    // 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. Utwórz obiekt assetIdentifier i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony element assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. Prześlij plik, wywołując funkcję creativeAssets.insert(). Wykonaj przesyłanie wieloczęściowe, przekazując zarówno assetIdentifier, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasób CreativeAsset z elementem assetIdentifier, którego należy użyć do przypisania zasobu do kreacji.

    $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. Utwórz obiekt assetIdentifier i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony element assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. Prześlij plik, wywołując funkcję creativeAssets.insert(). Wykonaj przesyłanie wieloczęściowe, przekazując zarówno assetIdentifier, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasób CreativeAsset z elementem assetIdentifier, którego należy użyć do przypisania zasobu do kreacji.

    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. Utwórz obiekt assetIdentifier i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony element assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
    # 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. Prześlij plik, wywołując funkcję creativeAssets.insert(). Wykonaj przesyłanie wieloczęściowe, przekazując zarówno assetIdentifier, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasób CreativeAsset z elementem assetIdentifier, którego należy użyć do przypisania zasobu do kreacji.

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

Utwórz kreację

Obiekt Creative opakowuje istniejący zasób. W zależności od tego, jak będziesz używać kreacji na stronie hostującej, możesz tworzyć obiekty Creative różnych typów kreacji. Aby określić, który typ jest dla Ciebie odpowiedni, zapoznaj się z dokumentacją.

Przykład poniżej pokazuje, jak utworzyć nową kreację displayową HTML5.

C#

  1. Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz assetIdenfitier. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiednią wartość type. nie możesz zmienić typu obiektu Creative po jego zapisaniu. Określ zasoby, korzystając z ich właściwości AssetIdentifier i 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. Zapisz kreację. Aby to zrobić, zadzwoń pod numer creatives.insert(). Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert() i przekaż identyfikatory kampanii i kreacji.
    // 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. Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz assetIdenfitier. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiednią wartość type. nie możesz zmienić typu obiektu Creative po jego zapisaniu. Określ zasoby, korzystając z ich właściwości AssetIdentifier i 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. Zapisz kreację. Aby to zrobić, zadzwoń pod numer creatives.insert(). Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert() i przekaż identyfikatory kampanii i kreacji.
    // 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. Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz assetIdenfitier. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiednią wartość type. nie możesz zmienić typu obiektu Creative po jego zapisaniu. Określ zasoby, korzystając z ich właściwości AssetIdentifier i 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. Zapisz kreację. Aby to zrobić, zadzwoń pod numer creatives.insert(). Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert() i przekaż identyfikatory kampanii i kreacji.
    $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. Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz assetIdenfitier. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiednią wartość type. nie możesz zmienić typu obiektu Creative po jego zapisaniu. Określ zasoby, korzystając z ich właściwości AssetIdentifier i 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. Zapisz kreację. Aby to zrobić, zadzwoń pod numer creatives.insert(). Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert() i przekaż identyfikatory kampanii i kreacji.
    # 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. Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz assetIdenfitier. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiednią wartość type. nie możesz zmienić typu obiektu Creative po jego zapisaniu. Określ zasoby, korzystając z ich właściwości AssetIdentifier i 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. Zapisz kreację. Aby to zrobić, zadzwoń pod numer creatives.insert(). Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert() i przekaż identyfikatory kampanii i kreacji.
    # 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)
    

Utwórz reklamę

Element Ad łączy elementy Creative i Placement. Element Ad może być połączony z jednym lub wieloma miejscami docelowymi i zawierać co najmniej 1 kreację.

Ad możesz utworzyć bezpośrednio lub domyślnie.

Wyraźnie

C#

  1. Utwórz obiekt CreativeAssignment dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w polu CreativeAssignment.active ustawić wartość true (prawda).
    // 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. Utwórz obiekt CreativeRotation do przechowywania obiektów CreativeAssignment. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. Utwórz obiekt PlacementAssignment dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w polu PlacementAssignment.active ustawić wartość true (prawda).
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Utwórz obiekt Ad. Ustaw parametr eventRotation w polu creativeRotation obiektu Ad, a miejsce placementAssignments w tablicy placementAssignments obiektu Ad.
    // 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. Zapisz reklamę, dzwoniąc pod numer ads.insert().
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. Utwórz obiekt CreativeAssignment dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w polu CreativeAssignment.active ustawić wartość true (prawda).
    // 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. Utwórz obiekt CreativeRotation do przechowywania obiektów CreativeAssignment. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. Utwórz obiekt PlacementAssignment dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w polu PlacementAssignment.active ustawić wartość true (prawda).
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Utwórz obiekt Ad. Ustaw parametr eventRotation w polu creativeRotation obiektu Ad, a miejsce placementAssignments w tablicy placementAssignments obiektu Ad.
    // 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. Zapisz reklamę, dzwoniąc pod numer ads.insert().
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. Utwórz obiekt CreativeAssignment dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w polu CreativeAssignment.active ustawić wartość true (prawda).
    // 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. Utwórz obiekt CreativeRotation do przechowywania obiektów CreativeAssignment. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. Utwórz obiekt PlacementAssignment dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w polu PlacementAssignment.active ustawić wartość true (prawda).
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. Utwórz obiekt Ad. Ustaw parametr eventRotation w polu creativeRotation obiektu Ad, a miejsce placementAssignments w tablicy placementAssignments obiektu Ad.
    // 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. Zapisz reklamę, dzwoniąc pod numer ads.insert().
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. Utwórz obiekt CreativeAssignment dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w polu CreativeAssignment.active ustawić wartość true (prawda).
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. Utwórz obiekt CreativeRotation do przechowywania obiektów CreativeAssignment. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. Utwórz obiekt PlacementAssignment dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w polu PlacementAssignment.active ustawić wartość true (prawda).
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Utwórz obiekt Ad. Ustaw parametr eventRotation w polu creativeRotation obiektu Ad, a miejsce placementAssignments w tablicy placementAssignments obiektu Ad.
    # 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. Zapisz reklamę, dzwoniąc pod numer ads.insert().
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Utwórz obiekt CreativeAssignment dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w polu CreativeAssignment.active ustawić wartość true (prawda).
    # 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. Utwórz obiekt CreativeRotation do przechowywania obiektów CreativeAssignment. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.
    # 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. Utwórz obiekt PlacementAssignment dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w polu PlacementAssignment.active ustawić wartość true (prawda).
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Utwórz obiekt Ad. Ustaw parametr eventRotation w polu creativeRotation obiektu Ad, a miejsce placementAssignments w tablicy placementAssignments obiektu Ad.
    # 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. Zapisz reklamę, dzwoniąc pod numer ads.insert().
    result = service.insert_ad(profile_id, ad)
    

Pośredni

C#

  1. Utwórz i zapisz Placement.
  2. Utwórz i zapisz Creative.
  3. Powiąż element Creative z tym samym elementem Campaign, którego użyto w przypadku elementu Placement, wywołując funkcję campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.
    // 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. Utwórz i zapisz Placement.
  2. Utwórz i zapisz Creative.
  3. Powiąż element Creative z tym samym elementem Campaign, którego użyto w przypadku elementu Placement, wywołując funkcję campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.
    // 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. Utwórz i zapisz Placement.
  2. Utwórz i zapisz Creative.
  3. Powiąż element Creative z tym samym elementem Campaign, którego użyto w przypadku elementu Placement, wywołując funkcję campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.
    $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. Utwórz i zapisz Placement.
  2. Utwórz i zapisz Creative.
  3. Powiąż element Creative z tym samym elementem Campaign, którego użyto w przypadku elementu Placement, wywołując funkcję campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.
    # 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. Utwórz i zapisz Placement.
  2. Utwórz i zapisz Creative.
  3. Powiąż element Creative z tym samym elementem Campaign, którego użyto w przypadku elementu Placement, wywołując funkcję campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.
    # 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)
    

Utworzenie reklamy to prosty sposób na uniknięcie dodatkowych czynności związanych z tworzeniem Ad. Pamiętaj, że jest to możliwe tylko wtedy, gdy w kampanii nie ma jeszcze reklamy domyślnej o określonym rozmiarze.

Wyszukiwanie obiektów

Możesz wyszukiwać obiekty, wywołując operację list() udostępnianą przez usługę, która określa znaleziony obiekt, określając opcjonalne kryteria odpowiednie dla danego typu obiektu. Dlatego do wyszukiwania obiektów reklam musisz użyć nazwy ads.list(). Opcjonalne kryteria ujawniają zestaw właściwości odpowiednich dla danego obiektu. możesz wpisać dowolną liczbę miejsc zakwaterowania, w których chcesz wyszukiwać. Wyszukiwanie zwróci tylko te obiekty, które spełniają wszystkie kryteria. nie można przeprowadzić wyszukiwania spełniającego żadne kryteria. Ciągi obsługują symbol wieloznaczny *, wielkość liter nie jest rozróżniana i pasują do większych ciągów.

Aby poprawić wydajność, można wysyłać żądania odpowiedzi częściowych za pomocą parametru fields. Spowoduje to, że serwer zwróci tylko określone pola zamiast pełnej reprezentacji zasobu. Więcej informacji na ten temat znajdziesz w przewodniku ze wskazówkami dotyczącymi skuteczności.

Paging

Czasami pobranie wszystkich wyników żądania list() nie jest pożądane. Na przykład może Cię zainteresować tylko 10 najnowszych reklam z puli tysięcy. Wiele metod list() umożliwia zamawianie mniejszej liczby wyników za pomocą procesu zwanego stronicowaniem.

Metody obsługujące stronicowanie zwracają podzbiory wyników w grupach nazywanych stronami. Maksymalna liczba wyników na stronę wynosi 1000 (domyślna). Liczbę wyników na stronie możesz zmienić za pomocą parametru maxResults. Możesz też powtarzać tę liczbę stron, używając parametru nextPageToken zwróconego w odpowiedzi:

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

Generowanie tagów Floodlight

Tagi Floodlight to tagi HTML umieszczone na stronie, które służą do śledzenia działań użytkowników (np. zakupów) w witrynie. Aby wygenerować tagi Floodlight, potrzebujesz FloodlightActivity należący do grupy FloodlightActivityGroup:

C#

  1. Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów name, type i floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. Zapisz grupę aktywności Floodlight, wywołując metodę floodlightActivityGroups.insert(), która zwróci identyfikator nowej grupy.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
    // 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. Zapisz nową aktywność, wywołując metodę floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. Wygeneruj tagi, używając wywołania floodlightActivities.generatetag() z parametrem floodlightActivityId Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów name, type i floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. Zapisz grupę aktywności Floodlight, wywołując metodę floodlightActivityGroups.insert(), która zwróci identyfikator nowej grupy.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
    // 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. Zapisz nową aktywność, wywołując metodę floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. Wygeneruj tagi, używając wywołania floodlightActivities.generatetag() z parametrem floodlightActivityId Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów name, type i floodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. Zapisz grupę aktywności Floodlight, wywołując metodę floodlightActivityGroups.insert(), która zwróci identyfikator nowej grupy.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
    $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. Zapisz nową aktywność, wywołując metodę floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. Wygeneruj tagi, używając wywołania floodlightActivities.generatetag() z parametrem floodlightActivityId Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów name, type i floodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. Zapisz grupę aktywności Floodlight, wywołując metodę floodlightActivityGroups.insert(), która zwróci identyfikator nowej grupy.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
    # 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. Zapisz nową aktywność, wywołując metodę floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. Wygeneruj tagi, używając wywołania floodlightActivities.generatetag() z parametrem floodlightActivityId Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów name, type i 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. Zapisz grupę aktywności Floodlight, wywołując metodę floodlightActivityGroups.insert(), która zwróci identyfikator nowej grupy.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
    # 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. Zapisz nową aktywność, wywołując metodę floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. Wygeneruj tagi, używając wywołania floodlightActivities.generatetag() z parametrem floodlightActivityId Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

Generowanie tagów miejsc docelowych

Ostatnim krokiem jest wygenerowanie tagów HTML, które należy wysłać do wydawcy, by umożliwić wyświetlanie reklam. Aby wygenerować tagi za pomocą interfejsu API, wyślij żądanie do placements.generatetags(), podając zestaw placementIds i 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])