Częste zadania trafikowania

Na tej stronie opisujemy, jak wykonywać typowe zadania związane z zarządzaniem ruchem za pomocą interfejsu DCM/DFA Reporting and Trafficking API.

Ogólne wskazówki dotyczące kodowania

  • Wymagane i opcjonalne właściwości oraz parametry – w dokumentacji znajdziesz informacje o tym, czy właściwość lub parametr jest wymagany w przypadku wywołania interfejsu API.
  • Wyszukiwanie nazw z użyciem symboli wieloznacznych – podczas wyszukiwania nazw obiektów możesz używać symbolu wieloznacznego (*). Gwiazdka odpowiada zero lub większej liczbie dowolnych znaków. Interfejs API obsługuje też wyszukiwanie podciągów, więc wyszukiwanie „abc” będzie równoznaczne z wyszukiwaniem „*abc*”.
  • Aktualizacja a poprawka – aby zmodyfikować istniejący obiekt, masz 2 opcje:
    1. Aktualizowanie – podczas aktualizowania obiektu wszystkie pola zostaną zastąpione podczas wstawiania. Ważne jest, aby wczytać obiekt, który chcesz zaktualizować, i wprowadzić w nim zmiany. W przeciwnym razie wszystkie pola, które nie są obecne w żądaniu aktualizacji, zostaną wyczyszczone.
    2. Patching – podczas stosowania poprawek przy wstawianiu zostaną zastąpione tylko określone pola. W takim przypadku możesz utworzyć nowy obiekt, przypisać mu ten sam identyfikator co obiekt do zaktualizowania, ustawić pola do zaktualizowania i wykonać żądanie PATCH.
  • Rozmiary – wymiary fizyczne są reprezentowane przez Size obiekt zdefiniowany przez usługę rozmiarów. Konto udostępnia zestaw standardowych rozmiarów, do którego możesz dodawać własne rozmiary niestandardowe.
  • Daty i godziny – daty i godziny możesz zapisywać w formacie RFC 3339, używając lokalnych stref czasowych. Wszystkie wartości zwracane przez interfejs API są podawane w strefie czasowej UTC. Różni się to od witryny, w której daty i godziny są wyświetlane w skonfigurowanej strefie czasowej (domyślnie jest to strefa czasowa Ameryki Północnej – Nowy Jork).

Tworzenie reklamodawcy

