use of com.google.api.ads.adwords.axis.v201809.cm.Predicate in project googleads-java-lib by googleads.
the class AddAudience method runExample.
/**
* Runs the example.
*
* @param adWordsServices the services factory.
* @param session the session.
* @throws ApiException if the API request failed with one or more service errors.
* @throws RemoteException if the API request failed due to other errors.
*/
public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
// Get the UserListService.
AdwordsUserListServiceInterface userListService = adWordsServices.get(session, AdwordsUserListServiceInterface.class);
// Get the ConversionTrackerService.
ConversionTrackerServiceInterface conversionTrackerService = adWordsServices.get(session, ConversionTrackerServiceInterface.class);
// Create conversion type (tag).
UserListConversionType conversionType = new UserListConversionType();
conversionType.setName("Mars cruise customers #" + System.currentTimeMillis());
// Create remarketing user list.
BasicUserList userList = new BasicUserList();
userList.setName("Mars cruise customers #" + System.currentTimeMillis());
userList.setDescription("A list of mars cruise customers in the last year");
userList.setMembershipLifeSpan(365L);
userList.setConversionTypes(new UserListConversionType[] { conversionType });
// You can optionally provide these field(s).
userList.setStatus(UserListMembershipStatus.OPEN);
// Create operations.
UserListOperation operation = new UserListOperation();
operation.setOperand(userList);
operation.setOperator(Operator.ADD);
UserListOperation[] operations = new UserListOperation[] { operation };
// Add user list.
UserListReturnValue result = userListService.mutate(operations);
// Display results.
// Capture the ID(s) of the conversion.
List<String> conversionIds = new ArrayList<>();
for (UserList userListResult : result.getValue()) {
if (userListResult instanceof BasicUserList) {
BasicUserList remarketingUserList = (BasicUserList) userListResult;
for (UserListConversionType userListConversionType : remarketingUserList.getConversionTypes()) {
conversionIds.add(userListConversionType.getId().toString());
}
}
}
// Create predicate and selector.
Selector selector = new SelectorBuilder().fields("Id", "GoogleGlobalSiteTag", "GoogleEventSnippet").in(AdwordsUserListField.Id, conversionIds.toArray(new String[0])).build();
// Get all conversion trackers.
Map<Long, AdWordsConversionTracker> conversionTrackers = new HashMap<Long, AdWordsConversionTracker>();
ConversionTrackerPage page = conversionTrackerService.get(selector);
if (page != null && page.getEntries() != null) {
conversionTrackers = Arrays.stream(page.getEntries()).collect(Collectors.toMap(conversionTracker -> conversionTracker.getId(), conversionTracker -> (AdWordsConversionTracker) conversionTracker));
}
// Display user lists.
for (UserList userListResult : result.getValue()) {
System.out.printf("User list with name '%s' and ID %d was added.%n", userListResult.getName(), userListResult.getId());
// Display user list associated conversion code snippets.
if (userListResult instanceof BasicUserList) {
BasicUserList remarketingUserList = (BasicUserList) userListResult;
for (UserListConversionType userListConversionType : remarketingUserList.getConversionTypes()) {
ConversionTracker conversionTracker = conversionTrackers.get(userListConversionType.getId());
System.out.printf("Google global site tag:%n%s%n%n", conversionTracker.getGoogleGlobalSiteTag());
System.out.printf("Google event snippet:%n%s%n%n", conversionTracker.getGoogleEventSnippet());
}
}
}
}
use of com.google.api.ads.adwords.axis.v201809.cm.Predicate in project googleads-java-lib by googleads.
the class SelectorBuilderTest method testPredicatesBuild.
/**
* Tests the predicate build for the ID field.
*/
@Test
public void testPredicatesBuild() {
SelectorBuilder builder = new SelectorBuilder();
builder = builder.equalsId(10L);
Selector selector = builder.build();
assertNotNull(selector.getPredicates());
assertEquals(1, selector.getPredicates().length);
Predicate predicate = selector.getPredicates()[0];
assertEquals("Id", predicate.getField());
assertEquals(PredicateOperator.EQUALS, predicate.getOperator());
assertNotNull(predicate.getValues());
assertEquals(1, predicate.getValues().length);
assertEquals("10", predicate.getValues()[0]);
checkUtilitiesState(false);
}
use of com.google.api.ads.adwords.axis.v201809.cm.Predicate in project googleads-java-lib by googleads.
the class SelectorBuilderTest method testPredicatesBuild.
/**
* Tests the predicate build for the ID field.
*/
@Test
public void testPredicatesBuild() {
SelectorBuilder builder = new SelectorBuilder();
builder = builder.equalsId(10L);
Selector selector = builder.build();
assertNotNull(selector.getPredicates());
assertEquals(1, selector.getPredicates().size());
Predicate predicate = selector.getPredicates().get(0);
assertEquals("Id", predicate.getField());
assertEquals(PredicateOperator.EQUALS, predicate.getOperator());
assertNotNull(predicate.getValues());
assertEquals(1, predicate.getValues().size());
assertEquals("10", predicate.getValues().get(0));
checkUtilitiesState(false);
}
use of com.google.api.ads.adwords.axis.v201809.cm.Predicate in project googleads-java-lib by googleads.
the class SelectorBuilderImpl method build.
@Override
public Selector build() {
Selector selectorCopy = new Selector();
Set<OrderBy> orderingCopy = this.copyOrderingSet();
Set<Predicate> predicatesCopy = this.copyPredicatesSet();
selectorCopy.getFields().addAll(Sets.newLinkedHashSet(this.fields));
selectorCopy.getOrdering().addAll(orderingCopy);
selectorCopy.getPredicates().addAll(predicatesCopy);
if (this.dateRange != null) {
DateRange newDateRange = new DateRange();
newDateRange.setMin(this.dateRange.getMin());
newDateRange.setMax(this.dateRange.getMax());
selectorCopy.setDateRange(newDateRange);
}
if (this.paging != null) {
Paging newPaging = new Paging();
newPaging.setStartIndex(this.paging.getStartIndex());
newPaging.setNumberResults(this.paging.getNumberResults());
selectorCopy.setPaging(newPaging);
}
return selectorCopy;
}
use of com.google.api.ads.adwords.axis.v201809.cm.Predicate in project googleads-java-lib by googleads.
the class SelectorBuilderImpl method singleValuePredicate.
/**
* Adds a predicate for the specified field, property value, and operator.
*/
private SelectorBuilderImpl singleValuePredicate(String field, String propertyValue, PredicateOperator operator) {
Predicate predicate = new Predicate();
predicate.setField(field);
predicate.setOperator(operator);
predicate.getValues().add(propertyValue);
this.predicates.add(predicate);
return this;
}
Aggregations