Ta strona zawiera informacje o wersji interfejsu API Google Bid Managera.
Wersja 2
Wprowadziliśmy zmiany strukturalne w interfejsie API, w tym aktualizację punktu końcowego usługi oraz zmianę nazw usług i metod.
Znacznie zaktualizowane zasoby zapytań i raportów poprzez usunięcie zbędnych pól, zmianę kolejności istniejących pól i zmianę ich typów. Obejmuje to zmianę typów pól na używanie obiektów nazwanych, a nie ogólnej definicji &zagnieżdżonego obiektu
Wymagane jest doraźne zapytania wykorzystujące metodę queries.run
, a nie automatyczne uruchamianie po utworzeniu.
Parametr zapytania queries.run
został zastąpiony elementem asynchronous
o wartości synchronous
.
Uproszczone pobieranie raportów przez następujące zmiany:
- Dodanie metody
queries.reports.get
. - Dodanie parametru zapytania
orderBy
doqueries.reports.list
. - Aktualizacja treści odpowiedzi
queries.run
z pustego obiektu do wystąpienia wygenerowanego zasobuReport
.
Zaktualizowaliśmy komunikaty o błędach zwracane przez interfejs API, aby były bardziej szczegółowe i zawierały więcej rozwiązań prognozowanych.
Wykonaj instrukcje opisane w przewodniku po migracji w wersji 2, aby przejść z wersji 1.1 na wersję 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
Nazwy usług zostały zmienione w ten sposób:
Usługa w wersji 1 Usługa w wersji 2 Zapytania zapytania Raporty queries.reports Nazwy metod zostały zmienione:
Dodaliśmy te metody:
Usługa Metody queries.reports pobierz Te metody mają nową treść odpowiedzi:
Metoda Nowy obiekt treści odpowiedzi queries.run Zgłoś Usunęliśmy te pola:
Zasób Pola queries.list
Treść odpowiedzirodzaj
queries.reports.list
Treść odpowiedzirodzaj
Zapytanie rodzaj
reportDataEndTimeMs
reportDataStartTimeMs
Kod strefy czasowej
Uruchomienie zapytania reportDataEndTimeMs
reportDataStartTimeMs
Kod strefy czasowej
Typ tych pól został zmieniony na taki:
Zasób Pola Typ obiektu Zapytanie Zgłoś Uruchomienie zapytania Dodano te parametry zapytania dotyczące metody:
Metoda Parametry zapytania queries.list orderBy queries.reports.list orderBy queries.run synchroniczny Usunęliśmy następujące parametry zapytania dotyczące metody:
Metoda Parametry zapytania queries.create asynchroniczne queries.run asynchroniczne Dodano te wartości filtrów:
Wartość filtra FILTRUJ_ZASOBNIK__PROJEKT_MEDIA FILTRUJ_EKSPERYMENTUJ Usunęliśmy te wartości filtrów:
Wartość filtra FILTRUJ_REGION_IAR_REGION Dodano te wartości danych:
Wartość wskaźnika METRIC_STORE_VISIT_VIEW_THROUGH_CONVERSION 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_WYŚWIETL_REACH METRIC_UNIQUE_REACH_VIEWABLE_WYŚWIETL_REACH
Znane problemy
Brak.
Wersja 1.1
Jeden do jednego filtra do raportu kolumnowego
Filtry, które odpowiadają wielu kolumnom raportów, są teraz mapowane na jedną kolumnę.
Na przykład w wersji 1 z filtrem FILTER_ADVERTISER
oprócz raportu „"identyfikator reklamodawcy"” jest generowany raport z kolumnami „Reklamodawca"”. W wersji 1.1 wszystkie kolumny raportów mają własne filtry. Na przykład nowy filtr FILTER_ADVERTISER_NAME
przekłada się na "reklamodawcę". Aby uzyskać zarówno kolumny „Identyfikator reklamodawcy”, jak i „Reklamodawca” i „Reklamodawca” w raportach, w żądaniach Queries.createquery
musisz uwzględnić zarówno filtry FILTER_ADVERTISER
, jak i FILTER_ADVERTISER_NAME
.
Dokładnie to żądanie createquery
:
{
...
"params": {
...
"groupBys": ["FILTER_ADVERTISER"],
"metrics": ["METRIC_IMPRESSIONS"],
...
}
...
}
generuje plik raportu z tymi nagłówkami w wersji 1:
Advertiser,Advertiser ID,Advertiser Status,Advertiser Integration Code,Impressions
i nagłówki w wersji 1.1:
Advertiser,Impressions
W przykładzie powyżej użyto kodu v1 służącego do pobierania kolumn raportu:
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);
będzie trzeba 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 zwróconych przez te metody jest równa nowo dodanemu parametrowi pageSize
(wartość domyślna to 100
, jeśli nie określono inaczej). Odpowiedzi zawierają nowo dodane pole nextPageToken
, którego można użyć do pobrania następnego zestawu wyników. To pole jest puste, jeśli wyniki zostały wyczerpane.
Ten kod w wersji 1 pobiera wszystkie raporty należące do konkretnego zapytania:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
return reportListResponse.getReports();
}
}
aby nadal pobierać wszystkie raporty, musisz wprowadzić zmiany w tej wersji w wersji 1.1:
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 metody Queries.listqueries
i Reports.listreports
.
Znane problemy
Brak.
Wersja 1
Jest to początkowa wersja interfejsu API.
Znane problemy
Brak.