C#

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości namestatus.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
  2. Wywołaj funkcję 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 namestatus.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
  2. Wywołaj funkcję 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 namestatus.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
  2. Wywołaj funkcję 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 namestatus.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
  2. Wywołaj funkcję 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 namestatus.
    # 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 funkcję 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ć unikalny we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy będą kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać dotychczasowe strony docelowe, wywołując funkcję advertiserLandingPages.list, lub utworzyć nową, wywołując funkcję advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia muszą przypadać w przyszłości i mogą być dokładne co do dnia. Więcej informacji znajdziesz w punkcie dotyczącym dat i godzin w sekcji Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy próbę wypełnienia umowy dotyczącej określonej liczby działań, jeśli nie została ona wypełniona do 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. Wywołaj campaigns.insert(), aby zapisać kampanię.

    // 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ć unikalny we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy będą kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać dotychczasowe strony docelowe, wywołując funkcję advertiserLandingPages.list, lub utworzyć nową, wywołując funkcję advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia muszą przypadać w przyszłości i mogą być dokładne co do dnia. Więcej informacji znajdziesz w punkcie dotyczącym dat i godzin w sekcji Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy próbę wypełnienia umowy dotyczącej określonej liczby działań, jeśli nie została ona wypełniona do 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. Wywołaj campaigns.insert(), aby zapisać kampanię.

    // 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ć unikalny we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy będą kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać dotychczasowe strony docelowe, wywołując funkcję advertiserLandingPages.list, lub utworzyć nową, wywołując funkcję advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia muszą przypadać w przyszłości i mogą być dokładne co do dnia. Więcej informacji znajdziesz w punkcie dotyczącym dat i godzin w sekcji Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy próbę wypełnienia umowy dotyczącej określonej liczby działań, jeśli nie została ona wypełniona do 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. Wywołaj campaigns.insert(), aby zapisać kampanię.

    $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ć unikalny we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy będą kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać dotychczasowe strony docelowe, wywołując funkcję advertiserLandingPages.list, lub utworzyć nową, wywołując funkcję advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia muszą przypadać w przyszłości i mogą być dokładne co do dnia. Więcej informacji znajdziesz w punkcie dotyczącym dat i godzin w sekcji Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy próbę wypełnienia umowy dotyczącej określonej liczby działań, jeśli nie została ona wypełniona do 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. Wywołaj campaigns.insert(), aby zapisać kampanię.

    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ć unikalny we wszystkich kampaniach tego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą użytkownicy będą kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać dotychczasowe strony docelowe, wywołując funkcję advertiserLandingPages.list, lub utworzyć nową, wywołując funkcję advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia muszą przypadać w przyszłości i mogą być dokładne co do dnia. Więcej informacji znajdziesz w punkcie dotyczącym dat i godzin w sekcji Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy próbę wypełnienia umowy dotyczącej określonej liczby działań, jeśli nie została ona wypełniona do 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. Wywołaj campaigns.insert(), aby zapisać kampanię.

    # 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 campaignIdsiteId). Pamiętaj też, aby dokładnie określić typ i rozmiar miejsca docelowego, które zostały uzgodnione z właścicielem witryny.
    // 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 chcesz przypisać 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(). Jeśli chcesz użyć zwróconego identyfikatora do przypisania go do reklamy lub kreacji, zapisz go.
    // 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 campaignIdsiteId). Pamiętaj też, aby dokładnie określić typ i rozmiar miejsca docelowego, które zostały uzgodnione z właścicielem witryny.
    // 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 chcesz przypisać 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(). Jeśli chcesz użyć zwróconego identyfikatora do przypisania go do reklamy lub kreacji, zapisz go.
    // 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 campaignIdsiteId). Pamiętaj też, aby dokładnie określić typ i rozmiar miejsca docelowego, które zostały uzgodnione z właścicielem witryny.
    $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 chcesz przypisać 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(). Jeśli chcesz użyć zwróconego identyfikatora do przypisania go do reklamy lub kreacji, zapisz go.
    // 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 campaignIdsiteId). Pamiętaj też, aby dokładnie określić typ i rozmiar miejsca docelowego, które zostały uzgodnione z właścicielem witryny.
    # 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 chcesz przypisać 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(). Jeśli chcesz użyć zwróconego identyfikatora do przypisania go do reklamy lub kreacji, zapisz go.
    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 campaignIdsiteId). Pamiętaj też, aby dokładnie określić typ i rozmiar miejsca docelowego, które zostały uzgodnione z właścicielem witryny.
    # 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 chcesz przypisać 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(). Jeśli chcesz użyć zwróconego identyfikatora do przypisania go do reklamy lub kreacji, zapisz go.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)

Prześlij komponenty

Możesz przesłać wiele typów komponentów w ramach procesu zwanego przesyłaniem multimediów. Chociaż ten proces jest podobny w przypadku wszystkich typów kreacji, niektóre z nich mogą wymagać przekazywania określonych właściwości jako metadanych, aby można było ich prawidłowo używać.

