Częste zadania trafikowania

Na tej stronie opisujemy, jak wykonywać typowe zadania związane z trafikowaniem, używając interfejsu DCM/DFA Reporting and Trafficking API.

Ogólne wskazówki dotyczące kodowania

  • Wymagane i opcjonalne właściwości oraz parametry – z dokumentacji referencyjnej dowiesz się, czy właściwość lub parametr są wymagane do wywołania interfejsu API.
  • Wyszukiwania nazw z użyciem symboli wieloznacznych – możesz używać symbolu wieloznacznego (*) podczas wyszukiwania nazw obiektów. Gwiazdka odpowiada zero lub więcej dowolnego znaku. Interfejs API obsługuje również wyszukiwanie podłańcucha, więc wyszukiwanie „abc” domyślnie spowoduje wyszukanie „*abc*”.
  • Aktualizowanie a instalowanie poprawek – masz 2 opcje modyfikacji istniejącego obiektu:
    1. Aktualizowanie – podczas aktualizowania obiektu zostaną zastąpione wszystkie pola. Ważne jest, by wczytać obiekt do zaktualizowania i wprowadzić w nim zmiany. W przeciwnym razie wszystkie pola, których nie ma w żądaniu aktualizacji, nie zostaną ustawione.
    2. Poprawki – w przypadku stosowania poprawek tylko określone pola zostaną zastąpione podczas wstawiania. W tym przypadku możesz utworzyć nowy obiekt, przypisać mu ten sam identyfikator co obiekt do aktualizacji, ustawić pola do aktualizacji i wykonać żądanie poprawki.
  • Rozmiary – są one reprezentowane przez obiekt Size zdefiniowany przez usługę rozmiarów. Konto udostępnia zestaw standardowych rozmiarów, z których możesz dodawać własne rozmiary niestandardowe.
  • Daty i godziny – możesz zapisywać daty i godziny w formacie RFC 3339, używając lokalnych stref czasowych. Wszystkie wartości zwracane przez interfejs API są w strefie czasowej UTC. Różni się ona od witryny, w której daty i godziny są wyświetlane w Twojej skonfigurowanej strefie czasowej (domyślnie jest to czas amerykański i Nowy Jork).

Tworzenie reklamodawcy

C#

  1. Utwórz obiekt Advertiser i ustaw jego wymagane właściwości name oraz status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. Aby zapisać reklamodawcę, zadzwoń pod numer advertisers.insert().
    // 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 oraz status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. Aby zapisać reklamodawcę, zadzwoń pod numer advertisers.insert().
    // 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 oraz status.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. Aby zapisać reklamodawcę, zadzwoń pod numer advertisers.insert().
    $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 oraz status.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. Aby zapisać reklamodawcę, zadzwoń pod numer advertisers.insert().
    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 oraz 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. Aby zapisać reklamodawcę, zadzwoń pod numer advertisers.insert().
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

Utworzenie kampanii

