create_operation( $campaign_resource_name, $location_id ); }, $location_ids ); } /** * Returns a new campaign criterion create operation. * * @param string $campaign_resource_name Campaign resource name. * @param int $location_id Targeted location ID. * * @return MutateOperation */ protected function create_operation( string $campaign_resource_name, int $location_id ): MutateOperation { $campaign_criterion = new CampaignCriterion( [ 'campaign' => $campaign_resource_name, 'negative' => false, 'status' => CampaignCriterionStatus::ENABLED, 'location' => new LocationInfo( [ 'geo_target_constant' => ResourceNames::forGeoTargetConstant( $location_id ), ] ), ] ); $operation = ( new CampaignCriterionOperation() )->setCreate( $campaign_criterion ); return ( new MutateOperation() )->setCampaignCriterionOperation( $operation ); } }