C#

  1. Utwórz assetIdentifierobiekt i ustaw wymagane właściwości. Wszystkie komponenty, niezależnie od typu i sposobu użycia, muszą mieć określony parametr assetIdentifier. Podczas przypisywania komponentu do kreacji ten obiekt będzie używany do odwoływania się do komponentu. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą komponentu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, np. .png lub .gif. Będzie ona widoczna w przeglądarce jako nazwa komponentu, ale nie musi być taka sama jak oryginalna nazwa pliku. Pamiętaj, że nazwa może zostać zmieniona przez Campaign Managera 360, aby była unikalna na serwerze. Sprawdź wartość zwracaną, aby dowiedzieć się, czy została zmieniona.
    • Właściwość type, która identyfikuje typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten komponent.
    // 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 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ę powiedzie, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, której użyjesz do przypisania tego komponentu 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 assetIdentifierobiekt i ustaw wymagane właściwości. Wszystkie komponenty, niezależnie od typu i sposobu użycia, muszą mieć określony parametr assetIdentifier. Podczas przypisywania komponentu do kreacji ten obiekt będzie używany do odwoływania się do komponentu. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą komponentu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, np. .png lub .gif. Będzie ona widoczna w przeglądarce jako nazwa komponentu, ale nie musi być taka sama jak oryginalna nazwa pliku. Pamiętaj, że nazwa może zostać zmieniona przez Campaign Managera 360, aby była unikalna na serwerze. Sprawdź wartość zwracaną, aby dowiedzieć się, czy została zmieniona.
    • Właściwość type, która identyfikuje typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten komponent.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
  2. Prześlij plik, wywołując 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ę powiedzie, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, której użyjesz do przypisania tego komponentu 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 assetIdentifierobiekt i ustaw wymagane właściwości. Wszystkie komponenty, niezależnie od typu i sposobu użycia, muszą mieć określony parametr assetIdentifier. Podczas przypisywania komponentu do kreacji ten obiekt będzie używany do odwoływania się do komponentu. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą komponentu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, np. .png lub .gif. Będzie ona widoczna w przeglądarce jako nazwa komponentu, ale nie musi być taka sama jak oryginalna nazwa pliku. Pamiętaj, że nazwa może zostać zmieniona przez Campaign Managera 360, aby była unikalna na serwerze. Sprawdź wartość zwracaną, aby dowiedzieć się, czy została zmieniona.
    • Właściwość type, która identyfikuje typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten komponent.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
  2. Prześlij plik, wywołując 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ę powiedzie, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, której użyjesz do przypisania tego komponentu 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 assetIdentifierobiekt i ustaw wymagane właściwości. Wszystkie komponenty, niezależnie od typu i sposobu użycia, muszą mieć określony parametr assetIdentifier. Podczas przypisywania komponentu do kreacji ten obiekt będzie używany do odwoływania się do komponentu. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą komponentu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, np. .png lub .gif. Będzie ona widoczna w przeglądarce jako nazwa komponentu, ale nie musi być taka sama jak oryginalna nazwa pliku. Pamiętaj, że nazwa może zostać zmieniona przez Campaign Managera 360, aby była unikalna na serwerze. Sprawdź wartość zwracaną, aby dowiedzieć się, czy została zmieniona.
    • Właściwość type, która identyfikuje typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten komponent.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
  2. Prześlij plik, wywołując 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ę powiedzie, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, której użyjesz do przypisania tego komponentu 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 assetIdentifierobiekt i ustaw wymagane właściwości. Wszystkie komponenty, niezależnie od typu i sposobu użycia, muszą mieć określony parametr assetIdentifier. Podczas przypisywania komponentu do kreacji ten obiekt będzie używany do odwoływania się do komponentu. Wymagane są te właściwości:

    • Właściwość name, która będzie nazwą komponentu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, np. .png lub .gif. Będzie ona widoczna w przeglądarce jako nazwa komponentu, ale nie musi być taka sama jak oryginalna nazwa pliku. Pamiętaj, że nazwa może zostać zmieniona przez Campaign Managera 360, aby była unikalna na serwerze. Sprawdź wartość zwracaną, aby dowiedzieć się, czy została zmieniona.
    • Właściwość type, która identyfikuje typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten komponent.
    # 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 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ę powiedzie, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, której użyjesz do przypisania tego komponentu 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
    )

