So far I have this..
class SetBidModifier {
const CAMPAIGN_ID = '1010615735';
// Bid modifiers are float number, not percentages, e.g., 1.5 means 50% more
// bidding.
const BID_MODIFIER = '1.5';
public static function runExample(AdWordsServices $adWordsServices, AdWordsSession $session, $campaignId, $bidModifier)
{
$campaignCriterionService = $adWordsServices->get($session, CampaignCriterionService::class);
// Create a mobile platform. The ID can be found in the documentation.
$mobile = new Platform();
$mobile->setId(30001); // HighEndMobile = 30001
$adsched = new AdSchedule();
$adsched->setDayOfWeek(DayOfWeek::MONDAY);
$adsched->setStartHour(24);
$adsched->setStartMinute(MinuteOfHour::ZERO);
$adsched->setEndHour(24);
$adsched->setEndMinute(MinuteOfHour::ZERO);
// Create a criterion with modified bid.
$criterion = new CampaignCriterion();
$criterion->setCampaignId($campaignId);
$criterion->setCriterion($mobile);
$criterion->setBidModifier($bidModifier);
// Create a campaign criterion operation and add it to the operations list.
$operation = new CampaignCriterionOperation();
$operation->setOperator(Operator::SET);
$operation->setOperand($criterion);
$operations = [$operation];
// Update campaign criteria on the server.
$results = $campaignCriterionService->mutate($operations);
// Print out some information about the updated campaign criterion.
foreach ($results->getValue() as $campaignCriterion) {
printf(
"Campaign criterion with campaign ID %d, criterion ID %d, "
. "and type '%s' was modified with bid %.2f.\n",
$campaignCriterion->getCampaignId(),
$campaignCriterion->getCriterion()->getId(),
$campaignCriterion->getCriterion()->getType(),
$campaignCriterion->getBidModifier());
}
}
public static function main()
{
// Generate a refreshable OAuth2 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
// Construct an API session configured from a properties file and the OAuth2
// credentials above.
$session = (new AdWordsSessionBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
self::runExample(new AdWordsServices(), $session, intval(self::CAMPAIGN_ID), floatval(self::BID_MODIFIER));
}
}
I just don't know how to pass the ad schedule to mutate.