UNPKG

google-ads-node

Version:

Google Ads gRPC Client Library for Node

2,362 lines 89.2 kB
/**
 * @fileoverview
 * @enhanceable
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!

var jspb = require('google-protobuf');
var goog = jspb;
var global = Function('return this')();

var google_ads_googleads_v0_common_criteria_pb = require('../../../../../google/ads/googleads/v0/common/criteria_pb.js');
var google_ads_googleads_v0_common_custom_parameter_pb = require('../../../../../google/ads/googleads/v0/common/custom_parameter_pb.js');
var google_ads_googleads_v0_enums_ad_group_criterion_status_pb = require('../../../../../google/ads/googleads/v0/enums/ad_group_criterion_status_pb.js');
var google_ads_googleads_v0_enums_bidding_source_pb = require('../../../../../google/ads/googleads/v0/enums/bidding_source_pb.js');
var google_ads_googleads_v0_enums_criterion_type_pb = require('../../../../../google/ads/googleads/v0/enums/criterion_type_pb.js');
var google_ads_googleads_v0_enums_quality_score_bucket_pb = require('../../../../../google/ads/googleads/v0/enums/quality_score_bucket_pb.js');
var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js');
goog.exportSymbol('proto.google.ads.googleads.v0.resources.AdGroupCriterion', null, global);
goog.exportSymbol('proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates', null, global);
goog.exportSymbol('proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo', null, global);

/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.google.ads.googleads.v0.resources.AdGroupCriterion.repeatedFields_, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_);
};
goog.inherits(proto.google.ads.googleads.v0.resources.AdGroupCriterion, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.google.ads.googleads.v0.resources.AdGroupCriterion.displayName = 'proto.google.ads.googleads.v0.resources.AdGroupCriterion';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.repeatedFields_ = [11,14];

/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_ = [[27,28,29,32,36,37,38,39,42,40,41,43,45,46,47]];

/**
 * @enum {number}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.CriterionCase = {
  CRITERION_NOT_SET: 0,
  KEYWORD: 27,
  PLACEMENT: 28,
  MOBILE_APP_CATEGORY: 29,
  LISTING_GROUP: 32,
  AGE_RANGE: 36,
  GENDER: 37,
  INCOME_RANGE: 38,
  PARENTAL_STATUS: 39,
  USER_LIST: 42,
  YOUTUBE_VIDEO: 40,
  YOUTUBE_CHANNEL: 41,
  TOPIC: 43,
  USER_INTEREST: 45,
  WEBPAGE: 46,
  APP_PAYMENT_MODEL: 47
};

/**
 * @return {proto.google.ads.googleads.v0.resources.AdGroupCriterion.CriterionCase}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getCriterionCase = function() {
  return /** @type {proto.google.ads.googleads.v0.resources.AdGroupCriterion.CriterionCase} */(jspb.Message.computeOneofCase(this, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.toObject = function(opt_includeInstance) {
  return proto.google.ads.googleads.v0.resources.AdGroupCriterion.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.toObject = function(includeInstance, msg) {
  var f, obj = {
    resourceName: jspb.Message.getFieldWithDefault(msg, 1, ""),
    criterionId: (f = msg.getCriterionId()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    status: jspb.Message.getFieldWithDefault(msg, 3, 0),
    qualityInfo: (f = msg.getQualityInfo()) && proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.toObject(includeInstance, f),
    adGroup: (f = msg.getAdGroup()) && google_protobuf_wrappers_pb.StringValue.toObject(includeInstance, f),
    type: jspb.Message.getFieldWithDefault(msg, 25, 0),
    negative: (f = msg.getNegative()) && google_protobuf_wrappers_pb.BoolValue.toObject(includeInstance, f),
    bidModifier: (f = msg.getBidModifier()) && google_protobuf_wrappers_pb.DoubleValue.toObject(includeInstance, f),
    cpcBidMicros: (f = msg.getCpcBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    cpmBidMicros: (f = msg.getCpmBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    cpvBidMicros: (f = msg.getCpvBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    percentCpcBidMicros: (f = msg.getPercentCpcBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    effectiveCpcBidMicros: (f = msg.getEffectiveCpcBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    effectiveCpmBidMicros: (f = msg.getEffectiveCpmBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    effectiveCpvBidMicros: (f = msg.getEffectiveCpvBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    effectivePercentCpcBidMicros: (f = msg.getEffectivePercentCpcBidMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    effectiveCpcBidSource: jspb.Message.getFieldWithDefault(msg, 21, 0),
    effectiveCpmBidSource: jspb.Message.getFieldWithDefault(msg, 22, 0),
    effectiveCpvBidSource: jspb.Message.getFieldWithDefault(msg, 23, 0),
    effectivePercentCpcBidSource: jspb.Message.getFieldWithDefault(msg, 35, 0),
    positionEstimates: (f = msg.getPositionEstimates()) && proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.toObject(includeInstance, f),
    finalUrlsList: jspb.Message.toObjectList(msg.getFinalUrlsList(),
    google_protobuf_wrappers_pb.StringValue.toObject, includeInstance),
    trackingUrlTemplate: (f = msg.getTrackingUrlTemplate()) && google_protobuf_wrappers_pb.StringValue.toObject(includeInstance, f),
    urlCustomParametersList: jspb.Message.toObjectList(msg.getUrlCustomParametersList(),
    google_ads_googleads_v0_common_custom_parameter_pb.CustomParameter.toObject, includeInstance),
    keyword: (f = msg.getKeyword()) && google_ads_googleads_v0_common_criteria_pb.KeywordInfo.toObject(includeInstance, f),
    placement: (f = msg.getPlacement()) && google_ads_googleads_v0_common_criteria_pb.PlacementInfo.toObject(includeInstance, f),
    mobileAppCategory: (f = msg.getMobileAppCategory()) && google_ads_googleads_v0_common_criteria_pb.MobileAppCategoryInfo.toObject(includeInstance, f),
    listingGroup: (f = msg.getListingGroup()) && google_ads_googleads_v0_common_criteria_pb.ListingGroupInfo.toObject(includeInstance, f),
    ageRange: (f = msg.getAgeRange()) && google_ads_googleads_v0_common_criteria_pb.AgeRangeInfo.toObject(includeInstance, f),
    gender: (f = msg.getGender()) && google_ads_googleads_v0_common_criteria_pb.GenderInfo.toObject(includeInstance, f),
    incomeRange: (f = msg.getIncomeRange()) && google_ads_googleads_v0_common_criteria_pb.IncomeRangeInfo.toObject(includeInstance, f),
    parentalStatus: (f = msg.getParentalStatus()) && google_ads_googleads_v0_common_criteria_pb.ParentalStatusInfo.toObject(includeInstance, f),
    userList: (f = msg.getUserList()) && google_ads_googleads_v0_common_criteria_pb.UserListInfo.toObject(includeInstance, f),
    youtubeVideo: (f = msg.getYoutubeVideo()) && google_ads_googleads_v0_common_criteria_pb.YouTubeVideoInfo.toObject(includeInstance, f),
    youtubeChannel: (f = msg.getYoutubeChannel()) && google_ads_googleads_v0_common_criteria_pb.YouTubeChannelInfo.toObject(includeInstance, f),
    topic: (f = msg.getTopic()) && google_ads_googleads_v0_common_criteria_pb.TopicInfo.toObject(includeInstance, f),
    userInterest: (f = msg.getUserInterest()) && google_ads_googleads_v0_common_criteria_pb.UserInterestInfo.toObject(includeInstance, f),
    webpage: (f = msg.getWebpage()) && google_ads_googleads_v0_common_criteria_pb.WebpageInfo.toObject(includeInstance, f),
    appPaymentModel: (f = msg.getAppPaymentModel()) && google_ads_googleads_v0_common_criteria_pb.AppPaymentModelInfo.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.google.ads.googleads.v0.resources.AdGroupCriterion}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.google.ads.googleads.v0.resources.AdGroupCriterion;
  return proto.google.ads.googleads.v0.resources.AdGroupCriterion.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.google.ads.googleads.v0.resources.AdGroupCriterion}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setResourceName(value);
      break;
    case 26:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setCriterionId(value);
      break;
    case 3:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus} */ (reader.readEnum());
      msg.setStatus(value);
      break;
    case 4:
      var value = new proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo;
      reader.readMessage(value,proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.deserializeBinaryFromReader);
      msg.setQualityInfo(value);
      break;
    case 5:
      var value = new google_protobuf_wrappers_pb.StringValue;
      reader.readMessage(value,google_protobuf_wrappers_pb.StringValue.deserializeBinaryFromReader);
      msg.setAdGroup(value);
      break;
    case 25:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.CriterionTypeEnum.CriterionType} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 31:
      var value = new google_protobuf_wrappers_pb.BoolValue;
      reader.readMessage(value,google_protobuf_wrappers_pb.BoolValue.deserializeBinaryFromReader);
      msg.setNegative(value);
      break;
    case 44:
      var value = new google_protobuf_wrappers_pb.DoubleValue;
      reader.readMessage(value,google_protobuf_wrappers_pb.DoubleValue.deserializeBinaryFromReader);
      msg.setBidModifier(value);
      break;
    case 16:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setCpcBidMicros(value);
      break;
    case 17:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setCpmBidMicros(value);
      break;
    case 24:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setCpvBidMicros(value);
      break;
    case 33:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setPercentCpcBidMicros(value);
      break;
    case 18:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setEffectiveCpcBidMicros(value);
      break;
    case 19:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setEffectiveCpmBidMicros(value);
      break;
    case 20:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setEffectiveCpvBidMicros(value);
      break;
    case 34:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setEffectivePercentCpcBidMicros(value);
      break;
    case 21:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (reader.readEnum());
      msg.setEffectiveCpcBidSource(value);
      break;
    case 22:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (reader.readEnum());
      msg.setEffectiveCpmBidSource(value);
      break;
    case 23:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (reader.readEnum());
      msg.setEffectiveCpvBidSource(value);
      break;
    case 35:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (reader.readEnum());
      msg.setEffectivePercentCpcBidSource(value);
      break;
    case 10:
      var value = new proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates;
      reader.readMessage(value,proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.deserializeBinaryFromReader);
      msg.setPositionEstimates(value);
      break;
    case 11:
      var value = new google_protobuf_wrappers_pb.StringValue;
      reader.readMessage(value,google_protobuf_wrappers_pb.StringValue.deserializeBinaryFromReader);
      msg.addFinalUrls(value);
      break;
    case 13:
      var value = new google_protobuf_wrappers_pb.StringValue;
      reader.readMessage(value,google_protobuf_wrappers_pb.StringValue.deserializeBinaryFromReader);
      msg.setTrackingUrlTemplate(value);
      break;
    case 14:
      var value = new google_ads_googleads_v0_common_custom_parameter_pb.CustomParameter;
      reader.readMessage(value,google_ads_googleads_v0_common_custom_parameter_pb.CustomParameter.deserializeBinaryFromReader);
      msg.addUrlCustomParameters(value);
      break;
    case 27:
      var value = new google_ads_googleads_v0_common_criteria_pb.KeywordInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.KeywordInfo.deserializeBinaryFromReader);
      msg.setKeyword(value);
      break;
    case 28:
      var value = new google_ads_googleads_v0_common_criteria_pb.PlacementInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.PlacementInfo.deserializeBinaryFromReader);
      msg.setPlacement(value);
      break;
    case 29:
      var value = new google_ads_googleads_v0_common_criteria_pb.MobileAppCategoryInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.MobileAppCategoryInfo.deserializeBinaryFromReader);
      msg.setMobileAppCategory(value);
      break;
    case 32:
      var value = new google_ads_googleads_v0_common_criteria_pb.ListingGroupInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.ListingGroupInfo.deserializeBinaryFromReader);
      msg.setListingGroup(value);
      break;
    case 36:
      var value = new google_ads_googleads_v0_common_criteria_pb.AgeRangeInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.AgeRangeInfo.deserializeBinaryFromReader);
      msg.setAgeRange(value);
      break;
    case 37:
      var value = new google_ads_googleads_v0_common_criteria_pb.GenderInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.GenderInfo.deserializeBinaryFromReader);
      msg.setGender(value);
      break;
    case 38:
      var value = new google_ads_googleads_v0_common_criteria_pb.IncomeRangeInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.IncomeRangeInfo.deserializeBinaryFromReader);
      msg.setIncomeRange(value);
      break;
    case 39:
      var value = new google_ads_googleads_v0_common_criteria_pb.ParentalStatusInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.ParentalStatusInfo.deserializeBinaryFromReader);
      msg.setParentalStatus(value);
      break;
    case 42:
      var value = new google_ads_googleads_v0_common_criteria_pb.UserListInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.UserListInfo.deserializeBinaryFromReader);
      msg.setUserList(value);
      break;
    case 40:
      var value = new google_ads_googleads_v0_common_criteria_pb.YouTubeVideoInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.YouTubeVideoInfo.deserializeBinaryFromReader);
      msg.setYoutubeVideo(value);
      break;
    case 41:
      var value = new google_ads_googleads_v0_common_criteria_pb.YouTubeChannelInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.YouTubeChannelInfo.deserializeBinaryFromReader);
      msg.setYoutubeChannel(value);
      break;
    case 43:
      var value = new google_ads_googleads_v0_common_criteria_pb.TopicInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.TopicInfo.deserializeBinaryFromReader);
      msg.setTopic(value);
      break;
    case 45:
      var value = new google_ads_googleads_v0_common_criteria_pb.UserInterestInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.UserInterestInfo.deserializeBinaryFromReader);
      msg.setUserInterest(value);
      break;
    case 46:
      var value = new google_ads_googleads_v0_common_criteria_pb.WebpageInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.WebpageInfo.deserializeBinaryFromReader);
      msg.setWebpage(value);
      break;
    case 47:
      var value = new google_ads_googleads_v0_common_criteria_pb.AppPaymentModelInfo;
      reader.readMessage(value,google_ads_googleads_v0_common_criteria_pb.AppPaymentModelInfo.deserializeBinaryFromReader);
      msg.setAppPaymentModel(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.google.ads.googleads.v0.resources.AdGroupCriterion.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getResourceName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getCriterionId();
  if (f != null) {
    writer.writeMessage(
      26,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getStatus();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getQualityInfo();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.serializeBinaryToWriter
    );
  }
  f = message.getAdGroup();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      google_protobuf_wrappers_pb.StringValue.serializeBinaryToWriter
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      25,
      f
    );
  }
  f = message.getNegative();
  if (f != null) {
    writer.writeMessage(
      31,
      f,
      google_protobuf_wrappers_pb.BoolValue.serializeBinaryToWriter
    );
  }
  f = message.getBidModifier();
  if (f != null) {
    writer.writeMessage(
      44,
      f,
      google_protobuf_wrappers_pb.DoubleValue.serializeBinaryToWriter
    );
  }
  f = message.getCpcBidMicros();
  if (f != null) {
    writer.writeMessage(
      16,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getCpmBidMicros();
  if (f != null) {
    writer.writeMessage(
      17,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getCpvBidMicros();
  if (f != null) {
    writer.writeMessage(
      24,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getPercentCpcBidMicros();
  if (f != null) {
    writer.writeMessage(
      33,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEffectiveCpcBidMicros();
  if (f != null) {
    writer.writeMessage(
      18,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEffectiveCpmBidMicros();
  if (f != null) {
    writer.writeMessage(
      19,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEffectiveCpvBidMicros();
  if (f != null) {
    writer.writeMessage(
      20,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEffectivePercentCpcBidMicros();
  if (f != null) {
    writer.writeMessage(
      34,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEffectiveCpcBidSource();
  if (f !== 0.0) {
    writer.writeEnum(
      21,
      f
    );
  }
  f = message.getEffectiveCpmBidSource();
  if (f !== 0.0) {
    writer.writeEnum(
      22,
      f
    );
  }
  f = message.getEffectiveCpvBidSource();
  if (f !== 0.0) {
    writer.writeEnum(
      23,
      f
    );
  }
  f = message.getEffectivePercentCpcBidSource();
  if (f !== 0.0) {
    writer.writeEnum(
      35,
      f
    );
  }
  f = message.getPositionEstimates();
  if (f != null) {
    writer.writeMessage(
      10,
      f,
      proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.serializeBinaryToWriter
    );
  }
  f = message.getFinalUrlsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      11,
      f,
      google_protobuf_wrappers_pb.StringValue.serializeBinaryToWriter
    );
  }
  f = message.getTrackingUrlTemplate();
  if (f != null) {
    writer.writeMessage(
      13,
      f,
      google_protobuf_wrappers_pb.StringValue.serializeBinaryToWriter
    );
  }
  f = message.getUrlCustomParametersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      14,
      f,
      google_ads_googleads_v0_common_custom_parameter_pb.CustomParameter.serializeBinaryToWriter
    );
  }
  f = message.getKeyword();
  if (f != null) {
    writer.writeMessage(
      27,
      f,
      google_ads_googleads_v0_common_criteria_pb.KeywordInfo.serializeBinaryToWriter
    );
  }
  f = message.getPlacement();
  if (f != null) {
    writer.writeMessage(
      28,
      f,
      google_ads_googleads_v0_common_criteria_pb.PlacementInfo.serializeBinaryToWriter
    );
  }
  f = message.getMobileAppCategory();
  if (f != null) {
    writer.writeMessage(
      29,
      f,
      google_ads_googleads_v0_common_criteria_pb.MobileAppCategoryInfo.serializeBinaryToWriter
    );
  }
  f = message.getListingGroup();
  if (f != null) {
    writer.writeMessage(
      32,
      f,
      google_ads_googleads_v0_common_criteria_pb.ListingGroupInfo.serializeBinaryToWriter
    );
  }
  f = message.getAgeRange();
  if (f != null) {
    writer.writeMessage(
      36,
      f,
      google_ads_googleads_v0_common_criteria_pb.AgeRangeInfo.serializeBinaryToWriter
    );
  }
  f = message.getGender();
  if (f != null) {
    writer.writeMessage(
      37,
      f,
      google_ads_googleads_v0_common_criteria_pb.GenderInfo.serializeBinaryToWriter
    );
  }
  f = message.getIncomeRange();
  if (f != null) {
    writer.writeMessage(
      38,
      f,
      google_ads_googleads_v0_common_criteria_pb.IncomeRangeInfo.serializeBinaryToWriter
    );
  }
  f = message.getParentalStatus();
  if (f != null) {
    writer.writeMessage(
      39,
      f,
      google_ads_googleads_v0_common_criteria_pb.ParentalStatusInfo.serializeBinaryToWriter
    );
  }
  f = message.getUserList();
  if (f != null) {
    writer.writeMessage(
      42,
      f,
      google_ads_googleads_v0_common_criteria_pb.UserListInfo.serializeBinaryToWriter
    );
  }
  f = message.getYoutubeVideo();
  if (f != null) {
    writer.writeMessage(
      40,
      f,
      google_ads_googleads_v0_common_criteria_pb.YouTubeVideoInfo.serializeBinaryToWriter
    );
  }
  f = message.getYoutubeChannel();
  if (f != null) {
    writer.writeMessage(
      41,
      f,
      google_ads_googleads_v0_common_criteria_pb.YouTubeChannelInfo.serializeBinaryToWriter
    );
  }
  f = message.getTopic();
  if (f != null) {
    writer.writeMessage(
      43,
      f,
      google_ads_googleads_v0_common_criteria_pb.TopicInfo.serializeBinaryToWriter
    );
  }
  f = message.getUserInterest();
  if (f != null) {
    writer.writeMessage(
      45,
      f,
      google_ads_googleads_v0_common_criteria_pb.UserInterestInfo.serializeBinaryToWriter
    );
  }
  f = message.getWebpage();
  if (f != null) {
    writer.writeMessage(
      46,
      f,
      google_ads_googleads_v0_common_criteria_pb.WebpageInfo.serializeBinaryToWriter
    );
  }
  f = message.getAppPaymentModel();
  if (f != null) {
    writer.writeMessage(
      47,
      f,
      google_ads_googleads_v0_common_criteria_pb.AppPaymentModelInfo.serializeBinaryToWriter
    );
  }
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.displayName = 'proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.toObject = function(opt_includeInstance) {
  return proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.toObject = function(includeInstance, msg) {
  var f, obj = {
    qualityScore: (f = msg.getQualityScore()) && google_protobuf_wrappers_pb.Int32Value.toObject(includeInstance, f),
    creativeQualityScore: jspb.Message.getFieldWithDefault(msg, 2, 0),
    postClickQualityScore: jspb.Message.getFieldWithDefault(msg, 3, 0),
    searchPredictedCtr: jspb.Message.getFieldWithDefault(msg, 4, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo;
  return proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new google_protobuf_wrappers_pb.Int32Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int32Value.deserializeBinaryFromReader);
      msg.setQualityScore(value);
      break;
    case 2:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} */ (reader.readEnum());
      msg.setCreativeQualityScore(value);
      break;
    case 3:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} */ (reader.readEnum());
      msg.setPostClickQualityScore(value);
      break;
    case 4:
      var value = /** @type {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} */ (reader.readEnum());
      msg.setSearchPredictedCtr(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getQualityScore();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      google_protobuf_wrappers_pb.Int32Value.serializeBinaryToWriter
    );
  }
  f = message.getCreativeQualityScore();
  if (f !== 0.0) {
    writer.writeEnum(
      2,
      f
    );
  }
  f = message.getPostClickQualityScore();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getSearchPredictedCtr();
  if (f !== 0.0) {
    writer.writeEnum(
      4,
      f
    );
  }
};


/**
 * optional google.protobuf.Int32Value quality_score = 1;
 * @return {?proto.google.protobuf.Int32Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.getQualityScore = function() {
  return /** @type{?proto.google.protobuf.Int32Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int32Value, 1));
};


/** @param {?proto.google.protobuf.Int32Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.setQualityScore = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.clearQualityScore = function() {
  this.setQualityScore(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.hasQualityScore = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
 * @return {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.getCreativeQualityScore = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.setCreativeQualityScore = function(value) {
  jspb.Message.setProto3EnumField(this, 2, value);
};


/**
 * optional google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
 * @return {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.getPostClickQualityScore = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.setPostClickQualityScore = function(value) {
  jspb.Message.setProto3EnumField(this, 3, value);
};


/**
 * optional google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4;
 * @return {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.getSearchPredictedCtr = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo.prototype.setSearchPredictedCtr = function(value) {
  jspb.Message.setProto3EnumField(this, 4, value);
};



/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.displayName = 'proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.toObject = function(opt_includeInstance) {
  return proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.toObject = function(includeInstance, msg) {
  var f, obj = {
    firstPageCpcMicros: (f = msg.getFirstPageCpcMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    firstPositionCpcMicros: (f = msg.getFirstPositionCpcMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    topOfPageCpcMicros: (f = msg.getTopOfPageCpcMicros()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    estimatedAddClicksAtFirstPositionCpc: (f = msg.getEstimatedAddClicksAtFirstPositionCpc()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f),
    estimatedAddCostAtFirstPositionCpc: (f = msg.getEstimatedAddCostAtFirstPositionCpc()) && google_protobuf_wrappers_pb.Int64Value.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates;
  return proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setFirstPageCpcMicros(value);
      break;
    case 2:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setFirstPositionCpcMicros(value);
      break;
    case 3:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setTopOfPageCpcMicros(value);
      break;
    case 4:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setEstimatedAddClicksAtFirstPositionCpc(value);
      break;
    case 5:
      var value = new google_protobuf_wrappers_pb.Int64Value;
      reader.readMessage(value,google_protobuf_wrappers_pb.Int64Value.deserializeBinaryFromReader);
      msg.setEstimatedAddCostAtFirstPositionCpc(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFirstPageCpcMicros();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getFirstPositionCpcMicros();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getTopOfPageCpcMicros();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEstimatedAddClicksAtFirstPositionCpc();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
  f = message.getEstimatedAddCostAtFirstPositionCpc();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      google_protobuf_wrappers_pb.Int64Value.serializeBinaryToWriter
    );
  }
};


/**
 * optional google.protobuf.Int64Value first_page_cpc_micros = 1;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.getFirstPageCpcMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 1));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.setFirstPageCpcMicros = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.clearFirstPageCpcMicros = function() {
  this.setFirstPageCpcMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.hasFirstPageCpcMicros = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional google.protobuf.Int64Value first_position_cpc_micros = 2;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.getFirstPositionCpcMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 2));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.setFirstPositionCpcMicros = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.clearFirstPositionCpcMicros = function() {
  this.setFirstPositionCpcMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.hasFirstPositionCpcMicros = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional google.protobuf.Int64Value top_of_page_cpc_micros = 3;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.getTopOfPageCpcMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 3));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.setTopOfPageCpcMicros = function(value) {
  jspb.Message.setWrapperField(this, 3, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.clearTopOfPageCpcMicros = function() {
  this.setTopOfPageCpcMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.hasTopOfPageCpcMicros = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.getEstimatedAddClicksAtFirstPositionCpc = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 4));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.setEstimatedAddClicksAtFirstPositionCpc = function(value) {
  jspb.Message.setWrapperField(this, 4, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.clearEstimatedAddClicksAtFirstPositionCpc = function() {
  this.setEstimatedAddClicksAtFirstPositionCpc(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.hasEstimatedAddClicksAtFirstPositionCpc = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.getEstimatedAddCostAtFirstPositionCpc = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 5));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.setEstimatedAddCostAtFirstPositionCpc = function(value) {
  jspb.Message.setWrapperField(this, 5, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.clearEstimatedAddCostAtFirstPositionCpc = function() {
  this.setEstimatedAddCostAtFirstPositionCpc(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates.prototype.hasEstimatedAddCostAtFirstPositionCpc = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional string resource_name = 1;
 * @return {string}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getResourceName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setResourceName = function(value) {
  jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional google.protobuf.Int64Value criterion_id = 26;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getCriterionId = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 26));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setCriterionId = function(value) {
  jspb.Message.setWrapperField(this, 26, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearCriterionId = function() {
  this.setCriterionId(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasCriterionId = function() {
  return jspb.Message.getField(this, 26) != null;
};


/**
 * optional google.ads.googleads.v0.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
 * @return {!proto.google.ads.googleads.v0.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getStatus = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setStatus = function(value) {
  jspb.Message.setProto3EnumField(this, 3, value);
};


/**
 * optional QualityInfo quality_info = 4;
 * @return {?proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getQualityInfo = function() {
  return /** @type{?proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo} */ (
    jspb.Message.getWrapperField(this, proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo, 4));
};


/** @param {?proto.google.ads.googleads.v0.resources.AdGroupCriterion.QualityInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setQualityInfo = function(value) {
  jspb.Message.setWrapperField(this, 4, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearQualityInfo = function() {
  this.setQualityInfo(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasQualityInfo = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional google.protobuf.StringValue ad_group = 5;
 * @return {?proto.google.protobuf.StringValue}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getAdGroup = function() {
  return /** @type{?proto.google.protobuf.StringValue} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.StringValue, 5));
};


/** @param {?proto.google.protobuf.StringValue|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setAdGroup = function(value) {
  jspb.Message.setWrapperField(this, 5, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearAdGroup = function() {
  this.setAdGroup(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasAdGroup = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional google.ads.googleads.v0.enums.CriterionTypeEnum.CriterionType type = 25;
 * @return {!proto.google.ads.googleads.v0.enums.CriterionTypeEnum.CriterionType}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getType = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.CriterionTypeEnum.CriterionType} */ (jspb.Message.getFieldWithDefault(this, 25, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.CriterionTypeEnum.CriterionType} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setType = function(value) {
  jspb.Message.setProto3EnumField(this, 25, value);
};


/**
 * optional google.protobuf.BoolValue negative = 31;
 * @return {?proto.google.protobuf.BoolValue}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getNegative = function() {
  return /** @type{?proto.google.protobuf.BoolValue} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.BoolValue, 31));
};


/** @param {?proto.google.protobuf.BoolValue|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setNegative = function(value) {
  jspb.Message.setWrapperField(this, 31, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearNegative = function() {
  this.setNegative(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasNegative = function() {
  return jspb.Message.getField(this, 31) != null;
};


/**
 * optional google.protobuf.DoubleValue bid_modifier = 44;
 * @return {?proto.google.protobuf.DoubleValue}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getBidModifier = function() {
  return /** @type{?proto.google.protobuf.DoubleValue} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.DoubleValue, 44));
};


/** @param {?proto.google.protobuf.DoubleValue|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setBidModifier = function(value) {
  jspb.Message.setWrapperField(this, 44, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearBidModifier = function() {
  this.setBidModifier(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasBidModifier = function() {
  return jspb.Message.getField(this, 44) != null;
};


/**
 * optional google.protobuf.Int64Value cpc_bid_micros = 16;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getCpcBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 16));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setCpcBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 16, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearCpcBidMicros = function() {
  this.setCpcBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasCpcBidMicros = function() {
  return jspb.Message.getField(this, 16) != null;
};


/**
 * optional google.protobuf.Int64Value cpm_bid_micros = 17;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getCpmBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 17));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setCpmBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 17, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearCpmBidMicros = function() {
  this.setCpmBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasCpmBidMicros = function() {
  return jspb.Message.getField(this, 17) != null;
};


/**
 * optional google.protobuf.Int64Value cpv_bid_micros = 24;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getCpvBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 24));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setCpvBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 24, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearCpvBidMicros = function() {
  this.setCpvBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasCpvBidMicros = function() {
  return jspb.Message.getField(this, 24) != null;
};


/**
 * optional google.protobuf.Int64Value percent_cpc_bid_micros = 33;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getPercentCpcBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 33));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setPercentCpcBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 33, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearPercentCpcBidMicros = function() {
  this.setPercentCpcBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasPercentCpcBidMicros = function() {
  return jspb.Message.getField(this, 33) != null;
};


/**
 * optional google.protobuf.Int64Value effective_cpc_bid_micros = 18;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectiveCpcBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 18));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectiveCpcBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 18, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearEffectiveCpcBidMicros = function() {
  this.setEffectiveCpcBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasEffectiveCpcBidMicros = function() {
  return jspb.Message.getField(this, 18) != null;
};


/**
 * optional google.protobuf.Int64Value effective_cpm_bid_micros = 19;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectiveCpmBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 19));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectiveCpmBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 19, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearEffectiveCpmBidMicros = function() {
  this.setEffectiveCpmBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasEffectiveCpmBidMicros = function() {
  return jspb.Message.getField(this, 19) != null;
};


/**
 * optional google.protobuf.Int64Value effective_cpv_bid_micros = 20;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectiveCpvBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 20));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectiveCpvBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 20, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearEffectiveCpvBidMicros = function() {
  this.setEffectiveCpvBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasEffectiveCpvBidMicros = function() {
  return jspb.Message.getField(this, 20) != null;
};


/**
 * optional google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
 * @return {?proto.google.protobuf.Int64Value}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectivePercentCpcBidMicros = function() {
  return /** @type{?proto.google.protobuf.Int64Value} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.Int64Value, 34));
};


/** @param {?proto.google.protobuf.Int64Value|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectivePercentCpcBidMicros = function(value) {
  jspb.Message.setWrapperField(this, 34, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearEffectivePercentCpcBidMicros = function() {
  this.setEffectivePercentCpcBidMicros(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasEffectivePercentCpcBidMicros = function() {
  return jspb.Message.getField(this, 34) != null;
};


/**
 * optional google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
 * @return {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectiveCpcBidSource = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (jspb.Message.getFieldWithDefault(this, 21, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectiveCpcBidSource = function(value) {
  jspb.Message.setProto3EnumField(this, 21, value);
};


/**
 * optional google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
 * @return {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectiveCpmBidSource = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (jspb.Message.getFieldWithDefault(this, 22, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectiveCpmBidSource = function(value) {
  jspb.Message.setProto3EnumField(this, 22, value);
};


/**
 * optional google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
 * @return {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectiveCpvBidSource = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (jspb.Message.getFieldWithDefault(this, 23, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectiveCpvBidSource = function(value) {
  jspb.Message.setProto3EnumField(this, 23, value);
};


/**
 * optional google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35;
 * @return {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getEffectivePercentCpcBidSource = function() {
  return /** @type {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} */ (jspb.Message.getFieldWithDefault(this, 35, 0));
};


/** @param {!proto.google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setEffectivePercentCpcBidSource = function(value) {
  jspb.Message.setProto3EnumField(this, 35, value);
};


/**
 * optional PositionEstimates position_estimates = 10;
 * @return {?proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getPositionEstimates = function() {
  return /** @type{?proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates} */ (
    jspb.Message.getWrapperField(this, proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates, 10));
};


/** @param {?proto.google.ads.googleads.v0.resources.AdGroupCriterion.PositionEstimates|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setPositionEstimates = function(value) {
  jspb.Message.setWrapperField(this, 10, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearPositionEstimates = function() {
  this.setPositionEstimates(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasPositionEstimates = function() {
  return jspb.Message.getField(this, 10) != null;
};


/**
 * repeated google.protobuf.StringValue final_urls = 11;
 * @return {!Array<!proto.google.protobuf.StringValue>}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getFinalUrlsList = function() {
  return /** @type{!Array<!proto.google.protobuf.StringValue>} */ (
    jspb.Message.getRepeatedWrapperField(this, google_protobuf_wrappers_pb.StringValue, 11));
};


/** @param {!Array<!proto.google.protobuf.StringValue>} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setFinalUrlsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 11, value);
};


/**
 * @param {!proto.google.protobuf.StringValue=} opt_value
 * @param {number=} opt_index
 * @return {!proto.google.protobuf.StringValue}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.addFinalUrls = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.google.protobuf.StringValue, opt_index);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearFinalUrlsList = function() {
  this.setFinalUrlsList([]);
};


/**
 * optional google.protobuf.StringValue tracking_url_template = 13;
 * @return {?proto.google.protobuf.StringValue}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getTrackingUrlTemplate = function() {
  return /** @type{?proto.google.protobuf.StringValue} */ (
    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.StringValue, 13));
};


/** @param {?proto.google.protobuf.StringValue|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setTrackingUrlTemplate = function(value) {
  jspb.Message.setWrapperField(this, 13, value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearTrackingUrlTemplate = function() {
  this.setTrackingUrlTemplate(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasTrackingUrlTemplate = function() {
  return jspb.Message.getField(this, 13) != null;
};


/**
 * repeated google.ads.googleads.v0.common.CustomParameter url_custom_parameters = 14;
 * @return {!Array<!proto.google.ads.googleads.v0.common.CustomParameter>}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getUrlCustomParametersList = function() {
  return /** @type{!Array<!proto.google.ads.googleads.v0.common.CustomParameter>} */ (
    jspb.Message.getRepeatedWrapperField(this, google_ads_googleads_v0_common_custom_parameter_pb.CustomParameter, 14));
};


/** @param {!Array<!proto.google.ads.googleads.v0.common.CustomParameter>} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setUrlCustomParametersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 14, value);
};


/**
 * @param {!proto.google.ads.googleads.v0.common.CustomParameter=} opt_value
 * @param {number=} opt_index
 * @return {!proto.google.ads.googleads.v0.common.CustomParameter}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.addUrlCustomParameters = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 14, opt_value, proto.google.ads.googleads.v0.common.CustomParameter, opt_index);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearUrlCustomParametersList = function() {
  this.setUrlCustomParametersList([]);
};


/**
 * optional google.ads.googleads.v0.common.KeywordInfo keyword = 27;
 * @return {?proto.google.ads.googleads.v0.common.KeywordInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getKeyword = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.KeywordInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.KeywordInfo, 27));
};


/** @param {?proto.google.ads.googleads.v0.common.KeywordInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setKeyword = function(value) {
  jspb.Message.setOneofWrapperField(this, 27, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearKeyword = function() {
  this.setKeyword(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasKeyword = function() {
  return jspb.Message.getField(this, 27) != null;
};


/**
 * optional google.ads.googleads.v0.common.PlacementInfo placement = 28;
 * @return {?proto.google.ads.googleads.v0.common.PlacementInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getPlacement = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.PlacementInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.PlacementInfo, 28));
};


/** @param {?proto.google.ads.googleads.v0.common.PlacementInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setPlacement = function(value) {
  jspb.Message.setOneofWrapperField(this, 28, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearPlacement = function() {
  this.setPlacement(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasPlacement = function() {
  return jspb.Message.getField(this, 28) != null;
};


/**
 * optional google.ads.googleads.v0.common.MobileAppCategoryInfo mobile_app_category = 29;
 * @return {?proto.google.ads.googleads.v0.common.MobileAppCategoryInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getMobileAppCategory = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.MobileAppCategoryInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.MobileAppCategoryInfo, 29));
};


/** @param {?proto.google.ads.googleads.v0.common.MobileAppCategoryInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setMobileAppCategory = function(value) {
  jspb.Message.setOneofWrapperField(this, 29, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearMobileAppCategory = function() {
  this.setMobileAppCategory(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasMobileAppCategory = function() {
  return jspb.Message.getField(this, 29) != null;
};


/**
 * optional google.ads.googleads.v0.common.ListingGroupInfo listing_group = 32;
 * @return {?proto.google.ads.googleads.v0.common.ListingGroupInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getListingGroup = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.ListingGroupInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.ListingGroupInfo, 32));
};


/** @param {?proto.google.ads.googleads.v0.common.ListingGroupInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setListingGroup = function(value) {
  jspb.Message.setOneofWrapperField(this, 32, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearListingGroup = function() {
  this.setListingGroup(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasListingGroup = function() {
  return jspb.Message.getField(this, 32) != null;
};


/**
 * optional google.ads.googleads.v0.common.AgeRangeInfo age_range = 36;
 * @return {?proto.google.ads.googleads.v0.common.AgeRangeInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getAgeRange = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.AgeRangeInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.AgeRangeInfo, 36));
};


/** @param {?proto.google.ads.googleads.v0.common.AgeRangeInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setAgeRange = function(value) {
  jspb.Message.setOneofWrapperField(this, 36, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearAgeRange = function() {
  this.setAgeRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasAgeRange = function() {
  return jspb.Message.getField(this, 36) != null;
};


/**
 * optional google.ads.googleads.v0.common.GenderInfo gender = 37;
 * @return {?proto.google.ads.googleads.v0.common.GenderInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getGender = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.GenderInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.GenderInfo, 37));
};


/** @param {?proto.google.ads.googleads.v0.common.GenderInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setGender = function(value) {
  jspb.Message.setOneofWrapperField(this, 37, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearGender = function() {
  this.setGender(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasGender = function() {
  return jspb.Message.getField(this, 37) != null;
};


/**
 * optional google.ads.googleads.v0.common.IncomeRangeInfo income_range = 38;
 * @return {?proto.google.ads.googleads.v0.common.IncomeRangeInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getIncomeRange = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.IncomeRangeInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.IncomeRangeInfo, 38));
};


/** @param {?proto.google.ads.googleads.v0.common.IncomeRangeInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setIncomeRange = function(value) {
  jspb.Message.setOneofWrapperField(this, 38, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearIncomeRange = function() {
  this.setIncomeRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasIncomeRange = function() {
  return jspb.Message.getField(this, 38) != null;
};


/**
 * optional google.ads.googleads.v0.common.ParentalStatusInfo parental_status = 39;
 * @return {?proto.google.ads.googleads.v0.common.ParentalStatusInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getParentalStatus = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.ParentalStatusInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.ParentalStatusInfo, 39));
};


/** @param {?proto.google.ads.googleads.v0.common.ParentalStatusInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setParentalStatus = function(value) {
  jspb.Message.setOneofWrapperField(this, 39, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearParentalStatus = function() {
  this.setParentalStatus(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasParentalStatus = function() {
  return jspb.Message.getField(this, 39) != null;
};


/**
 * optional google.ads.googleads.v0.common.UserListInfo user_list = 42;
 * @return {?proto.google.ads.googleads.v0.common.UserListInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getUserList = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.UserListInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.UserListInfo, 42));
};


/** @param {?proto.google.ads.googleads.v0.common.UserListInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setUserList = function(value) {
  jspb.Message.setOneofWrapperField(this, 42, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearUserList = function() {
  this.setUserList(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasUserList = function() {
  return jspb.Message.getField(this, 42) != null;
};


/**
 * optional google.ads.googleads.v0.common.YouTubeVideoInfo youtube_video = 40;
 * @return {?proto.google.ads.googleads.v0.common.YouTubeVideoInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getYoutubeVideo = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.YouTubeVideoInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.YouTubeVideoInfo, 40));
};


/** @param {?proto.google.ads.googleads.v0.common.YouTubeVideoInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setYoutubeVideo = function(value) {
  jspb.Message.setOneofWrapperField(this, 40, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearYoutubeVideo = function() {
  this.setYoutubeVideo(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasYoutubeVideo = function() {
  return jspb.Message.getField(this, 40) != null;
};


/**
 * optional google.ads.googleads.v0.common.YouTubeChannelInfo youtube_channel = 41;
 * @return {?proto.google.ads.googleads.v0.common.YouTubeChannelInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getYoutubeChannel = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.YouTubeChannelInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.YouTubeChannelInfo, 41));
};


/** @param {?proto.google.ads.googleads.v0.common.YouTubeChannelInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setYoutubeChannel = function(value) {
  jspb.Message.setOneofWrapperField(this, 41, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearYoutubeChannel = function() {
  this.setYoutubeChannel(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasYoutubeChannel = function() {
  return jspb.Message.getField(this, 41) != null;
};


/**
 * optional google.ads.googleads.v0.common.TopicInfo topic = 43;
 * @return {?proto.google.ads.googleads.v0.common.TopicInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getTopic = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.TopicInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.TopicInfo, 43));
};


/** @param {?proto.google.ads.googleads.v0.common.TopicInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setTopic = function(value) {
  jspb.Message.setOneofWrapperField(this, 43, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearTopic = function() {
  this.setTopic(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasTopic = function() {
  return jspb.Message.getField(this, 43) != null;
};


/**
 * optional google.ads.googleads.v0.common.UserInterestInfo user_interest = 45;
 * @return {?proto.google.ads.googleads.v0.common.UserInterestInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getUserInterest = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.UserInterestInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.UserInterestInfo, 45));
};


/** @param {?proto.google.ads.googleads.v0.common.UserInterestInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setUserInterest = function(value) {
  jspb.Message.setOneofWrapperField(this, 45, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearUserInterest = function() {
  this.setUserInterest(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasUserInterest = function() {
  return jspb.Message.getField(this, 45) != null;
};


/**
 * optional google.ads.googleads.v0.common.WebpageInfo webpage = 46;
 * @return {?proto.google.ads.googleads.v0.common.WebpageInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getWebpage = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.WebpageInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.WebpageInfo, 46));
};


/** @param {?proto.google.ads.googleads.v0.common.WebpageInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setWebpage = function(value) {
  jspb.Message.setOneofWrapperField(this, 46, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearWebpage = function() {
  this.setWebpage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasWebpage = function() {
  return jspb.Message.getField(this, 46) != null;
};


/**
 * optional google.ads.googleads.v0.common.AppPaymentModelInfo app_payment_model = 47;
 * @return {?proto.google.ads.googleads.v0.common.AppPaymentModelInfo}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.getAppPaymentModel = function() {
  return /** @type{?proto.google.ads.googleads.v0.common.AppPaymentModelInfo} */ (
    jspb.Message.getWrapperField(this, google_ads_googleads_v0_common_criteria_pb.AppPaymentModelInfo, 47));
};


/** @param {?proto.google.ads.googleads.v0.common.AppPaymentModelInfo|undefined} value */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.setAppPaymentModel = function(value) {
  jspb.Message.setOneofWrapperField(this, 47, proto.google.ads.googleads.v0.resources.AdGroupCriterion.oneofGroups_[0], value);
};


proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.clearAppPaymentModel = function() {
  this.setAppPaymentModel(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
proto.google.ads.googleads.v0.resources.AdGroupCriterion.prototype.hasAppPaymentModel = function() {
  return jspb.Message.getField(this, 47) != null;
};


goog.object.extend(exports, proto.google.ads.googleads.v0.resources);