Tworzenie kreacji

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

Poniższy przykład pokazuje, jak utworzyć nową kreację displayową HTML5.

C#

  1. Prześlij komponenty. Różne kreacje wymagają różnych typów i ilości komponentów. Więcej informacji znajdziesz w sekcji Przesyłanie komponentów. Za każdym razem, gdy uda Ci się przesłać komponent, w odpowiedzi otrzymasz znak assetIdenfitier. Aby odwoływać się do tych komponentów w kreacji, będziesz używać zapisanej nazwy i typu pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiedni type. Po zapisaniu nie możesz zmienić typu obiektu Creative. Określ komponenty za pomocą ich AssetIdentifierrole.
    // 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ę. W tym celu wywołaj funkcję creatives.insert(). Musisz podać identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
  4. (Opcjonalnie) Powiąż kreację z kampanią. Możesz to zrobić, wywołując funkcję campaignCreativeAssociations.insert() i przekazując 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 ilości komponentów. Więcej informacji znajdziesz w sekcji Przesyłanie komponentów. Za każdym razem, gdy uda Ci się przesłać komponent, w odpowiedzi otrzymasz znak assetIdenfitier. Aby odwoływać się do tych komponentów w kreacji, będziesz używać zapisanej nazwy i typu pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiedni type. Po zapisaniu nie możesz zmienić typu obiektu Creative. Określ komponenty za pomocą ich AssetIdentifierrole.
    // 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ę. W tym celu wywołaj funkcję creatives.insert(). Musisz podać identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
  4. (Opcjonalnie) Powiąż kreację z kampanią. Możesz to zrobić, wywołując funkcję campaignCreativeAssociations.insert() i przekazując 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 ilości komponentów. Więcej informacji znajdziesz w sekcji Przesyłanie komponentów. Za każdym razem, gdy uda Ci się przesłać komponent, w odpowiedzi otrzymasz znak assetIdenfitier. Aby odwoływać się do tych komponentów w kreacji, będziesz używać zapisanej nazwy i typu pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiedni type. Po zapisaniu nie możesz zmienić typu obiektu Creative. Określ komponenty za pomocą ich AssetIdentifierrole.
    $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ę. W tym celu wywołaj funkcję creatives.insert(). Musisz podać 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ą. Możesz to zrobić, wywołując funkcję campaignCreativeAssociations.insert() i przekazując 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 ilości komponentów. Więcej informacji znajdziesz w sekcji Przesyłanie komponentów. Za każdym razem, gdy uda Ci się przesłać komponent, w odpowiedzi otrzymasz znak assetIdenfitier. Aby odwoływać się do tych komponentów w kreacji, będziesz używać zapisanej nazwy i typu pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiedni type. Po zapisaniu nie możesz zmienić typu obiektu Creative. Określ komponenty za pomocą ich AssetIdentifierrole.
    # 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ę. W tym celu wywołaj funkcję creatives.insert(). Musisz podać 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ą. Możesz to zrobić, wywołując funkcję campaignCreativeAssociations.insert() i przekazując 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 ilości komponentów. Więcej informacji znajdziesz w sekcji Przesyłanie komponentów. Za każdym razem, gdy uda Ci się przesłać komponent, w odpowiedzi otrzymasz znak assetIdenfitier. Aby odwoływać się do tych komponentów w kreacji, będziesz używać zapisanej nazwy i typu pliku, a nie tradycyjnego identyfikatora.
  2. Utwórz kreację i przypisz odpowiednie wartości. Utwórz instancję Creative i ustaw odpowiedni type. Po zapisaniu nie możesz zmienić typu obiektu Creative. Określ komponenty za pomocą ich AssetIdentifierrole.
    # 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ę. W tym celu wywołaj funkcję creatives.insert(). Musisz podać 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ą. Możesz to zrobić, wywołując funkcję campaignCreativeAssociations.insert() i przekazując 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ę

