Na tej stronie opisujemy, jak wykonywać najczęstsze działania związane z trafikowaniem, korzystając z interfejsu DCM/DFA Reporting and Trafficking API.
Ogólne wskazówki dotyczące kodowania
- Wymagane i opcjonalne właściwości i parametry – zapoznaj się z dokumentacją, by dowiedzieć się, czy do wywołania interfejsu API wymagana jest właściwość lub parametr.
- Wyszukiwanie z użyciem symboli wieloznacznych – podczas wyszukiwania nazw obiektów możesz użyć symbolu wieloznacznego gwiazdki (*). Gwiazdka odpowiada zero lub więcej dowolnych znaków. Interfejs API obsługuje również domniemane wyszukiwanie podłańcucha, więc wyszukiwanie ciągu „abc” domyślnie wyszuka „*abc*”.
- Aktualizowanie a stosowanie poprawek – możesz zmodyfikować istniejący obiekt na 2 sposoby:
- Aktualizowanie – podczas aktualizowania obiektu wszystkie pola zostaną zastąpione po wstawieniu. Musisz załadować obiekt, który chcesz zaktualizować, i wprowadzić w nim zmiany. W przeciwnym razie wszystkie pola, których nie ma w żądaniu aktualizacji, zostaną nieskonfigurowane.
- Poprawki – podczas stosowania poprawek tylko określone pola zostaną zastąpione po wstawieniu. W takim przypadku możesz utworzyć nowy obiekt, przypisać mu taki sam identyfikator jak obiektowi do aktualizacji, ustawić pola do aktualizacji i wykonać żądanie poprawki.
- Rozmiary – wymiary fizyczne są reprezentowane przez obiekt
Size
zdefiniowany przez usługę rozmiarów. Na koncie dostępny jest zestaw standardowych rozmiarów, ale możesz dodać do tej listy własne rozmiary niestandardowe. - Daty i godziny – możesz zapisywać daty i godziny w formacie RFC 3339, korzystając z lokalnych stref czasowych. wszystkie wartości zwracane przez interfejs API są podane w czasie UTC. Różni się ona od witryny, w której daty i godziny są wyświetlane w skonfigurowanej strefie czasowej (domyślnie Ameryka Północna i Nowy Jork).
Tworzenie reklamodawcy
C#
-
Utwórz obiekt
Advertiser
i ustaw jego wymagane właściwości name i status.// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.Name = advertiserName; advertiser.Status = "APPROVED";
-
Wywołaj
advertisers.insert()
, aby zapisać reklamodawcę.// Create the advertiser. Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
Java
-
Utwórz obiekt
Advertiser
i ustaw jego wymagane właściwości name i status.// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.setName(advertiserName); advertiser.setStatus("APPROVED");
-
Wywołaj
advertisers.insert()
, aby zapisać reklamodawcę.// Create the advertiser. Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
PHP
-
Utwórz obiekt
Advertiser
i ustaw jego wymagane właściwości name i status.$advertiser = new Google_Service_Dfareporting_Advertiser(); $advertiser->setName($values['advertiser_name']); $advertiser->setStatus('APPROVED');
-
Wywołaj
advertisers.insert()
, aby zapisać reklamodawcę.$result = $this->service->advertisers->insert( $values['user_profile_id'], $advertiser );
Python
-
Utwórz obiekt
Advertiser
i ustaw jego wymagane właściwości name i status.# Construct and save advertiser. advertiser = { 'name': 'Test Advertiser', 'status': 'APPROVED' }
-
Wywołaj
advertisers.insert()
, aby zapisać reklamodawcę.request = service.advertisers().insert( profileId=profile_id, body=advertiser) # Execute request and print response. response = request.execute()
Ruby
-
Utwórz obiekt
Advertiser
i ustaw jego wymagane właściwości name i status.# Create a new advertiser resource to insert. advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new( name: format('Example Advertiser #%s', SecureRandom.hex(3)), status: 'APPROVED' )
-
Wywołaj
advertisers.insert()
, aby zapisać reklamodawcę.# Insert the advertiser. result = service.insert_advertiser(profile_id, advertiser)
Tworzenie kampanii
C#
Utwórz obiekt
Campaign
i ustaw jego wymagane właściwości:-
advertiserId
– reklamodawca, z którym ma być powiązana ta kampania. -
name
– musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy. -
defaultLandingPageId
– strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numeradvertiserLandingPages.list
, lub tworząc nowe, dzwoniąc pod numeradvertiserLandingPages.insert
. - Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
// Locate an advertiser landing page to use as a default. LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId); // Create the campaign structure. Campaign campaign = new Campaign(); campaign.Name = campaignName; campaign.AdvertiserId = advertiserId; campaign.Archived = false; campaign.DefaultLandingPageId = defaultLandingPage.Id; // Set the campaign start date. This example uses today's date. campaign.StartDate = DfaReportingDateConverterUtil.convertToDateString(DateTime.Now); // Set the campaign end date. This example uses one month from today's date. campaign.EndDate = DfaReportingDateConverterUtil.convertToDateString(DateTime.Now.AddMonths(1));
-
Aby zapisać kampanię, zadzwoń pod numer
campaigns.insert()
.// Insert the campaign. Campaign result = service.Campaigns.Insert(campaign, profileId).Execute();
Java
Utwórz obiekt
Campaign
i ustaw jego wymagane właściwości:-
advertiserId
– reklamodawca, z którym ma być powiązana ta kampania. -
name
– musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy. -
defaultLandingPageId
– strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numeradvertiserLandingPages.list
, lub tworząc nowe, dzwoniąc pod numeradvertiserLandingPages.insert
. - Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
// Locate an advertiser landing page to use as a default. LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId); // Create the campaign structure. Campaign campaign = new Campaign(); campaign.setName(campaignName); campaign.setAdvertiserId(advertiserId); campaign.setArchived(false); campaign.setDefaultLandingPageId(defaultLandingPage.getId()); // Set the campaign start date. This example uses today's date. Calendar today = Calendar.getInstance(); DateTime startDate = new DateTime(true, today.getTimeInMillis(), null); campaign.setStartDate(startDate); // Set the campaign end date. This example uses one month from today's date. Calendar nextMonth = Calendar.getInstance(); nextMonth.add(Calendar.MONTH, 1); DateTime endDate = new DateTime(true, nextMonth.getTimeInMillis(), null); campaign.setEndDate(endDate);
-
Aby zapisać kampanię, zadzwoń pod numer
campaigns.insert()
.// Insert the campaign. Campaign result = reporting.campaigns().insert(profileId, campaign).execute();
PHP
Utwórz obiekt
Campaign
i ustaw jego wymagane właściwości:-
advertiserId
– reklamodawca, z którym ma być powiązana ta kampania. -
name
– musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy. -
defaultLandingPageId
– strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numeradvertiserLandingPages.list
, lub tworząc nowe, dzwoniąc pod numeradvertiserLandingPages.insert
. - Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
$startDate = new DateTime('today'); $endDate = new DateTime('+1 month'); $campaign = new Google_Service_Dfareporting_Campaign(); $campaign->setAdvertiserId($values['advertiser_id']); $campaign->setDefaultLandingPageId($values['default_landing_page_id']); $campaign->setName($values['campaign_name']); $campaign->setStartDate($startDate->format('Y-m-d')); $campaign->setEndDate($endDate->format('Y-m-d'));
-
Aby zapisać kampanię, zadzwoń pod numer
campaigns.insert()
.$result = $this->service->campaigns->insert( $values['user_profile_id'], $campaign );
Python
Utwórz obiekt
Campaign
i ustaw jego wymagane właściwości:-
advertiserId
– reklamodawca, z którym ma być powiązana ta kampania. -
name
– musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy. -
defaultLandingPageId
– strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numeradvertiserLandingPages.list
, lub tworząc nowe, dzwoniąc pod numeradvertiserLandingPages.insert
. - Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
# Locate an advertiser landing page to use as a default. default_landing_page = get_advertiser_landing_page(service, profile_id, advertiser_id) # Construct and save campaign. campaign = { 'name': 'Test Campaign #%s' % uuid.uuid4(), 'advertiserId': advertiser_id, 'archived': 'false', 'defaultLandingPageId': default_landing_page['id'], 'startDate': '2015-01-01', 'endDate': '2020-01-01' }
-
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
Utwórz obiekt
Campaign
i ustaw jego wymagane właściwości:-
advertiserId
– reklamodawca, z którym ma być powiązana ta kampania. -
name
– musi być niepowtarzalna we wszystkich kampaniach tego reklamodawcy. -
defaultLandingPageId
– strona docelowa, na którą użytkownicy są kierowani po kliknięciu reklamy w tej kampanii, jeśli nie jest ona przypisana do reklamy. Możesz wyszukiwać istniejące strony docelowe, dzwoniąc pod numeradvertiserLandingPages.list
, lub tworząc nowe, dzwoniąc pod numeradvertiserLandingPages.insert
. - Daty rozpoczęcia i zakończenia – muszą przypadać w przyszłości i mogą być dokładne aż do bieżącego dnia. Więcej informacji znajdziesz w punkcie Ogólne informacje o kodowaniu. Daty poszczególnych reklam mogą przypadać po dacie zakończenia, aby wydawca mógł spróbować zrealizować umowę dotyczącą określonej liczby działań, jeśli nie została ona wypełniona do określonej daty zakończenia kampanii.
# Locate an advertiser landing page to use as a default. default_landing_page = get_advertiser_landing_page(service, profile_id, advertiser_id) # Create a new campaign resource to insert. campaign = DfareportingUtils::API_NAMESPACE::Campaign.new( advertiser_id: advertiser_id, archived: false, default_landing_page_id: default_landing_page.id, name: format('Example Campaign #%s', SecureRandom.hex(3)), start_date: '2014-01-01', end_date: '2020-01-01' )
-
Aby zapisać kampanię, zadzwoń pod numer
campaigns.insert()
.# Insert the campaign. result = service.insert_campaign(profile_id, campaign)
Tworzenie miejsca docelowego
C#
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (w tymcampaignId
isiteId
). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.// Create the placement. Placement placement = new Placement(); placement.Name = placementName; placement.CampaignId = campaignId; placement.Compatibility = "DISPLAY"; placement.PaymentSource = "PLACEMENT_AGENCY_PAID"; placement.SiteId = dfaSiteId; placement.TagFormats = new List<string>() { "PLACEMENT_TAG_STANDARD" }; // Set the size of the placement. Size size = new Size(); size.Id = sizeId; placement.Size = size;
-
Utwórz nowy obiekt
PricingSchedule
, który przypiszesz do miejsca docelowego.// Set the pricing schedule for the placement. PricingSchedule pricingSchedule = new PricingSchedule(); pricingSchedule.EndDate = campaign.EndDate; pricingSchedule.PricingType = "PRICING_TYPE_CPM"; pricingSchedule.StartDate = campaign.StartDate; placement.PricingSchedule = pricingSchedule;
-
Zapisz obiekt
Placement
, wywołując funkcjęplacements.insert()
. Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.// Insert the placement. Placement result = service.Placements.Insert(placement, profileId).Execute();
Java
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (w tymcampaignId
isiteId
). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.// Create the placement. Placement placement = new Placement(); placement.setName(placementName); placement.setCampaignId(campaignId); placement.setCompatibility("DISPLAY"); placement.setPaymentSource("PLACEMENT_AGENCY_PAID"); placement.setSiteId(dfaSiteId); placement.setTagFormats(ImmutableList.of("PLACEMENT_TAG_STANDARD")); // Set the size of the placement. Size size = new Size(); size.setId(sizeId); placement.setSize(size);
-
Utwórz nowy obiekt
PricingSchedule
, który przypiszesz do miejsca docelowego.// Set the pricing schedule for the placement. PricingSchedule pricingSchedule = new PricingSchedule(); pricingSchedule.setEndDate(campaign.getEndDate()); pricingSchedule.setPricingType("PRICING_TYPE_CPM"); pricingSchedule.setStartDate(campaign.getStartDate()); placement.setPricingSchedule(pricingSchedule);
-
Zapisz obiekt
Placement
, wywołując funkcjęplacements.insert()
. Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.// Insert the placement. Placement result = reporting.placements().insert(profileId, placement).execute();
PHP
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (w tymcampaignId
isiteId
). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.$placement = new Google_Service_Dfareporting_Placement(); $placement->setCampaignId($values['campaign_id']); $placement->setCompatibility('DISPLAY'); $placement->setName($values['placement_name']); $placement->setPaymentSource('PLACEMENT_AGENCY_PAID'); $placement->setSiteId($values['site_id']); $placement->setTagFormats(['PLACEMENT_TAG_STANDARD']); // Set the size of the placement. $size = new Google_Service_Dfareporting_Size(); $size->setId($values['size_id']); $placement->setSize($size);
-
Utwórz nowy obiekt
PricingSchedule
, który przypiszesz do miejsca docelowego.// Set the pricing schedule for the placement. $pricingSchedule = new Google_Service_Dfareporting_PricingSchedule(); $pricingSchedule->setEndDate($campaign->getEndDate()); $pricingSchedule->setPricingType('PRICING_TYPE_CPM'); $pricingSchedule->setStartDate($campaign->getStartDate()); $placement->setPricingSchedule($pricingSchedule);
-
Zapisz obiekt
Placement
, wywołując funkcjęplacements.insert()
. Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.// Insert the placement. $result = $this->service->placements->insert( $values['user_profile_id'], $placement );
Python
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (w tymcampaignId
isiteId
). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.# Construct and save placement. placement = { 'name': 'Test Placement', 'campaignId': campaign_id, 'compatibility': 'DISPLAY', 'siteId': site_id, 'size': { 'height': '1', 'width': '1' }, 'paymentSource': 'PLACEMENT_AGENCY_PAID', 'tagFormats': ['PLACEMENT_TAG_STANDARD'] }
-
Utwórz nowy obiekt
PricingSchedule
, który przypiszesz do miejsca docelowego.# Set the pricing schedule for the placement. placement['pricingSchedule'] = { 'startDate': campaign['startDate'], 'endDate': campaign['endDate'], 'pricingType': 'PRICING_TYPE_CPM' }
-
Zapisz obiekt
Placement
, wywołując funkcjęplacements.insert()
. Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.request = service.placements().insert(profileId=profile_id, body=placement) # Execute request and print response. response = request.execute()
Ruby
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (w tymcampaignId
isiteId
). Pamiętaj też, by wybrać odpowiedni typ i rozmiar miejsca docelowego wynegocjowanego z witryną.# Create a new placement resource to insert. placement = DfareportingUtils::API_NAMESPACE::Placement.new( campaign_id: campaign_id, compatibility: 'DISPLAY', name: 'Example Placement', payment_source: 'PLACEMENT_AGENCY_PAID', site_id: site_id, size: DfareportingUtils::API_NAMESPACE::Size.new( height: 1, width: 1 ), tag_formats: ['PLACEMENT_TAG_STANDARD'] )
-
Utwórz nowy obiekt
PricingSchedule
, który przypiszesz do miejsca docelowego.# Set the pricing schedule for the placement. placement.pricing_schedule = DfareportingUtils::API_NAMESPACE::PricingSchedule.new( end_date: campaign.end_date, pricing_type: 'PRICING_TYPE_CPM', start_date: campaign.start_date )
-
Zapisz obiekt
Placement
, wywołując funkcjęplacements.insert()
. Zachowaj zwrócony identyfikator, jeśli chcesz go użyć do przypisania do reklamy lub kreacji.# Insert the placement strategy. result = service.insert_placement(profile_id, placement)
Prześlij komponenty
W ramach procesu nazywanego przesyłaniem multimediów możesz przesyłać wiele typów zasobów. Chociaż ten proces jest podobny w przypadku wszystkich typów kreacji, niektóre typy kreacji mogą wymagać przekazania określonych właściwości jako metadanych, by mogły one działać prawidłowo.
C#
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony elementassetIdentifier
. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:-
Właściwość
name
, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie. -
Właściwość
type
, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
// Create the creative asset ID and Metadata. CreativeAssetId assetId = new CreativeAssetId(); assetId.Name = Path.GetFileName(assetFile); assetId.Type = assetType;
-
Właściwość
Prześlij plik, wywołując funkcję
creativeAssets.insert()
. Wykonaj przesyłanie wieloczęściowe, przekazując zarównoassetIdentifier
, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasóbCreativeAsset
z elementemassetIdentifier
, którego należy użyć do przypisania zasobu do kreacji.// Prepare an input stream. FileStream assetContent = new FileStream(assetFile, FileMode.Open, FileAccess.Read); CreativeAssetMetadata metaData = new CreativeAssetMetadata(); metaData.AssetIdentifier = assetId; // Insert the creative. String mimeType = determineMimeType(assetFile, assetType); CreativeAssetsResource.InsertMediaUpload request = Service.CreativeAssets.Insert(metaData, ProfileId, AdvertiserId, assetContent, mimeType); IUploadProgress progress = request.Upload(); if (UploadStatus.Failed.Equals(progress.Status)) { throw progress.Exception; }
Java
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony elementassetIdentifier
. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:-
Właściwość
name
, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie. -
Właściwość
type
, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
// Create the creative asset ID and Metadata. CreativeAssetId assetId = new CreativeAssetId(); assetId.setName(assetName); assetId.setType(assetType);
-
Właściwość
Prześlij plik, wywołując funkcję
creativeAssets.insert()
. Wykonaj przesyłanie wieloczęściowe, przekazując zarównoassetIdentifier
, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasóbCreativeAsset
z elementemassetIdentifier
, którego należy użyć do przypisania zasobu do kreacji.// Open the asset file. File file = new File(assetFile); // Prepare an input stream. String contentType = getMimeType(assetFile); InputStreamContent assetContent = new InputStreamContent(contentType, new BufferedInputStream(new FileInputStream(file))); assetContent.setLength(file.length()); CreativeAssetMetadata metaData = new CreativeAssetMetadata(); metaData.setAssetIdentifier(assetId); // Insert the creative. CreativeAssetMetadata result = reporting.creativeAssets() .insert(profileId, advertiserId, metaData, assetContent).execute();
PHP
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony elementassetIdentifier
. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:-
Właściwość
name
, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie. -
Właściwość
type
, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
$assetId = new Google_Service_Dfareporting_CreativeAssetId(); $assetId->setName($asset['name']); $assetId->setType($type);
-
Właściwość
Prześlij plik, wywołując funkcję
creativeAssets.insert()
. Wykonaj przesyłanie wieloczęściowe, przekazując zarównoassetIdentifier
, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasóbCreativeAsset
z elementemassetIdentifier
, którego należy użyć do przypisania zasobu do kreacji.$metadata = new Google_Service_Dfareporting_CreativeAssetMetadata(); $metadata->setAssetIdentifier($assetId); $result = $service->creativeAssets->insert( $userProfileId, $advertiserId, $metadata, ['data' => file_get_contents($asset['tmp_name']), 'mimeType' => $asset['type'], 'uploadType' => 'multipart'] );
Python
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony elementassetIdentifier
. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:-
Właściwość
name
, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie. -
Właściwość
type
, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
# Construct the creative asset metadata creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
-
Właściwość
Prześlij plik, wywołując funkcję
creativeAssets.insert()
. Wykonaj przesyłanie wieloczęściowe, przekazując zarównoassetIdentifier
, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasóbCreativeAsset
z elementemassetIdentifier
, którego należy użyć do przypisania zasobu do kreacji.media = MediaFileUpload(path_to_asset_file) if not media.mimetype(): media = MediaFileUpload(path_to_asset_file, 'application/octet-stream') response = service.creativeAssets().insert( advertiserId=advertiser_id, profileId=profile_id, media_body=media, body=creative_asset).execute()
Ruby
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich typu i sposobu wykorzystania, muszą mieć określony elementassetIdentifier
. Podczas przypisywania zasobu do kreacji ten obiekt będzie się do niego odwoływać. Wymagane są te właściwości:-
Właściwość
name
, która będzie nazwą zasobu na serwerze. Nazwa musi zawierać rozszerzenie wskazujące typ pliku, takie jak .png lub .gif. Nazwa zasobu będzie widoczna dla przeglądarki jako nazwa zasobu, ale nie musi być taka sama jak nazwa oryginalnego pliku. Pamiętaj, że Campaign Manager 360 może ją zmienić, tak aby była niepowtarzalna na serwerze. sprawdź zwracaną wartość, by zobaczyć, czy nie uległa zmianie. -
Właściwość
type
, która określa typ zasobu. Ta właściwość określa typy kreacji, z którymi można powiązać ten zasób.
# Construct the creative asset metadata creative_asset = DfareportingUtils::API_NAMESPACE::CreativeAsset.new( asset_identifier: DfareportingUtils::API_NAMESPACE::CreativeAssetId.new( name: asset_name, type: asset_type ) )
-
Właściwość
Prześlij plik, wywołując funkcję
creativeAssets.insert()
. Wykonaj przesyłanie wieloczęściowe, przekazując zarównoassetIdentifier
, jak i zawartość pliku w ramach tego samego żądania. Jeśli operacja się uda, zwrócony zostanie zasóbCreativeAsset
z elementemassetIdentifier
, którego należy użyć do przypisania zasobu do kreacji.# Upload the asset. mime_type = determine_mime_type(path_to_asset_file, asset_type) result = @service.insert_creative_asset( @profile_id, advertiser_id, creative_asset, content_type: mime_type, upload_source: path_to_asset_file )
Utwórz kreację
Obiekt Creative
opakowuje istniejący zasób. W zależności od tego, jak będziesz używać kreacji na stronie hostującej, możesz tworzyć obiekty Creative
różnych typów kreacji. Aby określić, który typ jest dla Ciebie odpowiedni, zapoznaj się z dokumentacją.
Przykład poniżej pokazuje, jak utworzyć nową kreację displayową HTML5.
C#
-
Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz
assetIdenfitier
. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw odpowiednią wartośćtype
. nie możesz zmienić typu obiektuCreative
po jego zapisaniu. Określ zasoby, korzystając z ich właściwościAssetIdentifier
irole
.// 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 };
-
Zapisz kreację. Aby to zrobić, zadzwoń pod numer
creatives.insert()
. Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.Creative result = service.Creatives.Insert(creative, profileId).Execute();
-
(Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję
campaignCreativeAssociations.insert()
i przekaż identyfikatory kampanii i kreacji.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.CreativeId = creativeId; // Insert the association. CampaignCreativeAssociation result = service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
Java
-
Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz
assetIdenfitier
. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw odpowiednią wartośćtype
. nie możesz zmienić typu obiektuCreative
po jego zapisaniu. Określ zasoby, korzystając z ich właściwościAssetIdentifier
irole
.// 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));
-
Zapisz kreację. Aby to zrobić, zadzwoń pod numer
creatives.insert()
. Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.Creative result = reporting.creatives().insert(profileId, creative).execute();
-
(Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję
campaignCreativeAssociations.insert()
i przekaż identyfikatory kampanii i kreacji.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.setCreativeId(creativeId); // Insert the association. CampaignCreativeAssociation result = reporting .campaignCreativeAssociations().insert(profileId, campaignId, association) .execute();
PHP
-
Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz
assetIdenfitier
. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw odpowiednią wartośćtype
. nie możesz zmienić typu obiektuCreative
po jego zapisaniu. Określ zasoby, korzystając z ich właściwościAssetIdentifier
irole
.$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]);
-
Zapisz kreację. Aby to zrobić, zadzwoń pod numer
creatives.insert()
. Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.$result = $this->service->creatives->insert( $values['user_profile_id'], $creative );
-
(Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję
campaignCreativeAssociations.insert()
i przekaż identyfikatory kampanii i kreacji.$association = new Google_Service_Dfareporting_CampaignCreativeAssociation(); $association->setCreativeId($values['creative_id']); $result = $this->service->campaignCreativeAssociations->insert( $values['user_profile_id'], $values['campaign_id'], $association );
Python
-
Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz
assetIdenfitier
. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw odpowiednią wartośćtype
. nie możesz zmienić typu obiektuCreative
po jego zapisaniu. Określ zasoby, korzystając z ich właściwościAssetIdentifier
irole
.# 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' }
-
Zapisz kreację. Aby to zrobić, zadzwoń pod numer
creatives.insert()
. Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.request = service.creatives().insert(profileId=profile_id, body=creative) # Execute request and print response. response = request.execute()
-
(Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję
campaignCreativeAssociations.insert()
i przekaż identyfikatory kampanii i kreacji.# Construct the request. association = { 'creativeId': creative_id } request = service.campaignCreativeAssociations().insert( profileId=profile_id, campaignId=campaign_id, body=association) # Execute request and print response. response = request.execute()
Ruby
-
Prześlij komponenty. Różne kreacje wymagają różnych typów i liczby zasobów. Więcej informacji znajdziesz w sekcji Przesyłanie zasobów. Za każdym razem, gdy prześlesz zasób, w odpowiedzi zobaczysz
assetIdenfitier
. do odwoływania się do tych zasobów w kreacji użyjesz nazwy i typu zapisanego pliku, a nie tradycyjnego identyfikatora. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw odpowiednią wartośćtype
. nie możesz zmienić typu obiektuCreative
po jego zapisaniu. Określ zasoby, korzystając z ich właściwościAssetIdentifier
irole
.# 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' )
-
Zapisz kreację. Aby to zrobić, zadzwoń pod numer
creatives.insert()
. Musisz określić identyfikator reklamodawcy, z którym chcesz powiązać tę kreację.# Insert the creative. result = service.insert_creative(profile_id, creative)
-
(Opcjonalnie) Powiąż kreację z kampanią. Aby to zrobić, wywołaj funkcję
campaignCreativeAssociations.insert()
i przekaż identyfikatory kampanii i kreacji.# Create a new creative-campaign association to insert association = DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new( creative_id: creative_id ) # Insert the advertiser group. result = service.insert_campaign_creative_association(profile_id, campaign_id, association)
Utwórz reklamę
Element Ad
łączy elementy Creative
i Placement
. Element Ad
może być połączony z jednym lub wieloma miejscami docelowymi i zawierać co najmniej 1 kreację.
Ad
możesz utworzyć bezpośrednio lub domyślnie.
Wyraźnie
C#
-
Utwórz obiekt
CreativeAssignment
dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w poluCreativeAssignment.active
ustawić wartość true (prawda).// Create a click-through URL. ClickThroughUrl clickThroughUrl = new ClickThroughUrl(); clickThroughUrl.DefaultLandingPage = true; // Create a creative assignment. CreativeAssignment creativeAssignment = new CreativeAssignment(); creativeAssignment.Active = true; creativeAssignment.CreativeId = creativeId; creativeAssignment.ClickThroughUrl = clickThroughUrl;
-
Utwórz obiekt
CreativeRotation
do przechowywania obiektówCreativeAssignment
. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.// Create a creative rotation. CreativeRotation creativeRotation = new CreativeRotation(); creativeRotation.CreativeAssignments = new List<CreativeAssignment>() { creativeAssignment };
-
Utwórz obiekt
PlacementAssignment
dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w poluPlacementAssignment.active
ustawić wartość true (prawda).// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.Active = true; placementAssignment.PlacementId = placementId;
-
Utwórz obiekt
Ad
. Ustaw parametr eventRotation w polucreativeRotation
obiektuAd
, a miejsce placementAssignments w tablicyplacementAssignments
obiektuAd
.// 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";
-
Zapisz reklamę, dzwoniąc pod numer
ads.insert()
.// Insert the rotation group. Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
Java
-
Utwórz obiekt
CreativeAssignment
dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w poluCreativeAssignment.active
ustawić wartość true (prawda).// Create a click-through URL. ClickThroughUrl clickThroughUrl = new ClickThroughUrl(); clickThroughUrl.setDefaultLandingPage(true); // Create a creative assignment. CreativeAssignment creativeAssignment = new CreativeAssignment(); creativeAssignment.setActive(true); creativeAssignment.setCreativeId(creativeId); creativeAssignment.setClickThroughUrl(clickThroughUrl);
-
Utwórz obiekt
CreativeRotation
do przechowywania obiektówCreativeAssignment
. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.// Create a creative rotation. CreativeRotation creativeRotation = new CreativeRotation(); creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
-
Utwórz obiekt
PlacementAssignment
dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w poluPlacementAssignment.active
ustawić wartość true (prawda).// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.setActive(true); placementAssignment.setPlacementId(placementId);
-
Utwórz obiekt
Ad
. Ustaw parametr eventRotation w polucreativeRotation
obiektuAd
, a miejsce placementAssignments w tablicyplacementAssignments
obiektuAd
.// 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");
-
Zapisz reklamę, dzwoniąc pod numer
ads.insert()
.// Insert the rotation group. Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
PHP
-
Utwórz obiekt
CreativeAssignment
dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w poluCreativeAssignment.active
ustawić wartość true (prawda).// Create a click-through URL. $url = new Google_Service_Dfareporting_ClickThroughUrl(); $url->setDefaultLandingPage(true); // Create a creative assignment. $creativeAssignment = new Google_Service_Dfareporting_CreativeAssignment(); $creativeAssignment->setActive(true); $creativeAssignment->setCreativeId($values['creative_id']); $creativeAssignment->setClickThroughUrl($url);
-
Utwórz obiekt
CreativeRotation
do przechowywania obiektówCreativeAssignment
. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.// Create a creative rotation. $creativeRotation = new Google_Service_Dfareporting_CreativeRotation(); $creativeRotation->setCreativeAssignments([$creativeAssignment]);
-
Utwórz obiekt
PlacementAssignment
dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w poluPlacementAssignment.active
ustawić wartość true (prawda).// Create a placement assignment. $placementAssignment = new Google_Service_Dfareporting_PlacementAssignment(); $placementAssignment->setActive(true); $placementAssignment->setPlacementId($values['placement_id']);
-
Utwórz obiekt
Ad
. Ustaw parametr eventRotation w polucreativeRotation
obiektuAd
, a miejsce placementAssignments w tablicyplacementAssignments
obiektuAd
.// 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');
-
Zapisz reklamę, dzwoniąc pod numer
ads.insert()
.$result = $this->service->ads->insert($values['user_profile_id'], $ad);
Python
-
Utwórz obiekt
CreativeAssignment
dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w poluCreativeAssignment.active
ustawić wartość true (prawda).# Construct creative assignment. creative_assignment = { 'active': 'true', 'creativeId': creative_id, 'clickThroughUrl': { 'defaultLandingPage': 'true' } }
-
Utwórz obiekt
CreativeRotation
do przechowywania obiektówCreativeAssignment
. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.# Construct creative rotation. creative_rotation = { 'creativeAssignments': [creative_assignment], 'type': 'CREATIVE_ROTATION_TYPE_RANDOM', 'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED' }
-
Utwórz obiekt
PlacementAssignment
dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w poluPlacementAssignment.active
ustawić wartość true (prawda).# Construct placement assignment. placement_assignment = { 'active': 'true', 'placementId': placement_id, }
-
Utwórz obiekt
Ad
. Ustaw parametr eventRotation w polucreativeRotation
obiektuAd
, a miejsce placementAssignments w tablicyplacementAssignments
obiektuAd
.# 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' }
-
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
-
Utwórz obiekt
CreativeAssignment
dla każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, by w poluCreativeAssignment.active
ustawić wartość true (prawda).# Construct creative assignment. creative_assignment = DfareportingUtils::API_NAMESPACE::CreativeAssignment.new( active: true, creative_id: creative_id, click_through_url: DfareportingUtils::API_NAMESPACE::ClickThroughUrl.new( default_landing_page: true ) )
-
Utwórz obiekt
CreativeRotation
do przechowywania obiektówCreativeAssignment
. Podczas tworzenia grupy rotacji pamiętaj o ustawieniu pozostałych wymaganych pól rotacji kreacji.# Construct creative rotation. creative_rotation = DfareportingUtils::API_NAMESPACE::CreativeRotation.new( creative_assignments: [creative_assignment], type: 'CREATIVE_ROTATION_TYPE_RANDOM', weight_calculation_strategy: 'WEIGHT_STRATEGY_OPTIMIZED' )
-
Utwórz obiekt
PlacementAssignment
dla każdego miejsca docelowego, z którym chcesz powiązać tę reklamę. Pamiętaj, by w poluPlacementAssignment.active
ustawić wartość true (prawda).# Construct placement assignment. placement_assignment = DfareportingUtils::API_NAMESPACE::PlacementAssignment.new( active: true, placement_id: placement_id )
-
Utwórz obiekt
Ad
. Ustaw parametr eventRotation w polucreativeRotation
obiektuAd
, a miejsce placementAssignments w tablicyplacementAssignments
obiektuAd
.# 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' )
-
Zapisz reklamę, dzwoniąc pod numer
ads.insert()
.result = service.insert_ad(profile_id, ad)
Pośredni
C#
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż element
Creative
z tym samym elementemCampaign
, którego użyto w przypadku elementuPlacement
, wywołując funkcjęcampaignCreativeAssociations.insert()
(patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.CreativeId = creativeId; // Insert the association. CampaignCreativeAssociation result = service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();
Java
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż element
Creative
z tym samym elementemCampaign
, którego użyto w przypadku elementuPlacement
, wywołując funkcjęcampaignCreativeAssociations.insert()
(patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.// Create the campaign creative association structure. CampaignCreativeAssociation association = new CampaignCreativeAssociation(); association.setCreativeId(creativeId); // Insert the association. CampaignCreativeAssociation result = reporting .campaignCreativeAssociations().insert(profileId, campaignId, association) .execute();
PHP
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż element
Creative
z tym samym elementemCampaign
, którego użyto w przypadku elementuPlacement
, wywołując funkcjęcampaignCreativeAssociations.insert()
(patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.$association = new Google_Service_Dfareporting_CampaignCreativeAssociation(); $association->setCreativeId($values['creative_id']); $result = $this->service->campaignCreativeAssociations->insert( $values['user_profile_id'], $values['campaign_id'], $association );
Python
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż element
Creative
z tym samym elementemCampaign
, którego użyto w przypadku elementuPlacement
, wywołując funkcjęcampaignCreativeAssociations.insert()
(patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.# Construct the request. association = { 'creativeId': creative_id } request = service.campaignCreativeAssociations().insert( profileId=profile_id, campaignId=campaign_id, body=association) # Execute request and print response. response = request.execute()
Ruby
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż element
Creative
z tym samym elementemCampaign
, którego użyto w przypadku elementuPlacement
, wywołując funkcjęcampaignCreativeAssociations.insert()
(patrz krok 4 w sekcji Tworzenie kreacji). Spowoduje to utworzenie reklamy domyślnej powiązanej zarówno z kreacją, jak i miejscem docelowym.# Create a new creative-campaign association to insert association = DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new( creative_id: creative_id ) # Insert the advertiser group. result = service.insert_campaign_creative_association(profile_id, campaign_id, association)
Utworzenie reklamy to prosty sposób na uniknięcie dodatkowych czynności związanych z tworzeniem Ad
. Pamiętaj, że jest to możliwe tylko wtedy, gdy w kampanii nie ma jeszcze reklamy domyślnej o określonym rozmiarze.
Wyszukiwanie obiektów
Możesz wyszukiwać obiekty, wywołując operację list()
udostępnianą przez usługę, która określa znaleziony obiekt, określając opcjonalne kryteria odpowiednie dla danego typu obiektu. Dlatego do wyszukiwania obiektów reklam musisz użyć nazwy ads.list()
. Opcjonalne kryteria ujawniają zestaw właściwości odpowiednich dla danego obiektu. możesz wpisać dowolną liczbę miejsc zakwaterowania, w których chcesz wyszukiwać. Wyszukiwanie zwróci tylko te obiekty, które spełniają wszystkie kryteria. nie można przeprowadzić wyszukiwania spełniającego żadne kryteria. Ciągi obsługują symbol wieloznaczny *, wielkość liter nie jest rozróżniana i pasują do większych ciągów.
Aby poprawić wydajność, można wysyłać żądania odpowiedzi częściowych za pomocą parametru fields
. Spowoduje to, że serwer zwróci tylko określone pola zamiast pełnej reprezentacji zasobu. Więcej informacji na ten temat znajdziesz w przewodniku ze wskazówkami dotyczącymi skuteczności.
Paging
Czasami pobranie wszystkich wyników żądania list()
nie jest pożądane. Na przykład może Cię zainteresować tylko 10 najnowszych reklam z puli tysięcy. Wiele metod list()
umożliwia zamawianie mniejszej liczby wyników za pomocą procesu zwanego stronicowaniem.
Metody obsługujące stronicowanie zwracają podzbiory wyników w grupach nazywanych stronami. Maksymalna liczba wyników na stronę wynosi 1000 (domyślna). Liczbę wyników na stronie możesz zmienić za pomocą parametru maxResults
. Możesz też powtarzać tę liczbę stron, używając parametru nextPageToken
zwróconego w odpowiedzi:
C#
// Limit the fields returned. String fields = "nextPageToken,ads(advertiserId,id,name)"; AdsListResponse result; String nextPageToken = null; do { // Create and execute the ad list request. AdsResource.ListRequest request = service.Ads.List(profileId); request.Active = true; request.Fields = fields; request.PageToken = nextPageToken; result = request.Execute(); foreach (Ad ad in result.Ads) { Console.WriteLine( "Ad with ID {0} and name \"{1}\" is associated with advertiser" + " ID {2}.", ad.Id, ad.Name, ad.AdvertiserId); } // Update the next page token. nextPageToken = result.NextPageToken; } while (result.Ads.Any() && !String.IsNullOrEmpty(nextPageToken));
Java
// Limit the fields returned. String fields = "nextPageToken,ads(advertiserId,id,name)"; AdsListResponse result; String nextPageToken = null; do { // Create and execute the ad list request. result = reporting.ads().list(profileId).setActive(true).setFields(fields) .setPageToken(nextPageToken).execute(); for (Ad ad : result.getAds()) { System.out.printf( "Ad with ID %d and name \"%s\" is associated with advertiser ID %d.%n", ad.getId(), ad.getName(), ad.getAdvertiserId()); } // Update the next page token. nextPageToken = result.getNextPageToken(); } while (!result.getAds().isEmpty() && !Strings.isNullOrEmpty(nextPageToken));
PHP
$response = null; $pageToken = null; do { // Create and execute the ads list request. $response = $this->service->ads->listAds( $values['user_profile_id'], ['active' => true, 'pageToken' => $pageToken] ); foreach ($response->getAds() as $ads) { $this->printResultsTableRow($ads); } // Update the next page token. $pageToken = $response->getNextPageToken(); } while (!empty($response->getAds()) && !empty($pageToken));
Python
# Construct the request. request = service.ads().list(profileId=profile_id, active=True) while True: # Execute request and print response. response = request.execute() for ad in response['ads']: print 'Found ad with ID %s and name "%s".' % (ad['id'], ad['name']) if response['ads'] and response['nextPageToken']: request = service.ads().list_next(request, response) else: break
Ruby
token = nil loop do result = service.list_ads(profile_id, page_token: token, fields: 'nextPageToken,ads(id,name)') # Display results. if result.ads.any? result.ads.each do |ad| puts format('Found ad with ID %d and name "%s".', ad.id, ad.name) end token = result.next_page_token else # Stop paging if there are no more results. token = nil end break if token.to_s.empty? end
Generowanie tagów Floodlight
Tagi Floodlight to tagi HTML umieszczone na stronie, które służą do śledzenia działań użytkowników (np. zakupów) w witrynie. Aby wygenerować tagi Floodlight, potrzebujesz FloodlightActivity
należący do grupy FloodlightActivityGroup
:
C#
-
Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów
name
,type
ifloodlightConfigurationId
.// Create the floodlight activity group. FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup(); floodlightActivityGroup.Name = groupName; floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId; floodlightActivityGroup.Type = "COUNTER";
-
Zapisz grupę aktywności Floodlight, wywołując metodę
floodlightActivityGroups.insert()
, która zwróci identyfikator nowej grupy.// Insert the activity group. FloodlightActivityGroup result = service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
-
Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
// Set floodlight activity structure. FloodlightActivity activity = new FloodlightActivity(); activity.CountingMethod = "STANDARD_COUNTING"; activity.Name = activityName; activity.FloodlightActivityGroupId = activityGroupId; activity.FloodlightTagType = "GLOBAL_SITE_TAG"; activity.ExpectedUrl = url;
-
Zapisz nową aktywność, wywołując metodę
floodlightActivities.insert()
, która zwróci identyfikator nowej aktywności.// Create the floodlight tag activity. FloodlightActivity result = service.FloodlightActivities.Insert(activity, profileId).Execute();
-
Wygeneruj tagi, używając wywołania
floodlightActivities.generatetag()
z parametremfloodlightActivityId
Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.// Generate the floodlight activity tag. FloodlightActivitiesResource.GeneratetagRequest request = service.FloodlightActivities.Generatetag(profileId); request.FloodlightActivityId = activityId; FloodlightActivitiesGenerateTagResponse response = request.Execute();
Java
-
Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów
name
,type
ifloodlightConfigurationId
.// Create the floodlight activity group. FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup(); floodlightActivityGroup.setName(groupName); floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId); floodlightActivityGroup.setType("COUNTER");
-
Zapisz grupę aktywności Floodlight, wywołując metodę
floodlightActivityGroups.insert()
, która zwróci identyfikator nowej grupy.// Insert the activity group. FloodlightActivityGroup result = reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
-
Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
// Set floodlight activity structure. FloodlightActivity activity = new FloodlightActivity(); activity.setName(activityName); activity.setCountingMethod("STANDARD_COUNTING"); activity.setExpectedUrl(url); activity.setFloodlightActivityGroupId(activityGroupId); activity.setFloodlightTagType("GLOBAL_SITE_TAG");
-
Zapisz nową aktywność, wywołując metodę
floodlightActivities.insert()
, która zwróci identyfikator nowej aktywności.// Create the floodlight tag activity. FloodlightActivity result = reporting.floodlightActivities().insert(profileId, activity).execute();
-
Wygeneruj tagi, używając wywołania
floodlightActivities.generatetag()
z parametremfloodlightActivityId
Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.// Generate the floodlight activity tag. Generatetag request = reporting.floodlightActivities().generatetag(profileId); request.setFloodlightActivityId(activityId); FloodlightActivitiesGenerateTagResponse response = request.execute();
PHP
-
Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów
name
,type
ifloodlightConfigurationId
.$group = new Google_Service_Dfareporting_FloodlightActivityGroup(); $group->setFloodlightConfigurationId($values['configuration_id']); $group->setName($values['group_name']); $group->setType('COUNTER');
-
Zapisz grupę aktywności Floodlight, wywołując metodę
floodlightActivityGroups.insert()
, która zwróci identyfikator nowej grupy.$result = $this->service->floodlightActivityGroups->insert( $values['user_profile_id'], $group );
-
Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
$activity = new Google_Service_Dfareporting_FloodlightActivity(); $activity->setCountingMethod('STANDARD_COUNTING'); $activity->setExpectedUrl($values['url']); $activity->setFloodlightActivityGroupId($values['activity_group_id']); $activity->setFloodlightTagType('GLOBAL_SITE_TAG'); $activity->setName($values['activity_name']);
-
Zapisz nową aktywność, wywołując metodę
floodlightActivities.insert()
, która zwróci identyfikator nowej aktywności.$result = $this->service->floodlightActivities->insert( $values['user_profile_id'], $activity );
-
Wygeneruj tagi, używając wywołania
floodlightActivities.generatetag()
z parametremfloodlightActivityId
Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.$result = $this->service->floodlightActivities->generatetag( $values['user_profile_id'], ['floodlightActivityId' => $values['activity_id']] );
Python
-
Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów
name
,type
ifloodlightConfigurationId
.# Construct and save floodlight activity group. activity_group = { 'name': 'Test Floodlight Activity Group', 'floodlightConfigurationId': floodlight_config_id, 'type': 'COUNTER' }
-
Zapisz grupę aktywności Floodlight, wywołując metodę
floodlightActivityGroups.insert()
, która zwróci identyfikator nowej grupy.request = service.floodlightActivityGroups().insert( profileId=profile_id, body=activity_group)
-
Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
# Construct and save floodlight activity. floodlight_activity = { 'countingMethod': 'STANDARD_COUNTING', 'expectedUrl': 'http://www.google.com', 'floodlightActivityGroupId': activity_group_id, 'floodlightTagType': 'GLOBAL_SITE_TAG', 'name': 'Test Floodlight Activity' }
-
Zapisz nową aktywność, wywołując metodę
floodlightActivities.insert()
, która zwróci identyfikator nowej aktywności.request = service.floodlightActivities().insert( profileId=profile_id, body=floodlight_activity)
-
Wygeneruj tagi, używając wywołania
floodlightActivities.generatetag()
z parametremfloodlightActivityId
Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.# Construct the request. request = service.floodlightActivities().generatetag( profileId=profile_id, floodlightActivityId=activity_id) # Execute request and print response. response = request.execute()
Ruby
-
Utwórz nową grupę aktywności Floodlight, przesyłając wartości dla elementów
name
,type
ifloodlightConfigurationId
.# 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' )
-
Zapisz grupę aktywności Floodlight, wywołując metodę
floodlightActivityGroups.insert()
, która zwróci identyfikator nowej grupy.# Insert the floodlight activity group. result = service.insert_floodlight_activity_group(profile_id, activity_group)
-
Utwórz nową aktywność Floodlight i przypisz jej identyfikator nowo utworzonej grupy aktywności oraz wszystkie pozostałe wymagane pola.
# Create a new floodlight activity resource to insert. activity = DfareportingUtils::API_NAMESPACE::FloodlightActivity.new( counting_method: 'STANDARD_COUNTING', expected_url: 'http://www.google.com', floodlight_activity_group_id: activity_group_id, floodlight_tag_type: 'GLOBAL_SITE_TAG', name: format('Example Floodlight Activity #%s', SecureRandom.hex(3)) )
-
Zapisz nową aktywność, wywołując metodę
floodlightActivities.insert()
, która zwróci identyfikator nowej aktywności.# Insert the floodlight activity. result = service.insert_floodlight_activity(profile_id, activity)
-
Wygeneruj tagi, używając wywołania
floodlightActivities.generatetag()
z parametremfloodlightActivityId
Twojej nowej aktywności. Wyślij tagi do webmastera witryny reklamodawcy.# Construct the request. result = service.generatetag_floodlight_activity(profile_id, floodlight_activity_id: activity_id)
Generowanie tagów miejsc docelowych
Ostatnim krokiem jest wygenerowanie tagów HTML, które należy wysłać do wydawcy, by umożliwić wyświetlanie reklam. Aby wygenerować tagi za pomocą interfejsu API, wyślij żądanie do placements.generatetags()
, podając zestaw placementIds
i tagFormats
.
C#
// Generate the placement activity tags. PlacementsResource.GeneratetagsRequest request = service.Placements.Generatetags(profileId); request.CampaignId = campaignId; request.TagFormats = PlacementsResource.GeneratetagsRequest.TagFormatsEnum.PLACEMENTTAGIFRAMEJAVASCRIPT; request.PlacementIds = placementId.ToString(); PlacementsGenerateTagsResponse response = request.Execute();
Java
// Generate the placement activity tags. Generatetags request = reporting.placements().generatetags(profileId); request.setCampaignId(campaignId); request.setTagFormats(tagFormats); request.setPlacementIds(ImmutableList.of(placementId)); PlacementsGenerateTagsResponse response = request.execute();
PHP
$placementTags = $this->service->placements->generatetags( $values['user_profile_id'], ['campaignId' => $values['campaign_id'], 'placementIds' => [$values['placement_id']], 'tagFormats' => ['PLACEMENT_TAG_STANDARD', 'PLACEMENT_TAG_IFRAME_JAVASCRIPT', 'PLACEMENT_TAG_INTERNAL_REDIRECT'] ] );
Python
# Construct the request. request = service.placements().generatetags( profileId=profile_id, campaignId=campaign_id, placementIds=[placement_id]) # Execute request and print response. response = request.execute()
Ruby
# Construct the request. result = service.generate_placement_tags(profile_id, campaign_id: campaign_id, placement_ids: [placement_id])