Search in sources :

Example 11 with Predicate

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());
            }
        }
    }
}
Also used : ConversionTrackerPage(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerPage) AdwordsUserListServiceInterface(com.google.api.ads.adwords.axis.v201809.rm.AdwordsUserListServiceInterface) AdWordsConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.AdWordsConversionTracker) ConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.ConversionTracker) AdWordsConversionTracker(com.google.api.ads.adwords.axis.v201809.cm.AdWordsConversionTracker) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) BasicUserList(com.google.api.ads.adwords.axis.v201809.rm.BasicUserList) UserListOperation(com.google.api.ads.adwords.axis.v201809.rm.UserListOperation) UserListReturnValue(com.google.api.ads.adwords.axis.v201809.rm.UserListReturnValue) SelectorBuilder(com.google.api.ads.adwords.axis.utils.v201809.SelectorBuilder) ConversionTrackerServiceInterface(com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerServiceInterface) UserList(com.google.api.ads.adwords.axis.v201809.rm.UserList) BasicUserList(com.google.api.ads.adwords.axis.v201809.rm.BasicUserList) UserListConversionType(com.google.api.ads.adwords.axis.v201809.rm.UserListConversionType) Selector(com.google.api.ads.adwords.axis.v201809.cm.Selector)

Example 12 with Predicate

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);
}
Also used : Selector(com.google.api.ads.adwords.axis.v201809.cm.Selector) Predicate(com.google.api.ads.adwords.axis.v201809.cm.Predicate) Test(org.junit.Test)

Example 13 with Predicate

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);
}
Also used : Selector(com.google.api.ads.adwords.jaxws.v201809.cm.Selector) Predicate(com.google.api.ads.adwords.jaxws.v201809.cm.Predicate) Test(org.junit.Test)

Example 14 with Predicate

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;
}
Also used : OrderBy(com.google.api.ads.adwords.jaxws.v201809.cm.OrderBy) DateRange(com.google.api.ads.adwords.jaxws.v201809.cm.DateRange) Paging(com.google.api.ads.adwords.jaxws.v201809.cm.Paging) Selector(com.google.api.ads.adwords.jaxws.v201809.cm.Selector) Predicate(com.google.api.ads.adwords.jaxws.v201809.cm.Predicate)

Example 15 with Predicate

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;
}
Also used : Predicate(com.google.api.ads.adwords.jaxws.v201809.cm.Predicate)

Aggregations

Predicate (com.google.api.ads.adwords.axis.v201809.cm.Predicate)7 Predicate (com.google.api.ads.adwords.jaxws.v201809.cm.Predicate)7 Test (org.junit.Test)6 Selector (com.google.api.ads.adwords.axis.v201809.cm.Selector)5 Selector (com.google.api.ads.adwords.jaxws.v201809.cm.Selector)4 SelectorBuilder (com.google.api.ads.adwords.axis.utils.v201809.SelectorBuilder)1 AdWordsConversionTracker (com.google.api.ads.adwords.axis.v201809.cm.AdWordsConversionTracker)1 ConversionTracker (com.google.api.ads.adwords.axis.v201809.cm.ConversionTracker)1 ConversionTrackerPage (com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerPage)1 ConversionTrackerServiceInterface (com.google.api.ads.adwords.axis.v201809.cm.ConversionTrackerServiceInterface)1 DateRange (com.google.api.ads.adwords.axis.v201809.cm.DateRange)1 OrderBy (com.google.api.ads.adwords.axis.v201809.cm.OrderBy)1 Paging (com.google.api.ads.adwords.axis.v201809.cm.Paging)1 AdwordsUserListServiceInterface (com.google.api.ads.adwords.axis.v201809.rm.AdwordsUserListServiceInterface)1 BasicUserList (com.google.api.ads.adwords.axis.v201809.rm.BasicUserList)1 UserList (com.google.api.ads.adwords.axis.v201809.rm.UserList)1 UserListConversionType (com.google.api.ads.adwords.axis.v201809.rm.UserListConversionType)1 UserListOperation (com.google.api.ads.adwords.axis.v201809.rm.UserListOperation)1 UserListReturnValue (com.google.api.ads.adwords.axis.v201809.rm.UserListReturnValue)1 DateRange (com.google.api.ads.adwords.jaxws.v201809.cm.DateRange)1