C#

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

    • advertiserId – reklamodawca, z którym chcesz powiązać tę kampanię.
    • name – identyfikator musi być niepowtarzalny we wszystkich kampaniach danego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą zostaną przekierowani użytkownicy po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub utworzyć nową stronę, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne do końca dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy wykonanie umowy na określoną liczbę 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 chcesz powiązać tę kampanię.
    • name – identyfikator musi być niepowtarzalny we wszystkich kampaniach danego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą zostaną przekierowani użytkownicy po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub utworzyć nową stronę, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne do końca dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy wykonanie umowy na określoną liczbę 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 chcesz powiązać tę kampanię.
    • name – identyfikator musi być niepowtarzalny we wszystkich kampaniach danego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą zostaną przekierowani użytkownicy po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub utworzyć nową stronę, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne do końca dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy wykonanie umowy na określoną liczbę 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 chcesz powiązać tę kampanię.
    • name – identyfikator musi być niepowtarzalny we wszystkich kampaniach danego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą zostaną przekierowani użytkownicy po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub utworzyć nową stronę, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne do końca dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy wykonanie umowy na określoną liczbę 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 chcesz powiązać tę kampanię.
    • name – identyfikator musi być niepowtarzalny we wszystkich kampaniach danego reklamodawcy.
    • defaultLandingPageId – strona docelowa, na którą zostaną przekierowani użytkownicy po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do tej reklamy. Możesz wyszukać istniejące strony docelowe, dzwoniąc pod numer advertiserLandingPages.list, lub utworzyć nową stronę, dzwoniąc pod numer advertiserLandingPages.insert.
    • Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne do końca dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przekraczać datę zakończenia, aby umożliwić wydawcy wykonanie umowy na określoną liczbę 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 (m.in. campaignId i siteId). Pamiętaj też, aby na potrzeby wynegocjowanego miejsca docelowego dokładnie ustawić typ i rozmiar miejsca docelowego.
    // 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 metodę placements.insert(). Zapisz podany 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 (m.in. campaignId i siteId). Pamiętaj też, aby na potrzeby wynegocjowanego miejsca docelowego dokładnie ustawić typ i rozmiar miejsca docelowego.
    // 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 metodę placements.insert(). Zapisz podany 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 (m.in. campaignId i siteId). Pamiętaj też, aby na potrzeby wynegocjowanego miejsca docelowego dokładnie ustawić typ i rozmiar miejsca docelowego.
    $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 metodę placements.insert(). Zapisz podany 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 (m.in. campaignId i siteId). Pamiętaj też, aby na potrzeby wynegocjowanego miejsca docelowego dokładnie ustawić typ i rozmiar miejsca docelowego.
    # 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 metodę placements.insert(). Zapisz podany 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 (m.in. campaignId i siteId). Pamiętaj też, aby na potrzeby wynegocjowanego miejsca docelowego dokładnie ustawić typ i rozmiar miejsca docelowego.
    # 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 metodę placements.insert(). Zapisz podany 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 zasoby

Wiele typów zasobów możesz przesyłać, korzystając z procesu zwanego przesyłaniem multimediów. Chociaż proces ten 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 być prawidłowo używane.

