Na tej stronie znajdziesz informacje o wersji interfejsu Google Bid Manager API.
Wersja 2
Wprowadzono zmiany strukturalne w interfejsie API, m.in. aktualizację punktu końcowego usługi oraz zmianę nazw usług i metod.
Znacznie zaktualizowane zasoby zapytań i raportów – usunięte niepotrzebne pola, uporządkowanie istniejących pól i zmiana typów pól. Obejmuje to zmianę typów pól tak, aby używały nazwanych obiektów zamiast ogólnej definicji „obiektu zagnieżdżonego”.
Wymagane jest uruchamianie zapytań doraźnych za pomocą metody queries.run
zamiast ich automatycznego uruchamiania po utworzeniu.
Zastąpiono parametr zapytania queries.run
asynchronous
wartością synchronous
.
Uproszczone pobieranie raportów dzięki następującym zmianom:
- Dodanie metody
queries.reports.get
. - Dodanie parametru zapytania
orderBy
doqueries.reports.list
. - Aktualizacja treści odpowiedzi
queries.run
z pustego obiektu na instancję wygenerowanego zasobuReport
.
Zaktualizowano komunikaty o błędach zwracane przez interfejs API, aby były bardziej szczegółowe i dostarczały bardziej konkretnych rozwiązań.
Aby przeprowadzić migrację z wersji 1.1 do 2, postępuj zgodnie z instrukcjami podanymi w przewodniku po migracji do wersji 2.
Nowe funkcje
Punkt końcowy usługi został zmieniony:
Punkt końcowy usługi w wersji 1 Punkt końcowy usługi w wersji 2 https://www.googleapis.com/doubleclickbidmanager
https://doubleclickbidmanager.googleapis.com
Zmieniliśmy nazwy usług w ten sposób:
Usługa w wersji 1 Usługa w wersji 2 Zapytania zapytania Raporty queries.reports Nazwy metod zostały zmienione w następujący sposób:
Dodaliśmy te metody:
Usługa Metody queries.reports pobierz Te metody mają nową treść odpowiedzi:
Metoda Nowy obiekt treści odpowiedzi queries.run Raport Usunęliśmy te pola:
Zasób Pola queries.list
Treść odpowiedzirodzaj
queries.reports.list
Treść odpowiedzirodzaj
Zapytanie rodzaj
reportDataEndTimeMs
reportDataStartTimeMs
timezoneCode
RunQueryRequest reportDataEndTimeMs
reportDataStartTimeMs
timezoneCode
Typ obiektu w poniższych polach został zmieniony na:
Zasób Pola Typ obiektu Zapytanie Raport RunQueryRequest Dodaliśmy te parametry zapytania do metody:
Metoda Parametry zapytania queries.list orderBy queries.reports.list orderBy queries.run synchroniczny Usunęliśmy te parametry zapytania dotyczącego metody:
Metoda Parametry zapytania queries.create asynchroniczne queries.run asynchroniczne Dodaliśmy te wartości filtra:
Wartość filtra FILTER_INVENTORY_MEDIA_COST_TYPE FILTER_TARGETING_EXPANSION Usunęliśmy te wartości filtra:
Wartość filtra FILTER_TRUEVIEW_IAR_REGION Dodaliśmy te wartości danych:
Wartość wskaźnika METRIC_STORE_VISIT_VIEW_THROUGH_CONVERSIONS METRIC_UNIQUE_REACH_AVERAGE_VIEWABLE_IMPRESSION_FREQUENCY METRIC_UNIQUE_REACH_IMPRESSION_REACH_ADDED_WITH_CROSS_STACK_FCAP METRIC_UNIQUE_REACH_IMPRESSION_REACH_ADDED_WITH_PG_FMGMT METRIC_UNIQUE_REACH_INCREMENTAL_CLICK_REACH METRIC_UNIQUE_REACH_INCREMENTAL_IMPRESSION_REACH METRIC_UNIQUE_REACH_INCREMENTAL_TOTAL_REACH METRIC_UNIQUE_REACH_INCREMENTAL_VIEWABLE_IMPRESSION_REACH METRIC_UNIQUE_REACH_VIEWABLE_IMPRESSION_REACH
Znane problemy
Brak.
Wersja 1.1
.Mapowanie kolumn raportu za pomocą filtra „jeden do jednego”
Filtry zmapowane na wiele kolumn raportu są teraz mapowane na pojedyncze kolumny.
Na przykład w wersji 1 uwzględnienie filtra FILTER_ADVERTISER
spowoduje wygenerowanie raportu z kolumnami „Reklamodawca” i „Identyfikator reklamodawcy”. W wersji 1.1 wszystkie kolumny
raportów mają własne filtry. Na przykład nowy filtr FILTER_ADVERTISER_NAME
jest mapowany na wartość „Reklamodawca”. Aby wyświetlać w raportach kolumny „Identyfikator reklamodawcy” i „Reklamodawca”, musisz uwzględnić w żądaniach Queries.createquery
oba filtry: odpowiednio FILTER_ADVERTISER
i FILTER_ADVERTISER_NAME
.
Oznacza to, że żądanie createquery
:
{
...
"params": {
...
"groupBys": ["FILTER_ADVERTISER"],
"metrics": ["METRIC_IMPRESSIONS"],
...
}
...
}
generuje plik raportu z następującymi nagłówkami w wersji 1:
Advertiser,Advertiser ID,Advertiser Status,Advertiser Integration Code,Impressions
oraz następujące nagłówki w wersji 1.1:
Advertiser,Impressions
Ten kod w wersji 1 służy do pobierania kolumn raportu w przykładzie powyżej:
List<String> groupBys = new ArrayList<>();
groupBys.add("FILTER_ADVERTISER");
List<String> metrics = new ArrayList<>();
metrics.add("METRIC_IMPRESSIONS");
com.google.api.services.doubleclickbidmanager.model.Parameters createQueryParameters =
new com.google.api.services.doubleclickbidmanager.model.Parameters()
.setGroupBys(groupBys)
.setMetrics(metrics);
należy zmienić podobnie jak w wersji 1.1 (kolejność filtrów notatek):
List<String> groupBys = new ArrayList<>();
groupBys.add("FILTER_ADVERTISER_NAME");
groupBys.add("FILTER_ADVERTISER");
groupBys.add("FILTER_ADVERTISER_INTEGRATION_STATUS");
groupBys.add("FILTER_ADVERTISER_INTEGRATION_CODE");
List<String> metrics = new ArrayList<>();
metrics.add("METRIC_IMPRESSIONS");
com.google.api.services.doubleclickbidmanager.model.Parameters createQueryParameters =
new com.google.api.services.doubleclickbidmanager.model.Parameters()
.setGroupBys(groupBys)
.setMetrics(metrics);
Filtr oryginalny | Dodane filtry |
---|---|
FILTER_ADVERTISER |
FILTER_ADVERTISER_NAME FILTER_ADVERTISER_INTEGRATION_CODE FILTER_ADVERTISER_INTEGRATION_STATUS |
FILTER_AD_POSITION |
FILTER_AD_POSITION_NAME |
FILTER_CARRIER |
FILTER_CARRIER_NAME |
FILTER_CHANNEL_ID |
FILTER_CHANNEL_NAME |
FILTER_CITY |
FILTER_CITY_NAME |
FILTER_COMPANION_CREATIVE_ID |
FILTER_COMPANION_CREATIVE_NAME |
FILTER_DMA |
FILTER_DMA_NAME |
FILTER_INSERTION_ORDER |
FILTER_INSERTION_ORDER_NAME |
FILTER_PARTNER |
FILTER_PARTNER_NAME FILTER_PARTNER_STATUS |
FILTER_REGION |
FILTER_REGION_NAME |
FILTER_TRUEVIEW_DMA |
FILTER_TRUEVIEW_DMA_NAME |
FILTER_TRUEVIEW_IAR_REGION |
FILTER_TRUEVIEW_IAR_REGION_NAME |
FILTER_USER_LIST_FIRST_PARTY |
FILTER_USER_LIST_FIRST_PARTY_NAME |
FILTER_USER_LIST_THIRD_PARTY |
FILTER_USER_LIST_THIRD_PARTY_NAME |
Podział na strony
Wersja 1.1 dodaje podział na strony do metod Queries.listqueries
i Reports.listreports
.
W wersji 1.1 liczba wyników zwracanych przez te metody jest równa nowo dodanemu parametrowi pageSize
(jeśli nie zostanie podany, stosowana jest wartość domyślna 100
). Odpowiedzi zawierają nowo dodane pole nextPageToken
, którego można użyć do pobrania następnego zestawu wyników. Jeśli wyniki nie wyczerpały się, to pole jest puste.
Aby pobrać wszystkie raporty należące do określonego zapytania, użyj poniższego kodu w wersji 1:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
return reportListResponse.getReports();
}
}
muszą zostać zmodyfikowane podobnie jak w wersji 1.1, aby można było nadal pobierać wszystkie raporty:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
List<Report> reports = new ArrayList<>(reportListResponse.getReports());
while (reportListResponse.getNextPageToken() != null
&& reportListResponse.getNextPageToken().length() > 0) {
// Get next set of results, aka page.
reportListResponse =
service
.reports()
.listreports(queryId)
.setPageToken(reportListResponse.getNextPageToken())
.execute();
reports.addAll(reportListResponse.getReports());
}
return reports;
}
}
Więcej informacji znajdziesz w dokumentacji metod Queries.listqueries
i metod Reports.listreports
.
Znane problemy
Brak.
Wersja 1
To jest początkowa wersja interfejsu API.
Znane problemy
Brak.