Ad to połączenie między CreativePlacement. Ad można powiązać z co najmniej 1 miejscem docelowym i zawiera co najmniej 1 kreację.

Możesz utworzyć Ad jawnie lub niejawnie.

wyraźnie,

C#

  1. Utwórz obiekt CreativeAssignment dla każdej kreacji, z którą ma być powiązana ta reklama. Ustaw pole CreativeAssignment.active na wartość true.
    // 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 CreativeAssignment. Jeśli tworzysz grupę rotacyjną, ustaw pozostałe wymagane pola 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 ma być powiązana ta reklama. Ustaw pole PlacementAssignment.active na wartość true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
  4. Utwórz obiekt Ad. Ustaw creativeRotation w polu creativeRotation obiektu Ad, a 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ę, klikając 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ą ma być powiązana ta reklama. Ustaw pole CreativeAssignment.active na wartość true.
    // 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 CreativeAssignment. Jeśli tworzysz grupę rotacyjną, ustaw pozostałe wymagane pola 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 ma być powiązana ta reklama. Ustaw pole PlacementAssignment.active na wartość true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
  4. Utwórz obiekt Ad. Ustaw creativeRotation w polu creativeRotation obiektu Ad, a 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ę, klikając 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ą ma być powiązana ta reklama. Ustaw pole CreativeAssignment.active na wartość true.
    // 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 CreativeAssignment. Jeśli tworzysz grupę rotacyjną, ustaw pozostałe wymagane pola 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 ma być powiązana ta reklama. Ustaw pole PlacementAssignment.active na wartość true.
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
  4. Utwórz obiekt Ad. Ustaw creativeRotation w polu creativeRotation obiektu Ad, a 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ę, klikając 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ą ma być powiązana ta reklama. Ustaw pole CreativeAssignment.active na wartość true.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
  2. Utwórz obiekt CreativeRotation do przechowywania CreativeAssignment. Jeśli tworzysz grupę rotacyjną, ustaw pozostałe wymagane pola 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 ma być powiązana ta reklama. Ustaw pole PlacementAssignment.active na wartość true.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
  4. Utwórz obiekt Ad. Ustaw creativeRotation w polu creativeRotation obiektu Ad, a 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ę, klikając 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ą ma być powiązana ta reklama. Ustaw pole CreativeAssignment.active na wartość true.
    # 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 CreativeAssignment. Jeśli tworzysz grupę rotacyjną, ustaw pozostałe wymagane pola 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 ma być powiązana ta reklama. Ustaw pole PlacementAssignment.active na wartość true.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
  4. Utwórz obiekt Ad. Ustaw creativeRotation w polu creativeRotation obiektu Ad, a 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ę, klikając ads.insert().
    result = service.insert_ad(profile_id, ad)

Pośrednio