C#

  1. Utwórz obiekt assetIdentifieri ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwości assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie używany do odwołań do zasobu. 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, na przykład .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Campaign Manager 360 może zmienić tę nazwę, aby była unikalna na serwerze. Sprawdź zwracaną wartość, by zobaczyć, czy uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa, z jakimi typami kreacji 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 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, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, za pomocą której przypiszesz zasób 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 assetIdentifieri ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwości assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie używany do odwołań do zasobu. 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, na przykład .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Campaign Manager 360 może zmienić tę nazwę, aby była unikalna na serwerze. Sprawdź zwracaną wartość, by zobaczyć, czy uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa, z jakimi typami kreacji 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 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, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, za pomocą której przypiszesz zasób 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 assetIdentifieri ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwości assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie używany do odwołań do zasobu. 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, na przykład .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Campaign Manager 360 może zmienić tę nazwę, aby była unikalna na serwerze. Sprawdź zwracaną wartość, by zobaczyć, czy uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa, z jakimi typami kreacji 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 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, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, za pomocą której przypiszesz zasób 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 assetIdentifieri ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwości assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie używany do odwołań do zasobu. 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, na przykład .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Campaign Manager 360 może zmienić tę nazwę, aby była unikalna na serwerze. Sprawdź zwracaną wartość, by zobaczyć, czy uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa, z jakimi typami kreacji 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 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, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, za pomocą której przypiszesz zasób 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 assetIdentifieri ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwości assetIdentifier. Podczas przypisywania zasobu do kreacji ten obiekt będzie używany do odwołań do zasobu. 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, na przykład .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Campaign Manager 360 może zmienić tę nazwę, aby była unikalna na serwerze. Sprawdź zwracaną wartość, by zobaczyć, czy uległa zmianie.
    • Właściwość type, która określa typ zasobu. Ta właściwość określa, z jakimi typami kreacji 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 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, zostanie zwrócony zasób CreativeAsset z wartością assetIdentifier, za pomocą której przypiszesz zasób 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 użyjesz 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ą.

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 zasobów. Szczegółowe informacje znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi wyświetli się assetIdenfitier. Do odwoływania się do tych zasobów w kreacji zamiast tradycyjnego identyfikatora będziesz używać zapisanej nazwy i typu zapisanego pliku.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw prawidłową wartość type. Po zapisaniu obiektu Creative nie możesz go zmienić. Określ zasoby za pomocą atrybutów 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 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ą. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert(), 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 zasobów. Szczegółowe informacje znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi wyświetli się assetIdenfitier. Do odwoływania się do tych zasobów w kreacji zamiast tradycyjnego identyfikatora będziesz używać zapisanej nazwy i typu zapisanego pliku.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw prawidłową wartość type. Po zapisaniu obiektu Creative nie możesz go zmienić. Określ zasoby za pomocą atrybutów 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 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ą. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert(), 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 zasobów. Szczegółowe informacje znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi wyświetli się assetIdenfitier. Do odwoływania się do tych zasobów w kreacji zamiast tradycyjnego identyfikatora będziesz używać zapisanej nazwy i typu zapisanego pliku.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw prawidłową wartość type. Po zapisaniu obiektu Creative nie możesz go zmienić. Określ zasoby za pomocą atrybutów 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 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ą. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert(), 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 zasobów. Szczegółowe informacje znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi wyświetli się assetIdenfitier. Do odwoływania się do tych zasobów w kreacji zamiast tradycyjnego identyfikatora będziesz używać zapisanej nazwy i typu zapisanego pliku.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw prawidłową wartość type. Po zapisaniu obiektu Creative nie możesz go zmienić. Określ zasoby za pomocą atrybutów 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 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ą. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert(), 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 zasobów. Szczegółowe informacje znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi wyświetli się assetIdenfitier. Do odwoływania się do tych zasobów w kreacji zamiast tradycyjnego identyfikatora będziesz używać zapisanej nazwy i typu zapisanego pliku.
  2. Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję Creative i ustaw prawidłową wartość type. Po zapisaniu obiektu Creative nie możesz go zmienić. Określ zasoby za pomocą atrybutów 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 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ą. Aby to zrobić, wywołaj funkcję campaignCreativeAssociations.insert(), 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ę

Element Ad łączy element Creative z elementem Placement. Element Ad może być powiązany z jednym miejscem docelowym lub miejscem docelowym i zawierać co najmniej 1 kreację.

Ad możesz utworzyć bezpośrednio lub pośrednio.

Wyraźnie

C#

  1. Utwórz obiekt CreativeAssignment na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby pole CreativeAssignment.active mieć 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. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu innych wymaganych pól rotacji kreacji.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. Utwórz obiekt PlacementAssignment na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby pole PlacementAssignment.active mieć wartość true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Utwórz obiekt Ad. Ustaw parametr creativeRotation w polu creativeRotation obiektu Ad, a klasę destinationAssignments 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 na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby pole CreativeAssignment.active mieć 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. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu innych wymaganych pól rotacji kreacji.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. Utwórz obiekt PlacementAssignment na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby pole PlacementAssignment.active mieć wartość true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Utwórz obiekt Ad. Ustaw parametr creativeRotation w polu creativeRotation obiektu Ad, a klasę destinationAssignments 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 na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby pole CreativeAssignment.active mieć 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. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu innych wymaganych pól rotacji kreacji.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. Utwórz obiekt PlacementAssignment na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby pole PlacementAssignment.active mieć 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 parametr creativeRotation w polu creativeRotation obiektu Ad, a klasę destinationAssignments 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 na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby pole CreativeAssignment.active mieć wartość true.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. Utwórz obiekt CreativeRotation do przechowywania CreativeAssignment. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu innych 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 na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby pole PlacementAssignment.active mieć wartość true.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Utwórz obiekt Ad. Ustaw parametr creativeRotation w polu creativeRotation obiektu Ad, a klasę destinationAssignments 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 na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby pole CreativeAssignment.active mieć 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. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu innych 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 na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby pole PlacementAssignment.active mieć wartość true.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Utwórz obiekt Ad. Ustaw parametr creativeRotation w polu creativeRotation obiektu Ad, a klasę destinationAssignments 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ąż Creative z elementem Campaign używanym w przypadku Placement, wywołując metodę 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 elementem Campaign używanym w przypadku Placement, wywołując metodę 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 elementem Campaign używanym w przypadku Placement, wywołując metodę 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 elementem Campaign używanym w przypadku Placement, wywołując metodę 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 elementem Campaign używanym w przypadku Placement, wywołując metodę 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 pozwala zaoszczędzić dodatkowy krok polegający na utworzeniu Ad. Pamiętaj, że można to zrobić tylko wtedy, gdy w kampanii nie ma jeszcze reklamy domyślnej o określonym rozmiarze.

