Search in sources :

Example 1 with ProductCustomAttribute

use of com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute in project googleads-java-lib by googleads.

the class ProductDimensionsTest method testCreateCustomAttribute.

/**
 * Test method for createCustomAttribute.
 */
@Test
public void testCreateCustomAttribute() {
    ProductCustomAttribute attribute = ProductDimensions.createCustomAttribute(ProductDimensionType.CUSTOM_ATTRIBUTE_2, STRING_VALUE);
    assertEquals(ProductDimensionType.CUSTOM_ATTRIBUTE_2, attribute.getType());
    assertEquals(STRING_VALUE, attribute.getValue());
}
Also used : ProductCustomAttribute(com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute) Test(org.junit.Test)

Example 2 with ProductCustomAttribute

use of com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute in project googleads-java-lib by googleads.

the class AddProductScope method runExample.

/**
 * Runs the example.
 *
 * @param adWordsServices the services factory.
 * @param session the session.
 * @param campaignId the ID of the shopping campaign.
 * @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, Long campaignId) throws RemoteException {
    // Get the campaign criterion service.
    CampaignCriterionServiceInterface campaignCriterionService = adWordsServices.get(session, CampaignCriterionServiceInterface.class);
    ProductScope productScope = new ProductScope();
    // This set of dimensions is for demonstration purposes only. It would be
    // extremely unlikely that you want to include so many dimensions in your
    // product scope.
    ProductBrand productBrand = new ProductBrand();
    productBrand.setValue("Nexus");
    ProductCanonicalCondition productCanonicalCondition = new ProductCanonicalCondition();
    productCanonicalCondition.setCondition(ProductCanonicalConditionCondition.NEW);
    ProductCustomAttribute productCustomAttribute = new ProductCustomAttribute();
    productCustomAttribute.setType(ProductDimensionType.CUSTOM_ATTRIBUTE_0);
    productCustomAttribute.setValue("my attribute value");
    ProductOfferId productOfferId = new ProductOfferId();
    productOfferId.setValue("book1");
    ProductType productTypeLevel1Media = new ProductType();
    productTypeLevel1Media.setType(ProductDimensionType.PRODUCT_TYPE_L1);
    productTypeLevel1Media.setValue("Media");
    ProductType productTypeLevel2Books = new ProductType();
    productTypeLevel2Books.setType(ProductDimensionType.PRODUCT_TYPE_L2);
    productTypeLevel2Books.setValue("Books");
    // The value for the bidding category is a fixed ID for the 'Luggage & Bags'
    // category. You can retrieve IDs for categories from the ConstantDataService.
    // See the 'GetProductCategoryTaxonomy' example for more details.
    ProductBiddingCategory productBiddingCategory = new ProductBiddingCategory();
    productBiddingCategory.setType(ProductDimensionType.BIDDING_CATEGORY_L1);
    productBiddingCategory.setValue(-5914235892932915235L);
    productScope.setDimensions(new ProductDimension[] { productBrand, productCanonicalCondition, productCustomAttribute, productOfferId, productTypeLevel1Media, productTypeLevel2Books, productBiddingCategory });
    CampaignCriterion campaignCriterion = new CampaignCriterion();
    campaignCriterion.setCampaignId(campaignId);
    campaignCriterion.setCriterion(productScope);
    // Create operation.
    CampaignCriterionOperation criterionOperation = new CampaignCriterionOperation();
    criterionOperation.setOperand(campaignCriterion);
    criterionOperation.setOperator(Operator.ADD);
    // Make the mutate request.
    CampaignCriterionReturnValue result = campaignCriterionService.mutate(new CampaignCriterionOperation[] { criterionOperation });
    // Display the result.
    System.out.printf("Created a ProductScope criterion with ID %d.%n", result.getValue(0).getCriterion().getId());
}
Also used : CampaignCriterionReturnValue(com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterionReturnValue) ProductBrand(com.google.api.ads.adwords.axis.v201809.cm.ProductBrand) ProductOfferId(com.google.api.ads.adwords.axis.v201809.cm.ProductOfferId) CampaignCriterionOperation(com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterionOperation) ProductCanonicalCondition(com.google.api.ads.adwords.axis.v201809.cm.ProductCanonicalCondition) ProductScope(com.google.api.ads.adwords.axis.v201809.cm.ProductScope) CampaignCriterion(com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterion) ProductCustomAttribute(com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute) ProductType(com.google.api.ads.adwords.axis.v201809.cm.ProductType) CampaignCriterionServiceInterface(com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterionServiceInterface) ProductBiddingCategory(com.google.api.ads.adwords.axis.v201809.cm.ProductBiddingCategory)

Example 3 with ProductCustomAttribute

use of com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute in project googleads-java-lib by googleads.

the class ProductCustomAttributeComparatorTest method testCaseInsensitive.

@Test
public void testCaseInsensitive() {
    ProductCustomAttribute attrib1 = ProductDimensions.createCustomAttribute(ProductDimensionType.PRODUCT_TYPE_L1, "ABC");
    ProductCustomAttribute attrib2 = ProductDimensions.createCustomAttribute(ProductDimensionType.PRODUCT_TYPE_L1, "AbC");
    assertEquals("Attributes that only differ in case should be equivalent", 0, comparator.compare(attrib1, attrib2));
}
Also used : ProductCustomAttribute(com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute) Test(org.junit.Test)

Example 4 with ProductCustomAttribute

use of com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute in project googleads-java-lib by googleads.

the class ProductCustomAttributeComparatorTest method testDifferByLevel.

@Test
public void testDifferByLevel() {
    ProductCustomAttribute attrib1 = ProductDimensions.createCustomAttribute(ProductDimensionType.PRODUCT_TYPE_L1, "ABC");
    ProductCustomAttribute attrib2 = ProductDimensions.createCustomAttribute(ProductDimensionType.PRODUCT_TYPE_L2, "AbC");
    assertThat("Attributes that differ in level # should yield compareTo != 0", comparator.compare(attrib1, attrib2), Matchers.not(0));
}
Also used : ProductCustomAttribute(com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute) Test(org.junit.Test)

Example 5 with ProductCustomAttribute

use of com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute in project googleads-java-lib by googleads.

the class ProductDimensions method createCustomAttribute.

/**
 * Creates a new ProductCustomAttribute.
 *
 * @param productDimensionType required
 * @param attributeValue may be null if creating an "other" dimension
 */