C#

  1. Utwórz i zapisz Placement.
  2. Utwórz i zapisz Creative.
  3. Powiąż Creative z tym samym Campaign, którego użyto w przypadku Placement, wywołując campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i z 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ąż Creative z tym samym Campaign, którego użyto w przypadku Placement, wywołując campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i z 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ąż Creative z tym samym Campaign, którego użyto w przypadku Placement, wywołując campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i z 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ąż Creative z tym samym Campaign, którego użyto w przypadku Placement, wywołując campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i z 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ąż Creative z tym samym Campaign, którego użyto w przypadku Placement, wywołując campaignCreativeAssociations.insert() (patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i z 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 eliminuje konieczność tworzenia Ad. Pamiętaj, że możesz to zrobić tylko wtedy, gdy w kampanii nie ma jeszcze reklamy domyślnej o określonym rozmiarze.

Wyszukiwanie obiektów

Aby wyszukać obiekty, wywołaj operację list() udostępnianą przez usługę, która definiuje obiekt do znalezienia, określając opcjonalne kryteria odpowiednie dla tego typu obiektu. Aby na przykład wyszukać obiekty reklamy, wywołasz funkcję ads.list(). Kryteria opcjonalne udostępniają zestaw właściwości odpowiednich dla danego obiektu. Wypełnij tyle właściwości, ile chcesz wyszukać. Wyszukiwanie zwróci tylko obiekty, które spełniają wszystkie kryteria. Nie można przeprowadzić wyszukiwania, które pasuje do dowolnych kryteriów. Ciągi znaków obsługują symbol wieloznaczny *, nie rozróżniają wielkości liter i dopasowują się do większych ciągów znaków.

Aby zwiększyć wydajność, można wysyłać żądania odpowiedzi częściowych za pomocą parametru fields. Dzięki temu serwer zwróci tylko określone przez Ciebie pola, a nie pełną reprezentację zasobu. Więcej informacji na ten temat znajdziesz w przewodniku Wskazówki dotyczące wydajności.

Paging

Czasami nie jest pożądane pobieranie wszystkich wyników żądania list(). Możesz na przykład być zainteresowany tylko 10 najnowszymi reklamami z puli tysięcy reklam. W tym celu wiele list() metod umożliwia żądanie mniejszej liczby wyników w procesie zwanym stronicowaniem.

Metody obsługujące stronicowanie zwracają podzbiory wyników w grupach zwanych stronami. Maksymalna liczba wyników na stronie to 1000 (wartość domyślna). Liczbę wyników na stronie możesz zmienić, ustawiając parametr maxResults, a strony możesz przeglądać za pomocą 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, musisz mieć FloodlightActivity, który należy do FloodlightActivityGroup:

C#

  1. Utwórz nową grupę aktywności Floodlight, przekazując wartości dla parametrów name, typefloodlightConfigurationId.
    // 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 funkcję 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 utworzonej przed chwilą grupy aktywności Floodlight oraz wypełnij wszystkie inne 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 funkcję 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, wywołując funkcję floodlightActivities.generatetag() z parametrem floodlightActivityId nowej aktywności. Wyślij tagi do webmastera w witrynie 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, przekazując wartości dla parametrów name, typefloodlightConfigurationId.
    // 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 funkcję 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 utworzonej przed chwilą grupy aktywności Floodlight oraz wypełnij wszystkie inne 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 funkcję 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, wywołując funkcję floodlightActivities.generatetag() z parametrem floodlightActivityId nowej aktywności. Wyślij tagi do webmastera w witrynie 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, przekazując wartości dla parametrów name, typefloodlightConfigurationId.
    $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 funkcję 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 utworzonej przed chwilą grupy aktywności Floodlight oraz wypełnij wszystkie inne 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 funkcję floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
  5. Wygeneruj tagi, wywołując funkcję floodlightActivities.generatetag() z parametrem floodlightActivityId nowej aktywności. Wyślij tagi do webmastera w witrynie reklamodawcy.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );

Python

  1. Utwórz nową grupę aktywności Floodlight, przekazując wartości dla parametrów name, typefloodlightConfigurationId.
    # 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 funkcję 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 utworzonej przed chwilą grupy aktywności Floodlight oraz wypełnij wszystkie inne 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 funkcję floodlightActivities.insert(), która zwróci identyfikator nowej aktywności.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
  5. Wygeneruj tagi, wywołując funkcję floodlightActivities.generatetag() z parametrem floodlightActivityId nowej aktywności. Wyślij tagi do webmastera w witrynie 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, przekazując wartości dla parametrów name, typefloodlightConfigurationId.
    # 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 funkcję 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 utworzonej przed chwilą grupy aktywności Floodlight oraz wypełnij wszystkie inne 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 funkcję 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, wywołując funkcję floodlightActivities.generatetag() z parametrem floodlightActivityId nowej aktywności. Wyślij tagi do webmastera w witrynie 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 przesłać wydawcy, aby wyświetlać reklamy. Aby wygenerować tagi za pomocą interfejsu API, wyślij żądanie do placements.generatetags(), określając zestaw placementIdstagFormats.

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