Wyszukaj obiekty

Obiekty możesz wyszukiwać, wywołując operację list() udostępnianą przez usługę, która definiuje znalezione obiekty, określając opcjonalne kryteria odpowiednie dla danego typu obiektu. Aby na przykład wyszukać obiekty reklam, użyj funkcji ads.list(). Opcjonalne kryteria umożliwiają udostępnienie zestawu właściwości odpowiednich dla danego obiektu. Wypełnij tyle właściwości, ile chcesz wyszukać. 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 ma znaczenia i dopasowuje się w obrębie większych ciągów.

Aby poprawić wydajność, można wysyłać żądania odpowiedzi częściowych za pomocą parametru fields. Dzięki temu serwer będzie zwracać tylko określone pola, a nie pełną reprezentację zasobu. Więcej informacji na ten temat znajdziesz we wskazówkach dotyczących skuteczności.

Paging

Czasami pobranie wszystkich wyników żądania list() nie jest pożądane. Być może zainteresuje Cię na przykład tylko 10 najnowszych reklam z puli tysięcy. Aby w tym pomóc, wiele metod list() umożliwia żądanie mniejszej liczby wyników za pomocą procesu zwanego stronicowaniem.

Metody, które obsługują stronicowanie, zwracają podzbiory wyników w grupach nazywanych stronami. Maksymalna liczba wyników na stronie to 1000 (domyślnie). Liczbę wyników na stronie możesz zmienić za pomocą parametru maxResults oraz możesz iterować strony, używając funkcji nextPageToken zwróconej 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 identyfikatora FloodlightActivity, który należy do tagu FloodlightActivityGroup:

C#

  1. Utwórz nową grupę aktywności Floodlight, przekazując wartości w parametrach 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 zwraca identyfikator nowej grupy.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. Utwórz nową aktywność Floodlight i przypisz do niej identyfikator nowo utworzonej grupy aktywności Floodlight 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 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 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, przekazując wartości w parametrach 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 zwraca identyfikator nowej grupy.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. Utwórz nową aktywność Floodlight i przypisz do niej identyfikator nowo utworzonej grupy aktywności Floodlight 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 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 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, przekazując wartości w parametrach 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 zwraca identyfikator nowej grupy.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. Utwórz nową aktywność Floodlight i przypisz do niej identyfikator nowo utworzonej grupy aktywności Floodlight 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 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 witryny 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 w parametrach 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 zwraca identyfikator nowej grupy.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. Utwórz nową aktywność Floodlight i przypisz do niej identyfikator nowo utworzonej grupy aktywności Floodlight 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 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 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, przekazując wartości w parametrach 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 zwraca 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 do niej identyfikator nowo utworzonej grupy aktywności Floodlight 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 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 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 wyślesz do wydawcy w celu wyświetlenia reklam. Aby wygenerować tagi za pomocą interfejsu API, wyślij żądanie do placements.generatetags(), określając zestaw parametrów 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])