I try to make APP Mobile Campaign. but if i regist mobileApplication i always 
got 'faultString: [CriterionError.CANNOT_ADD_CRITERIA_TYPE @ 
operations[3].operand.criterion]' Message.


What thing i miss? Please Let me know


BudgetServiceInterface budgetService =
        adWordsServices.get(session,BudgetServiceInterface.class);

Budget sharedBudget = new Budget();
sharedBudget.setName("Test budget");

Money budgetAmount = new Money();
budgetAmount.setMicroAmount(50000000L);

sharedBudget.setAmount(budgetAmount);
sharedBudget.setDeliveryMethod(BudgetBudgetDeliveryMethod.STANDARD);
sharedBudget.setIsExplicitlyShared(false);

BudgetOperation budgetOperation = new BudgetOperation();
budgetOperation.setOperand(sharedBudget);
budgetOperation.setOperator(Operator.ADD);

Long budgetId = budgetService.mutate(new BudgetOperation[] 
{budgetOperation}).getValue(0).getBudgetId();


CampaignServiceInterface campaignService =
        adWordsServices.get(session,CampaignServiceInterface.class);

Campaign campaign = new Campaign();
campaign.setName("Test Cam");
campaign.setStatus(CampaignStatus.PAUSED);

BiddingStrategyConfiguration biddingStrategyConfiguration = new 
BiddingStrategyConfiguration();
biddingStrategyConfiguration.setBiddingStrategyType(BiddingStrategyType.TARGET_CPA);

Money bidMoney = new Money();
bidMoney.setMicroAmount(10000000L);

TargetCpaBiddingScheme biddingScheme = new TargetCpaBiddingScheme();
biddingScheme.setTargetCpa(bidMoney);



biddingStrategyConfiguration.setBiddingScheme(biddingScheme);
campaign.setBiddingStrategyConfiguration(biddingStrategyConfiguration);

campaign.setStartDate(new DateTime().plusDays(1).toString("yyyyMMdd"));
campaign.setEndDate(new DateTime().plusDays(30).toString("yyyyMMdd"));
campaign.setAdServingOptimizationStatus(AdServingOptimizationStatus.OPTIMIZE);
//campaign.setFrequencyCap(new FrequencyCap(5L,TimeUnit.DAY,Level.ADGROUP));

campaign.setAdvertisingChannelType(AdvertisingChannelType.DISPLAY);
campaign.setAdvertisingChannelSubType(AdvertisingChannelSubType.DISPLAY_MOBILE_APP);

Budget budget = new Budget();
budget.setBudgetId(budgetId);

campaign.setBudget(budget);
CampaignOperation operation = new CampaignOperation();
operation.setOperand(campaign);
operation.setOperator(Operator.ADD);


CampaignOperation[] operations = new CampaignOperation[] {operation};

CampaignReturnValue result = campaignService.mutate(operations);


Long uid =  result.getValue(0).getId();


CampaignCriterionServiceInterface campaignCriterionService = 
adWordsServices.get(session,CampaignCriterionServiceInterface.class);

OperatingSystemVersion osVersion = new OperatingSystemVersion();
osVersion.setId(630277L);
Location korea = new Location();
korea.setId(2410L);
Language korean = new Language();
korean.setId(1012L);
MobileApplication mobileApplication = new MobileApplication();
mobileApplication.setAppId("2-com.nhnent.payapp");
mobileApplication.setDisplayName("PAYCO ");

List<Criterion> criterionList = 
Lists.newArrayList(osVersion,korea,korean,mobileApplication);

List<CampaignCriterionOperation> criterionOperations = new 
ArrayList<CampaignCriterionOperation>();
criterionList.forEach(value -> {
    CampaignCriterionOperation tmpOperation = new CampaignCriterionOperation();
    CampaignCriterion tmpCriterion = new CampaignCriterion();
    tmpCriterion.setCampaignId(uid);
    tmpCriterion.setCriterion(value);
    tmpOperation.setOperand(tmpCriterion);
    tmpOperation.setOperator(Operator.ADD);
    criterionOperations.add(tmpOperation);
});

CampaignCriterionReturnValue campaignCriterionRetVal = 
campaignCriterionService.mutate(criterionOperations.toArray(new 
CampaignCriterionOperation[criterionOperations.size()]));



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/ced70bd3-c588-4142-b178-1e38e7db15be%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to