public static ProductCustomAttribute createCustomAttribute(ProductDimensionType productDimensionType, @Nullable String attributeValue) {
    Preconditions.checkNotNull(productDimensionType, "ProductDimensionType is required when creating a ProductCustomAttribute");
    ProductCustomAttribute productCustomAttribute = new ProductCustomAttribute();
    productCustomAttribute.setType(productDimensionType);
    productCustomAttribute.setValue(attributeValue);
    return productCustomAttribute;
}
Also used : ProductCustomAttribute(com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute)

Aggregations

ProductCustomAttribute (com.google.api.ads.adwords.axis.v201809.cm.ProductCustomAttribute)5 Test (org.junit.Test)3 CampaignCriterion (com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterion)1 CampaignCriterionOperation (com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterionOperation)1 CampaignCriterionReturnValue (com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterionReturnValue)1 CampaignCriterionServiceInterface (com.google.api.ads.adwords.axis.v201809.cm.CampaignCriterionServiceInterface)1 ProductBiddingCategory (com.google.api.ads.adwords.axis.v201809.cm.ProductBiddingCategory)1 ProductBrand (com.google.api.ads.adwords.axis.v201809.cm.ProductBrand)1 ProductCanonicalCondition (com.google.api.ads.adwords.axis.v201809.cm.ProductCanonicalCondition)1 ProductOfferId (com.google.api.ads.adwords.axis.v201809.cm.ProductOfferId)1 ProductScope (com.google.api.ads.adwords.axis.v201809.cm.ProductScope)1 ProductType (com.google.api.ads.adwords.axis.v201809.cm.ProductType)1