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());
}
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());
}
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));
}
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));
}
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;
}
Aggregations