public void updateBidForKeyword(Long adGroupId, Long keywordId, Long bidAmount) {
AdWordsSession adwordSession = null;
// initialize AdWords session
try {
// Generate a refreshable OAuth2 credential
Credential oAuth2Credential = new OfflineCredentials.Builder().forApi(Api.ADWORDS)
.fromFile().build()
.generateCredential();
// Construct an AdWordsSession.
adwordSession = new AdWordsSession.Builder().fromFile().withOAuth2Credential(oAuth2Credential).build();
} catch (Exception ex) {
}
// Get CampaignCriterionService using AdWordsSession
AdWordsServices adWordsServices = new AdWordsServices();
CampaignCriterionServiceInterface campaignCriterionService = adWordsServices.get(adwordSession, CampaignCriterionServiceInterface.class);
AdGroupCriterionServiceInterface adGroupCriterionService = GoogleAuthenticationService
.getAdGroupCriterionService();
Keyword keyword = new Keyword();
keyword.setId(keywordId);
BiddableAdGroupCriterion keywordBiddableAdGroupCriterion = new BiddableAdGroupCriterion();
keywordBiddableAdGroupCriterion.setAdGroupId(adGroupId);
keywordBiddableAdGroupCriterion.setCriterion(keyword);
BiddingStrategyConfiguration biddingStrategyConfiguration = new BiddingStrategyConfiguration();
CpcBid bid = new CpcBid();
bid.setBid(new Money(null, bidAmount));
biddingStrategyConfiguration.setBids(new Bids[] { bid });
keywordBiddableAdGroupCriterion.setBiddingStrategyConfiguration(biddingStrategyConfiguration);
AdGroupCriterionOperation keywordAdGroupCriterionOperation = new AdGroupCriterionOperation();
keywordAdGroupCriterionOperation.setOperand(keywordBiddableAdGroupCriterion);
keywordAdGroupCriterionOperation.setOperator(Operator.SET);
AdGroupCriterionOperation[] operations = new AdGroupCriterionOperation[] { keywordAdGroupCriterionOperation };
AdGroupCriterionReturnValue result = null;
try {
result = adGroupCriterionService.mutate(operations);
} catch (Exception e) {
e.printStackTrace();
}
// Display campaigns.
for (AdGroupCriterion campaignCriterion : result.getValue()) {
System.out.printf("Campaign criterion with criterion ID %d, " + "and type '%s' was added.%n",
campaignCriterion.getCriterion().getId(), campaignCriterion.getCriterion().getCriterionType());
}
}
|