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:
- 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.
- 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#
-
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";
-
Aby zapisać reklamodawcę, zadzwoń pod numer
advertisers.insert()
.// 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 oraz status.// Create the advertiser structure. Advertiser advertiser = new Advertiser(); advertiser.setName(advertiserName); advertiser.setStatus("APPROVED");
-
Aby zapisać reklamodawcę, zadzwoń pod numer
advertisers.insert()
.// 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 oraz status.$advertiser = new Google_Service_Dfareporting_Advertiser(); $advertiser->setName($values['advertiser_name']); $advertiser->setStatus('APPROVED');
-
Aby zapisać reklamodawcę, zadzwoń pod numer
advertisers.insert()
.$result = $this->service->advertisers->insert( $values['user_profile_id'], $advertiser );
Python
-
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' }
-
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
-
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' )
-
Aby zapisać reklamodawcę, zadzwoń pod numer
advertisers.insert()
.# Insert the advertiser. result = service.insert_advertiser(profile_id, advertiser)
Utworzenie kampanii
C#
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 numeradvertiserLandingPages.list
, lub utworzyć nową stronę, dzwoniąc pod numeradvertiserLandingPages.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));
-
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 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 numeradvertiserLandingPages.list
, lub utworzyć nową stronę, dzwoniąc pod numeradvertiserLandingPages.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);
-
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 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 numeradvertiserLandingPages.list
, lub utworzyć nową stronę, dzwoniąc pod numeradvertiserLandingPages.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'));
-
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 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 numeradvertiserLandingPages.list
, lub utworzyć nową stronę, dzwoniąc pod numeradvertiserLandingPages.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' }
-
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 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 numeradvertiserLandingPages.list
, lub utworzyć nową stronę, dzwoniąc pod numeradvertiserLandingPages.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' )
-
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 (m.in.campaignId
isiteId
). 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;
-
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;
-
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
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (m.in.campaignId
isiteId
). 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);
-
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);
-
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
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (m.in.campaignId
isiteId
). 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);
-
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);
-
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
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (m.in.campaignId
isiteId
). 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'] }
-
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' }
-
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
-
Utwórz obiekt
Placement
i ustaw wymagane właściwości miejsca docelowego (m.in.campaignId
isiteId
). 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'] )
-
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 )
-
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#
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwościassetIdentifier
. 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;
-
Właściwość
Prześlij plik, wywołując
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, zostanie zwrócony zasóbCreativeAsset
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
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwościassetIdentifier
. 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);
-
Właściwość
Prześlij plik, wywołując
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, zostanie zwrócony zasóbCreativeAsset
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
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwościassetIdentifier
. 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);
-
Właściwość
Prześlij plik, wywołując
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, zostanie zwrócony zasóbCreativeAsset
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
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwościassetIdentifier
. 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}}
-
Właściwość
Prześlij plik, wywołując
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, zostanie zwrócony zasóbCreativeAsset
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
Utwórz obiekt
assetIdentifier
i ustaw wymagane właściwości. Wszystkie zasoby, niezależnie od ich rodzaju i sposobu użycia, muszą mieć zdefiniowane właściwościassetIdentifier
. 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 ) )
-
Właściwość
Prześlij plik, wywołując
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, zostanie zwrócony zasóbCreativeAsset
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#
-
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. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw prawidłową wartośćtype
. Po zapisaniu obiektuCreative
nie możesz go zmienić. Określ zasoby za pomocą atrybutówAssetIdentifier
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 podać 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()
, 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
-
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. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw prawidłową wartośćtype
. Po zapisaniu obiektuCreative
nie możesz go zmienić. Określ zasoby za pomocą atrybutówAssetIdentifier
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 podać 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()
, 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
-
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. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw prawidłową wartośćtype
. Po zapisaniu obiektuCreative
nie możesz go zmienić. Określ zasoby za pomocą atrybutówAssetIdentifier
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 podać 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()
, 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
-
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. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw prawidłową wartośćtype
. Po zapisaniu obiektuCreative
nie możesz go zmienić. Określ zasoby za pomocą atrybutówAssetIdentifier
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 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()
-
(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
-
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. -
Utwórz kreację i przypisz do niej odpowiednie wartości. Utwórz instancję
Creative
i ustaw prawidłową wartośćtype
. Po zapisaniu obiektuCreative
nie możesz go zmienić. Określ zasoby za pomocą atrybutówAssetIdentifier
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 podać 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()
, 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#
-
Utwórz obiekt
CreativeAssignment
na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby poleCreativeAssignment.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;
-
Utwórz obiekt
CreativeRotation
do przechowywaniaCreativeAssignment
. 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 };
-
Utwórz obiekt
PlacementAssignment
na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby polePlacementAssignment.active
mieć wartość true.// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.Active = true; placementAssignment.PlacementId = placementId;
-
Utwórz obiekt
Ad
. Ustaw parametr creativeRotation w polucreativeRotation
obiektuAd
, a klasę destinationAssignments 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
na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby poleCreativeAssignment.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);
-
Utwórz obiekt
CreativeRotation
do przechowywaniaCreativeAssignment
. 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));
-
Utwórz obiekt
PlacementAssignment
na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby polePlacementAssignment.active
mieć wartość true.// Create a placement assignment. PlacementAssignment placementAssignment = new PlacementAssignment(); placementAssignment.setActive(true); placementAssignment.setPlacementId(placementId);
-
Utwórz obiekt
Ad
. Ustaw parametr creativeRotation w polucreativeRotation
obiektuAd
, a klasę destinationAssignments 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
na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby poleCreativeAssignment.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);
-
Utwórz obiekt
CreativeRotation
do przechowywaniaCreativeAssignment
. 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]);
-
Utwórz obiekt
PlacementAssignment
na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby polePlacementAssignment.active
mieć wartość true.// Create a placement assignment. $placementAssignment = new Google_Service_Dfareporting_PlacementAssignment(); $placementAssignment->setActive(true); $placementAssignment->setPlacementId($values['placement_id']);
-
Utwórz obiekt
Ad
. Ustaw parametr creativeRotation w polucreativeRotation
obiektuAd
, a klasę destinationAssignments 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
na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby poleCreativeAssignment.active
mieć wartość true.# Construct creative assignment. creative_assignment = { 'active': 'true', 'creativeId': creative_id, 'clickThroughUrl': { 'defaultLandingPage': 'true' } }
-
Utwórz obiekt
CreativeRotation
do przechowywaniaCreativeAssignment
. 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' }
-
Utwórz obiekt
PlacementAssignment
na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby polePlacementAssignment.active
mieć wartość true.# Construct placement assignment. placement_assignment = { 'active': 'true', 'placementId': placement_id, }
-
Utwórz obiekt
Ad
. Ustaw parametr creativeRotation w polucreativeRotation
obiektuAd
, a klasę destinationAssignments 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
na potrzeby każdej kreacji, z którą chcesz powiązać tę reklamę. Pamiętaj, aby poleCreativeAssignment.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 ) )
-
Utwórz obiekt
CreativeRotation
do przechowywaniaCreativeAssignment
. 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' )
-
Utwórz obiekt
PlacementAssignment
na potrzeby każdego miejsca docelowego, z którym ma być powiązana ta reklama. Pamiętaj, aby polePlacementAssignment.active
mieć wartość true.# Construct placement assignment. placement_assignment = DfareportingUtils::API_NAMESPACE::PlacementAssignment.new( active: true, placement_id: placement_id )
-
Utwórz obiekt
Ad
. Ustaw parametr creativeRotation w polucreativeRotation
obiektuAd
, a klasę destinationAssignments 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ąż
Creative
z elementemCampaign
używanym w przypadkuPlacement
, 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
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż
Creative
z elementemCampaign
używanym w przypadkuPlacement
, 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
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż
Creative
z elementemCampaign
używanym w przypadkuPlacement
, 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
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż
Creative
z elementemCampaign
używanym w przypadkuPlacement
, 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
-
Utwórz i zapisz
Placement
. -
Utwórz i zapisz
Creative
. -
Powiąż
Creative
z elementemCampaign
używanym w przypadkuPlacement
, 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#
-
Utwórz nową grupę aktywności Floodlight, przekazując wartości w parametrach
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 zwraca identyfikator nowej grupy.// Insert the activity group. FloodlightActivityGroup result = service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
-
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;
-
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();
-
Wygeneruj tagi, wywołując funkcję
floodlightActivities.generatetag()
z parametremfloodlightActivityId
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, przekazując wartości w parametrach
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 zwraca identyfikator nowej grupy.// Insert the activity group. FloodlightActivityGroup result = reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
-
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");
-
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();
-
Wygeneruj tagi, wywołując funkcję
floodlightActivities.generatetag()
z parametremfloodlightActivityId
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, przekazując wartości w parametrach
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 zwraca identyfikator nowej grupy.$result = $this->service->floodlightActivityGroups->insert( $values['user_profile_id'], $group );
-
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']);
-
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 );
-
Wygeneruj tagi, wywołując funkcję
floodlightActivities.generatetag()
z parametremfloodlightActivityId
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, przekazując wartości w parametrach
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 zwraca identyfikator nowej grupy.request = service.floodlightActivityGroups().insert( profileId=profile_id, body=activity_group)
-
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' }
-
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)
-
Wygeneruj tagi, wywołując funkcję
floodlightActivities.generatetag()
z parametremfloodlightActivityId
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, przekazując wartości w parametrach
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 zwraca 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 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)) )
-
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)
-
Wygeneruj tagi, wywołując funkcję
floodlightActivities.generatetag()
z parametremfloodlightActivityId
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])