From ba428b86fa4a51b81af3666d40654354ba79f0d3 Mon Sep 17 00:00:00 2001 From: Lewis Clayton Date: Fri, 30 May 2025 16:30:05 +0100 Subject: [PATCH 1/3] compileProtos --keep-case --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index eaf77ce6..22947d96 100644 --- a/Dockerfile +++ b/Dockerfile @@ -62,4 +62,5 @@ RUN sed -i 's/request.keywordPlan/request.keyword_plan/' googleads-nodejs/src/${ sed -i 's/request.campaignDraft/request.campaign_draft/' googleads-nodejs/src/${GOOGLE_ADS_VERSION}/*.ts && \ sed -i 's/request.resourceName/request.resource_name/' googleads-nodejs/src/${GOOGLE_ADS_VERSION}/*.ts && \ sed -i 's/request.customerId/request.customer_id/' googleads-nodejs/src/${GOOGLE_ADS_VERSION}/*.ts && \ - sed -i 's/request.adGroupAd/request.ad_group_ad/' googleads-nodejs/src/${GOOGLE_ADS_VERSION}/*.ts + sed -i 's/request.adGroupAd/request.ad_group_ad/' googleads-nodejs/src/${GOOGLE_ADS_VERSION}/*.ts && \ + sed -i 's/"compile-protos": "compileProtos src"/"compile-protos": "compileProtos --keep-case --force-number src"/' googleads-nodejs/package.json From ecda858b0c112263a425cf66aeda28392f8c0f1e Mon Sep 17 00:00:00 2001 From: Lewis Clayton Date: Fri, 30 May 2025 16:41:44 +0100 Subject: [PATCH 2/3] v19.1 build from protos --- package.json | 4 +- package/googleads-nodejs/package.json | 26 +- .../ads/googleads/v19/common/ad_asset.proto | 2 +- .../googleads/v19/common/ad_type_infos.proto | 8 +- .../googleads/v19/common/asset_policy.proto | 2 +- .../v19/common/asset_set_types.proto | 2 +- .../googleads/v19/common/asset_types.proto | 2 +- .../googleads/v19/common/asset_usage.proto | 2 +- .../common/audience_insights_attribute.proto | 2 +- .../ads/googleads/v19/common/audiences.proto | 2 +- .../ads/googleads/v19/common/bidding.proto | 2 +- .../googleads/v19/common/click_location.proto | 2 +- .../ads/googleads/v19/common/consent.proto | 2 +- .../ads/googleads/v19/common/criteria.proto | 2 +- .../criterion_category_availability.proto | 2 +- .../v19/common/custom_parameter.proto | 2 +- .../v19/common/customizer_value.proto | 2 +- .../ads/googleads/v19/common/dates.proto | 2 +- .../ads/googleads/v19/common/extensions.proto | 2 +- .../googleads/v19/common/feed_common.proto | 2 +- .../googleads/v19/common/final_app_url.proto | 2 +- .../googleads/v19/common/frequency_cap.proto | 2 +- .../v19/common/keyword_plan_common.proto | 2 +- .../v19/common/lifecycle_goals.proto | 2 +- .../googleads/v19/common/local_services.proto | 2 +- .../googleads/v19/common/metric_goal.proto | 2 +- .../ads/googleads/v19/common/metrics.proto | 20 +- .../v19/common/offline_user_data.proto | 2 +- .../ads/googleads/v19/common/policy.proto | 2 +- .../googleads/v19/common/policy_summary.proto | 2 +- .../common/real_time_bidding_setting.proto | 2 +- .../ads/googleads/v19/common/segments.proto | 20 +- .../ads/googleads/v19/common/simulation.proto | 2 +- .../googleads/v19/common/tag_snippet.proto | 2 +- .../v19/common/targeting_setting.proto | 2 +- .../ads/googleads/v19/common/text_label.proto | 2 +- .../googleads/v19/common/url_collection.proto | 2 +- .../ads/googleads/v19/common/user_lists.proto | 2 +- .../ads/googleads/v19/common/value.proto | 2 +- .../v19/enums/access_invitation_status.proto | 2 +- .../googleads/v19/enums/access_reason.proto | 2 +- .../ads/googleads/v19/enums/access_role.proto | 2 +- .../account_budget_proposal_status.proto | 2 +- .../enums/account_budget_proposal_type.proto | 2 +- .../v19/enums/account_budget_status.proto | 2 +- .../v19/enums/account_link_status.proto | 2 +- .../v19/enums/ad_destination_type.proto | 2 +- .../googleads/v19/enums/ad_format_type.proto | 2 +- .../enums/ad_group_ad_primary_status.proto | 2 +- .../ad_group_ad_primary_status_reason.proto | 2 +- .../v19/enums/ad_group_ad_rotation_mode.proto | 2 +- .../v19/enums/ad_group_ad_status.proto | 2 +- .../ad_group_criterion_approval_status.proto | 2 +- .../ad_group_criterion_primary_status.proto | 2 +- ...roup_criterion_primary_status_reason.proto | 2 +- .../v19/enums/ad_group_criterion_status.proto | 2 +- .../v19/enums/ad_group_primary_status.proto | 2 +- .../ad_group_primary_status_reason.proto | 2 +- .../googleads/v19/enums/ad_group_status.proto | 2 +- .../googleads/v19/enums/ad_group_type.proto | 5 +- .../googleads/v19/enums/ad_network_type.proto | 2 +- .../ad_serving_optimization_status.proto | 2 +- .../ads/googleads/v19/enums/ad_strength.proto | 2 +- .../enums/ad_strength_action_item_type.proto | 43 + .../ads/googleads/v19/enums/ad_type.proto | 5 +- .../enums/advertising_channel_sub_type.proto | 5 +- .../v19/enums/advertising_channel_type.proto | 2 +- .../googleads/v19/enums/age_range_type.proto | 2 +- .../android_privacy_interaction_type.proto | 2 +- .../enums/android_privacy_network_type.proto | 2 +- .../v19/enums/app_bidding_goal.proto | 2 +- .../v19/enums/app_campaign_app_store.proto | 2 +- ..._campaign_bidding_strategy_goal_type.proto | 2 +- .../v19/enums/app_payment_model_type.proto | 2 +- .../enums/app_url_operating_system_type.proto | 2 +- .../v19/enums/asset_automation_status.proto | 2 +- .../v19/enums/asset_automation_type.proto | 2 +- ...erage_video_aspect_ratio_requirement.proto | 50 + .../v19/enums/asset_field_type.proto | 5 +- .../enums/asset_group_primary_status.proto | 2 +- .../asset_group_primary_status_reason.proto | 2 +- .../asset_group_signal_approval_status.proto | 2 +- .../v19/enums/asset_group_status.proto | 2 +- .../v19/enums/asset_link_primary_status.proto | 2 +- .../asset_link_primary_status_reason.proto | 2 +- .../v19/enums/asset_link_status.proto | 2 +- ...set_offline_evaluation_error_reasons.proto | 2 +- .../v19/enums/asset_performance_label.proto | 2 +- .../v19/enums/asset_set_asset_status.proto | 2 +- .../v19/enums/asset_set_link_status.proto | 2 +- .../v19/enums/asset_set_status.proto | 2 +- .../googleads/v19/enums/asset_set_type.proto | 2 +- .../googleads/v19/enums/asset_source.proto | 2 +- .../ads/googleads/v19/enums/asset_type.proto | 2 +- .../v19/enums/async_action_status.proto | 2 +- .../v19/enums/attribution_model.proto | 2 +- .../enums/audience_insights_dimension.proto | 2 +- ...udience_insights_marketing_objective.proto | 2 +- .../googleads/v19/enums/audience_scope.proto | 2 +- .../googleads/v19/enums/audience_status.proto | 2 +- .../v19/enums/batch_job_status.proto | 2 +- .../v19/enums/bid_modifier_source.proto | 2 +- .../googleads/v19/enums/bidding_source.proto | 2 +- .../v19/enums/bidding_strategy_status.proto | 2 +- .../bidding_strategy_system_status.proto | 2 +- .../v19/enums/bidding_strategy_type.proto | 2 +- .../v19/enums/billing_setup_status.proto | 2 +- .../brand_request_rejection_reason.proto | 2 +- .../v19/enums/brand_safety_suitability.proto | 2 +- .../ads/googleads/v19/enums/brand_state.proto | 2 +- .../budget_campaign_association_status.proto | 2 +- .../v19/enums/budget_delivery_method.proto | 2 +- .../googleads/v19/enums/budget_period.proto | 2 +- .../googleads/v19/enums/budget_status.proto | 2 +- .../ads/googleads/v19/enums/budget_type.proto | 2 +- ...business_message_call_to_action_type.proto | 2 +- .../v19/enums/business_message_provider.proto | 2 +- .../call_conversion_reporting_state.proto | 2 +- .../v19/enums/call_to_action_type.proto | 2 +- .../call_tracking_display_location.proto | 2 +- .../ads/googleads/v19/enums/call_type.proto | 2 +- .../v19/enums/campaign_criterion_status.proto | 2 +- .../v19/enums/campaign_draft_status.proto | 2 +- .../v19/enums/campaign_experiment_type.proto | 2 +- .../v19/enums/campaign_group_status.proto | 2 +- .../enums/campaign_keyword_match_type.proto | 2 +- .../v19/enums/campaign_primary_status.proto | 2 +- .../campaign_primary_status_reason.proto | 2 +- .../v19/enums/campaign_serving_status.proto | 2 +- .../enums/campaign_shared_set_status.proto | 2 +- .../googleads/v19/enums/campaign_status.proto | 2 +- .../v19/enums/chain_relationship_type.proto | 2 +- .../v19/enums/change_client_type.proto | 2 +- .../enums/change_event_resource_type.proto | 2 +- .../v19/enums/change_status_operation.proto | 2 +- .../enums/change_status_resource_type.proto | 11 +- .../ads/googleads/v19/enums/click_type.proto | 2 +- .../v19/enums/combined_audience_status.proto | 2 +- .../googleads/v19/enums/consent_status.proto | 2 +- .../v19/enums/content_label_type.proto | 2 +- .../enums/conversion_action_category.proto | 2 +- .../conversion_action_counting_type.proto | 2 +- .../v19/enums/conversion_action_status.proto | 2 +- .../v19/enums/conversion_action_type.proto | 2 +- .../enums/conversion_adjustment_type.proto | 2 +- .../conversion_attribution_event_type.proto | 2 +- .../conversion_custom_variable_status.proto | 2 +- .../v19/enums/conversion_customer_type.proto | 48 + .../enums/conversion_environment_enum.proto | 2 +- .../v19/enums/conversion_lag_bucket.proto | 2 +- .../conversion_or_adjustment_lag_bucket.proto | 2 +- .../v19/enums/conversion_origin.proto | 2 +- .../conversion_tracking_status_enum.proto | 2 +- ...version_value_rule_primary_dimension.proto | 2 +- .../conversion_value_rule_set_status.proto | 2 +- .../enums/conversion_value_rule_status.proto | 2 +- ...prior_engagement_type_and_ltv_bucket.proto | 2 +- ...n_category_channel_availability_mode.proto | 2 +- ...on_category_locale_availability_mode.proto | 2 +- .../criterion_system_serving_status.proto | 2 +- .../googleads/v19/enums/criterion_type.proto | 2 +- .../enums/custom_audience_member_type.proto | 2 +- .../v19/enums/custom_audience_status.proto | 2 +- .../v19/enums/custom_audience_type.proto | 2 +- .../enums/custom_conversion_goal_status.proto | 2 +- .../enums/custom_interest_member_type.proto | 2 +- .../v19/enums/custom_interest_status.proto | 2 +- .../v19/enums/custom_interest_type.proto | 2 +- ...stomer_acquisition_optimization_mode.proto | 2 +- .../customer_match_upload_key_type.proto | 2 +- ...onversion_eligibility_failure_reason.proto | 2 +- .../googleads/v19/enums/customer_status.proto | 2 +- .../enums/customizer_attribute_status.proto | 2 +- .../v19/enums/customizer_attribute_type.proto | 2 +- .../v19/enums/customizer_value_status.proto | 2 +- .../v19/enums/data_driven_model_status.proto | 2 +- .../v19/enums/data_link_status.proto | 2 +- .../googleads/v19/enums/data_link_type.proto | 2 +- .../ads/googleads/v19/enums/day_of_week.proto | 2 +- .../v19/enums/demand_gen_channel_config.proto | 48 + .../enums/demand_gen_channel_strategy.proto | 46 + .../ads/googleads/v19/enums/device.proto | 2 +- .../v19/enums/display_ad_format_setting.proto | 2 +- .../enums/display_upload_product_type.proto | 2 +- .../googleads/v19/enums/distance_bucket.proto | 2 +- .../v19/enums/experiment_metric.proto | 2 +- .../enums/experiment_metric_direction.proto | 2 +- .../v19/enums/experiment_status.proto | 2 +- .../googleads/v19/enums/experiment_type.proto | 2 +- .../enums/external_conversion_source.proto | 2 +- .../googleads/v19/enums/fixed_cpm_goal.proto | 2 +- ...fixed_cpm_target_frequency_time_unit.proto | 2 +- .../v19/enums/frequency_cap_event_type.proto | 2 +- .../v19/enums/frequency_cap_level.proto | 2 +- .../v19/enums/frequency_cap_time_unit.proto | 2 +- .../ads/googleads/v19/enums/gender_type.proto | 2 +- .../enums/geo_target_constant_status.proto | 2 +- .../v19/enums/geo_targeting_type.proto | 2 +- .../v19/enums/goal_config_level.proto | 2 +- .../v19/enums/google_ads_field_category.proto | 2 +- .../enums/google_ads_field_data_type.proto | 2 +- .../v19/enums/google_voice_call_status.proto | 2 +- .../enums/hotel_asset_suggestion_status.proto | 2 +- .../v19/enums/hotel_date_selection_type.proto | 2 +- .../v19/enums/hotel_price_bucket.proto | 2 +- .../googleads/v19/enums/hotel_rate_type.proto | 2 +- .../enums/hotel_reconciliation_status.proto | 2 +- .../enums/identity_verification_program.proto | 2 +- ...identity_verification_program_status.proto | 2 +- .../v19/enums/income_range_type.proto | 2 +- ..._knowledge_graph_entity_capabilities.proto | 2 +- .../googleads/v19/enums/insights_trend.proto | 2 +- .../v19/enums/interaction_event_type.proto | 2 +- .../v19/enums/interaction_type.proto | 2 +- .../googleads/v19/enums/invoice_type.proto | 2 +- .../v19/enums/keyword_match_type.proto | 2 +- .../keyword_plan_aggregate_metric_type.proto | 2 +- .../keyword_plan_competition_level.proto | 2 +- .../keyword_plan_concept_group_type.proto | 2 +- .../keyword_plan_forecast_interval.proto | 2 +- .../keyword_plan_keyword_annotation.proto | 2 +- .../v19/enums/keyword_plan_network.proto | 2 +- .../googleads/v19/enums/label_status.proto | 2 +- .../enums/lead_form_call_to_action_type.proto | 2 +- .../v19/enums/lead_form_desired_intent.proto | 2 +- .../lead_form_field_user_input_type.proto | 2 +- ...form_post_submit_call_to_action_type.proto | 2 +- .../legacy_app_install_ad_app_store.proto | 2 +- .../v19/enums/linked_account_type.proto | 2 +- .../v19/enums/linked_product_type.proto | 2 +- ..._group_filter_custom_attribute_index.proto | 2 +- .../listing_group_filter_listing_source.proto | 2 +- ..._group_filter_product_category_level.proto | 2 +- ...listing_group_filter_product_channel.proto | 2 +- ...sting_group_filter_product_condition.proto | 2 +- ...ting_group_filter_product_type_level.proto | 2 +- .../listing_group_filter_type_enum.proto | 2 +- .../v19/enums/listing_group_type.proto | 2 +- .../googleads/v19/enums/listing_type.proto | 2 +- ..._registration_check_rejection_reason.proto | 2 +- ..._services_business_registration_type.proto | 2 +- .../local_services_conversation_type.proto | 2 +- .../local_services_employee_status.proto | 2 +- .../enums/local_services_employee_type.proto | 2 +- ..._services_insurance_rejection_reason.proto | 2 +- ...rvices_lead_credit_issuance_decision.proto | 56 + .../local_services_lead_credit_state.proto | 2 +- .../enums/local_services_lead_status.proto | 2 +- .../local_services_lead_survey_answer.proto | 55 + ...ices_lead_survey_dissatisfied_reason.proto | 64 + ...ervices_lead_survey_satisfied_reason.proto | 55 + .../v19/enums/local_services_lead_type.proto | 2 +- ...al_services_license_rejection_reason.proto | 2 +- .../local_services_participant_type.proto | 2 +- ...ervices_verification_artifact_status.proto | 2 +- ..._services_verification_artifact_type.proto | 2 +- .../local_services_verification_status.proto | 2 +- .../enums/location_group_radius_units.proto | 2 +- .../v19/enums/location_ownership_type.proto | 2 +- .../v19/enums/location_source_type.proto | 2 +- .../enums/location_string_filter_type.proto | 2 +- .../v19/enums/lookalike_expansion_level.proto | 2 +- .../v19/enums/manager_link_status.proto | 2 +- .../ads/googleads/v19/enums/media_type.proto | 2 +- .../ads/googleads/v19/enums/mime_type.proto | 2 +- .../googleads/v19/enums/minute_of_hour.proto | 2 +- .../v19/enums/mobile_app_vendor.proto | 2 +- .../v19/enums/mobile_device_type.proto | 2 +- .../googleads/v19/enums/month_of_year.proto | 2 +- .../v19/enums/negative_geo_target_type.proto | 2 +- ...ne_conversion_diagnostic_status_enum.proto | 2 +- .../offline_event_upload_client_enum.proto | 2 +- ...offline_user_data_job_failure_reason.proto | 2 +- ...fline_user_data_job_match_rate_range.proto | 2 +- .../enums/offline_user_data_job_status.proto | 2 +- .../enums/offline_user_data_job_type.proto | 2 +- ...erating_system_version_operator_type.proto | 2 +- .../v19/enums/optimization_goal_type.proto | 2 +- .../v19/enums/parental_status_type.proto | 2 +- .../googleads/v19/enums/payment_mode.proto | 2 +- .../performance_max_upgrade_status.proto | 2 +- .../googleads/v19/enums/placement_type.proto | 2 +- .../v19/enums/policy_approval_status.proto | 2 +- .../v19/enums/policy_review_status.proto | 2 +- .../v19/enums/policy_topic_entry_type.proto | 2 +- ...idence_destination_mismatch_url_type.proto | 2 +- ...dence_destination_not_working_device.proto | 2 +- ...stination_not_working_dns_error_type.proto | 2 +- .../v19/enums/positive_geo_target_type.proto | 2 +- .../price_extension_price_qualifier.proto | 2 +- .../enums/price_extension_price_unit.proto | 2 +- .../v19/enums/price_extension_type.proto | 2 +- .../v19/enums/product_availability.proto | 2 +- .../v19/enums/product_category_level.proto | 2 +- .../v19/enums/product_category_state.proto | 2 +- .../googleads/v19/enums/product_channel.proto | 2 +- .../enums/product_channel_exclusivity.proto | 2 +- .../v19/enums/product_condition.proto | 2 +- .../product_custom_attribute_index.proto | 2 +- .../v19/enums/product_issue_severity.proto | 2 +- .../product_link_invitation_status.proto | 2 +- .../googleads/v19/enums/product_status.proto | 2 +- .../v19/enums/product_type_level.proto | 2 +- ...romotion_extension_discount_modifier.proto | 2 +- .../enums/promotion_extension_occasion.proto | 2 +- .../v19/enums/proximity_radius_units.proto | 2 +- .../v19/enums/quality_score_bucket.proto | 2 +- .../v19/enums/reach_plan_age_range.proto | 2 +- .../reach_plan_conversion_rate_model.proto | 58 + .../v19/enums/reach_plan_network.proto | 2 +- .../v19/enums/reach_plan_surface.proto | 8 +- .../recommendation_subscription_status.proto | 2 +- .../v19/enums/recommendation_type.proto | 2 +- .../v19/enums/resource_change_operation.proto | 2 +- .../v19/enums/resource_limit_type.proto | 2 +- .../v19/enums/response_content_type.proto | 2 +- .../search_engine_results_page_type.proto | 2 +- .../v19/enums/search_term_match_type.proto | 2 +- .../enums/search_term_targeting_status.proto | 2 +- .../v19/enums/seasonality_event_scope.proto | 2 +- .../v19/enums/seasonality_event_status.proto | 2 +- .../v19/enums/served_asset_field_type.proto | 4 +- .../v19/enums/shared_set_status.proto | 2 +- .../googleads/v19/enums/shared_set_type.proto | 2 +- ...ucts_to_campaign_recommendation_enum.proto | 2 +- .../simulation_modification_method.proto | 2 +- .../googleads/v19/enums/simulation_type.proto | 2 +- .../enums/sk_ad_network_ad_event_type.proto | 2 +- .../sk_ad_network_attribution_credit.proto | 2 +- ...k_ad_network_coarse_conversion_value.proto | 2 +- .../v19/enums/sk_ad_network_source_type.proto | 2 +- .../v19/enums/sk_ad_network_user_type.proto | 2 +- .../google/ads/googleads/v19/enums/slot.proto | 2 +- .../smart_campaign_not_eligible_reason.proto | 2 +- .../v19/enums/smart_campaign_status.proto | 2 +- .../v19/enums/spending_limit_type.proto | 2 +- .../v19/enums/summary_row_setting.proto | 2 +- .../enums/system_managed_entity_source.proto | 2 +- ...arget_cpa_opt_in_recommendation_goal.proto | 2 +- .../enums/target_frequency_time_unit.proto | 5 +- .../target_impression_share_location.proto | 2 +- .../v19/enums/targeting_dimension.proto | 2 +- .../ads/googleads/v19/enums/time_type.proto | 2 +- .../v19/enums/tracking_code_page_format.proto | 2 +- .../v19/enums/tracking_code_type.proto | 2 +- .../v19/enums/user_identifier_source.proto | 2 +- .../enums/user_interest_taxonomy_type.proto | 2 +- .../v19/enums/user_list_access_status.proto | 2 +- .../v19/enums/user_list_closing_reason.proto | 2 +- .../user_list_crm_data_source_type.proto | 2 +- .../user_list_customer_type_category.proto | 2 +- .../user_list_date_rule_item_operator.proto | 2 +- .../user_list_flexible_rule_operator.proto | 2 +- .../user_list_logical_rule_operator.proto | 2 +- .../enums/user_list_membership_status.proto | 2 +- .../user_list_number_rule_item_operator.proto | 2 +- .../user_list_prepopulation_status.proto | 2 +- .../v19/enums/user_list_rule_type.proto | 2 +- .../v19/enums/user_list_size_range.proto | 2 +- .../user_list_string_rule_item_operator.proto | 2 +- .../googleads/v19/enums/user_list_type.proto | 2 +- .../v19/enums/value_rule_device_type.proto | 2 +- .../value_rule_geo_location_match_type.proto | 2 +- .../v19/enums/value_rule_operation.proto | 2 +- .../value_rule_set_attachment_type.proto | 2 +- .../v19/enums/value_rule_set_dimension.proto | 2 +- .../vanity_pharma_display_url_mode.proto | 2 +- .../v19/enums/vanity_pharma_text.proto | 2 +- .../googleads/v19/enums/video_thumbnail.proto | 2 +- .../v19/enums/webpage_condition_operand.proto | 2 +- .../enums/webpage_condition_operator.proto | 2 +- .../v19/errors/access_invitation_error.proto | 2 +- .../account_budget_proposal_error.proto | 2 +- .../v19/errors/account_link_error.proto | 2 +- .../v19/errors/ad_customizer_error.proto | 2 +- .../ads/googleads/v19/errors/ad_error.proto | 2 +- .../v19/errors/ad_group_ad_error.proto | 2 +- .../errors/ad_group_bid_modifier_error.proto | 2 +- .../ad_group_criterion_customizer_error.proto | 2 +- .../v19/errors/ad_group_criterion_error.proto | 2 +- .../errors/ad_group_customizer_error.proto | 2 +- .../googleads/v19/errors/ad_group_error.proto | 2 +- .../v19/errors/ad_group_feed_error.proto | 2 +- .../v19/errors/ad_parameter_error.proto | 2 +- .../v19/errors/ad_sharing_error.proto | 2 +- .../ads/googleads/v19/errors/adx_error.proto | 2 +- .../googleads/v19/errors/asset_error.proto | 2 +- .../v19/errors/asset_group_asset_error.proto | 2 +- .../v19/errors/asset_group_error.proto | 2 +- ...set_group_listing_group_filter_error.proto | 2 +- .../v19/errors/asset_group_signal_error.proto | 2 +- .../v19/errors/asset_link_error.proto | 2 +- .../v19/errors/asset_set_asset_error.proto | 2 +- .../v19/errors/asset_set_error.proto | 2 +- .../v19/errors/asset_set_link_error.proto | 2 +- .../googleads/v19/errors/audience_error.proto | 2 +- .../v19/errors/audience_insights_error.proto | 2 +- .../v19/errors/authentication_error.proto | 5 +- .../v19/errors/authorization_error.proto | 2 +- ...atically_created_asset_removal_error.proto | 2 +- .../v19/errors/batch_job_error.proto | 2 +- .../googleads/v19/errors/bidding_error.proto | 2 +- .../v19/errors/bidding_strategy_error.proto | 2 +- .../v19/errors/billing_setup_error.proto | 2 +- .../brand_guidelines_migration_error.proto | 2 +- .../v19/errors/campaign_budget_error.proto | 2 +- .../campaign_conversion_goal_error.proto | 2 +- .../v19/errors/campaign_criterion_error.proto | 2 +- .../errors/campaign_customizer_error.proto | 2 +- .../v19/errors/campaign_draft_error.proto | 2 +- .../googleads/v19/errors/campaign_error.proto | 7 +- .../errors/campaign_experiment_error.proto | 2 +- .../v19/errors/campaign_feed_error.proto | 2 +- .../campaign_lifecycle_goal_error.proto | 2 +- .../errors/campaign_shared_set_error.proto | 2 +- .../v19/errors/change_event_error.proto | 2 +- .../v19/errors/change_status_error.proto | 2 +- .../v19/errors/collection_size_error.proto | 2 +- .../googleads/v19/errors/context_error.proto | 2 +- .../v19/errors/conversion_action_error.proto | 2 +- .../conversion_adjustment_upload_error.proto | 2 +- .../conversion_custom_variable_error.proto | 2 +- ...onversion_goal_campaign_config_error.proto | 2 +- .../v19/errors/conversion_upload_error.proto | 2 +- .../errors/conversion_value_rule_error.proto | 2 +- .../conversion_value_rule_set_error.proto | 2 +- .../v19/errors/country_code_error.proto | 2 +- .../v19/errors/criterion_error.proto | 6 +- .../v19/errors/currency_code_error.proto | 2 +- .../googleads/v19/errors/currency_error.proto | 2 +- .../v19/errors/custom_audience_error.proto | 2 +- .../errors/custom_conversion_goal_error.proto | 2 +- .../v19/errors/custom_interest_error.proto | 2 +- .../errors/customer_client_link_error.proto | 2 +- .../errors/customer_customizer_error.proto | 2 +- .../googleads/v19/errors/customer_error.proto | 2 +- .../v19/errors/customer_feed_error.proto | 2 +- .../customer_lifecycle_goal_error.proto | 2 +- .../errors/customer_manager_link_error.proto | 2 +- ...etwork_conversion_value_schema_error.proto | 2 +- .../errors/customer_user_access_error.proto | 2 +- .../errors/customizer_attribute_error.proto | 2 +- .../v19/errors/data_link_error.proto | 2 +- .../googleads/v19/errors/database_error.proto | 2 +- .../ads/googleads/v19/errors/date_error.proto | 2 +- .../v19/errors/date_range_error.proto | 2 +- .../googleads/v19/errors/distinct_error.proto | 2 +- .../ads/googleads/v19/errors/enum_error.proto | 2 +- .../ads/googleads/v19/errors/errors.proto | 2 +- .../v19/errors/experiment_arm_error.proto | 2 +- .../v19/errors/experiment_error.proto | 2 +- .../errors/extension_feed_item_error.proto | 2 +- .../v19/errors/extension_setting_error.proto | 2 +- .../feed_attribute_reference_error.proto | 2 +- .../ads/googleads/v19/errors/feed_error.proto | 2 +- .../v19/errors/feed_item_error.proto | 2 +- .../v19/errors/feed_item_set_error.proto | 2 +- .../v19/errors/feed_item_set_link_error.proto | 2 +- .../v19/errors/feed_item_target_error.proto | 2 +- .../errors/feed_item_validation_error.proto | 2 +- .../v19/errors/feed_mapping_error.proto | 2 +- .../googleads/v19/errors/field_error.proto | 2 +- .../v19/errors/field_mask_error.proto | 2 +- .../googleads/v19/errors/function_error.proto | 2 +- .../v19/errors/function_parsing_error.proto | 2 +- ...geo_target_constant_suggestion_error.proto | 2 +- .../googleads/v19/errors/header_error.proto | 2 +- .../ads/googleads/v19/errors/id_error.proto | 2 +- .../errors/identity_verification_error.proto | 2 +- .../googleads/v19/errors/image_error.proto | 2 +- .../googleads/v19/errors/internal_error.proto | 2 +- .../googleads/v19/errors/invoice_error.proto | 2 +- .../errors/keyword_plan_ad_group_error.proto | 2 +- .../keyword_plan_ad_group_keyword_error.proto | 2 +- .../errors/keyword_plan_campaign_error.proto | 2 +- .../keyword_plan_campaign_keyword_error.proto | 2 +- .../v19/errors/keyword_plan_error.proto | 2 +- .../v19/errors/keyword_plan_idea_error.proto | 2 +- .../googleads/v19/errors/label_error.proto | 2 +- .../v19/errors/language_code_error.proto | 2 +- .../v19/errors/list_operation_error.proto | 2 +- .../v19/errors/manager_link_error.proto | 2 +- .../v19/errors/media_bundle_error.proto | 2 +- .../v19/errors/media_file_error.proto | 2 +- .../v19/errors/media_upload_error.proto | 2 +- .../v19/errors/merchant_center_error.proto | 2 +- .../v19/errors/multiplier_error.proto | 2 +- .../googleads/v19/errors/mutate_error.proto | 2 +- .../errors/new_resource_creation_error.proto | 2 +- .../v19/errors/not_allowlisted_error.proto | 2 +- .../v19/errors/not_empty_error.proto | 2 +- .../ads/googleads/v19/errors/null_error.proto | 2 +- .../errors/offline_user_data_job_error.proto | 2 +- .../operation_access_denied_error.proto | 2 +- .../googleads/v19/errors/operator_error.proto | 2 +- .../v19/errors/partial_failure_error.proto | 2 +- .../v19/errors/payments_account_error.proto | 2 +- .../v19/errors/policy_finding_error.proto | 2 +- .../policy_validation_parameter_error.proto | 2 +- .../v19/errors/policy_violation_error.proto | 2 +- .../v19/errors/product_link_error.proto | 2 +- .../product_link_invitation_error.proto | 2 +- .../googleads/v19/errors/query_error.proto | 2 +- .../googleads/v19/errors/quota_error.proto | 2 +- .../googleads/v19/errors/range_error.proto | 2 +- .../v19/errors/reach_plan_error.proto | 2 +- .../v19/errors/recommendation_error.proto | 2 +- .../recommendation_subscription_error.proto | 2 +- .../v19/errors/region_code_error.proto | 2 +- .../googleads/v19/errors/request_error.proto | 2 +- .../errors/resource_access_denied_error.proto | 2 +- .../resource_count_limit_exceeded_error.proto | 2 +- .../errors/search_term_insight_error.proto | 2 +- .../googleads/v19/errors/setting_error.proto | 2 +- .../v19/errors/shareable_preview_error.proto | 2 +- .../v19/errors/shared_criterion_error.proto | 2 +- .../v19/errors/shared_set_error.proto | 2 +- .../v19/errors/shopping_product_error.proto | 2 +- .../v19/errors/size_limit_error.proto | 2 +- .../v19/errors/smart_campaign_error.proto | 2 +- .../v19/errors/string_format_error.proto | 2 +- .../v19/errors/string_length_error.proto | 2 +- ...third_party_app_analytics_link_error.proto | 2 +- .../v19/errors/time_zone_error.proto | 2 +- .../v19/errors/url_field_error.proto | 2 +- .../v19/errors/user_data_error.proto | 2 +- .../user_list_customer_type_error.proto | 2 +- .../v19/errors/user_list_error.proto | 2 +- .../v19/errors/video_campaign_error.proto | 2 +- .../youtube_video_registration_error.proto | 2 +- .../accessible_bidding_strategy.proto | 2 +- .../v19/resources/account_budget.proto | 2 +- .../resources/account_budget_proposal.proto | 2 +- .../v19/resources/account_link.proto | 2 +- .../ads/googleads/v19/resources/ad.proto | 2 +- .../googleads/v19/resources/ad_group.proto | 55 +- .../googleads/v19/resources/ad_group_ad.proto | 2 +- .../ad_group_ad_asset_combination_view.proto | 2 +- .../resources/ad_group_ad_asset_view.proto | 2 +- .../v19/resources/ad_group_ad_label.proto | 2 +- .../v19/resources/ad_group_asset.proto | 2 +- .../v19/resources/ad_group_asset_set.proto | 2 +- .../resources/ad_group_audience_view.proto | 2 +- .../v19/resources/ad_group_bid_modifier.proto | 2 +- .../v19/resources/ad_group_criterion.proto | 2 +- .../ad_group_criterion_customizer.proto | 2 +- .../resources/ad_group_criterion_label.proto | 2 +- .../ad_group_criterion_simulation.proto | 2 +- .../v19/resources/ad_group_customizer.proto | 2 +- .../v19/resources/ad_group_label.proto | 2 +- .../v19/resources/ad_group_simulation.proto | 2 +- .../v19/resources/ad_parameter.proto | 2 +- .../v19/resources/ad_schedule_view.proto | 2 +- .../v19/resources/age_range_view.proto | 2 +- ...d_privacy_shared_key_google_ad_group.proto | 2 +- ...d_privacy_shared_key_google_campaign.proto | 2 +- ...ivacy_shared_key_google_network_type.proto | 2 +- .../ads/googleads/v19/resources/asset.proto | 2 +- .../v19/resources/asset_field_type_view.proto | 2 +- .../googleads/v19/resources/asset_group.proto | 53 +- .../v19/resources/asset_group_asset.proto | 2 +- .../asset_group_listing_group_filter.proto | 2 +- .../asset_group_product_group_view.proto | 2 +- .../v19/resources/asset_group_signal.proto | 2 +- .../asset_group_top_combination_view.proto | 4 +- .../googleads/v19/resources/asset_set.proto | 2 +- .../v19/resources/asset_set_asset.proto | 2 +- .../v19/resources/asset_set_type_view.proto | 2 +- .../googleads/v19/resources/audience.proto | 2 +- .../googleads/v19/resources/batch_job.proto | 2 +- .../resources/bidding_data_exclusion.proto | 5 +- .../bidding_seasonality_adjustment.proto | 2 +- .../v19/resources/bidding_strategy.proto | 2 +- .../bidding_strategy_simulation.proto | 2 +- .../v19/resources/billing_setup.proto | 2 +- .../googleads/v19/resources/call_view.proto | 2 +- .../googleads/v19/resources/campaign.proto | 17 +- .../campaign_aggregate_asset_view.proto | 2 +- .../v19/resources/campaign_asset.proto | 2 +- .../v19/resources/campaign_asset_set.proto | 2 +- .../resources/campaign_audience_view.proto | 2 +- .../v19/resources/campaign_bid_modifier.proto | 2 +- .../v19/resources/campaign_budget.proto | 2 +- .../resources/campaign_conversion_goal.proto | 2 +- .../v19/resources/campaign_criterion.proto | 2 +- .../v19/resources/campaign_customizer.proto | 2 +- .../v19/resources/campaign_draft.proto | 2 +- .../v19/resources/campaign_group.proto | 2 +- .../v19/resources/campaign_label.proto | 2 +- .../resources/campaign_lifecycle_goal.proto | 2 +- .../campaign_search_term_insight.proto | 2 +- .../v19/resources/campaign_shared_set.proto | 2 +- .../v19/resources/campaign_simulation.proto | 4 +- .../v19/resources/carrier_constant.proto | 2 +- .../v19/resources/change_event.proto | 2 +- .../v19/resources/change_status.proto | 10 +- .../channel_aggregate_asset_view.proto | 2 +- .../googleads/v19/resources/click_view.proto | 2 +- .../v19/resources/combined_audience.proto | 2 +- .../resources/content_criterion_view.proto | 2 +- .../v19/resources/conversion_action.proto | 2 +- .../conversion_custom_variable.proto | 2 +- .../conversion_goal_campaign_config.proto | 2 +- .../v19/resources/conversion_value_rule.proto | 2 +- .../resources/conversion_value_rule_set.proto | 2 +- .../v19/resources/currency_constant.proto | 2 +- .../v19/resources/custom_audience.proto | 2 +- .../resources/custom_conversion_goal.proto | 2 +- .../v19/resources/custom_interest.proto | 2 +- .../googleads/v19/resources/customer.proto | 12 +- .../v19/resources/customer_asset.proto | 2 +- .../v19/resources/customer_asset_set.proto | 2 +- .../v19/resources/customer_client.proto | 2 +- .../v19/resources/customer_client_link.proto | 2 +- .../resources/customer_conversion_goal.proto | 2 +- .../v19/resources/customer_customizer.proto | 2 +- .../v19/resources/customer_label.proto | 2 +- .../resources/customer_lifecycle_goal.proto | 2 +- .../v19/resources/customer_manager_link.proto | 2 +- .../customer_negative_criterion.proto | 2 +- .../customer_search_term_insight.proto | 2 +- ...k_ad_network_conversion_value_schema.proto | 2 +- .../v19/resources/customer_user_access.proto | 2 +- .../customer_user_access_invitation.proto | 2 +- .../v19/resources/customizer_attribute.proto | 2 +- .../googleads/v19/resources/data_link.proto | 2 +- .../v19/resources/detail_placement_view.proto | 2 +- .../v19/resources/detailed_demographic.proto | 2 +- .../v19/resources/display_keyword_view.proto | 2 +- .../v19/resources/distance_view.proto | 2 +- .../v19/resources/domain_category.proto | 2 +- .../dynamic_search_ads_search_term_view.proto | 2 +- .../expanded_landing_page_view.proto | 2 +- .../googleads/v19/resources/experiment.proto | 2 +- .../v19/resources/experiment_arm.proto | 2 +- .../googleads/v19/resources/gender_view.proto | 2 +- .../v19/resources/geo_target_constant.proto | 2 +- .../v19/resources/geographic_view.proto | 2 +- .../v19/resources/google_ads_field.proto | 2 +- .../v19/resources/group_placement_view.proto | 2 +- .../v19/resources/hotel_group_view.proto | 2 +- .../resources/hotel_performance_view.proto | 2 +- .../v19/resources/hotel_reconciliation.proto | 2 +- .../v19/resources/income_range_view.proto | 2 +- .../ads/googleads/v19/resources/invoice.proto | 2 +- .../v19/resources/keyword_plan.proto | 2 +- .../v19/resources/keyword_plan_ad_group.proto | 2 +- .../keyword_plan_ad_group_keyword.proto | 2 +- .../v19/resources/keyword_plan_campaign.proto | 2 +- .../keyword_plan_campaign_keyword.proto | 2 +- .../resources/keyword_theme_constant.proto | 2 +- .../v19/resources/keyword_view.proto | 2 +- .../ads/googleads/v19/resources/label.proto | 2 +- .../v19/resources/landing_page_view.proto | 2 +- .../v19/resources/language_constant.proto | 2 +- .../resources/lead_form_submission_data.proto | 2 +- .../googleads/v19/resources/life_event.proto | 2 +- .../resources/local_services_employee.proto | 2 +- .../v19/resources/local_services_lead.proto | 5 +- .../local_services_lead_conversation.proto | 2 +- ...local_services_verification_artifact.proto | 2 +- .../v19/resources/location_view.proto | 2 +- .../resources/managed_placement_view.proto | 2 +- .../googleads/v19/resources/media_file.proto | 2 +- .../mobile_app_category_constant.proto | 2 +- .../resources/mobile_device_constant.proto | 2 +- ...ine_conversion_upload_client_summary.proto | 2 +- ...ion_upload_conversion_action_summary.proto | 2 +- .../v19/resources/offline_user_data_job.proto | 2 +- .../operating_system_version_constant.proto | 2 +- .../paid_organic_search_term_view.proto | 2 +- .../v19/resources/parental_status_view.proto | 2 +- .../v19/resources/payments_account.proto | 2 +- .../v19/resources/per_store_view.proto | 2 +- .../performance_max_placement_view.proto | 2 +- .../resources/product_category_constant.proto | 2 +- .../v19/resources/product_group_view.proto | 2 +- .../v19/resources/product_link.proto | 2 +- .../resources/product_link_invitation.proto | 2 +- .../v19/resources/qualifying_question.proto | 2 +- .../v19/resources/recommendation.proto | 6 +- .../recommendation_subscription.proto | 2 +- .../v19/resources/remarketing_action.proto | 2 +- .../v19/resources/search_term_view.proto | 2 +- .../v19/resources/shared_criterion.proto | 2 +- .../googleads/v19/resources/shared_set.proto | 2 +- .../resources/shopping_performance_view.proto | 2 +- .../v19/resources/shopping_product.proto | 2 +- .../smart_campaign_search_term_view.proto | 2 +- .../resources/smart_campaign_setting.proto | 2 +- .../third_party_app_analytics_link.proto | 2 +- .../v19/resources/topic_constant.proto | 2 +- .../googleads/v19/resources/topic_view.proto | 2 +- .../travel_activity_group_view.proto | 2 +- .../travel_activity_performance_view.proto | 2 +- .../v19/resources/user_interest.proto | 2 +- .../googleads/v19/resources/user_list.proto | 5 +- .../resources/user_list_customer_type.proto | 2 +- .../v19/resources/user_location_view.proto | 2 +- .../ads/googleads/v19/resources/video.proto | 2 +- .../v19/resources/webpage_view.proto | 2 +- .../account_budget_proposal_service.proto | 2 +- .../v19/services/account_link_service.proto | 2 +- .../services/ad_group_ad_label_service.proto | 2 +- .../v19/services/ad_group_ad_service.proto | 2 +- .../v19/services/ad_group_asset_service.proto | 2 +- .../services/ad_group_asset_set_service.proto | 2 +- .../ad_group_bid_modifier_service.proto | 2 +- ...d_group_criterion_customizer_service.proto | 2 +- .../ad_group_criterion_label_service.proto | 2 +- .../services/ad_group_criterion_service.proto | 2 +- .../ad_group_customizer_service.proto | 2 +- .../v19/services/ad_group_label_service.proto | 2 +- .../v19/services/ad_group_service.proto | 2 +- .../v19/services/ad_parameter_service.proto | 2 +- .../googleads/v19/services/ad_service.proto | 2 +- .../services/asset_group_asset_service.proto | 2 +- ...t_group_listing_group_filter_service.proto | 2 +- .../v19/services/asset_group_service.proto | 2 +- .../services/asset_group_signal_service.proto | 2 +- .../v19/services/asset_service.proto | 2 +- .../services/asset_set_asset_service.proto | 2 +- .../v19/services/asset_set_service.proto | 2 +- .../services/audience_insights_service.proto | 2 +- .../v19/services/audience_service.proto | 2 +- .../v19/services/batch_job_service.proto | 2 +- .../bidding_data_exclusion_service.proto | 4 +- ...dding_seasonality_adjustment_service.proto | 2 +- .../services/bidding_strategy_service.proto | 2 +- .../v19/services/billing_setup_service.proto | 2 +- .../services/brand_suggestion_service.proto | 2 +- .../v19/services/campaign_asset_service.proto | 2 +- .../services/campaign_asset_set_service.proto | 2 +- .../campaign_bid_modifier_service.proto | 2 +- .../services/campaign_budget_service.proto | 2 +- .../campaign_conversion_goal_service.proto | 2 +- .../services/campaign_criterion_service.proto | 2 +- .../campaign_customizer_service.proto | 2 +- .../v19/services/campaign_draft_service.proto | 2 +- .../v19/services/campaign_group_service.proto | 2 +- .../v19/services/campaign_label_service.proto | 2 +- .../campaign_lifecycle_goal_service.proto | 2 +- .../v19/services/campaign_service.proto | 2 +- .../campaign_shared_set_service.proto | 2 +- .../content_creator_insights_service.proto | 2 +- .../services/conversion_action_service.proto | 2 +- ...conversion_adjustment_upload_service.proto | 2 +- .../conversion_custom_variable_service.proto | 2 +- ...version_goal_campaign_config_service.proto | 2 +- .../services/conversion_upload_service.proto | 37 +- .../conversion_value_rule_service.proto | 2 +- .../conversion_value_rule_set_service.proto | 2 +- .../services/custom_audience_service.proto | 2 +- .../custom_conversion_goal_service.proto | 2 +- .../services/custom_interest_service.proto | 2 +- .../v19/services/customer_asset_service.proto | 2 +- .../services/customer_asset_set_service.proto | 2 +- .../customer_client_link_service.proto | 2 +- .../customer_conversion_goal_service.proto | 2 +- .../customer_customizer_service.proto | 2 +- .../v19/services/customer_label_service.proto | 2 +- .../customer_lifecycle_goal_service.proto | 2 +- .../customer_manager_link_service.proto | 2 +- .../customer_negative_criterion_service.proto | 2 +- .../v19/services/customer_service.proto | 2 +- ...work_conversion_value_schema_service.proto | 2 +- ...tomer_user_access_invitation_service.proto | 2 +- .../customer_user_access_service.proto | 2 +- .../customizer_attribute_service.proto | 2 +- .../v19/services/data_link_service.proto | 2 +- .../v19/services/experiment_arm_service.proto | 2 +- .../v19/services/experiment_service.proto | 2 +- .../geo_target_constant_service.proto | 2 +- .../services/google_ads_field_service.proto | 2 +- .../v19/services/google_ads_service.proto | 2 +- .../identity_verification_service.proto | 2 +- .../v19/services/invoice_service.proto | 2 +- ...eyword_plan_ad_group_keyword_service.proto | 2 +- .../keyword_plan_ad_group_service.proto | 2 +- ...eyword_plan_campaign_keyword_service.proto | 2 +- .../keyword_plan_campaign_service.proto | 2 +- .../services/keyword_plan_idea_service.proto | 2 +- .../v19/services/keyword_plan_service.proto | 2 +- .../keyword_theme_constant_service.proto | 2 +- .../v19/services/label_service.proto | 2 +- .../local_services_lead_service.proto | 76 +- .../offline_user_data_job_service.proto | 2 +- .../services/payments_account_service.proto | 2 +- .../product_link_invitation_service.proto | 2 +- .../v19/services/product_link_service.proto | 2 +- .../v19/services/reach_plan_service.proto | 79 +- .../v19/services/recommendation_service.proto | 2 +- .../recommendation_subscription_service.proto | 2 +- .../services/remarketing_action_service.proto | 2 +- .../services/shareable_preview_service.proto | 2 +- .../services/shared_criterion_service.proto | 2 +- .../v19/services/shared_set_service.proto | 2 +- .../smart_campaign_setting_service.proto | 2 +- .../smart_campaign_suggest_service.proto | 2 +- ...ird_party_app_analytics_link_service.proto | 2 +- .../travel_asset_suggestion_service.proto | 2 +- .../v19/services/user_data_service.proto | 2 +- .../user_list_customer_type_service.proto | 2 +- .../v19/services/user_list_service.proto | 2 +- package/googleads-nodejs/protos/protos.d.ts | 3122 +++- package/googleads-nodejs/protos/protos.js | 15004 ++++++++++++++-- package/googleads-nodejs/protos/protos.json | 755 +- ...ices_lead_service.provide_lead_feedback.js | 75 + ..._plan_service.generate_conversion_rates.js | 66 + ...ata_google.ads.googleads.v19.services.json | 96 + .../account_budget_proposal_service_client.ts | 30 +- ...nt_budget_proposal_service_proto_list.json | 10 + .../src/v19/account_link_service_client.ts | 52 +- .../v19/account_link_service_proto_list.json | 10 + .../v19/ad_group_ad_label_service_client.ts | 30 +- .../ad_group_ad_label_service_proto_list.json | 10 + .../src/v19/ad_group_ad_service_client.ts | 52 +- .../v19/ad_group_ad_service_proto_list.json | 10 + .../src/v19/ad_group_asset_service_client.ts | 30 +- .../ad_group_asset_service_proto_list.json | 10 + .../v19/ad_group_asset_set_service_client.ts | 30 +- ...ad_group_asset_set_service_proto_list.json | 10 + .../ad_group_bid_modifier_service_client.ts | 30 +- ...group_bid_modifier_service_proto_list.json | 10 + ...oup_criterion_customizer_service_client.ts | 30 +- ...iterion_customizer_service_proto_list.json | 10 + ...ad_group_criterion_label_service_client.ts | 30 +- ...up_criterion_label_service_proto_list.json | 10 + .../v19/ad_group_criterion_service_client.ts | 30 +- ...ad_group_criterion_service_proto_list.json | 10 + .../v19/ad_group_customizer_service_client.ts | 30 +- ...d_group_customizer_service_proto_list.json | 10 + .../src/v19/ad_group_label_service_client.ts | 30 +- .../ad_group_label_service_proto_list.json | 10 + .../src/v19/ad_group_service_client.ts | 30 +- .../src/v19/ad_group_service_proto_list.json | 10 + .../src/v19/ad_parameter_service_client.ts | 30 +- .../v19/ad_parameter_service_proto_list.json | 10 + .../src/v19/ad_service_client.ts | 30 +- .../src/v19/ad_service_proto_list.json | 10 + .../v19/asset_group_asset_service_client.ts | 30 +- .../asset_group_asset_service_proto_list.json | 10 + ...oup_listing_group_filter_service_client.ts | 30 +- ...sting_group_filter_service_proto_list.json | 10 + .../src/v19/asset_group_service_client.ts | 30 +- .../v19/asset_group_service_proto_list.json | 10 + .../v19/asset_group_signal_service_client.ts | 30 +- ...asset_group_signal_service_proto_list.json | 10 + .../src/v19/asset_service_client.ts | 30 +- .../src/v19/asset_service_proto_list.json | 10 + .../src/v19/asset_set_asset_service_client.ts | 30 +- .../asset_set_asset_service_proto_list.json | 10 + .../src/v19/asset_set_service_client.ts | 30 +- .../src/v19/asset_set_service_proto_list.json | 10 + .../v19/audience_insights_service_client.ts | 162 +- .../audience_insights_service_proto_list.json | 10 + .../src/v19/audience_service_client.ts | 30 +- .../src/v19/audience_service_proto_list.json | 10 + .../src/v19/batch_job_service_client.ts | 105 +- .../src/v19/batch_job_service_proto_list.json | 10 + .../bidding_data_exclusion_service_client.ts | 30 +- ...ing_data_exclusion_service_proto_list.json | 10 + ...g_seasonality_adjustment_service_client.ts | 30 +- ...onality_adjustment_service_proto_list.json | 10 + .../v19/bidding_strategy_service_client.ts | 30 +- .../bidding_strategy_service_proto_list.json | 10 + .../src/v19/billing_setup_service_client.ts | 30 +- .../v19/billing_setup_service_proto_list.json | 10 + .../v19/brand_suggestion_service_client.ts | 30 +- .../brand_suggestion_service_proto_list.json | 10 + .../src/v19/campaign_asset_service_client.ts | 30 +- .../campaign_asset_service_proto_list.json | 10 + .../v19/campaign_asset_set_service_client.ts | 30 +- ...campaign_asset_set_service_proto_list.json | 10 + .../campaign_bid_modifier_service_client.ts | 30 +- ...paign_bid_modifier_service_proto_list.json | 10 + .../src/v19/campaign_budget_service_client.ts | 30 +- .../campaign_budget_service_proto_list.json | 10 + ...campaign_conversion_goal_service_client.ts | 30 +- ...gn_conversion_goal_service_proto_list.json | 10 + .../v19/campaign_criterion_service_client.ts | 30 +- ...campaign_criterion_service_proto_list.json | 10 + .../v19/campaign_customizer_service_client.ts | 30 +- ...ampaign_customizer_service_proto_list.json | 10 + .../src/v19/campaign_draft_service_client.ts | 83 +- .../campaign_draft_service_proto_list.json | 10 + .../src/v19/campaign_group_service_client.ts | 30 +- .../campaign_group_service_proto_list.json | 10 + .../src/v19/campaign_label_service_client.ts | 30 +- .../campaign_label_service_proto_list.json | 10 + .../campaign_lifecycle_goal_service_client.ts | 30 +- ...ign_lifecycle_goal_service_proto_list.json | 10 + .../src/v19/campaign_service_client.ts | 52 +- .../src/v19/campaign_service_proto_list.json | 10 + .../v19/campaign_shared_set_service_client.ts | 30 +- ...ampaign_shared_set_service_proto_list.json | 10 + ...content_creator_insights_service_client.ts | 52 +- ...t_creator_insights_service_proto_list.json | 10 + .../v19/conversion_action_service_client.ts | 30 +- .../conversion_action_service_proto_list.json | 10 + ...ersion_adjustment_upload_service_client.ts | 30 +- ..._adjustment_upload_service_proto_list.json | 10 + ...nversion_custom_variable_service_client.ts | 30 +- ...on_custom_variable_service_proto_list.json | 10 + ...ion_goal_campaign_config_service_client.ts | 30 +- ...al_campaign_config_service_proto_list.json | 10 + .../v19/conversion_upload_service_client.ts | 52 +- .../conversion_upload_service_proto_list.json | 10 + .../conversion_value_rule_service_client.ts | 30 +- ...version_value_rule_service_proto_list.json | 10 + ...onversion_value_rule_set_service_client.ts | 30 +- ...ion_value_rule_set_service_proto_list.json | 10 + .../src/v19/custom_audience_service_client.ts | 30 +- .../custom_audience_service_proto_list.json | 10 + .../custom_conversion_goal_service_client.ts | 30 +- ...om_conversion_goal_service_proto_list.json | 10 + .../src/v19/custom_interest_service_client.ts | 30 +- .../custom_interest_service_proto_list.json | 10 + .../src/v19/customer_asset_service_client.ts | 30 +- .../customer_asset_service_proto_list.json | 10 + .../v19/customer_asset_set_service_client.ts | 30 +- ...customer_asset_set_service_proto_list.json | 10 + .../customer_client_link_service_client.ts | 30 +- ...stomer_client_link_service_proto_list.json | 10 + ...customer_conversion_goal_service_client.ts | 30 +- ...er_conversion_goal_service_proto_list.json | 10 + .../v19/customer_customizer_service_client.ts | 30 +- ...ustomer_customizer_service_proto_list.json | 10 + .../src/v19/customer_label_service_client.ts | 30 +- .../customer_label_service_proto_list.json | 10 + .../customer_lifecycle_goal_service_client.ts | 30 +- ...mer_lifecycle_goal_service_proto_list.json | 10 + .../customer_manager_link_service_client.ts | 52 +- ...tomer_manager_link_service_proto_list.json | 10 + ...tomer_negative_criterion_service_client.ts | 30 +- ...negative_criterion_service_proto_list.json | 10 + .../src/v19/customer_service_client.ts | 74 +- .../src/v19/customer_service_proto_list.json | 10 + ..._conversion_value_schema_service_client.ts | 30 +- ...rsion_value_schema_service_proto_list.json | 10 + ...r_user_access_invitation_service_client.ts | 30 +- ..._access_invitation_service_proto_list.json | 10 + .../customer_user_access_service_client.ts | 30 +- ...stomer_user_access_service_proto_list.json | 10 + .../customizer_attribute_service_client.ts | 30 +- ...stomizer_attribute_service_proto_list.json | 10 + .../src/v19/data_link_service_client.ts | 74 +- .../src/v19/data_link_service_proto_list.json | 10 + .../src/v19/experiment_arm_service_client.ts | 30 +- .../experiment_arm_service_proto_list.json | 10 + .../src/v19/experiment_service_client.ts | 149 +- .../v19/experiment_service_proto_list.json | 10 + .../src/v19/gapic_metadata.json | 20 + .../v19/geo_target_constant_service_client.ts | 30 +- ...eo_target_constant_service_proto_list.json | 10 + .../v19/google_ads_field_service_client.ts | 59 +- .../google_ads_field_service_proto_list.json | 10 + .../src/v19/google_ads_service_client.ts | 62 +- .../v19/google_ads_service_proto_list.json | 10 + .../identity_verification_service_client.ts | 52 +- ...ntity_verification_service_proto_list.json | 10 + .../src/v19/invoice_service_client.ts | 30 +- .../src/v19/invoice_service_proto_list.json | 10 + ...rd_plan_ad_group_keyword_service_client.ts | 30 +- ...n_ad_group_keyword_service_proto_list.json | 10 + .../keyword_plan_ad_group_service_client.ts | 30 +- ...word_plan_ad_group_service_proto_list.json | 10 + ...rd_plan_campaign_keyword_service_client.ts | 30 +- ...n_campaign_keyword_service_proto_list.json | 10 + .../keyword_plan_campaign_service_client.ts | 30 +- ...word_plan_campaign_service_proto_list.json | 10 + .../v19/keyword_plan_idea_service_client.ts | 103 +- .../keyword_plan_idea_service_proto_list.json | 10 + .../src/v19/keyword_plan_service_client.ts | 30 +- .../v19/keyword_plan_service_proto_list.json | 10 + .../keyword_theme_constant_service_client.ts | 30 +- ...ord_theme_constant_service_proto_list.json | 10 + .../src/v19/label_service_client.ts | 30 +- .../src/v19/label_service_proto_list.json | 10 + .../v19/local_services_lead_service_client.ts | 127 +- ...l_services_lead_service_client_config.json | 5 + ...ocal_services_lead_service_proto_list.json | 10 + .../offline_user_data_job_service_client.ts | 76 +- ...line_user_data_job_service_proto_list.json | 10 + .../v19/payments_account_service_client.ts | 30 +- .../payments_account_service_proto_list.json | 10 + .../product_link_invitation_service_client.ts | 74 +- ...ct_link_invitation_service_proto_list.json | 10 + .../src/v19/product_link_service_client.ts | 52 +- .../v19/product_link_service_proto_list.json | 10 + .../src/v19/reach_plan_service_client.ts | 171 +- .../v19/reach_plan_service_client_config.json | 5 + .../v19/reach_plan_service_proto_list.json | 10 + .../src/v19/recommendation_service_client.ts | 74 +- .../recommendation_service_proto_list.json | 10 + ...ommendation_subscription_service_client.ts | 30 +- ...ation_subscription_service_proto_list.json | 10 + .../v19/remarketing_action_service_client.ts | 30 +- ...remarketing_action_service_proto_list.json | 10 + .../v19/shareable_preview_service_client.ts | 30 +- .../shareable_preview_service_proto_list.json | 10 + .../v19/shared_criterion_service_client.ts | 30 +- .../shared_criterion_service_proto_list.json | 10 + .../src/v19/shared_set_service_client.ts | 30 +- .../v19/shared_set_service_proto_list.json | 10 + .../smart_campaign_setting_service_client.ts | 52 +- ...t_campaign_setting_service_proto_list.json | 10 + .../smart_campaign_suggest_service_client.ts | 74 +- ...t_campaign_suggest_service_proto_list.json | 10 + ...party_app_analytics_link_service_client.ts | 30 +- ...app_analytics_link_service_proto_list.json | 10 + .../travel_asset_suggestion_service_client.ts | 30 +- ...l_asset_suggestion_service_proto_list.json | 10 + .../src/v19/user_data_service_client.ts | 30 +- .../src/v19/user_data_service_proto_list.json | 10 + .../user_list_customer_type_service_client.ts | 30 +- ...list_customer_type_service_proto_list.json | 10 + .../src/v19/user_list_service_client.ts | 30 +- .../src/v19/user_list_service_proto_list.json | 10 + package/googleads-nodejs/tsconfig.json | 4 +- yarn.lock | 227 +- 1021 files changed, 23979 insertions(+), 3300 deletions(-) create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_customer_type.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto create mode 100644 package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto create mode 100644 package/googleads-nodejs/samples/generated/v19/local_services_lead_service.provide_lead_feedback.js create mode 100644 package/googleads-nodejs/samples/generated/v19/reach_plan_service.generate_conversion_rates.js diff --git a/package.json b/package.json index ee470d5a..a9775649 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "google-ads-node", - "version": "15.0.0", + "version": "16.0.0", "description": "Google Ads API client library", "main": "build/src/index.js", "files": [ @@ -15,7 +15,7 @@ "prepare": "sh ./init.sh" }, "dependencies": { - "google-gax": "^4.4.1", + "google-gax": "5.1.0-rc.1", "lru-cache": "^10.2.0" }, "devDependencies": { diff --git a/package/googleads-nodejs/package.json b/package/googleads-nodejs/package.json index 38c8a060..7011c5bc 100644 --- a/package/googleads-nodejs/package.json +++ b/package/googleads-nodejs/package.json @@ -137,24 +137,24 @@ "test": "c8 mocha build/test" }, "devDependencies": { - "@types/mocha": "^10.0.7", - "@types/node": "^20.16.4", - "@types/sinon": "^10.0.20", - "c8": "^10.1.2", - "gapic-tools": "^0.4.6", - "gts": "5.3.1", - "jsdoc": "^4.0.3", + "@types/mocha": "^10.0.10", + "@types/node": "^22.14.1", + "@types/sinon": "^17.0.4", + "c8": "^10.1.3", + "gapic-tools": "^1.0.1", + "gts": "^6.0.2", + "jsdoc": "^4.0.4", "jsdoc-fresh": "^3.0.0", "jsdoc-region-tag": "^3.0.0", - "mocha": "^10.7.3", - "pack-n-play": "^2.0.3", - "sinon": "^18.0.0", - "typescript": "5.1.6" + "mocha": "^11.1.0", + "pack-n-play": "^3.0.0", + "sinon": "^20.0.0", + "typescript": "5.8.3" }, "engines": { - "node": ">=v14" + "node": ">=v18" }, "dependencies": { - "google-gax": "^4.4.1" + "google-gax": "^5.1.0-rc.1" } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_asset.proto index 07975cbf..5589361f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_type_infos.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_type_infos.proto index 733926fe..3c9468d4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_type_infos.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/ad_type_infos.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -216,6 +216,9 @@ message InFeedVideoAdInfo { 4; } +// Representation of YouTube Audio ad format. +message YouTubeAudioAdInfo {} + // A video ad. message VideoAdInfo { // The YouTube video assets used for the ad. @@ -237,6 +240,9 @@ message VideoAdInfo { // In-feed video ad format. InFeedVideoAdInfo in_feed = 9; + + // YouTube Audio ad format. + YouTubeAudioAdInfo audio = 10; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_policy.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_policy.proto index 771a484c..e46cf5d0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_policy.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_policy.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_set_types.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_set_types.proto index 43087120..32b4fdd3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_set_types.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_set_types.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_types.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_types.proto index 756b0a0c..49f3fd40 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_types.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_types.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_usage.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_usage.proto index 55ee01a2..bf735577 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_usage.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/asset_usage.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audience_insights_attribute.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audience_insights_attribute.proto index 4148a01d..38f486ce 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audience_insights_attribute.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audience_insights_attribute.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audiences.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audiences.proto index 95a9483d..4b08794d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audiences.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/audiences.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/bidding.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/bidding.proto index 945409fb..69e4c5ac 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/bidding.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/bidding.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/click_location.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/click_location.proto index 98b79bff..e72f6af7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/click_location.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/click_location.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/consent.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/consent.proto index fd07799b..0de0e79d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/consent.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/consent.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criteria.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criteria.proto index 3493dc82..7007d80b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criteria.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criteria.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criterion_category_availability.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criterion_category_availability.proto index 9c21458d..052a4b04 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criterion_category_availability.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/criterion_category_availability.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/custom_parameter.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/custom_parameter.proto index d20e9f0d..8d91b938 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/custom_parameter.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/custom_parameter.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/customizer_value.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/customizer_value.proto index 62fdf317..e2fb01f9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/customizer_value.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/customizer_value.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/dates.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/dates.proto index 3b05ea84..b8373ea0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/dates.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/dates.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/extensions.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/extensions.proto index f9de7997..b6c3fef1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/extensions.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/extensions.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/feed_common.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/feed_common.proto index 78075532..61b56622 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/feed_common.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/feed_common.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/final_app_url.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/final_app_url.proto index 30dace17..e5fe5714 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/final_app_url.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/final_app_url.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/frequency_cap.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/frequency_cap.proto index 5df01189..0eecb727 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/frequency_cap.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/frequency_cap.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/keyword_plan_common.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/keyword_plan_common.proto index 2a3364a3..b9f0d3da 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/keyword_plan_common.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/keyword_plan_common.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/lifecycle_goals.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/lifecycle_goals.proto index 666b5656..3505a594 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/lifecycle_goals.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/lifecycle_goals.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/local_services.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/local_services.proto index e178ce15..4ca5e7eb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/local_services.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/local_services.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metric_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metric_goal.proto index 05fd11b3..8b68fd22 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metric_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metric_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metrics.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metrics.proto index dba21f9f..c4713eaa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metrics.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/metrics.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -232,6 +232,10 @@ message Metrics { // Number of in-app actions. optional double biddable_app_post_install_conversions = 255; + // Participated in-app actions. The number of in app actions that come + // directly or indirectly from the campaign. + optional double biddable_cohort_app_post_install_conversions = 378; + // An indication on how other advertisers' Shopping ads for similar products // are performing based on how often people who see their ad click on it. optional double benchmark_ctr = 211; @@ -1224,6 +1228,20 @@ message Metrics { // The number of video views divided by number of impressions that can // potentially lead to video views for in shorts formats. optional double video_view_rate_shorts = 369; + + // All co-viewed impressions represent the total number of people who saw your + // ad. This includes people who are signed into their Google Account, as well + // as other people who are watching the same ad on a connected TV. This metric + // is only available for the Campaign resource with adjusted_age_range and + // adjusted_gender segments. These segmentations are mandatory to get the + // all coviewed impressions. + optional int64 coviewed_impressions = 380; + + // Primary impression is counted each time your ad is served. This metric is + // only available for the Campaign resource with adjusted_age_range and + // adjusted_gender segments. These segmentations are mandatory to get the + // primary impressions. + optional int64 primary_impressions = 381; } // Search volume range. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/offline_user_data.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/offline_user_data.proto index f65648b0..968e68e6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/offline_user_data.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/offline_user_data.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy.proto index dc7ae8b6..eaf527ae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy_summary.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy_summary.proto index 479408e4..6c0f9121 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy_summary.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/policy_summary.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/real_time_bidding_setting.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/real_time_bidding_setting.proto index 519cafdd..4ed27492 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/real_time_bidding_setting.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/real_time_bidding_setting.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/segments.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/segments.proto index 184e6b6f..c1a52436 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/segments.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/segments.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import "google/ads/googleads/v19/common/criteria.proto"; import "google/ads/googleads/v19/enums/ad_destination_type.proto"; import "google/ads/googleads/v19/enums/ad_format_type.proto"; import "google/ads/googleads/v19/enums/ad_network_type.proto"; +import "google/ads/googleads/v19/enums/age_range_type.proto"; import "google/ads/googleads/v19/enums/budget_campaign_association_status.proto"; import "google/ads/googleads/v19/enums/click_type.proto"; import "google/ads/googleads/v19/enums/conversion_action_category.proto"; @@ -31,6 +32,7 @@ import "google/ads/googleads/v19/enums/converting_user_prior_engagement_type_and import "google/ads/googleads/v19/enums/day_of_week.proto"; import "google/ads/googleads/v19/enums/device.proto"; import "google/ads/googleads/v19/enums/external_conversion_source.proto"; +import "google/ads/googleads/v19/enums/gender_type.proto"; import "google/ads/googleads/v19/enums/hotel_date_selection_type.proto"; import "google/ads/googleads/v19/enums/hotel_price_bucket.proto"; import "google/ads/googleads/v19/enums/hotel_rate_type.proto"; @@ -474,6 +476,22 @@ message Segments { .ConvertingUserPriorEngagementTypeAndLtvBucketEnum .ConvertingUserPriorEngagementTypeAndLtvBucket new_versus_returning_customers = 160; + + // Adjusted age range. This is the age range of the user after applying + // modeling to get more accurate age and gender information. Currently, both + // adjusted_age_range and adjusted_gender need to be selected together to get + // valid reach stats. These segmentations are only available for allowlisted + // customers. + google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType + adjusted_age_range = 196; + + // Adjusted gender. This is the gender of the user after applying modeling to + // get more accurate age and gender information. Currently, both + // adjusted_age_range and adjusted_gender need to be selected together to get + // valid reach stats. These segmentations are only available for allowlisted + // customers. + google.ads.googleads.v19.enums.GenderTypeEnum.GenderType adjusted_gender = + 197; } // A Keyword criterion segment. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/simulation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/simulation.proto index 45289891..8cdcc26c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/simulation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/simulation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/tag_snippet.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/tag_snippet.proto index 945a1472..b2828d3a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/tag_snippet.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/tag_snippet.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/targeting_setting.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/targeting_setting.proto index 447d880a..a709ef40 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/targeting_setting.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/targeting_setting.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/text_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/text_label.proto index 1434db52..9ad0dfa1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/text_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/text_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/url_collection.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/url_collection.proto index 92cb7ed9..1f06c3d8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/url_collection.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/url_collection.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/user_lists.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/user_lists.proto index ecf81712..98ab288e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/user_lists.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/user_lists.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/value.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/value.proto index 43aafaf5..b4fda74e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/common/value.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/common/value.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_invitation_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_invitation_status.proto index 20bb62bb..ca9b3ed6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_invitation_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_invitation_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_reason.proto index 5e15a8d0..a2662dc4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_role.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_role.proto index ae751d7c..5f22e951 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_role.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/access_role.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_status.proto index f1cdeb39..3cb4d658 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_type.proto index 5d27de56..9f550c43 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_proposal_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_status.proto index 4e92e361..91c8d0b0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_budget_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_link_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_link_status.proto index d3a86036..621c85ab 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_link_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/account_link_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_destination_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_destination_type.proto index e5099ae6..da24fa62 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_destination_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_destination_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_format_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_format_type.proto index ced10d86..d3928813 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_format_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_format_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status.proto index 657e0ad6..b83ca0e4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status_reason.proto index 3ec08a53..981accbc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_primary_status_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_rotation_mode.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_rotation_mode.proto index 79c91ecd..a6201f72 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_rotation_mode.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_rotation_mode.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_status.proto index bc4036eb..2077fa45 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_ad_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_approval_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_approval_status.proto index bae07927..7ff3fcf2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_approval_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_approval_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status.proto index 2ca0857f..89dfe036 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status_reason.proto index a6acf532..45e6cc70 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_primary_status_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_status.proto index b29f89a3..cfec1f20 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_criterion_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status.proto index 23b84502..08473afe 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status_reason.proto index 1e6b2d90..f42be68f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_primary_status_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_status.proto index b92cbfe9..35a72025 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_type.proto index 6ce3283a..65527afe 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_group_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -88,5 +88,8 @@ message AdGroupTypeEnum { // Ad group type for Travel campaigns. TRAVEL_ADS = 19; + + // Ad group type for YouTube Audio campaigns. + YOUTUBE_AUDIO = 20; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_network_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_network_type.proto index a22feaeb..25238521 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_network_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_network_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto index 6e79d02c..c0bbe61b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength.proto index 2d789786..56fbb38c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto new file mode 100644 index 00000000..a0361f8b --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto @@ -0,0 +1,43 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AdStrengthActionItemTypeProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing ad strength action item types. + +// Container for enumeration of ad strength action item types. +message AdStrengthActionItemTypeEnum { + // Enumerates ad strength action item types. + enum AdStrengthActionItemType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // This action item suggests adding an asset to the asset group. + ADD_ASSET = 2; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_type.proto index c2617ae3..c40d782a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/ad_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -132,5 +132,8 @@ message AdTypeEnum { // Demand Gen product ad. DEMAND_GEN_PRODUCT_AD = 39; + + // YouTube Audio ad. + YOUTUBE_AUDIO_AD = 44; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto index 6d7a872e..d79c3188 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -98,5 +98,8 @@ message AdvertisingChannelSubTypeEnum { // Travel Activities campaigns. TRAVEL_ACTIVITIES = 20; + + // YouTube Audio campaigns. + YOUTUBE_AUDIO = 22; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_type.proto index aab100b4..9efdd04b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/advertising_channel_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/age_range_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/age_range_type.proto index bb19cd57..31f82d2a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/age_range_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/age_range_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_interaction_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_interaction_type.proto index ab50128a..3d32a896 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_interaction_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_interaction_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_network_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_network_type.proto index 9696467e..97501aac 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_network_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/android_privacy_network_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_bidding_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_bidding_goal.proto index c85f6194..d40e12c8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_bidding_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_bidding_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_app_store.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_app_store.proto index fc61de8b..042d4251 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_app_store.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_app_store.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_bidding_strategy_goal_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_bidding_strategy_goal_type.proto index 1d503d57..86c40e30 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_bidding_strategy_goal_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_campaign_bidding_strategy_goal_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_payment_model_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_payment_model_type.proto index 9376d9dc..99d994ed 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_payment_model_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_payment_model_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto index f1e68afc..04b295fc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_status.proto index 52e014f2..6f90a8b1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_type.proto index cda12328..52a5c927 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_automation_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto new file mode 100644 index 00000000..9e46793e --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto @@ -0,0 +1,50 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetCoverageVideoAspectRatioRequirementProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing ad strength video aspect ratio requirements. + +// Container for enum describing possible ad strength video aspect ratio +// requirements. +message AssetCoverageVideoAspectRatioRequirementEnum { + // Enum describing possible ad strength video aspect ratio requirements. + enum AssetCoverageVideoAspectRatioRequirement { + // Not specified. + UNSPECIFIED = 0; + + // The received value is not known in this version. + UNKNOWN = 1; + + // The video requires a horizontal aspect ratio. + HORIZONTAL = 2; + + // The video requires a square aspect ratio. + SQUARE = 3; + + // The video requires a vertical aspect ratio. + VERTICAL = 4; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_field_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_field_type.proto index ad0e5b22..e780bdaf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_field_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_field_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -125,5 +125,8 @@ message AssetFieldTypeEnum { // The asset is linked for use as a Business Message. BUSINESS_MESSAGE = 31; + + // The asset is linked for use as a tall portrait marketing image. + TALL_PORTRAIT_MARKETING_IMAGE = 32; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto index bf87bbd8..41c60e04 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto index 12e40c7b..d6990a77 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_signal_approval_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_signal_approval_status.proto index 2f4f36c2..1390c51c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_signal_approval_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_signal_approval_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_status.proto index c1d042f0..d58fe72b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_group_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status.proto index 79ddd0b1..7f4ebf4b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status_reason.proto index 34097542..af207339 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_primary_status_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_status.proto index 21832866..bbbf7254 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_link_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_offline_evaluation_error_reasons.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_offline_evaluation_error_reasons.proto index 5bc868bd..49e033bb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_offline_evaluation_error_reasons.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_offline_evaluation_error_reasons.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_performance_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_performance_label.proto index 4db68ff7..43168c9c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_performance_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_performance_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_asset_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_asset_status.proto index fe81e33c..800fbb9e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_asset_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_asset_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_link_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_link_status.proto index 72cd9caa..bc618ca8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_link_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_link_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_status.proto index 57cfa750..19bef735 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_type.proto index 4672c4bd..6a0b997c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_set_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_source.proto index ded54029..3e34f575 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_type.proto index 5d710731..5ca3c733 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/asset_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/async_action_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/async_action_status.proto index acecdada..c5670fb5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/async_action_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/async_action_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/attribution_model.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/attribution_model.proto index f4e8acb6..aebc1267 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/attribution_model.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/attribution_model.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_dimension.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_dimension.proto index bcde1936..18cc10a0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_dimension.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_dimension.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_marketing_objective.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_marketing_objective.proto index 7ff31e57..2dd7f17b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_marketing_objective.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_insights_marketing_objective.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_scope.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_scope.proto index 7041678f..198e7ea1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_scope.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_scope.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_status.proto index 55b8f919..b0f498b6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/audience_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/batch_job_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/batch_job_status.proto index e7582096..d584fc15 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/batch_job_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/batch_job_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bid_modifier_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bid_modifier_source.proto index 3121abcf..c305db61 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bid_modifier_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bid_modifier_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_source.proto index cfd7c001..5c95cc65 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_status.proto index 3372ad8e..6015d0c6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_system_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_system_status.proto index 03be8b0d..1975ffd0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_system_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_system_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_type.proto index aa3725bb..4cc65859 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/bidding_strategy_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/billing_setup_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/billing_setup_status.proto index 96c879f5..c538c464 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/billing_setup_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/billing_setup_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_request_rejection_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_request_rejection_reason.proto index f3e72fdf..8fd3dce0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_request_rejection_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_request_rejection_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_safety_suitability.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_safety_suitability.proto index 88c3d214..72e0cebc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_safety_suitability.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_safety_suitability.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_state.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_state.proto index 7a769ff6..54743b48 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_state.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/brand_state.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_campaign_association_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_campaign_association_status.proto index fc4899f5..6710254e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_campaign_association_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_campaign_association_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_delivery_method.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_delivery_method.proto index ba1cb558..a72b9071 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_delivery_method.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_delivery_method.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_period.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_period.proto index 0d3d5d17..68bc9225 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_period.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_period.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_status.proto index ab932ce1..2bcbed9d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_type.proto index 75472eb0..e1ea59b9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/budget_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_call_to_action_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_call_to_action_type.proto index a80f60d6..b621fae9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_call_to_action_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_call_to_action_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_provider.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_provider.proto index 9e328eb6..3c99784a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_provider.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/business_message_provider.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_conversion_reporting_state.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_conversion_reporting_state.proto index 36c5b15a..70b597bf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_conversion_reporting_state.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_conversion_reporting_state.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_to_action_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_to_action_type.proto index c9cf9316..6e18d1a6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_to_action_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_to_action_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_tracking_display_location.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_tracking_display_location.proto index e3994eb0..31824f94 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_tracking_display_location.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_tracking_display_location.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_type.proto index ff5fe103..f81f7f76 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/call_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_criterion_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_criterion_status.proto index b44e597b..84fa5b20 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_criterion_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_criterion_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_draft_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_draft_status.proto index 283cd5b5..90c9a278 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_draft_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_draft_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_experiment_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_experiment_type.proto index 743f3b6e..3ae7bf4d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_experiment_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_experiment_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_group_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_group_status.proto index ec794f08..4ad39c5f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_group_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_group_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_keyword_match_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_keyword_match_type.proto index af78968e..038c9474 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_keyword_match_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_keyword_match_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status.proto index b96139e0..e9bb40bf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status_reason.proto index 6c17743b..f6244a93 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_primary_status_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_serving_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_serving_status.proto index 1ef504d9..ab57b98c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_serving_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_serving_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_shared_set_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_shared_set_status.proto index 74601a36..eff1dc73 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_shared_set_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_shared_set_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_status.proto index fc315c6d..f2a6e54b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/campaign_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/chain_relationship_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/chain_relationship_type.proto index 0815b2f0..c7bfe04f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/chain_relationship_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/chain_relationship_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_client_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_client_type.proto index 7e89770a..b34e2546 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_client_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_client_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_event_resource_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_event_resource_type.proto index a61e76ec..e3958341 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_event_resource_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_event_resource_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_operation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_operation.proto index 234efccb..e2de3d76 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_operation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_operation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_resource_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_resource_type.proto index 5505e1e0..cadd5c22 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_resource_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/change_status_resource_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,6 +54,9 @@ message ChangeStatusResourceTypeEnum { // A CampaignCriterion resource change. CAMPAIGN_CRITERION = 7; + // A CampaignBudget resource change. + CAMPAIGN_BUDGET = 8; + // A Feed resource change. FEED = 9; @@ -92,5 +95,11 @@ message ChangeStatusResourceTypeEnum { // An AssetGroup resource change. ASSET_GROUP = 21; + + // An AssetSet resource change. + ASSET_SET = 22; + + // A CampaignAssetSet resource change. + CAMPAIGN_ASSET_SET = 23; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/click_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/click_type.proto index 8c667aae..c7173e3d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/click_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/click_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/combined_audience_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/combined_audience_status.proto index c737df14..8acd194d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/combined_audience_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/combined_audience_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/consent_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/consent_status.proto index 3441c16d..c6d28714 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/consent_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/consent_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/content_label_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/content_label_type.proto index 7d94c548..42e03491 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/content_label_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/content_label_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_category.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_category.proto index 8bbd06d8..942e69f4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_category.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_category.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_counting_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_counting_type.proto index 2b6643b5..53bd50c1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_counting_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_counting_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_status.proto index 13275d76..476ae2eb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_type.proto index 9ade38bc..5bca43e8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_action_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto index 6999e984..5293e1b2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto index d2149b3d..c839ae10 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto index e0ff8447..3a55e68f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_customer_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_customer_type.proto new file mode 100644 index 00000000..b370e9ae --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_customer_type.proto @@ -0,0 +1,48 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomerTypeProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing conversion customer types. + +// Container for enumeration of conversion customer types. +message ConversionCustomerTypeEnum { + // Enumerates conversion customer types. + enum ConversionCustomerType { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Converting user is new to the advertiser. + NEW = 2; + + // Converting user is returning to the advertiser. Definition of returning + // differs among conversion types, such as a second store visit versus a + // second online purchase. + RETURNING = 3; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto index 255c7feb..dc443053 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto index fd1962c3..ae825063 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto index 1dec0f58..125d97a9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_origin.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_origin.proto index 278f0962..20833633 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_origin.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_origin.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_tracking_status_enum.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_tracking_status_enum.proto index 08455397..b65deac0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_tracking_status_enum.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_tracking_status_enum.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_primary_dimension.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_primary_dimension.proto index 799abfdd..900bbc41 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_primary_dimension.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_primary_dimension.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_set_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_set_status.proto index dd65d316..fbd84181 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_set_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_set_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_status.proto index 28ef84b2..c895b545 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/conversion_value_rule_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto index be9b96b2..dfc2f017 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/converting_user_prior_engagement_type_and_ltv_bucket.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_channel_availability_mode.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_channel_availability_mode.proto index f0a5dd23..3a3bda6d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_channel_availability_mode.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_channel_availability_mode.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_locale_availability_mode.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_locale_availability_mode.proto index bac5aae3..8f4c4dba 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_locale_availability_mode.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_category_locale_availability_mode.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_system_serving_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_system_serving_status.proto index 2a8e4f47..ffd48d39 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_system_serving_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_system_serving_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_type.proto index e11e34e5..06148e39 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/criterion_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_member_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_member_type.proto index 9e7e43e1..f01bbc31 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_member_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_member_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_status.proto index 62e20901..21b9f665 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_type.proto index e16d8391..a66865a6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_audience_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_conversion_goal_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_conversion_goal_status.proto index 6ad8dfb0..e33c97e3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_conversion_goal_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_conversion_goal_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_member_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_member_type.proto index 45348a29..59cc2746 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_member_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_member_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_status.proto index 9f0e7a73..68b316b1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_type.proto index 26b3b49b..64236cb4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/custom_interest_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_acquisition_optimization_mode.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_acquisition_optimization_mode.proto index 843cb2d8..2a68db6d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_acquisition_optimization_mode.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_acquisition_optimization_mode.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_match_upload_key_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_match_upload_key_type.proto index 402ce60d..aac3a047 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_match_upload_key_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_match_upload_key_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_pay_per_conversion_eligibility_failure_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_pay_per_conversion_eligibility_failure_reason.proto index a33716d8..2dc9eeb4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_pay_per_conversion_eligibility_failure_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_pay_per_conversion_eligibility_failure_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_status.proto index 28729a74..3f5c5335 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customer_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_status.proto index dc1ec396..ac6b2fc2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_type.proto index 91735bb1..e44e8ed4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_attribute_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_value_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_value_status.proto index d1ad5fde..38b80595 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_value_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/customizer_value_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_driven_model_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_driven_model_status.proto index b5fab203..4a6dad92 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_driven_model_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_driven_model_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_status.proto index b346ef58..4080b4ec 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_type.proto index 6e49df51..81978774 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/data_link_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/day_of_week.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/day_of_week.proto index b6b60ab9..c6ee4c9c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/day_of_week.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/day_of_week.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto new file mode 100644 index 00000000..e9a23253 --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto @@ -0,0 +1,48 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DemandGenChannelConfigProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Container for the channel config enum. +message DemandGenChannelConfigEnum { + // This value indicates which field within the 'oneof' group (where only one + // option can be active) is used in the channel controls for a Demand Gen ad + // group. + enum DemandGenChannelConfig { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // The channel controls configuration uses a general channel strategy; + // individual channels are not configured separately. + CHANNEL_STRATEGY = 2; + + // The channel controls configuration explicitly defines the selected + // channels. + SELECTED_CHANNELS = 3; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto new file mode 100644 index 00000000..f9c547be --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto @@ -0,0 +1,46 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "DemandGenChannelStrategyProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Container for the channel strategy enum. +message DemandGenChannelStrategyEnum { + // The channel strategy defines a general grouping of channels to enable in + // the Demand Gen channel controls. + enum DemandGenChannelStrategy { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // All channels are enabled. + ALL_CHANNELS = 2; + + // All Google-owned and operated channels are enabled; third-party channels + // (e.g., Display) are disabled. + ALL_OWNED_AND_OPERATED_CHANNELS = 3; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/device.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/device.proto index 59fe5572..ade4e66f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/device.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/device.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto index 838411f4..68d3e478 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_upload_product_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_upload_product_type.proto index 894fe55f..214de857 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_upload_product_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/display_upload_product_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/distance_bucket.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/distance_bucket.proto index b8acbca1..18d7a31a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/distance_bucket.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/distance_bucket.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric.proto index d2e0b76c..4b1dfb2c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric_direction.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric_direction.proto index fb03900b..153ad746 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric_direction.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_metric_direction.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_status.proto index 5445282d..eba52fb3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_type.proto index 32072771..9e18884b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/experiment_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/external_conversion_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/external_conversion_source.proto index e87183fe..8d9a1082 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/external_conversion_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/external_conversion_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_goal.proto index d6a04716..66d7432c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_target_frequency_time_unit.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_target_frequency_time_unit.proto index 1df519a8..4af4f208 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_target_frequency_time_unit.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/fixed_cpm_target_frequency_time_unit.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_event_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_event_type.proto index 80fbfb54..07e6b052 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_event_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_event_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_level.proto index feee6fb2..35ab9abd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_time_unit.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_time_unit.proto index de15cfb2..d1fe0677 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_time_unit.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/frequency_cap_time_unit.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/gender_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/gender_type.proto index bccab359..824095ef 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/gender_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/gender_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_target_constant_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_target_constant_status.proto index a522b1b6..d62cdad9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_target_constant_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_target_constant_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_targeting_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_targeting_type.proto index 2ba74687..9123f288 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_targeting_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/geo_targeting_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/goal_config_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/goal_config_level.proto index 2fd22cd5..34dd382e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/goal_config_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/goal_config_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_category.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_category.proto index 9599e487..d8242bae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_category.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_category.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_data_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_data_type.proto index b534c2ce..0930e142 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_data_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_ads_field_data_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_voice_call_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_voice_call_status.proto index 872768b0..f4115c7a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_voice_call_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/google_voice_call_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_asset_suggestion_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_asset_suggestion_status.proto index 80539fca..c3b7aef4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_asset_suggestion_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_asset_suggestion_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_date_selection_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_date_selection_type.proto index 94293453..b466516f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_date_selection_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_date_selection_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_price_bucket.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_price_bucket.proto index 1f70d6b3..5860c270 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_price_bucket.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_price_bucket.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_rate_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_rate_type.proto index e3d60e71..e83cc7b3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_rate_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_rate_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_reconciliation_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_reconciliation_status.proto index 9dc13e47..0f12a9c8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_reconciliation_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/hotel_reconciliation_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program.proto index 0321185d..1234d132 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program_status.proto index 6244e9a2..2dad4cb5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/identity_verification_program_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/income_range_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/income_range_type.proto index 4fb11407..917c7421 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/income_range_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/income_range_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_knowledge_graph_entity_capabilities.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_knowledge_graph_entity_capabilities.proto index 8f7ea5f3..2606ea19 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_knowledge_graph_entity_capabilities.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_knowledge_graph_entity_capabilities.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_trend.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_trend.proto index f9802233..3249807d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_trend.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/insights_trend.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_event_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_event_type.proto index 2f0624fd..9232dc88 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_event_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_event_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_type.proto index 81f251bf..4a9ed4da 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/interaction_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/invoice_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/invoice_type.proto index 74e91efe..4dd79362 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/invoice_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/invoice_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_match_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_match_type.proto index 597b7fbe..959004e0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_match_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_match_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_aggregate_metric_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_aggregate_metric_type.proto index a93ba0b3..12578d7b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_aggregate_metric_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_aggregate_metric_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_competition_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_competition_level.proto index ccb392e1..0e01f374 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_competition_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_competition_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_concept_group_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_concept_group_type.proto index 322c0dfc..0b269565 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_concept_group_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_concept_group_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_forecast_interval.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_forecast_interval.proto index 4e34af0d..e94a321c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_forecast_interval.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_forecast_interval.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_keyword_annotation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_keyword_annotation.proto index 382d6d41..140c5e22 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_keyword_annotation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_keyword_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_network.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_network.proto index 10b4c403..56116a42 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_network.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/keyword_plan_network.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/label_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/label_status.proto index 6ea7a10e..f200a8c7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/label_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/label_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_call_to_action_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_call_to_action_type.proto index e29d2dc3..9c5fbe5d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_call_to_action_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_call_to_action_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_desired_intent.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_desired_intent.proto index f91293c8..8b1764bb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_desired_intent.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_desired_intent.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_field_user_input_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_field_user_input_type.proto index 8391ad50..6544c2cb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_field_user_input_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_field_user_input_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_post_submit_call_to_action_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_post_submit_call_to_action_type.proto index ddfdc2fe..fa546939 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_post_submit_call_to_action_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lead_form_post_submit_call_to_action_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/legacy_app_install_ad_app_store.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/legacy_app_install_ad_app_store.proto index 84f910a1..265d49f1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/legacy_app_install_ad_app_store.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/legacy_app_install_ad_app_store.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_account_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_account_type.proto index cb9d4069..284ebf0a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_account_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_account_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_product_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_product_type.proto index af97eaae..e800cd12 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_product_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/linked_product_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_custom_attribute_index.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_custom_attribute_index.proto index 1bd9dc89..949990e0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_custom_attribute_index.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_custom_attribute_index.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_listing_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_listing_source.proto index 335ef0c2..2a1d50e5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_listing_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_listing_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_category_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_category_level.proto index 756d2908..85432570 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_category_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_category_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_channel.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_channel.proto index 8f07c28c..3b5c43e5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_channel.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_channel.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_condition.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_condition.proto index d90325c3..df3b223e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_condition.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_condition.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_type_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_type_level.proto index ccd869f0..10ebceb3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_type_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_product_type_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_type_enum.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_type_enum.proto index be15fafd..a6bf7511 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_type_enum.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_filter_type_enum.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_type.proto index cdb4295f..2b54ee50 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_group_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_type.proto index 1b85e174..e61c3a61 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/listing_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_check_rejection_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_check_rejection_reason.proto index e1182fc1..d87fed83 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_check_rejection_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_check_rejection_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_type.proto index f5b6147f..9b84a8f3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_business_registration_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_conversation_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_conversation_type.proto index fe3e19a2..22fe7072 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_conversation_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_conversation_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_status.proto index 45cb946c..8d70418b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_type.proto index b5d558b7..de0a217d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_employee_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto index c24d30b5..639c9ac7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto new file mode 100644 index 00000000..bef67e4c --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto @@ -0,0 +1,56 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadCreditIssuanceDecisionProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible credit issuance decisions for a lead. +message LocalServicesLeadCreditIssuanceDecisionEnum { + // Decision of bonus credit issued or rejected. + enum CreditIssuanceDecision { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Bonus credit is issued successfully and bonus credit cap has not reached + // the threshold after issuing this bonus credit. + SUCCESS_NOT_REACHED_THRESHOLD = 2; + + // Bonus credit is issued successfully and bonus credit cap has reached the + // threshold after issuing this bonus credit. + SUCCESS_REACHED_THRESHOLD = 3; + + // Bonus credit is not issued because the provider has reached the bonus + // credit cap. + FAIL_OVER_THRESHOLD = 4; + + // Bonus credit is not issued because this lead is not eligible for bonus + // credit. + FAIL_NOT_ELIGIBLE = 5; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto index 0f9e4ca4..4d61b7cd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_status.proto index f5e32287..2d760683 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto new file mode 100644 index 00000000..042d44a6 --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto @@ -0,0 +1,55 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadSurveyAnswerProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible survey answers for a lead. +message LocalServicesLeadSurveyAnswerEnum { + // Survey answer for Local Services Ads Lead. + enum SurveyAnswer { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Very satisfied with the lead. + VERY_SATISFIED = 2; + + // Satisfied with the lead. + SATISFIED = 3; + + // Neutral with the lead. + NEUTRAL = 4; + + // Dissatisfied with the lead. + DISSATISFIED = 5; + + // Very dissatisfied with the lead. + VERY_DISSATISFIED = 6; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto new file mode 100644 index 00000000..aaf2935c --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto @@ -0,0 +1,64 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadSurveyDissatisfiedReasonProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible survey dissatisfied reasons for a +// lead. +message LocalServicesLeadSurveyDissatisfiedReasonEnum { + // Provider's reason for not being satisfied with the lead. + enum SurveyDissatisfiedReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Other reasons. + OTHER_DISSATISFIED_REASON = 2; + + // Lead was for a service that does not match the business' service area. + GEO_MISMATCH = 3; + + // Lead was for a service that is not offered by the business. + JOB_TYPE_MISMATCH = 4; + + // Lead was by a customer that was not ready to book. + NOT_READY_TO_BOOK = 5; + + // Lead was a spam. Example: lead was from a bot, silent called, scam, etc. + SPAM = 6; + + // Lead was a duplicate of another lead that is, customer contacted the + // business more than once. + DUPLICATE = 7; + + // Lead due to solicitation. Example: a person trying to get a job or + // selling a product, etc. + SOLICITATION = 8; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto new file mode 100644 index 00000000..4dbd712b --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto @@ -0,0 +1,55 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "LocalServicesLeadSurveySatisfiedReasonProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing the local services lead resource. + +// Container for enum describing possible survey satisfied reasons for a lead. +message LocalServicesLeadSurveySatisfiedReasonEnum { + // Provider's reason for being satisfied with the lead. + enum SurveySatisfiedReason { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Other reasons. + OTHER_SATISFIED_REASON = 2; + + // Lead converted into a booked customer or client. + BOOKED_CUSTOMER = 3; + + // Lead could convert into a booked customer or client soon. + LIKELY_BOOKED_CUSTOMER = 4; + + // Lead was related to the services the business offers. + SERVICE_RELATED = 5; + + // Lead was for a service that generates high value for the business. + HIGH_VALUE_SERVICE = 6; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_type.proto index aaf6dc97..5ce86ed4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_lead_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto index de73ac61..5c32a53f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_participant_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_participant_type.proto index 528480d0..3276cf9b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_participant_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_participant_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_status.proto index 333da5ec..557d786a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_type.proto index ef1e6cb9..938a8599 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_artifact_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_status.proto index be144327..53188b00 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/local_services_verification_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_group_radius_units.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_group_radius_units.proto index 9f430d9b..94825392 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_group_radius_units.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_group_radius_units.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_ownership_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_ownership_type.proto index f8cd5a86..ef510bd1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_ownership_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_ownership_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_source_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_source_type.proto index 7906a281..348491c1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_source_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_source_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_string_filter_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_string_filter_type.proto index 04100892..330f79b0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_string_filter_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/location_string_filter_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lookalike_expansion_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lookalike_expansion_level.proto index 85963607..5eab5325 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lookalike_expansion_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/lookalike_expansion_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/manager_link_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/manager_link_status.proto index bbf42e61..554dba39 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/manager_link_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/manager_link_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/media_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/media_type.proto index 4b373ac9..583f8e3e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/media_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/media_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mime_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mime_type.proto index cc17f6af..0f5c39a4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mime_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mime_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/minute_of_hour.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/minute_of_hour.proto index 0046d09b..f2a1dfd2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/minute_of_hour.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/minute_of_hour.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_app_vendor.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_app_vendor.proto index 05191afa..545c6f85 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_app_vendor.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_app_vendor.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_device_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_device_type.proto index 86a1fcf3..e3ff22a8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_device_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/mobile_device_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/month_of_year.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/month_of_year.proto index 12459f17..017d9caf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/month_of_year.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/month_of_year.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/negative_geo_target_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/negative_geo_target_type.proto index 5e342c2a..e79f831a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/negative_geo_target_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/negative_geo_target_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_conversion_diagnostic_status_enum.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_conversion_diagnostic_status_enum.proto index ec3ab3e4..0072507a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_conversion_diagnostic_status_enum.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_conversion_diagnostic_status_enum.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_event_upload_client_enum.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_event_upload_client_enum.proto index 283f403e..b5c0adff 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_event_upload_client_enum.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_event_upload_client_enum.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_failure_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_failure_reason.proto index ee1721ea..87bc9993 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_failure_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_failure_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_match_rate_range.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_match_rate_range.proto index a11da0d6..b8579440 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_match_rate_range.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_match_rate_range.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_status.proto index 04b464bb..9ee40329 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_type.proto index 716aea71..b4b195de 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/offline_user_data_job_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/operating_system_version_operator_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/operating_system_version_operator_type.proto index 9f5b62a8..980947c2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/operating_system_version_operator_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/operating_system_version_operator_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/optimization_goal_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/optimization_goal_type.proto index 0644e60d..1b2a916c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/optimization_goal_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/optimization_goal_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/parental_status_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/parental_status_type.proto index d7cddfd1..2f1709ae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/parental_status_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/parental_status_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/payment_mode.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/payment_mode.proto index 24537c66..dad86d80 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/payment_mode.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/payment_mode.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/performance_max_upgrade_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/performance_max_upgrade_status.proto index 19e11638..9c7a7764 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/performance_max_upgrade_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/performance_max_upgrade_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/placement_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/placement_type.proto index 5c2c5060..5f65540b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/placement_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/placement_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_approval_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_approval_status.proto index 7848fff3..35a324ca 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_approval_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_approval_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_review_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_review_status.proto index 1c80711e..13264075 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_review_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_review_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_entry_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_entry_type.proto index fa210276..65ae38b2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_entry_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_entry_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_mismatch_url_type.proto index 4ba2e711..0d1ac235 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_mismatch_url_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_mismatch_url_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_device.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_device.proto index c8982047..f098b0da 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_device.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_device.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto index ef250158..565923ed 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/positive_geo_target_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/positive_geo_target_type.proto index a9253d82..b3879c0c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/positive_geo_target_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/positive_geo_target_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_qualifier.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_qualifier.proto index 319db809..5858549c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_qualifier.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_qualifier.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_unit.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_unit.proto index 5baaea70..f874634f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_unit.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_price_unit.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_type.proto index 4175d546..3e18830c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/price_extension_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_availability.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_availability.proto index 663a0de4..db482569 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_availability.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_availability.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_level.proto index a86064a3..78267725 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_state.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_state.proto index 5957a14d..b21f262e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_state.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_category_state.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel.proto index cf650178..40f20167 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel_exclusivity.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel_exclusivity.proto index e4df20b2..e2bde4d7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel_exclusivity.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_channel_exclusivity.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_condition.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_condition.proto index 655395b1..b8689215 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_condition.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_condition.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_custom_attribute_index.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_custom_attribute_index.proto index 10e5a579..92372489 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_custom_attribute_index.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_custom_attribute_index.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_issue_severity.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_issue_severity.proto index 8edc1a7b..c5d08b69 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_issue_severity.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_issue_severity.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_link_invitation_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_link_invitation_status.proto index 86de6fa6..e9d7481b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_link_invitation_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_link_invitation_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_status.proto index f9ff3844..e9d6de57 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_type_level.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_type_level.proto index 0cf27b5a..42568b90 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_type_level.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/product_type_level.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_discount_modifier.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_discount_modifier.proto index 965c08e6..3447881f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_discount_modifier.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_discount_modifier.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_occasion.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_occasion.proto index f49b8339..5d3b2c4b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_occasion.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/promotion_extension_occasion.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/proximity_radius_units.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/proximity_radius_units.proto index 738812df..b095a7c6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/proximity_radius_units.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/proximity_radius_units.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/quality_score_bucket.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/quality_score_bucket.proto index 4224ebb2..ca23a6dc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/quality_score_bucket.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/quality_score_bucket.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto index 2d77aebe..132378c9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto new file mode 100644 index 00000000..0127b802 --- /dev/null +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto @@ -0,0 +1,58 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.ads.googleads.v19.enums; + +option csharp_namespace = "Google.Ads.GoogleAds.V19.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "ReachPlanConversionRateModelProto"; +option java_package = "com.google.ads.googleads.v19.enums"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; +option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; + +// Proto file describing the conversion rate model used to create conversion +// rate suggestions for supported ad products. + +// Container for enum describing the type of model used to create a conversion +// rate suggestion for a supported ad product. +message ReachPlanConversionRateModelEnum { + // Types of models used to create conversion rate suggestions. + enum ReachPlanConversionRateModel { + // Not specified. + UNSPECIFIED = 0; + + // The value is unknown in this version. + UNKNOWN = 1; + + // Suggested conversion rate for the authenticated customer based on the + // previous 70 days. + CUSTOMER_HISTORY = 2; + + // Suggested conversion rate based on an aggressive rate for the entire + // inventory. + INVENTORY_AGGRESSIVE = 3; + + // Suggested conversion rate based on a conservative rate for the entire + // inventory. + INVENTORY_CONSERVATIVE = 4; + + // Suggested conversion rate based on the median rate for the entire + // inventory. + INVENTORY_MEDIAN = 5; + } +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_network.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_network.proto index 622305ef..e24bc467 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_network.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_network.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_surface.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_surface.proto index 34177896..9d6bc30a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_surface.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/reach_plan_surface.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,6 +37,12 @@ message ReachPlanSurfaceEnum { // The value is unknown in this version. UNKNOWN = 1; + // Discover feed ad surface. + DISCOVER_FEED = 7; + + // Gmail ad surface. + GMAIL = 8; + // In-Feed ad surface. IN_FEED = 2; diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto index 9b8ba26b..029eddda 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_type.proto index 14594d8d..4290c0d3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/recommendation_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_change_operation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_change_operation.proto index 4ea4ccc2..cf086e7a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_change_operation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_change_operation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_limit_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_limit_type.proto index 4a72dddb..40122ec7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_limit_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/resource_limit_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/response_content_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/response_content_type.proto index df5ee1e4..247ef28f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/response_content_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/response_content_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_engine_results_page_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_engine_results_page_type.proto index c353e956..98ffca03 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_engine_results_page_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_engine_results_page_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_match_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_match_type.proto index b853ec38..ff4872a4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_match_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_match_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_targeting_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_targeting_status.proto index d312bd91..e9a246e0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_targeting_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/search_term_targeting_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_scope.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_scope.proto index 8a967116..659c14d9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_scope.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_scope.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_status.proto index b008d47b..ff85e01e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/seasonality_event_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/served_asset_field_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/served_asset_field_type.proto index ec4f6a82..cbf58289 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/served_asset_field_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/served_asset_field_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -25,7 +25,7 @@ option objc_class_prefix = "GAA"; option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Enums"; option ruby_package = "Google::Ads::GoogleAds::V19::Enums"; -// Proto file describing policy review statuses. +// Proto file describing served asset field type. // Container for enum describing possible asset field types. message ServedAssetFieldTypeEnum { diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_status.proto index 22298020..b5a70db5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_type.proto index 953ee304..e9809a2a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shared_set_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shopping_add_products_to_campaign_recommendation_enum.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shopping_add_products_to_campaign_recommendation_enum.proto index 40c958f0..5a3e2eae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shopping_add_products_to_campaign_recommendation_enum.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/shopping_add_products_to_campaign_recommendation_enum.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_modification_method.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_modification_method.proto index 58830417..1a7e1292 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_modification_method.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_modification_method.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_type.proto index f03a5093..546d57fa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/simulation_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_ad_event_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_ad_event_type.proto index c0202a60..02175a40 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_ad_event_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_ad_event_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_attribution_credit.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_attribution_credit.proto index df6d4ad5..135d5e4f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_attribution_credit.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_attribution_credit.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_coarse_conversion_value.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_coarse_conversion_value.proto index ce88290c..0aecd4ea 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_coarse_conversion_value.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_coarse_conversion_value.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_source_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_source_type.proto index f4ee7999..a8c7b5bd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_source_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_source_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_user_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_user_type.proto index caad4c13..d76b2934 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_user_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/sk_ad_network_user_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/slot.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/slot.proto index c90976d6..b8c6b1a1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/slot.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/slot.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_not_eligible_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_not_eligible_reason.proto index 7f2b2791..518dade2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_not_eligible_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_not_eligible_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_status.proto index e561ddf1..dfa1e9cb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/smart_campaign_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/spending_limit_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/spending_limit_type.proto index f56c64c6..e6e97c01 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/spending_limit_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/spending_limit_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/summary_row_setting.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/summary_row_setting.proto index 5d2f511b..dc3d84a0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/summary_row_setting.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/summary_row_setting.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/system_managed_entity_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/system_managed_entity_source.proto index 318222fd..a1c59a29 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/system_managed_entity_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/system_managed_entity_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_cpa_opt_in_recommendation_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_cpa_opt_in_recommendation_goal.proto index 628024a7..89aeb9c9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_cpa_opt_in_recommendation_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_cpa_opt_in_recommendation_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_frequency_time_unit.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_frequency_time_unit.proto index 18fb231c..f29bc65a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_frequency_time_unit.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_frequency_time_unit.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,5 +39,8 @@ message TargetFrequencyTimeUnitEnum { // Optimize bidding to reach Target Frequency in a week. WEEKLY = 2; + + // Optimize bidding to reach Target Frequency in a month. + MONTHLY = 3; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_impression_share_location.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_impression_share_location.proto index 3dd2258a..16b588df 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_impression_share_location.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/target_impression_share_location.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/targeting_dimension.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/targeting_dimension.proto index 4d35e357..a1a3df1f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/targeting_dimension.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/targeting_dimension.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/time_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/time_type.proto index 50ad1940..a5cc2f07 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/time_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/time_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_page_format.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_page_format.proto index b82a7411..a150879f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_page_format.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_page_format.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_type.proto index e7370023..1ef44b65 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/tracking_code_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_identifier_source.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_identifier_source.proto index 0ed30a3f..9a67c99a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_identifier_source.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_identifier_source.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_interest_taxonomy_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_interest_taxonomy_type.proto index 9c3bffb2..61b34904 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_interest_taxonomy_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_interest_taxonomy_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_access_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_access_status.proto index d45d4295..2fe2ceae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_access_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_access_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_closing_reason.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_closing_reason.proto index 3336a123..c0a0aff3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_closing_reason.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_closing_reason.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_crm_data_source_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_crm_data_source_type.proto index aad68a03..0ddf462d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_crm_data_source_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_crm_data_source_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_customer_type_category.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_customer_type_category.proto index ca594576..2c20e7a8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_customer_type_category.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_customer_type_category.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_date_rule_item_operator.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_date_rule_item_operator.proto index 0a78f566..b94dec98 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_date_rule_item_operator.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_date_rule_item_operator.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_flexible_rule_operator.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_flexible_rule_operator.proto index ef18b1ee..99e724bb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_flexible_rule_operator.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_flexible_rule_operator.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_logical_rule_operator.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_logical_rule_operator.proto index b8a134d5..71d80b9f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_logical_rule_operator.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_logical_rule_operator.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_membership_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_membership_status.proto index 13fab41d..2eb447e7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_membership_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_membership_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_number_rule_item_operator.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_number_rule_item_operator.proto index 1bcbc480..15092c78 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_number_rule_item_operator.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_number_rule_item_operator.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_prepopulation_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_prepopulation_status.proto index d91364c3..26353fe9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_prepopulation_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_prepopulation_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_rule_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_rule_type.proto index 82ab1b8f..2191ef7b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_rule_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_rule_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_size_range.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_size_range.proto index cfad86cf..ffa1b6a6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_size_range.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_size_range.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_string_rule_item_operator.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_string_rule_item_operator.proto index 95635270..5fbde7ee 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_string_rule_item_operator.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_string_rule_item_operator.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_type.proto index 02a0f83d..36c4209b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/user_list_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_device_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_device_type.proto index 31115977..a2acb997 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_device_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_device_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_geo_location_match_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_geo_location_match_type.proto index c4e76507..3c322833 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_geo_location_match_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_geo_location_match_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_operation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_operation.proto index 1dbed1b7..9f0ff8c4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_operation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_operation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_attachment_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_attachment_type.proto index 277544d4..f077edf4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_attachment_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_attachment_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_dimension.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_dimension.proto index 5d739948..b4353b49 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_dimension.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/value_rule_set_dimension.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_display_url_mode.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_display_url_mode.proto index 561f84c4..698e9cad 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_display_url_mode.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_display_url_mode.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_text.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_text.proto index f2ff58c8..5c2afaa5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_text.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/vanity_pharma_text.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/video_thumbnail.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/video_thumbnail.proto index 6b35c218..c107e410 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/video_thumbnail.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/video_thumbnail.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operand.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operand.proto index 753d683f..141c8dd3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operand.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operand.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operator.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operator.proto index 6849ff55..1c464f70 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operator.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/enums/webpage_condition_operator.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/access_invitation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/access_invitation_error.proto index 5f2abb9d..99284cf1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/access_invitation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/access_invitation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_budget_proposal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_budget_proposal_error.proto index a2978d82..b5f432e5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_budget_proposal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_budget_proposal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_link_error.proto index fe883dc4..8770719c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/account_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_customizer_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_customizer_error.proto index bb183375..2c688e4a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_customizer_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_customizer_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_error.proto index c484ca20..ef441888 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_ad_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_ad_error.proto index 255055f0..f04ff3f5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_ad_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_ad_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_bid_modifier_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_bid_modifier_error.proto index 5d5fd67c..4d2078dd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_bid_modifier_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_bid_modifier_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_customizer_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_customizer_error.proto index d582e356..26285367 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_customizer_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_customizer_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_error.proto index 9186ba34..acf76e61 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_criterion_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_customizer_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_customizer_error.proto index 92d1658e..382e2751 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_customizer_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_customizer_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_error.proto index 124c6fc5..15e74cec 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_feed_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_feed_error.proto index 3e665679..291a048c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_feed_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_group_feed_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_parameter_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_parameter_error.proto index bcf92722..f3e47be6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_parameter_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_parameter_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_sharing_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_sharing_error.proto index 25f7ae81..d669d0a6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_sharing_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/ad_sharing_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/adx_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/adx_error.proto index 5ebe3f47..7168a185 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/adx_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/adx_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_error.proto index 2ef0fd38..0d2f3345 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_asset_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_asset_error.proto index 92bf8a7b..c4404466 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_asset_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_asset_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_error.proto index a77c378b..1101700b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_listing_group_filter_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_listing_group_filter_error.proto index 31eb38c9..f95b46dc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_listing_group_filter_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_listing_group_filter_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_signal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_signal_error.proto index 24bf760c..bd8f651c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_signal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_group_signal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_link_error.proto index 8be2adba..27826dba 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_asset_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_asset_error.proto index 33e7c297..10683d3e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_asset_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_asset_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_error.proto index 435b6c02..cc4f122b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_link_error.proto index 6cdfb6e2..9191f135 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/asset_set_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_error.proto index f5d463c0..7938d40a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_insights_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_insights_error.proto index 947ee4e7..ebd1947a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_insights_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/audience_insights_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authentication_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authentication_error.proto index 3a023b4d..4d6edf78 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authentication_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authentication_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -108,5 +108,8 @@ message AuthenticationErrorEnum { // The Cloud organization associated with the project is not associated with // the developer token. ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN = 28; + + // The developer token is not valid. + DEVELOPER_TOKEN_INVALID = 29; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authorization_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authorization_error.proto index cda8843f..b744155a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authorization_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/authorization_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/automatically_created_asset_removal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/automatically_created_asset_removal_error.proto index a3eb724e..9e32ddd2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/automatically_created_asset_removal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/automatically_created_asset_removal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/batch_job_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/batch_job_error.proto index afe53449..7678ff2a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/batch_job_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/batch_job_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_error.proto index 77442737..41c5b539 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_strategy_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_strategy_error.proto index bf7435fe..c2f50a02 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_strategy_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/bidding_strategy_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/billing_setup_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/billing_setup_error.proto index 82a312a8..86f1c52a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/billing_setup_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/billing_setup_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/brand_guidelines_migration_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/brand_guidelines_migration_error.proto index c0fe1463..02ac2794 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/brand_guidelines_migration_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/brand_guidelines_migration_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_budget_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_budget_error.proto index 3880fb58..bc2d9f78 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_budget_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_budget_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_conversion_goal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_conversion_goal_error.proto index 0aaf956d..3c40cc07 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_conversion_goal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_conversion_goal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_criterion_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_criterion_error.proto index 04d14d5c..a41505ce 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_criterion_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_criterion_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_customizer_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_customizer_error.proto index 0ad041cd..a2115759 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_customizer_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_customizer_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_draft_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_draft_error.proto index 76d1dad9..2acec99d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_draft_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_draft_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_error.proto index 652b598c..30cb62cb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -338,6 +338,11 @@ message CampaignErrorEnum { // groups. REQUIRED_LOGO_ASSET_NOT_LINKED = 96; + // This campaign does not support brand targeting overrides. Brand targeting + // overrides are only supported for Performance Max campaigns that have a + // product feed. + BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED = 97; + // Brand Guideline fields can only be set for campaigns that have Brand // Guidelines enabled. BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN = 98; diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_experiment_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_experiment_error.proto index c95dc224..618cb44f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_experiment_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_experiment_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_feed_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_feed_error.proto index 2791cd86..86691c2c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_feed_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_feed_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_lifecycle_goal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_lifecycle_goal_error.proto index 89004a23..1313aa5a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_lifecycle_goal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_lifecycle_goal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_shared_set_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_shared_set_error.proto index de1416ae..e194cc81 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_shared_set_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/campaign_shared_set_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_event_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_event_error.proto index 59358d73..233f1b08 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_event_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_event_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_status_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_status_error.proto index 5b8755f0..4d345295 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_status_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/change_status_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/collection_size_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/collection_size_error.proto index f4d0af33..6031576c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/collection_size_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/collection_size_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/context_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/context_error.proto index 251784f3..9d9a0814 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/context_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/context_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_action_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_action_error.proto index 4bdc3a2e..e2702d11 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_action_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_action_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_adjustment_upload_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_adjustment_upload_error.proto index 3f744ff1..b4698170 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_adjustment_upload_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_adjustment_upload_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_custom_variable_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_custom_variable_error.proto index cc6f540e..6485deda 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_custom_variable_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_custom_variable_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_goal_campaign_config_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_goal_campaign_config_error.proto index c4a4a7ce..fce07808 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_goal_campaign_config_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_goal_campaign_config_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_upload_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_upload_error.proto index bdc187be..c218ea11 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_upload_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_upload_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_error.proto index ac7a6146..e5767ce3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_set_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_set_error.proto index 6f74cc91..faf13456 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_set_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/conversion_value_rule_set_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/country_code_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/country_code_error.proto index 723a4057..c8ce5606 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/country_code_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/country_code_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/criterion_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/criterion_error.proto index d699c601..b47aab37 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/criterion_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/criterion_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -524,5 +524,9 @@ message CriterionErrorEnum { // Brand list can only be negatively targeted for the campaign type. ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE = 158; + + // Cannot positively target locations outside of restricted area for + // campaign. + LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN = 166; } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_code_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_code_error.proto index 2abe35ff..84173ba0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_code_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_code_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_error.proto index 0441fa44..eef63d1b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/currency_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_audience_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_audience_error.proto index 1d02fae5..3a524bd4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_audience_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_audience_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_conversion_goal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_conversion_goal_error.proto index 5fd2601e..5e9f8b55 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_conversion_goal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_conversion_goal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_interest_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_interest_error.proto index 04fe7e84..22d8fbae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_interest_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/custom_interest_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_client_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_client_link_error.proto index e9a7e617..a5b2fa32 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_client_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_client_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_customizer_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_customizer_error.proto index 1fdb2d9f..d1f71ec5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_customizer_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_customizer_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_error.proto index 47c585e1..a3e85e35 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_feed_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_feed_error.proto index a8ce8922..847c4d9d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_feed_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_feed_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_lifecycle_goal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_lifecycle_goal_error.proto index a93a1446..f86141b2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_lifecycle_goal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_lifecycle_goal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_manager_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_manager_link_error.proto index 4cd903ea..1c687896 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_manager_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_manager_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_sk_ad_network_conversion_value_schema_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_sk_ad_network_conversion_value_schema_error.proto index 80340407..9e759e3e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_sk_ad_network_conversion_value_schema_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_sk_ad_network_conversion_value_schema_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_user_access_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_user_access_error.proto index 5bf857b7..b42e3594 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_user_access_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customer_user_access_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customizer_attribute_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customizer_attribute_error.proto index a6e44372..51133825 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customizer_attribute_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/customizer_attribute_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/data_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/data_link_error.proto index 4f68060c..657eb73c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/data_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/data_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/database_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/database_error.proto index 868b9066..e194c195 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/database_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/database_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_error.proto index a3fc5a1c..14db1395 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_range_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_range_error.proto index 15383c1f..9033dbbb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_range_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/date_range_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/distinct_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/distinct_error.proto index 0f774975..c2f9a3c2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/distinct_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/distinct_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/enum_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/enum_error.proto index bef6812f..35b4b04e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/enum_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/enum_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/errors.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/errors.proto index 10f9e232..3bb50c4d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/errors.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/errors.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_arm_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_arm_error.proto index 5c3c49a1..83013225 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_arm_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_arm_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_error.proto index 46e8e493..27d15221 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/experiment_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_feed_item_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_feed_item_error.proto index 19000bee..dc5e57bc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_feed_item_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_feed_item_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_setting_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_setting_error.proto index 42d86f16..c488bb36 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_setting_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/extension_setting_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_attribute_reference_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_attribute_reference_error.proto index 246a0533..f5cdf86a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_attribute_reference_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_attribute_reference_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_error.proto index 0d2deb30..e2899584 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_error.proto index d300bd3d..341f952a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_error.proto index a259623e..37e8bc22 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_link_error.proto index 789b53ae..7dd58fb6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_set_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_target_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_target_error.proto index 82f30b63..4a36c26c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_target_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_target_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_validation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_validation_error.proto index 801fd1e5..f59259bf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_validation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_item_validation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_mapping_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_mapping_error.proto index 581970b7..ed604cc6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_mapping_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/feed_mapping_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_error.proto index 01646ba3..d45c84fc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_mask_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_mask_error.proto index 6f542861..ce70f2c9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_mask_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/field_mask_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_error.proto index 0788c2b2..84ce1f21 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_parsing_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_parsing_error.proto index ad6b73a8..73652f13 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_parsing_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/function_parsing_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/geo_target_constant_suggestion_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/geo_target_constant_suggestion_error.proto index 4d6b6d6e..a258dd3e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/geo_target_constant_suggestion_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/geo_target_constant_suggestion_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/header_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/header_error.proto index fdd62244..abcb0731 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/header_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/header_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/id_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/id_error.proto index 02a8112b..6cc44586 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/id_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/id_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/identity_verification_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/identity_verification_error.proto index 5360c873..e969c097 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/identity_verification_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/identity_verification_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/image_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/image_error.proto index ec86aa5f..be7c300c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/image_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/image_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/internal_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/internal_error.proto index bf57aea5..8a24d33a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/internal_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/internal_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/invoice_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/invoice_error.proto index 75a64d5b..37fcf474 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/invoice_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/invoice_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_error.proto index 431ba4de..fb615ee7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_keyword_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_keyword_error.proto index 4cedac13..2ecef964 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_keyword_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_ad_group_keyword_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_error.proto index a89fb46f..191836ca 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_keyword_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_keyword_error.proto index 56598afe..11fc6087 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_keyword_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_campaign_keyword_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_error.proto index 680d860a..c6b581ca 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_idea_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_idea_error.proto index 0b2ab157..3b46d217 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_idea_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/keyword_plan_idea_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/label_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/label_error.proto index c8d4881a..a1fb23c9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/label_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/label_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/language_code_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/language_code_error.proto index 1cff524f..481dcd1a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/language_code_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/language_code_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/list_operation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/list_operation_error.proto index 6bf1fa98..4022d306 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/list_operation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/list_operation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/manager_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/manager_link_error.proto index a78a34f0..e05cc71b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/manager_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/manager_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_bundle_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_bundle_error.proto index 6df6e260..74556b1e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_bundle_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_bundle_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_file_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_file_error.proto index 08001155..b44d051e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_file_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_file_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_upload_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_upload_error.proto index d9336648..7fea0ab6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_upload_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/media_upload_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/merchant_center_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/merchant_center_error.proto index 4bd69591..4a8a3587 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/merchant_center_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/merchant_center_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/multiplier_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/multiplier_error.proto index 8d0e4ca2..f40991b9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/multiplier_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/multiplier_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/mutate_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/mutate_error.proto index 069bcd50..6a44da0d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/mutate_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/mutate_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/new_resource_creation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/new_resource_creation_error.proto index 5e5a84fb..98ad8035 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/new_resource_creation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/new_resource_creation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_allowlisted_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_allowlisted_error.proto index abdd20bf..6f0a2003 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_allowlisted_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_allowlisted_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_empty_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_empty_error.proto index c230f671..9ade72bd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_empty_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/not_empty_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/null_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/null_error.proto index 446f7f19..df3bd18d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/null_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/null_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/offline_user_data_job_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/offline_user_data_job_error.proto index 90056805..85a289c4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/offline_user_data_job_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/offline_user_data_job_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operation_access_denied_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operation_access_denied_error.proto index d19597d3..a5aa89fa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operation_access_denied_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operation_access_denied_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operator_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operator_error.proto index c21f15a3..48465911 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operator_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/operator_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/partial_failure_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/partial_failure_error.proto index 6d870043..7c2c8e87 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/partial_failure_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/partial_failure_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/payments_account_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/payments_account_error.proto index 75429ac9..2b68b8fc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/payments_account_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/payments_account_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_finding_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_finding_error.proto index caab5e29..45857c2d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_finding_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_finding_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_validation_parameter_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_validation_parameter_error.proto index a7c6cd2a..a5b9cda3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_validation_parameter_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_validation_parameter_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_violation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_violation_error.proto index 11c1e65a..d456998f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_violation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/policy_violation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_error.proto index 0bb05b4f..aa94bdaf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_invitation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_invitation_error.proto index dde6a218..fc9e76a7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_invitation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/product_link_invitation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/query_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/query_error.proto index 51ef22b8..3a58a376 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/query_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/query_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/quota_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/quota_error.proto index c8a5badd..5bc9d30b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/quota_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/quota_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/range_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/range_error.proto index 56320351..d894f646 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/range_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/range_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/reach_plan_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/reach_plan_error.proto index 69283d8b..f8551e2d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/reach_plan_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/reach_plan_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_error.proto index b42c4700..6d102424 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_subscription_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_subscription_error.proto index 266ae798..1852bf66 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_subscription_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/recommendation_subscription_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/region_code_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/region_code_error.proto index 2db5102d..97c32d53 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/region_code_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/region_code_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/request_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/request_error.proto index c5186c98..60abc7ae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/request_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/request_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_access_denied_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_access_denied_error.proto index 96fe001a..b7419961 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_access_denied_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_access_denied_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_count_limit_exceeded_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_count_limit_exceeded_error.proto index 2778ab0d..5042dc26 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_count_limit_exceeded_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/resource_count_limit_exceeded_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/search_term_insight_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/search_term_insight_error.proto index 4b6e4492..2db50ea6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/search_term_insight_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/search_term_insight_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/setting_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/setting_error.proto index 2bcfec51..d3637e7c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/setting_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/setting_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shareable_preview_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shareable_preview_error.proto index ec83ec3a..d232cb99 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shareable_preview_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shareable_preview_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_criterion_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_criterion_error.proto index 7474efd4..51212d4a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_criterion_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_criterion_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_set_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_set_error.proto index c8265289..de76b35f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_set_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shared_set_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shopping_product_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shopping_product_error.proto index ba06fc79..490fb66f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shopping_product_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/shopping_product_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/size_limit_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/size_limit_error.proto index 529605c7..ed140cee 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/size_limit_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/size_limit_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/smart_campaign_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/smart_campaign_error.proto index 7940500d..5084278d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/smart_campaign_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/smart_campaign_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_format_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_format_error.proto index 34ef4ce3..ee8cea64 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_format_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_format_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_length_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_length_error.proto index d7babade..5ca9aedc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_length_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/string_length_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/third_party_app_analytics_link_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/third_party_app_analytics_link_error.proto index 63574cd3..f59ffdfa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/third_party_app_analytics_link_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/third_party_app_analytics_link_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/time_zone_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/time_zone_error.proto index 51d26cd3..bdd94825 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/time_zone_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/time_zone_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/url_field_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/url_field_error.proto index bb11c901..71121c3c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/url_field_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/url_field_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_data_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_data_error.proto index 58611d64..678e295b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_data_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_data_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_customer_type_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_customer_type_error.proto index 7d6780fa..d458639c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_customer_type_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_customer_type_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_error.proto index cf596308..53882523 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/user_list_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/video_campaign_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/video_campaign_error.proto index ee1534c8..0cde3acb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/video_campaign_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/video_campaign_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/youtube_video_registration_error.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/youtube_video_registration_error.proto index 15764d58..110b1e51 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/youtube_video_registration_error.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/errors/youtube_video_registration_error.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/accessible_bidding_strategy.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/accessible_bidding_strategy.proto index 90bd8a5b..449ff683 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/accessible_bidding_strategy.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/accessible_bidding_strategy.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget.proto index 40b44965..12d7be84 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget_proposal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget_proposal.proto index 5e15a186..4bbb49b9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget_proposal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_budget_proposal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_link.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_link.proto index 04a6db98..15fd09aa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_link.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/account_link.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad.proto index c762f08a..e3b33024 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group.proto index 954da69c..bf3296fd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -26,6 +26,8 @@ import "google/ads/googleads/v19/enums/ad_group_type.proto"; import "google/ads/googleads/v19/enums/asset_field_type.proto"; import "google/ads/googleads/v19/enums/asset_set_type.proto"; import "google/ads/googleads/v19/enums/bidding_source.proto"; +import "google/ads/googleads/v19/enums/demand_gen_channel_config.proto"; +import "google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto"; import "google/ads/googleads/v19/enums/targeting_dimension.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; @@ -56,6 +58,54 @@ message AdGroup { bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE]; } + // Settings for Demand Gen ad groups. + message DemandGenAdGroupSettings { + // Channel controls for Demand Gen ad groups. + message DemandGenChannelControls { + // Explicitly selected channels for channel controls in Demand Gen ad + // groups. + message DemandGenSelectedChannels { + // Whether to enable ads on the YouTube In-Stream channel. + bool youtube_in_stream = 1; + + // Whether to enable ads on the YouTube In-Feed channel. + bool youtube_in_feed = 2; + + // Whether to enable ads on the YouTube Shorts channel. + bool youtube_shorts = 3; + + // Whether to enable ads on the Discover channel. + bool discover = 4; + + // Whether to enable ads on the Gmail channel. + bool gmail = 5; + + // Whether to enable ads on the Display channel. + bool display = 6; + } + + // Output only. Channel configuration reflecting which field in the oneof + // is populated. + google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + .DemandGenChannelConfig channel_config = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Oneof between the different channel control configuration options. + oneof channel_configuration { + // High level channel strategy. + google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + .DemandGenChannelStrategy channel_strategy = 2; + + // Explicitly selected channels. This field should be set with at + // least one true value when present. + DemandGenSelectedChannels selected_channels = 3; + } + } + + // Channel controls for Demand Gen ad groups. + DemandGenChannelControls channel_controls = 1; + } + // Immutable. The resource name of the ad group. // Ad group resource names have the form: // @@ -254,4 +304,7 @@ message AdGroup { repeated google.ads.googleads.v19.enums.AdGroupPrimaryStatusReasonEnum .AdGroupPrimaryStatusReason primary_status_reasons = 63 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Settings for Demand Gen ad groups. + DemandGenAdGroupSettings demand_gen_ad_group_settings = 91; } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad.proto index 4ee8fc5f..29b54f24 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_combination_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_combination_view.proto index a81654d9..38e13f54 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_combination_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_combination_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_view.proto index 0685cf3b..bfadcd3f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_asset_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_label.proto index 915c9ef8..1a63bd42 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_ad_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset.proto index e4b29cd5..814f3d77 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset_set.proto index 26c771e7..3236a5ca 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_asset_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_audience_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_audience_view.proto index 26b10f24..348a036f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_audience_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_audience_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_bid_modifier.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_bid_modifier.proto index 094e5129..dc305144 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_bid_modifier.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_bid_modifier.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion.proto index 3d85b37e..10a603a5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_customizer.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_customizer.proto index 3b441cdb..4b9a7c2d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_customizer.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_customizer.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_label.proto index 3719b444..d7814dc7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_simulation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_simulation.proto index 86874f3e..c04a19ed 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_simulation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_criterion_simulation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_customizer.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_customizer.proto index c4306508..36fafd38 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_customizer.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_customizer.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_label.proto index b928c218..80a07975 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_simulation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_simulation.proto index 43af6fb1..5e8ceb3c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_simulation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_group_simulation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_parameter.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_parameter.proto index b70ae238..b73b6f63 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_parameter.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_parameter.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_schedule_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_schedule_view.proto index a57ac1d4..88f6a188 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_schedule_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/ad_schedule_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/age_range_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/age_range_view.proto index 8f010624..c3eb8c0b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/age_range_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/age_range_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_ad_group.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_ad_group.proto index e5132679..5cd3f132 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_ad_group.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_ad_group.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_campaign.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_campaign.proto index eee975f1..3ccf6e38 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_campaign.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_campaign.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_network_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_network_type.proto index 6417ad48..6dc37340 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_network_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/android_privacy_shared_key_google_network_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset.proto index 86a2ed5c..8e50272f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_field_type_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_field_type_view.proto index fd62939b..bf7c8a47 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_field_type_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_field_type_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group.proto index dbc5bee3..1636a98e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,6 +17,9 @@ syntax = "proto3"; package google.ads.googleads.v19.resources; import "google/ads/googleads/v19/enums/ad_strength.proto"; +import "google/ads/googleads/v19/enums/ad_strength_action_item_type.proto"; +import "google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto"; +import "google/ads/googleads/v19/enums/asset_field_type.proto"; import "google/ads/googleads/v19/enums/asset_group_primary_status.proto"; import "google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto"; import "google/ads/googleads/v19/enums/asset_group_status.proto"; @@ -39,6 +42,8 @@ message AssetGroup { option (google.api.resource) = { type: "googleads.googleapis.com/AssetGroup" pattern: "customers/{customer_id}/assetGroups/{asset_group_id}" + plural: "assetGroups" + singular: "assetGroup" }; // Immutable. The resource name of the asset group. @@ -105,4 +110,50 @@ message AssetGroup { // Output only. Overall ad strength of this asset group. google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength ad_strength = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The asset coverage of this asset group. + AssetCoverage asset_coverage = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Information about the asset coverage of an asset group. +message AssetCoverage { + // Output only. A list of action items to improve the ad strength of an asset + // group. + repeated AdStrengthActionItem ad_strength_action_items = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// An action item to improve the ad strength of an asset group. +message AdStrengthActionItem { + // The details of the asset to add. + message AddAssetDetails { + // Output only. The asset field type of the asset(s) to add. + google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType + asset_field_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The number of assets to add. + optional int32 asset_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. For video field types, the required aspect ratio of the + // video. When unset and asset_field_type is YOUTUBE_VIDEO, the system + // recommends the advertiser upload any YouTube video, regardless of aspect + // ratio. + optional google.ads.googleads.v19.enums + .AssetCoverageVideoAspectRatioRequirementEnum + .AssetCoverageVideoAspectRatioRequirement + video_aspect_ratio_requirement = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The action item type. + google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + .AdStrengthActionItemType action_item_type = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The details of this action item. + oneof action_details { + // Output only. The action item details for action item type ADD_ASSET. + AddAssetDetails add_asset_details = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_asset.proto index efc264d8..ec72b41f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_listing_group_filter.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_listing_group_filter.proto index b3ed372f..5abb4905 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_listing_group_filter.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_listing_group_filter.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_product_group_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_product_group_view.proto index 50ac0448..58eaa1ab 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_product_group_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_product_group_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_signal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_signal.proto index 7bd293e7..8e2e635b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_signal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_signal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_top_combination_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_top_combination_view.proto index 4cf57999..ce28e4bc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_top_combination_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_group_top_combination_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -31,7 +31,7 @@ option ruby_package = "Google::Ads::GoogleAds::V19::Resources"; // Proto file describing the asset group top combination view resource. -// A view on the usage of ad group ad asset combination. +// A view on the usage of asset group asset top combinations. message AssetGroupTopCombinationView { option (google.api.resource) = { type: "googleads.googleapis.com/AssetGroupTopCombinationView" diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set.proto index b6013d33..fd3f9012 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_asset.proto index e7ff16a6..76615664 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_type_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_type_view.proto index dcd65ceb..90cee1d5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_type_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/asset_set_type_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/audience.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/audience.proto index 06af8b7a..c528325d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/audience.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/audience.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/batch_job.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/batch_job.proto index 6f754140..f8771299 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/batch_job.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/batch_job.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_data_exclusion.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_data_exclusion.proto index c42e1237..ec3736f6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_data_exclusion.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_data_exclusion.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -32,7 +32,8 @@ option objc_class_prefix = "GAA"; option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Resources"; option ruby_package = "Google::Ads::GoogleAds::V19::Resources"; -// Represents a bidding data exclusion. Cannot be used in manager accounts. +// Represents a bidding data exclusion. Bidding data exclusions can be set in +// client accounts only, and cannot be used in manager accounts. // // See "About data exclusions" at // https://support.google.com/google-ads/answer/10370710. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_seasonality_adjustment.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_seasonality_adjustment.proto index 61eecb31..f4523e91 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_seasonality_adjustment.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_seasonality_adjustment.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy.proto index 5ee85cda..55cf97b7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy_simulation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy_simulation.proto index ae091021..00c322f2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy_simulation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/bidding_strategy_simulation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/billing_setup.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/billing_setup.proto index 117af96b..9d350a77 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/billing_setup.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/billing_setup.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/call_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/call_view.proto index c5da5844..a826d663 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/call_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/call_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign.proto index 373ae457..085ec56c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -328,6 +328,18 @@ message Campaign { VideoAdInventoryControl video_ad_inventory_control = 1; } + // Settings for Performance Max campaigns. + message PmaxCampaignSettings { + // Overrides of brand targeting for various ad types. + message BrandTargetingOverrides { + // If true, brand exclusions are ignored for Shopping ads. + optional bool ignore_exclusions_for_shopping_ads = 1; + } + + // Overrides of brand targeting for various ad types. + BrandTargetingOverrides brand_targeting_overrides = 1; + } + // Asset automation setting contains pair of AssetAutomationType and the // asset automation opt-in/out status message AssetAutomationSetting { @@ -457,6 +469,9 @@ message Campaign { // Settings for Video campaign. VideoCampaignSettings video_campaign_settings = 94; + // Settings for Performance Max campaign. + PmaxCampaignSettings pmax_campaign_settings = 97; + // Settings for Real-Time Bidding, a feature only available for campaigns // targeting the Ad Exchange network. google.ads.googleads.v19.common.RealTimeBiddingSetting diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_aggregate_asset_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_aggregate_asset_view.proto index daf0c618..3ff4efc3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_aggregate_asset_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_aggregate_asset_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset.proto index 0e9e5309..5431e514 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset_set.proto index 0f77a112..05074849 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_asset_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_audience_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_audience_view.proto index 82d04c5f..42eee835 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_audience_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_audience_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_bid_modifier.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_bid_modifier.proto index 8322e81c..e10c40c9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_bid_modifier.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_bid_modifier.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_budget.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_budget.proto index a87b84ed..2f8b5099 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_budget.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_budget.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_conversion_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_conversion_goal.proto index 81250baa..6289d1e4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_conversion_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_conversion_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_criterion.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_criterion.proto index 7178f865..7ad90e19 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_criterion.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_criterion.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_customizer.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_customizer.proto index d03098da..585cf962 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_customizer.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_customizer.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_draft.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_draft.proto index 221ee798..cccb43c4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_draft.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_draft.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_group.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_group.proto index e6c2c904..bd40efb9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_group.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_group.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_label.proto index 329dd7c7..9cb400ae 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_lifecycle_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_lifecycle_goal.proto index e37e4a60..3b73585c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_lifecycle_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_lifecycle_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_search_term_insight.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_search_term_insight.proto index 10b81418..d03283fe 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_search_term_insight.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_search_term_insight.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_shared_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_shared_set.proto index 39d4ca63..e6114d00 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_shared_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_shared_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_simulation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_simulation.proto index 85d6edea..ee3c5472 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_simulation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/campaign_simulation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -48,7 +48,7 @@ option ruby_package = "Google::Ads::GoogleAds::V19::Resources"; // * SHOPPING - TARGET_ROAS - UNIFORM // * MULTI_CHANNEL - TARGET_CPA - UNIFORM // * MULTI_CHANNEL - TARGET_ROAS - UNIFORM -// * DISCOVERY - TARGET_CPA - DEFAULT +// * DEMAND_GEN - TARGET_CPA - DEFAULT // * DISPLAY - TARGET_CPA - UNIFORM // * PERFORMANCE_MAX - TARGET_CPA - UNIFORM // * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/carrier_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/carrier_constant.proto index c06d4292..d4d94553 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/carrier_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/carrier_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_event.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_event.proto index c7785602..53501edd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_event.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_event.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_status.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_status.proto index b0089a8b..2d80050a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_status.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/change_status.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -176,4 +176,12 @@ message ChangeStatus { type: "googleads.googleapis.com/AssetGroup" } ]; + + // Output only. The CampaignBudget affected by this change. + string campaign_budget = 42 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/CampaignBudget" + } + ]; } diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/channel_aggregate_asset_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/channel_aggregate_asset_view.proto index 0e677556..5442f4c5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/channel_aggregate_asset_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/channel_aggregate_asset_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/click_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/click_view.proto index 26400d02..b705bc52 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/click_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/click_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/combined_audience.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/combined_audience.proto index 2498f6d9..aed1fc79 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/combined_audience.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/combined_audience.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/content_criterion_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/content_criterion_view.proto index c0612ef7..3f661b68 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/content_criterion_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/content_criterion_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_action.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_action.proto index 94047014..87a9e08b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_action.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_action.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_custom_variable.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_custom_variable.proto index c0ede116..dd01eee1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_custom_variable.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_custom_variable.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_goal_campaign_config.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_goal_campaign_config.proto index 9e55ab2e..df7b20c3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_goal_campaign_config.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_goal_campaign_config.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule.proto index 5918f5ec..8e6150a0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule_set.proto index 45213f4f..b1e3a377 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/conversion_value_rule_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/currency_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/currency_constant.proto index 742f7282..5df60633 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/currency_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/currency_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_audience.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_audience.proto index 6bd18141..0ec52dad 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_audience.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_audience.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_conversion_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_conversion_goal.proto index ba4d0c0f..2ec85d18 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_conversion_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_conversion_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_interest.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_interest.proto index 99c4abae..e8b7562a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_interest.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/custom_interest.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer.proto index 7f42719e..0240ed06 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -96,9 +96,9 @@ message Customer { // operation. CallReportingSetting call_reporting_setting = 10; - // Output only. Conversion tracking setting for a customer. + // Immutable. Conversion tracking setting for a customer. ConversionTrackingSetting conversion_tracking_setting = 14 - [(google.api.field_behavior) = OUTPUT_ONLY]; + [(google.api.field_behavior) = IMMUTABLE]; // Output only. Remarketing setting for a customer. RemarketingSetting remarketing_setting = 15 @@ -236,10 +236,10 @@ message ConversionTrackingSetting { bool enhanced_conversions_for_leads_enabled = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. The resource name of the customer where conversions are - // created and managed. This field is read-only. + // Immutable. The resource name of the customer where conversions are created + // and managed. This field is read-only. string google_ads_conversion_customer = 8 - [(google.api.field_behavior) = OUTPUT_ONLY]; + [(google.api.field_behavior) = IMMUTABLE]; } // Remarketing setting for a customer. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset.proto index c2ee6e41..df7448e4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset_set.proto index d5207402..c2875cb4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_asset_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client.proto index 3d51debf..fb2c83ad 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client_link.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client_link.proto index 3a344864..e7f51163 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client_link.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_client_link.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_conversion_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_conversion_goal.proto index ac0c54b7..629f3ae5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_conversion_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_conversion_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_customizer.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_customizer.proto index cf5a29b5..264f4547 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_customizer.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_customizer.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_label.proto index 51356841..be5bb2ea 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_lifecycle_goal.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_lifecycle_goal.proto index 502116a3..51bd1e31 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_lifecycle_goal.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_lifecycle_goal.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_manager_link.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_manager_link.proto index 6a5a60cb..6b4d0bd0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_manager_link.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_manager_link.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_negative_criterion.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_negative_criterion.proto index df618cd7..c7de80d5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_negative_criterion.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_negative_criterion.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_search_term_insight.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_search_term_insight.proto index 5ee84603..4c4594ec 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_search_term_insight.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_search_term_insight.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_sk_ad_network_conversion_value_schema.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_sk_ad_network_conversion_value_schema.proto index b70e9b5d..828557dc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_sk_ad_network_conversion_value_schema.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_sk_ad_network_conversion_value_schema.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access.proto index 97ffc46e..e6e496a2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access_invitation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access_invitation.proto index b65e4b39..e73e2f3c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access_invitation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customer_user_access_invitation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customizer_attribute.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customizer_attribute.proto index afee3097..552e594d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customizer_attribute.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/customizer_attribute.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/data_link.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/data_link.proto index bf7db554..efba23c7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/data_link.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/data_link.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detail_placement_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detail_placement_view.proto index 94060a8f..58f6862f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detail_placement_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detail_placement_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detailed_demographic.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detailed_demographic.proto index 904a28c0..8e47b8a4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detailed_demographic.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/detailed_demographic.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/display_keyword_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/display_keyword_view.proto index 2eb1b3f1..41ba4ddd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/display_keyword_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/display_keyword_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/distance_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/distance_view.proto index 96e62d40..52902c8c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/distance_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/distance_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/domain_category.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/domain_category.proto index 582f7867..cdb24631 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/domain_category.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/domain_category.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/dynamic_search_ads_search_term_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/dynamic_search_ads_search_term_view.proto index 9049b142..91253359 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/dynamic_search_ads_search_term_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/dynamic_search_ads_search_term_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/expanded_landing_page_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/expanded_landing_page_view.proto index ca0dd0e7..6e6d10c6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/expanded_landing_page_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/expanded_landing_page_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment.proto index de5ba94a..dcf02c08 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment_arm.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment_arm.proto index 8105f892..bc34e498 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment_arm.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/experiment_arm.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/gender_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/gender_view.proto index a1590130..1175d3c8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/gender_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/gender_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geo_target_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geo_target_constant.proto index 882a9626..abef354f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geo_target_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geo_target_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geographic_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geographic_view.proto index 3de95dc6..c8f4e4ac 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geographic_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/geographic_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/google_ads_field.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/google_ads_field.proto index 30aa3024..017f5a57 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/google_ads_field.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/google_ads_field.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/group_placement_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/group_placement_view.proto index d1360e60..908c3a36 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/group_placement_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/group_placement_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_group_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_group_view.proto index 9fc93a17..dc6f6863 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_group_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_group_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_performance_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_performance_view.proto index 87e324dc..c727c49e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_performance_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_performance_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_reconciliation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_reconciliation.proto index e0b7e19d..a66201af 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_reconciliation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/hotel_reconciliation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/income_range_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/income_range_view.proto index 2214ed35..c7d5da87 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/income_range_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/income_range_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/invoice.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/invoice.proto index c25ae79b..acc091ab 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/invoice.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/invoice.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan.proto index babe0a37..3cf8ce04 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group.proto index 8dc705f2..a249206c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group_keyword.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group_keyword.proto index 5e56e3af..db8603ba 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group_keyword.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_ad_group_keyword.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign.proto index 2cafe234..bb2103f7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign_keyword.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign_keyword.proto index e5fd67b3..5ee2560a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign_keyword.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_plan_campaign_keyword.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_theme_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_theme_constant.proto index a6231f09..e3a050c7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_theme_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_theme_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_view.proto index 1279330d..535e4629 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/keyword_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/label.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/label.proto index dc7c8903..a1823210 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/label.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/label.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/landing_page_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/landing_page_view.proto index e5b175fd..5fc43043 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/landing_page_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/landing_page_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/language_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/language_constant.proto index 6552902e..490573ab 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/language_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/language_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/lead_form_submission_data.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/lead_form_submission_data.proto index 99c93347..90d904e6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/lead_form_submission_data.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/lead_form_submission_data.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/life_event.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/life_event.proto index a18b2c2a..7196a369 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/life_event.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/life_event.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_employee.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_employee.proto index d13ee897..15a2aa9f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_employee.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_employee.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead.proto index 0525c62e..8627743f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -99,6 +99,9 @@ message LocalServicesLead { // Output only. Credit details of the lead. optional CreditDetails credit_details = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. True if the advertiser submitted feedback for the lead. + bool lead_feedback_submitted = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Fields containing consumer contact details. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead_conversation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead_conversation.proto index 8dcb215a..08e19391 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead_conversation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_lead_conversation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_verification_artifact.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_verification_artifact.proto index 85dcb0de..94ee194b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_verification_artifact.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/local_services_verification_artifact.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/location_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/location_view.proto index 05f6c8c4..0a2fd5eb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/location_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/location_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/managed_placement_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/managed_placement_view.proto index 60e99e2f..722f3894 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/managed_placement_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/managed_placement_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/media_file.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/media_file.proto index e2a24f31..468e831d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/media_file.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/media_file.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_app_category_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_app_category_constant.proto index 5a916781..39439253 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_app_category_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_app_category_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_device_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_device_constant.proto index 945a1b9e..2e07df2d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_device_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/mobile_device_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_client_summary.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_client_summary.proto index 0ac8081c..e18d5ef0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_client_summary.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_client_summary.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_conversion_action_summary.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_conversion_action_summary.proto index e6a3d16e..02be66b2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_conversion_action_summary.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_conversion_upload_conversion_action_summary.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_user_data_job.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_user_data_job.proto index 7a13e9c2..7d65e431 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_user_data_job.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/offline_user_data_job.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/operating_system_version_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/operating_system_version_constant.proto index 67816a7a..9f17e23a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/operating_system_version_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/operating_system_version_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/paid_organic_search_term_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/paid_organic_search_term_view.proto index 9405883c..71b4f295 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/paid_organic_search_term_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/paid_organic_search_term_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/parental_status_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/parental_status_view.proto index cc71e746..6d5e0569 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/parental_status_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/parental_status_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/payments_account.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/payments_account.proto index 3245562e..3d9efa1c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/payments_account.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/payments_account.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/per_store_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/per_store_view.proto index b1bae733..98aa2cc3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/per_store_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/per_store_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/performance_max_placement_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/performance_max_placement_view.proto index 282b0ddc..fb96b9b4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/performance_max_placement_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/performance_max_placement_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_category_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_category_constant.proto index 8c19a2fa..04e8415c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_category_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_category_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_group_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_group_view.proto index 6a6ef500..43436290 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_group_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_group_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link.proto index 3a768dfb..78942035 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link_invitation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link_invitation.proto index 1da474e5..5feff8ef 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link_invitation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/product_link_invitation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/qualifying_question.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/qualifying_question.proto index 74904064..9260014a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/qualifying_question.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/qualifying_question.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation.proto index 209cf5f5..cce272d0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -537,6 +537,10 @@ message Recommendation { message ImprovePerformanceMaxAdStrengthRecommendation { // Output only. The asset group resource name. string asset_group = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current ad strength score of the asset group. + google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength ad_strength = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Dynamic Search Ads to Performance Max migration recommendation. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation_subscription.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation_subscription.proto index 8f533a24..d2436a2a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation_subscription.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/recommendation_subscription.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/remarketing_action.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/remarketing_action.proto index bed05dd8..d21f80f5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/remarketing_action.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/remarketing_action.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/search_term_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/search_term_view.proto index 0ee7eca1..444393b6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/search_term_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/search_term_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_criterion.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_criterion.proto index 28b81a56..c1e1bda3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_criterion.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_criterion.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_set.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_set.proto index 769212f6..102c0194 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_set.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shared_set.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_performance_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_performance_view.proto index 2f3b6806..cce9d77b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_performance_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_performance_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_product.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_product.proto index bec40953..1d7b381c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_product.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/shopping_product.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_search_term_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_search_term_view.proto index 005688d3..65b07249 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_search_term_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_search_term_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_setting.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_setting.proto index 3146319f..654e56fb 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_setting.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/smart_campaign_setting.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/third_party_app_analytics_link.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/third_party_app_analytics_link.proto index 108923f5..f18a9ed8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/third_party_app_analytics_link.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/third_party_app_analytics_link.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_constant.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_constant.proto index 3826c2d2..2702d54d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_constant.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_constant.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_view.proto index c5df05f8..0f5478f3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/topic_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_group_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_group_view.proto index 2ae00685..398b305c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_group_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_group_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_performance_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_performance_view.proto index 992606da..ca1b8a7f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_performance_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/travel_activity_performance_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_interest.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_interest.proto index 83101e88..cb955a52 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_interest.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_interest.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list.proto index da16acee..c16763c7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -85,7 +85,8 @@ message UserList { // Number of days a user's cookie stays on your list since its most recent // addition to the list. This field must be between 0 and 540 inclusive. // However, for CRM based userlists, this field can be set to 10000 which - // means no expiration. + // means no expiration. Beginning on April 7, 2025, using a value of 10000 to + // indicate no expiration will no longer be supported. // // This field is ignored for logical_user_list and rule_based_user_list types. // Membership to lists of these types depends on the rules defined by the diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list_customer_type.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list_customer_type.proto index 60f19a6f..7c66d098 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list_customer_type.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_list_customer_type.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_location_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_location_view.proto index 5bcad686..c8347033 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_location_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/user_location_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/video.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/video.proto index 8ae2b67e..927c5b1b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/video.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/video.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/webpage_view.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/webpage_view.proto index cad12500..833d6407 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/webpage_view.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/resources/webpage_view.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_budget_proposal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_budget_proposal_service.proto index 3f9f92d1..bcb4018b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_budget_proposal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_budget_proposal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_link_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_link_service.proto index 9976a39b..a0a7e381 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_link_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/account_link_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_label_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_label_service.proto index f3297172..b9fb3d33 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_label_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_label_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_service.proto index 1689c198..1a76422d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_ad_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_service.proto index c75fe9d8..d5a01781 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_set_service.proto index be538e82..9e256669 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_asset_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_bid_modifier_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_bid_modifier_service.proto index c4cd1da5..2f8f45e5 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_bid_modifier_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_bid_modifier_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_customizer_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_customizer_service.proto index 7ab9c11d..7e11e463 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_customizer_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_customizer_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_label_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_label_service.proto index a28515e9..74f5dcee 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_label_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_label_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_service.proto index 9047c65f..ece28bd6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_criterion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_customizer_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_customizer_service.proto index cd6a2687..e36270bc 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_customizer_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_customizer_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_label_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_label_service.proto index 9c904183..6fddc312 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_label_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_label_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_service.proto index 77a1f520..e0560ae2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_group_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_parameter_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_parameter_service.proto index 6ae60176..7f450adf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_parameter_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_parameter_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_service.proto index 0da99547..87a9d492 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/ad_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_asset_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_asset_service.proto index 9ddbab53..c9db6a8f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_asset_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_listing_group_filter_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_listing_group_filter_service.proto index e966ed2a..3af9d4aa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_listing_group_filter_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_listing_group_filter_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_service.proto index fb370f9c..4ab76ba7 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_signal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_signal_service.proto index a3fc89bd..a42430c1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_signal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_group_signal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_service.proto index 5d1f79f8..185be0ad 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_asset_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_asset_service.proto index 2b92a424..73fbaccf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_asset_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_service.proto index 9b720b73..3b46826d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/asset_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_insights_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_insights_service.proto index 8d2eb3e3..54232a67 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_insights_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_insights_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_service.proto index 44813b3a..9b4911a1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/audience_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/batch_job_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/batch_job_service.proto index c8b40a24..e93c0495 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/batch_job_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/batch_job_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_data_exclusion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_data_exclusion_service.proto index c39da9ee..26f76764 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_data_exclusion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_data_exclusion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -102,7 +102,7 @@ message BiddingDataExclusionOperation { } } -// Response message for data exlusions mutate. +// Response message for data exclusions mutate. message MutateBiddingDataExclusionsResponse { // Errors that pertain to operation failures in the partial failure mode. // Returned only when partial_failure = true and all errors occur inside the diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_seasonality_adjustment_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_seasonality_adjustment_service.proto index 57efa929..8c321014 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_seasonality_adjustment_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_seasonality_adjustment_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_strategy_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_strategy_service.proto index bf173adb..54139b08 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_strategy_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/bidding_strategy_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/billing_setup_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/billing_setup_service.proto index b8390932..451126fe 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/billing_setup_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/billing_setup_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/brand_suggestion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/brand_suggestion_service.proto index 5b422426..192d3dac 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/brand_suggestion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/brand_suggestion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_service.proto index 039ccb97..0b64ff5e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_set_service.proto index 54e4ca73..51544b04 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_asset_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_bid_modifier_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_bid_modifier_service.proto index 5aa6e001..564452fd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_bid_modifier_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_bid_modifier_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_budget_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_budget_service.proto index 1c9244f4..9279ca74 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_budget_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_budget_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_conversion_goal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_conversion_goal_service.proto index 6fad3f87..faf4a544 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_conversion_goal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_conversion_goal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_criterion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_criterion_service.proto index f42c769e..60370900 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_criterion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_criterion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_customizer_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_customizer_service.proto index 9de922bc..677b4d0b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_customizer_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_customizer_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_draft_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_draft_service.proto index 107302cd..843bf1c3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_draft_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_draft_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_group_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_group_service.proto index 1d21611f..8cf31d5e 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_group_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_group_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_label_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_label_service.proto index ae4e4d94..ad441ec9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_label_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_label_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_lifecycle_goal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_lifecycle_goal_service.proto index dd114dad..7accf117 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_lifecycle_goal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_lifecycle_goal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_service.proto index 1d01b613..cc856de4 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_shared_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_shared_set_service.proto index 35914abb..f5b5a8b6 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_shared_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/campaign_shared_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/content_creator_insights_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/content_creator_insights_service.proto index f48ad615..6cc29f2a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/content_creator_insights_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/content_creator_insights_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_action_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_action_service.proto index 1ac2cef8..7f575dc9 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_action_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_action_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_adjustment_upload_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_adjustment_upload_service.proto index 594d16f7..46d8bedf 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_adjustment_upload_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_adjustment_upload_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_custom_variable_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_custom_variable_service.proto index 60acd6e9..cd188b6b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_custom_variable_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_custom_variable_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_goal_campaign_config_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_goal_campaign_config_service.proto index 35895576..61903103 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_goal_campaign_config_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_goal_campaign_config_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_upload_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_upload_service.proto index ff3d3d4a..3cc0fd84 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_upload_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_upload_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package google.ads.googleads.v19.services; import "google/ads/googleads/v19/common/consent.proto"; import "google/ads/googleads/v19/common/offline_user_data.proto"; +import "google/ads/googleads/v19/enums/conversion_customer_type.proto"; import "google/ads/googleads/v19/enums/conversion_environment_enum.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; @@ -250,6 +251,23 @@ message ClickConversion { // The consent setting for the event. google.ads.googleads.v19.common.Consent consent = 23; + + // Type of the customer associated with the conversion (new or returning). + // Accessible only to customers on the allow-list. + google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + .ConversionCustomerType customer_type = 26; + + // The session attributes for the event. + oneof session_attributes { + // The session attributes for the event, represented as a base64-encoded + // JSON string. The content should be generated by Google-provided library. + // To set session attributes individually, use + // session_attributes_key_value_pairs instead. + bytes session_attributes_encoded = 24; + + // The session attributes for the event, represented as key-value pairs. + SessionAttributesKeyValuePairs session_attributes_key_value_pairs = 25; + } } // A call conversion. @@ -393,3 +411,20 @@ message CartData { // Data of the items purchased. repeated Item items = 5; } + +// Contains one session attribute of the conversion. +message SessionAttributeKeyValuePair { + // Required. The name of the session attribute. + string session_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The value of the session attribute. + string session_attribute_value = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Contains session attributes of the conversion, represented as key-value +// pairs. +message SessionAttributesKeyValuePairs { + // Required. The session attributes for the conversion. + repeated SessionAttributeKeyValuePair key_value_pairs = 1 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_service.proto index 6070705c..7ef02e3b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_set_service.proto index c9b091e1..60fe2208 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/conversion_value_rule_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_audience_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_audience_service.proto index ee340345..576d6800 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_audience_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_audience_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_conversion_goal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_conversion_goal_service.proto index 286efd80..2640295b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_conversion_goal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_conversion_goal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_interest_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_interest_service.proto index b9c9d5e8..2ab0f8aa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_interest_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/custom_interest_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_service.proto index c762f605..9d0fa110 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_set_service.proto index 1cb7bd86..cb2c567a 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_asset_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_client_link_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_client_link_service.proto index b07fce9c..5b15443b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_client_link_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_client_link_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_conversion_goal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_conversion_goal_service.proto index d5cf33b0..ba49cc6f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_conversion_goal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_conversion_goal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_customizer_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_customizer_service.proto index 12b0347d..c993c67f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_customizer_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_customizer_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_label_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_label_service.proto index a20f5604..39cd4bee 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_label_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_label_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_lifecycle_goal_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_lifecycle_goal_service.proto index 081158b6..63a2c1c3 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_lifecycle_goal_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_lifecycle_goal_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_manager_link_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_manager_link_service.proto index 9ed7c3aa..f814f570 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_manager_link_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_manager_link_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_negative_criterion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_negative_criterion_service.proto index 2e2bc9de..cf12c028 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_negative_criterion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_negative_criterion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_service.proto index c2ab626a..3c0a0378 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_sk_ad_network_conversion_value_schema_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_sk_ad_network_conversion_value_schema_service.proto index 06eb21e3..8ac45937 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_sk_ad_network_conversion_value_schema_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_sk_ad_network_conversion_value_schema_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_invitation_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_invitation_service.proto index 192ee9e4..fbef11d2 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_invitation_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_invitation_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_service.proto index b655c657..2b5e3e85 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customer_user_access_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customizer_attribute_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customizer_attribute_service.proto index 1a33e27d..b1c46c6f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customizer_attribute_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/customizer_attribute_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/data_link_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/data_link_service.proto index 884d9550..46718a75 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/data_link_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/data_link_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_arm_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_arm_service.proto index 1a3a1f16..75ec105d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_arm_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_arm_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_service.proto index 5a20d5cd..d5c89d7c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/experiment_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/geo_target_constant_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/geo_target_constant_service.proto index b609720a..a99034cd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/geo_target_constant_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/geo_target_constant_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_field_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_field_service.proto index bb748bdd..32c66d66 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_field_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_field_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_service.proto index 0ad6c706..624fe951 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/google_ads_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/identity_verification_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/identity_verification_service.proto index b17304ec..65975017 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/identity_verification_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/identity_verification_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/invoice_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/invoice_service.proto index 9b6a4cca..7b552867 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/invoice_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/invoice_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_keyword_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_keyword_service.proto index 06894a3e..5c52e0cd 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_keyword_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_keyword_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_service.proto index 83ff88e6..831bdb75 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_ad_group_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_keyword_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_keyword_service.proto index 9793ee7e..66ebb8e0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_keyword_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_keyword_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_service.proto index 6555dd82..314dddd8 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_campaign_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_idea_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_idea_service.proto index c7c85c28..5149e991 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_idea_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_idea_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_service.proto index 19081dec..39c61433 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_plan_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_theme_constant_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_theme_constant_service.proto index 03b2b138..ef34a8aa 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_theme_constant_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/keyword_theme_constant_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/label_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/label_service.proto index f6d46a15..2190816d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/label_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/label_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/local_services_lead_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/local_services_lead_service.proto index 7363ade5..722e5a28 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/local_services_lead_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/local_services_lead_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,6 +16,10 @@ syntax = "proto3"; package google.ads.googleads.v19.services; +import "google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto"; +import "google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto"; +import "google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto"; +import "google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; @@ -46,6 +50,15 @@ service LocalServicesLeadService { }; option (google.api.method_signature) = "customer_id,conversations"; } + + // RPC to provide feedback on Local Services Lead resources. + rpc ProvideLeadFeedback(ProvideLeadFeedbackRequest) + returns (ProvideLeadFeedbackResponse) { + option (google.api.http) = { + post: "/v19/{resource_name=customers/*/localServicesLeads/*}:provideLeadFeedback" + body: "*" + }; + } } // Request message for @@ -94,3 +107,64 @@ message ConversationOrError { google.rpc.Status partial_failure_error = 2; } } + +// Details about various factors for being satisfied with the lead. +message SurveySatisfied { + // Required. Provider's reason for being satisfied with the lead. + google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + .SurveySatisfiedReason survey_satisfied_reason = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Provider's free form comments. This field is required when + // OTHER_SATISFIED_REASON is selected as the reason. + string other_reason_comment = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Details about various factors for not being satisfied with the lead. +message SurveyDissatisfied { + // Required. Provider's reason for not being satisfied with the lead. + google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + .SurveyDissatisfiedReason survey_dissatisfied_reason = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. Provider's free form comments. This field is required when + // OTHER_DISSATISFIED_REASON is selected as the reason. + string other_reason_comment = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for +// [LocalServicesLeadService.ProvideLeadFeedback][google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedback]. +message ProvideLeadFeedbackRequest { + // Required. The resource name of the local services lead that for which the + // feedback is being provided. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/LocalServicesLead" + } + ]; + + // Required. Survey answer for Local Services Ads Lead. + google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer + survey_answer = 2 [(google.api.field_behavior) = REQUIRED]; + + // Details about various factors for being satisfied or dissatisfied with the + // lead. + oneof survey_details { + // Details about various factors for being satisfied with the lead. + SurveySatisfied survey_satisfied = 3; + + // Details about various factors for not being satisfied with the lead. + SurveyDissatisfied survey_dissatisfied = 4; + } +} + +// Response message for +// [LocalServicesLeadService.ProvideLeadFeedback][google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedback]. +message ProvideLeadFeedbackResponse { + // Required. Decision of bonus credit issued or rejected. If a bonus credit is + // issued, it will be available for use in about two months. + google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + .CreditIssuanceDecision credit_issuance_decision = 1 + [(google.api.field_behavior) = REQUIRED]; +} diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/offline_user_data_job_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/offline_user_data_job_service.proto index 37056511..f094453b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/offline_user_data_job_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/offline_user_data_job_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/payments_account_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/payments_account_service.proto index 38f06cc7..bb58791d 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/payments_account_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/payments_account_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_invitation_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_invitation_service.proto index 86f918c1..d775921c 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_invitation_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_invitation_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_service.proto index dd30c547..93702169 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/product_link_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/reach_plan_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/reach_plan_service.proto index 354659cd..a4a4b94b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/reach_plan_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/reach_plan_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import "google/ads/googleads/v19/common/criteria.proto"; import "google/ads/googleads/v19/common/dates.proto"; import "google/ads/googleads/v19/enums/frequency_cap_time_unit.proto"; import "google/ads/googleads/v19/enums/reach_plan_age_range.proto"; +import "google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto"; import "google/ads/googleads/v19/enums/reach_plan_network.proto"; import "google/ads/googleads/v19/enums/reach_plan_surface.proto"; import "google/ads/googleads/v19/enums/target_frequency_time_unit.proto"; @@ -47,6 +48,25 @@ service ReachPlanService { option (google.api.default_host) = "googleads.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; + // Returns a collection of conversion rate suggestions for supported plannable + // products. + // + // List of thrown errors: + // [AuthenticationError]() + // [AuthorizationError]() + // [HeaderError]() + // [InternalError]() + // [QuotaError]() + // [RequestError]() + rpc GenerateConversionRates(GenerateConversionRatesRequest) + returns (GenerateConversionRatesResponse) { + option (google.api.http) = { + post: "/v19:generateConversionRates" + body: "*" + }; + option (google.api.method_signature) = "customer_id"; + } + // Returns the list of plannable locations (for example, countries). // // List of thrown errors: @@ -106,6 +126,42 @@ service ReachPlanService { } } +// Request message for +// [ReachPlanService.GenerateConversionRates][google.ads.googleads.v19.services.ReachPlanService.GenerateConversionRates]. +message GenerateConversionRatesRequest { + // Required. The ID of the customer. A conversion rate based on the historical + // data of this customer may be suggested. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // The name of the customer being planned for. This is a user-defined value. + optional string customer_reach_group = 2; +} + +// Response message for +// [ReachPlanService.GenerateConversionRates][google.ads.googleads.v19.services.ReachPlanService.GenerateConversionRates], +// containing conversion rate suggestions for supported plannable products. +message GenerateConversionRatesResponse { + // A list containing conversion rate suggestions. Each repeated element will + // have an associated product code. Multiple suggestions may share the same + // product code. + repeated ConversionRateSuggestion conversion_rate_suggestions = 1; +} + +// A conversion rate suggestion. +message ConversionRateSuggestion { + // Model type used to calculate the suggested conversion rate. + google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + .ReachPlanConversionRateModel conversion_rate_model = 1; + + // The code associated with the plannable product (for example: DEMAND_GEN). + // To list all plannable product codes, use + // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v19.services.ReachPlanService.ListPlannableProducts]. + string plannable_product_code = 2; + + // The suggested conversion rate. The value is between 0 and 1 (exclusive). + double conversion_rate = 3; +} + // Request message for // [ReachPlanService.ListPlannableLocations][google.ads.googleads.v19.services.ReachPlanService.ListPlannableLocations]. message ListPlannableLocationsRequest {} @@ -372,6 +428,13 @@ message PlannedProduct { // For example: 1 000 000$ = 1 000 000 000 000 micros. optional int64 budget_micros = 4 [(google.api.field_behavior) = REQUIRED]; + // Conversion rate as a decimal between 0 and 1, exclusive. + // For example: if 2% of ad interactions are expected to lead to conversions, + // conversion_rate should be 0.02. + // This field is required for DEMAND_GEN plannable products. It is not + // supported for other plannable products. + optional double conversion_rate = 6; + // Targeting settings for the selected product. // To list the available targeting for each product use // [ReachPlanService.ListPlannableProducts][google.ads.googleads.v19.services.ReachPlanService.ListPlannableProducts]. @@ -472,6 +535,13 @@ message Forecast { // See https://support.google.com/google-ads/answer/2375431 for // more information on views. optional int64 views = 15; + + // The number of conversions. + // This metric is only available for DEMAND_GEN plannable products. + // + // See https://support.google.com/google-ads/answer/2375431 for + // more information on conversions. + optional double conversions = 16; } // The forecasted allocation and traffic metrics for a specific product @@ -554,6 +624,13 @@ message PlannedProductForecast { // See https://support.google.com/google-ads/answer/2375431 for // more information on views. optional int64 views = 11; + + // The number of conversions. + // This metric is only available for DEMAND_GEN plannable products. + // + // See https://support.google.com/google-ads/answer/2375431 for + // more information on conversions. + optional double conversions = 12; } // Audience metrics for the planned products. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_service.proto index a157be00..d1a99448 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_subscription_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_subscription_service.proto index 2ce079a4..90387483 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_subscription_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/recommendation_subscription_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/remarketing_action_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/remarketing_action_service.proto index c73f881e..987a309f 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/remarketing_action_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/remarketing_action_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shareable_preview_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shareable_preview_service.proto index e568aed5..97718e00 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shareable_preview_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shareable_preview_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_criterion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_criterion_service.proto index d4d28f48..d8faa589 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_criterion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_criterion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_set_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_set_service.proto index d4862ead..8d2a7535 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_set_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/shared_set_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_setting_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_setting_service.proto index c8b05bba..307c9f29 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_setting_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_setting_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_suggest_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_suggest_service.proto index e8b7a5a4..23f8a15b 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_suggest_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/smart_campaign_suggest_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/third_party_app_analytics_link_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/third_party_app_analytics_link_service.proto index 793b87d1..4686faa0 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/third_party_app_analytics_link_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/third_party_app_analytics_link_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/travel_asset_suggestion_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/travel_asset_suggestion_service.proto index 150c1801..fa4da9c1 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/travel_asset_suggestion_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/travel_asset_suggestion_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_data_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_data_service.proto index be3ab27e..c75bfe75 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_data_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_data_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_customer_type_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_customer_type_service.proto index ffeed85f..36ebb960 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_customer_type_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_customer_type_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_service.proto b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_service.proto index 4c4830c0..e585b359 100644 --- a/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_service.proto +++ b/package/googleads-nodejs/protos/google/ads/googleads/v19/services/user_list_service.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/package/googleads-nodejs/protos/protos.d.ts b/package/googleads-nodejs/protos/protos.d.ts index fc764acd..727ff088 100644 --- a/package/googleads-nodejs/protos/protos.d.ts +++ b/package/googleads-nodejs/protos/protos.d.ts @@ -3471,7 +3471,7 @@ export namespace google { image_asset?: (google.ads.googleads.v19.common.IAdImageAsset|null); /** ImageAdInfo data */ - data?: (Uint8Array|string|null); + data?: (Uint8Array|Buffer|string|null); /** ImageAdInfo ad_id_to_copy_image_from */ ad_id_to_copy_image_from?: (number|null); @@ -3514,7 +3514,7 @@ export namespace google { public image_asset?: (google.ads.googleads.v19.common.IAdImageAsset|null); /** ImageAdInfo data. */ - public data?: (Uint8Array|string|null); + public data?: (Uint8Array|Buffer|string|null); /** ImageAdInfo ad_id_to_copy_image_from. */ public ad_id_to_copy_image_from?: (number|null); @@ -4145,6 +4145,97 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a YouTubeAudioAdInfo. */ + interface IYouTubeAudioAdInfo { + } + + /** Represents a YouTubeAudioAdInfo. */ + class YouTubeAudioAdInfo implements IYouTubeAudioAdInfo { + + /** + * Constructs a new YouTubeAudioAdInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.common.IYouTubeAudioAdInfo); + + /** + * Creates a new YouTubeAudioAdInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns YouTubeAudioAdInfo instance + */ + public static create(properties?: google.ads.googleads.v19.common.IYouTubeAudioAdInfo): google.ads.googleads.v19.common.YouTubeAudioAdInfo; + + /** + * Encodes the specified YouTubeAudioAdInfo message. Does not implicitly {@link google.ads.googleads.v19.common.YouTubeAudioAdInfo.verify|verify} messages. + * @param message YouTubeAudioAdInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.common.IYouTubeAudioAdInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified YouTubeAudioAdInfo message, length delimited. Does not implicitly {@link google.ads.googleads.v19.common.YouTubeAudioAdInfo.verify|verify} messages. + * @param message YouTubeAudioAdInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.common.IYouTubeAudioAdInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a YouTubeAudioAdInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns YouTubeAudioAdInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.common.YouTubeAudioAdInfo; + + /** + * Decodes a YouTubeAudioAdInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns YouTubeAudioAdInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.common.YouTubeAudioAdInfo; + + /** + * Verifies a YouTubeAudioAdInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a YouTubeAudioAdInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns YouTubeAudioAdInfo + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.common.YouTubeAudioAdInfo; + + /** + * Creates a plain object from a YouTubeAudioAdInfo message. Also converts values to other types if specified. + * @param message YouTubeAudioAdInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.common.YouTubeAudioAdInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this YouTubeAudioAdInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for YouTubeAudioAdInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a VideoAdInfo. */ interface IVideoAdInfo { @@ -4165,6 +4256,9 @@ export namespace google { /** VideoAdInfo in_feed */ in_feed?: (google.ads.googleads.v19.common.IInFeedVideoAdInfo|null); + + /** VideoAdInfo audio */ + audio?: (google.ads.googleads.v19.common.IYouTubeAudioAdInfo|null); } /** Represents a VideoAdInfo. */ @@ -4194,8 +4288,11 @@ export namespace google { /** VideoAdInfo in_feed. */ public in_feed?: (google.ads.googleads.v19.common.IInFeedVideoAdInfo|null); + /** VideoAdInfo audio. */ + public audio?: (google.ads.googleads.v19.common.IYouTubeAudioAdInfo|null); + /** VideoAdInfo format. */ - public format?: ("in_stream"|"bumper"|"out_stream"|"non_skippable"|"in_feed"); + public format?: ("in_stream"|"bumper"|"out_stream"|"non_skippable"|"in_feed"|"audio"); /** * Creates a new VideoAdInfo instance using the specified properties. @@ -7727,7 +7824,7 @@ export namespace google { interface IMediaBundleAsset { /** MediaBundleAsset data */ - data?: (Uint8Array|string|null); + data?: (Uint8Array|Buffer|string|null); } /** Represents a MediaBundleAsset. */ @@ -7740,7 +7837,7 @@ export namespace google { constructor(properties?: google.ads.googleads.v19.common.IMediaBundleAsset); /** MediaBundleAsset data. */ - public data?: (Uint8Array|string|null); + public data?: (Uint8Array|Buffer|string|null); /** * Creates a new MediaBundleAsset instance using the specified properties. @@ -7824,7 +7921,7 @@ export namespace google { interface IImageAsset { /** ImageAsset data */ - data?: (Uint8Array|string|null); + data?: (Uint8Array|Buffer|string|null); /** ImageAsset file_size */ file_size?: (number|null); @@ -7846,7 +7943,7 @@ export namespace google { constructor(properties?: google.ads.googleads.v19.common.IImageAsset); /** ImageAsset data. */ - public data?: (Uint8Array|string|null); + public data?: (Uint8Array|Buffer|string|null); /** ImageAsset file_size. */ public file_size?: (number|null); @@ -28284,6 +28381,9 @@ export namespace google { /** Metrics biddable_app_post_install_conversions */ biddable_app_post_install_conversions?: (number|null); + /** Metrics biddable_cohort_app_post_install_conversions */ + biddable_cohort_app_post_install_conversions?: (number|null); + /** Metrics benchmark_ctr */ benchmark_ctr?: (number|null); @@ -28778,6 +28878,12 @@ export namespace google { /** Metrics video_view_rate_shorts */ video_view_rate_shorts?: (number|null); + + /** Metrics coviewed_impressions */ + coviewed_impressions?: (number|null); + + /** Metrics primary_impressions */ + primary_impressions?: (number|null); } /** Represents a Metrics. */ @@ -28906,6 +29012,9 @@ export namespace google { /** Metrics biddable_app_post_install_conversions. */ public biddable_app_post_install_conversions?: (number|null); + /** Metrics biddable_cohort_app_post_install_conversions. */ + public biddable_cohort_app_post_install_conversions?: (number|null); + /** Metrics benchmark_ctr. */ public benchmark_ctr?: (number|null); @@ -29401,6 +29510,12 @@ export namespace google { /** Metrics video_view_rate_shorts. */ public video_view_rate_shorts?: (number|null); + /** Metrics coviewed_impressions. */ + public coviewed_impressions?: (number|null); + + /** Metrics primary_impressions. */ + public primary_impressions?: (number|null); + /** * Creates a new Metrics instance using the specified properties. * @param [properties] Properties to set @@ -31657,6 +31772,12 @@ export namespace google { /** Segments new_versus_returning_customers */ new_versus_returning_customers?: (google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket|keyof typeof google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket|null); + + /** Segments adjusted_age_range */ + adjusted_age_range?: (google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType|keyof typeof google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType|null); + + /** Segments adjusted_gender */ + adjusted_gender?: (google.ads.googleads.v19.enums.GenderTypeEnum.GenderType|keyof typeof google.ads.googleads.v19.enums.GenderTypeEnum.GenderType|null); } /** Represents a Segments. */ @@ -32001,6 +32122,12 @@ export namespace google { /** Segments new_versus_returning_customers. */ public new_versus_returning_customers: (google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket|keyof typeof google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket); + /** Segments adjusted_age_range. */ + public adjusted_age_range: (google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType|keyof typeof google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType); + + /** Segments adjusted_gender. */ + public adjusted_gender: (google.ads.googleads.v19.enums.GenderTypeEnum.GenderType|keyof typeof google.ads.googleads.v19.enums.GenderTypeEnum.GenderType); + /** * Creates a new Segments instance using the specified properties. * @param [properties] Properties to set @@ -43473,7 +43600,8 @@ export namespace google { enum TargetFrequencyTimeUnit { UNSPECIFIED = 0, UNKNOWN = 1, - WEEKLY = 2 + WEEKLY = 2, + MONTHLY = 3 } } @@ -43796,7 +43924,8 @@ export namespace google { VIDEO_SEQUENCE = 17, APP_CAMPAIGN_FOR_PRE_REGISTRATION = 18, VIDEO_REACH_TARGET_FREQUENCY = 19, - TRAVEL_ACTIVITIES = 20 + TRAVEL_ACTIVITIES = 20, + YOUTUBE_AUDIO = 22 } } @@ -51555,7 +51684,8 @@ export namespace google { VIDEO_RESPONSIVE = 16, VIDEO_EFFICIENT_REACH = 17, SMART_CAMPAIGN_ADS = 18, - TRAVEL_ADS = 19 + TRAVEL_ADS = 19, + YOUTUBE_AUDIO = 20 } } @@ -51770,6 +51900,107 @@ export namespace google { } } + /** Properties of an AdStrengthActionItemTypeEnum. */ + interface IAdStrengthActionItemTypeEnum { + } + + /** Represents an AdStrengthActionItemTypeEnum. */ + class AdStrengthActionItemTypeEnum implements IAdStrengthActionItemTypeEnum { + + /** + * Constructs a new AdStrengthActionItemTypeEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum); + + /** + * Creates a new AdStrengthActionItemTypeEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns AdStrengthActionItemTypeEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum): google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum; + + /** + * Encodes the specified AdStrengthActionItemTypeEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.verify|verify} messages. + * @param message AdStrengthActionItemTypeEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AdStrengthActionItemTypeEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.verify|verify} messages. + * @param message AdStrengthActionItemTypeEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AdStrengthActionItemTypeEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AdStrengthActionItemTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum; + + /** + * Decodes an AdStrengthActionItemTypeEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AdStrengthActionItemTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum; + + /** + * Verifies an AdStrengthActionItemTypeEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AdStrengthActionItemTypeEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AdStrengthActionItemTypeEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum; + + /** + * Creates a plain object from an AdStrengthActionItemTypeEnum message. Also converts values to other types if specified. + * @param message AdStrengthActionItemTypeEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AdStrengthActionItemTypeEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AdStrengthActionItemTypeEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace AdStrengthActionItemTypeEnum { + + /** AdStrengthActionItemType enum. */ + enum AdStrengthActionItemType { + UNSPECIFIED = 0, + UNKNOWN = 1, + ADD_ASSET = 2 + } + } + /** Properties of an AdTypeEnum. */ interface IAdTypeEnum { } @@ -51897,7 +52128,8 @@ export namespace google { DEMAND_GEN_CAROUSEL_AD = 41, TRAVEL_AD = 37, DEMAND_GEN_VIDEO_RESPONSIVE_AD = 42, - DEMAND_GEN_PRODUCT_AD = 39 + DEMAND_GEN_PRODUCT_AD = 39, + YOUTUBE_AUDIO_AD = 44 } } @@ -52629,6 +52861,109 @@ export namespace google { } } + /** Properties of an AssetCoverageVideoAspectRatioRequirementEnum. */ + interface IAssetCoverageVideoAspectRatioRequirementEnum { + } + + /** Represents an AssetCoverageVideoAspectRatioRequirementEnum. */ + class AssetCoverageVideoAspectRatioRequirementEnum implements IAssetCoverageVideoAspectRatioRequirementEnum { + + /** + * Constructs a new AssetCoverageVideoAspectRatioRequirementEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum); + + /** + * Creates a new AssetCoverageVideoAspectRatioRequirementEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns AssetCoverageVideoAspectRatioRequirementEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum): google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum; + + /** + * Encodes the specified AssetCoverageVideoAspectRatioRequirementEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.verify|verify} messages. + * @param message AssetCoverageVideoAspectRatioRequirementEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AssetCoverageVideoAspectRatioRequirementEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.verify|verify} messages. + * @param message AssetCoverageVideoAspectRatioRequirementEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AssetCoverageVideoAspectRatioRequirementEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AssetCoverageVideoAspectRatioRequirementEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum; + + /** + * Decodes an AssetCoverageVideoAspectRatioRequirementEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AssetCoverageVideoAspectRatioRequirementEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum; + + /** + * Verifies an AssetCoverageVideoAspectRatioRequirementEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AssetCoverageVideoAspectRatioRequirementEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AssetCoverageVideoAspectRatioRequirementEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum; + + /** + * Creates a plain object from an AssetCoverageVideoAspectRatioRequirementEnum message. Also converts values to other types if specified. + * @param message AssetCoverageVideoAspectRatioRequirementEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AssetCoverageVideoAspectRatioRequirementEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AssetCoverageVideoAspectRatioRequirementEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace AssetCoverageVideoAspectRatioRequirementEnum { + + /** AssetCoverageVideoAspectRatioRequirement enum. */ + enum AssetCoverageVideoAspectRatioRequirement { + UNSPECIFIED = 0, + UNKNOWN = 1, + HORIZONTAL = 2, + SQUARE = 3, + VERTICAL = 4 + } + } + /** Properties of an AssetFieldTypeEnum. */ interface IAssetFieldTypeEnum { } @@ -52754,7 +53089,8 @@ export namespace google { BUSINESS_LOGO = 27, HOTEL_PROPERTY = 28, DEMAND_GEN_CAROUSEL_CARD = 30, - BUSINESS_MESSAGE = 31 + BUSINESS_MESSAGE = 31, + TALL_PORTRAIT_MARKETING_IMAGE = 32 } } @@ -57436,6 +57772,7 @@ export namespace google { AD_GROUP_CRITERION = 5, CAMPAIGN = 6, CAMPAIGN_CRITERION = 7, + CAMPAIGN_BUDGET = 8, FEED = 9, FEED_ITEM = 10, AD_GROUP_FEED = 11, @@ -57448,7 +57785,9 @@ export namespace google { CAMPAIGN_ASSET = 18, AD_GROUP_ASSET = 19, COMBINED_AUDIENCE = 20, - ASSET_GROUP = 21 + ASSET_GROUP = 21, + ASSET_SET = 22, + CAMPAIGN_ASSET_SET = 23 } } @@ -58105,6 +58444,108 @@ export namespace google { } } + /** Properties of a ConversionCustomerTypeEnum. */ + interface IConversionCustomerTypeEnum { + } + + /** Represents a ConversionCustomerTypeEnum. */ + class ConversionCustomerTypeEnum implements IConversionCustomerTypeEnum { + + /** + * Constructs a new ConversionCustomerTypeEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.IConversionCustomerTypeEnum); + + /** + * Creates a new ConversionCustomerTypeEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns ConversionCustomerTypeEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.IConversionCustomerTypeEnum): google.ads.googleads.v19.enums.ConversionCustomerTypeEnum; + + /** + * Encodes the specified ConversionCustomerTypeEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.verify|verify} messages. + * @param message ConversionCustomerTypeEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.IConversionCustomerTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConversionCustomerTypeEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.verify|verify} messages. + * @param message ConversionCustomerTypeEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.IConversionCustomerTypeEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConversionCustomerTypeEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConversionCustomerTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.ConversionCustomerTypeEnum; + + /** + * Decodes a ConversionCustomerTypeEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConversionCustomerTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.ConversionCustomerTypeEnum; + + /** + * Verifies a ConversionCustomerTypeEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConversionCustomerTypeEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConversionCustomerTypeEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.ConversionCustomerTypeEnum; + + /** + * Creates a plain object from a ConversionCustomerTypeEnum message. Also converts values to other types if specified. + * @param message ConversionCustomerTypeEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.ConversionCustomerTypeEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConversionCustomerTypeEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConversionCustomerTypeEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ConversionCustomerTypeEnum { + + /** ConversionCustomerType enum. */ + enum ConversionCustomerType { + UNSPECIFIED = 0, + UNKNOWN = 1, + NEW = 2, + RETURNING = 3 + } + } + /** Properties of a ConversionEnvironmentEnum. */ interface IConversionEnvironmentEnum { } @@ -60412,6 +60853,210 @@ export namespace google { } } + /** Properties of a DemandGenChannelConfigEnum. */ + interface IDemandGenChannelConfigEnum { + } + + /** Represents a DemandGenChannelConfigEnum. */ + class DemandGenChannelConfigEnum implements IDemandGenChannelConfigEnum { + + /** + * Constructs a new DemandGenChannelConfigEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum); + + /** + * Creates a new DemandGenChannelConfigEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns DemandGenChannelConfigEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum): google.ads.googleads.v19.enums.DemandGenChannelConfigEnum; + + /** + * Encodes the specified DemandGenChannelConfigEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.verify|verify} messages. + * @param message DemandGenChannelConfigEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DemandGenChannelConfigEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.verify|verify} messages. + * @param message DemandGenChannelConfigEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DemandGenChannelConfigEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DemandGenChannelConfigEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.DemandGenChannelConfigEnum; + + /** + * Decodes a DemandGenChannelConfigEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DemandGenChannelConfigEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.DemandGenChannelConfigEnum; + + /** + * Verifies a DemandGenChannelConfigEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DemandGenChannelConfigEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DemandGenChannelConfigEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.DemandGenChannelConfigEnum; + + /** + * Creates a plain object from a DemandGenChannelConfigEnum message. Also converts values to other types if specified. + * @param message DemandGenChannelConfigEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.DemandGenChannelConfigEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DemandGenChannelConfigEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DemandGenChannelConfigEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DemandGenChannelConfigEnum { + + /** DemandGenChannelConfig enum. */ + enum DemandGenChannelConfig { + UNSPECIFIED = 0, + UNKNOWN = 1, + CHANNEL_STRATEGY = 2, + SELECTED_CHANNELS = 3 + } + } + + /** Properties of a DemandGenChannelStrategyEnum. */ + interface IDemandGenChannelStrategyEnum { + } + + /** Represents a DemandGenChannelStrategyEnum. */ + class DemandGenChannelStrategyEnum implements IDemandGenChannelStrategyEnum { + + /** + * Constructs a new DemandGenChannelStrategyEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum); + + /** + * Creates a new DemandGenChannelStrategyEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns DemandGenChannelStrategyEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum): google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum; + + /** + * Encodes the specified DemandGenChannelStrategyEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.verify|verify} messages. + * @param message DemandGenChannelStrategyEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DemandGenChannelStrategyEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.verify|verify} messages. + * @param message DemandGenChannelStrategyEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DemandGenChannelStrategyEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DemandGenChannelStrategyEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum; + + /** + * Decodes a DemandGenChannelStrategyEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DemandGenChannelStrategyEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum; + + /** + * Verifies a DemandGenChannelStrategyEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DemandGenChannelStrategyEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DemandGenChannelStrategyEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum; + + /** + * Creates a plain object from a DemandGenChannelStrategyEnum message. Also converts values to other types if specified. + * @param message DemandGenChannelStrategyEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DemandGenChannelStrategyEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DemandGenChannelStrategyEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DemandGenChannelStrategyEnum { + + /** DemandGenChannelStrategy enum. */ + enum DemandGenChannelStrategy { + UNSPECIFIED = 0, + UNKNOWN = 1, + ALL_CHANNELS = 2, + ALL_OWNED_AND_OPERATED_CHANNELS = 3 + } + } + /** Properties of a DistanceBucketEnum. */ interface IDistanceBucketEnum { } @@ -64073,6 +64718,110 @@ export namespace google { } } + /** Properties of a LocalServicesLeadCreditIssuanceDecisionEnum. */ + interface ILocalServicesLeadCreditIssuanceDecisionEnum { + } + + /** Represents a LocalServicesLeadCreditIssuanceDecisionEnum. */ + class LocalServicesLeadCreditIssuanceDecisionEnum implements ILocalServicesLeadCreditIssuanceDecisionEnum { + + /** + * Constructs a new LocalServicesLeadCreditIssuanceDecisionEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum); + + /** + * Creates a new LocalServicesLeadCreditIssuanceDecisionEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalServicesLeadCreditIssuanceDecisionEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum): google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum; + + /** + * Encodes the specified LocalServicesLeadCreditIssuanceDecisionEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.verify|verify} messages. + * @param message LocalServicesLeadCreditIssuanceDecisionEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalServicesLeadCreditIssuanceDecisionEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.verify|verify} messages. + * @param message LocalServicesLeadCreditIssuanceDecisionEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalServicesLeadCreditIssuanceDecisionEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalServicesLeadCreditIssuanceDecisionEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum; + + /** + * Decodes a LocalServicesLeadCreditIssuanceDecisionEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalServicesLeadCreditIssuanceDecisionEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum; + + /** + * Verifies a LocalServicesLeadCreditIssuanceDecisionEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalServicesLeadCreditIssuanceDecisionEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalServicesLeadCreditIssuanceDecisionEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum; + + /** + * Creates a plain object from a LocalServicesLeadCreditIssuanceDecisionEnum message. Also converts values to other types if specified. + * @param message LocalServicesLeadCreditIssuanceDecisionEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalServicesLeadCreditIssuanceDecisionEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalServicesLeadCreditIssuanceDecisionEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace LocalServicesLeadCreditIssuanceDecisionEnum { + + /** CreditIssuanceDecision enum. */ + enum CreditIssuanceDecision { + UNSPECIFIED = 0, + UNKNOWN = 1, + SUCCESS_NOT_REACHED_THRESHOLD = 2, + SUCCESS_REACHED_THRESHOLD = 3, + FAIL_OVER_THRESHOLD = 4, + FAIL_NOT_ELIGIBLE = 5 + } + } + /** Properties of a LocalServicesCreditStateEnum. */ interface ILocalServicesCreditStateEnum { } @@ -64283,6 +65032,323 @@ export namespace google { } } + /** Properties of a LocalServicesLeadSurveyAnswerEnum. */ + interface ILocalServicesLeadSurveyAnswerEnum { + } + + /** Represents a LocalServicesLeadSurveyAnswerEnum. */ + class LocalServicesLeadSurveyAnswerEnum implements ILocalServicesLeadSurveyAnswerEnum { + + /** + * Constructs a new LocalServicesLeadSurveyAnswerEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum); + + /** + * Creates a new LocalServicesLeadSurveyAnswerEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalServicesLeadSurveyAnswerEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum): google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum; + + /** + * Encodes the specified LocalServicesLeadSurveyAnswerEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.verify|verify} messages. + * @param message LocalServicesLeadSurveyAnswerEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalServicesLeadSurveyAnswerEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.verify|verify} messages. + * @param message LocalServicesLeadSurveyAnswerEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalServicesLeadSurveyAnswerEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalServicesLeadSurveyAnswerEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum; + + /** + * Decodes a LocalServicesLeadSurveyAnswerEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalServicesLeadSurveyAnswerEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum; + + /** + * Verifies a LocalServicesLeadSurveyAnswerEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalServicesLeadSurveyAnswerEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalServicesLeadSurveyAnswerEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum; + + /** + * Creates a plain object from a LocalServicesLeadSurveyAnswerEnum message. Also converts values to other types if specified. + * @param message LocalServicesLeadSurveyAnswerEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalServicesLeadSurveyAnswerEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalServicesLeadSurveyAnswerEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace LocalServicesLeadSurveyAnswerEnum { + + /** SurveyAnswer enum. */ + enum SurveyAnswer { + UNSPECIFIED = 0, + UNKNOWN = 1, + VERY_SATISFIED = 2, + SATISFIED = 3, + NEUTRAL = 4, + DISSATISFIED = 5, + VERY_DISSATISFIED = 6 + } + } + + /** Properties of a LocalServicesLeadSurveyDissatisfiedReasonEnum. */ + interface ILocalServicesLeadSurveyDissatisfiedReasonEnum { + } + + /** Represents a LocalServicesLeadSurveyDissatisfiedReasonEnum. */ + class LocalServicesLeadSurveyDissatisfiedReasonEnum implements ILocalServicesLeadSurveyDissatisfiedReasonEnum { + + /** + * Constructs a new LocalServicesLeadSurveyDissatisfiedReasonEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum); + + /** + * Creates a new LocalServicesLeadSurveyDissatisfiedReasonEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalServicesLeadSurveyDissatisfiedReasonEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum): google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum; + + /** + * Encodes the specified LocalServicesLeadSurveyDissatisfiedReasonEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.verify|verify} messages. + * @param message LocalServicesLeadSurveyDissatisfiedReasonEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalServicesLeadSurveyDissatisfiedReasonEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.verify|verify} messages. + * @param message LocalServicesLeadSurveyDissatisfiedReasonEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalServicesLeadSurveyDissatisfiedReasonEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalServicesLeadSurveyDissatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum; + + /** + * Decodes a LocalServicesLeadSurveyDissatisfiedReasonEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalServicesLeadSurveyDissatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum; + + /** + * Verifies a LocalServicesLeadSurveyDissatisfiedReasonEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalServicesLeadSurveyDissatisfiedReasonEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalServicesLeadSurveyDissatisfiedReasonEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum; + + /** + * Creates a plain object from a LocalServicesLeadSurveyDissatisfiedReasonEnum message. Also converts values to other types if specified. + * @param message LocalServicesLeadSurveyDissatisfiedReasonEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalServicesLeadSurveyDissatisfiedReasonEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalServicesLeadSurveyDissatisfiedReasonEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace LocalServicesLeadSurveyDissatisfiedReasonEnum { + + /** SurveyDissatisfiedReason enum. */ + enum SurveyDissatisfiedReason { + UNSPECIFIED = 0, + UNKNOWN = 1, + OTHER_DISSATISFIED_REASON = 2, + GEO_MISMATCH = 3, + JOB_TYPE_MISMATCH = 4, + NOT_READY_TO_BOOK = 5, + SPAM = 6, + DUPLICATE = 7, + SOLICITATION = 8 + } + } + + /** Properties of a LocalServicesLeadSurveySatisfiedReasonEnum. */ + interface ILocalServicesLeadSurveySatisfiedReasonEnum { + } + + /** Represents a LocalServicesLeadSurveySatisfiedReasonEnum. */ + class LocalServicesLeadSurveySatisfiedReasonEnum implements ILocalServicesLeadSurveySatisfiedReasonEnum { + + /** + * Constructs a new LocalServicesLeadSurveySatisfiedReasonEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum); + + /** + * Creates a new LocalServicesLeadSurveySatisfiedReasonEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalServicesLeadSurveySatisfiedReasonEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum): google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum; + + /** + * Encodes the specified LocalServicesLeadSurveySatisfiedReasonEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.verify|verify} messages. + * @param message LocalServicesLeadSurveySatisfiedReasonEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalServicesLeadSurveySatisfiedReasonEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.verify|verify} messages. + * @param message LocalServicesLeadSurveySatisfiedReasonEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalServicesLeadSurveySatisfiedReasonEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalServicesLeadSurveySatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum; + + /** + * Decodes a LocalServicesLeadSurveySatisfiedReasonEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalServicesLeadSurveySatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum; + + /** + * Verifies a LocalServicesLeadSurveySatisfiedReasonEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalServicesLeadSurveySatisfiedReasonEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalServicesLeadSurveySatisfiedReasonEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum; + + /** + * Creates a plain object from a LocalServicesLeadSurveySatisfiedReasonEnum message. Also converts values to other types if specified. + * @param message LocalServicesLeadSurveySatisfiedReasonEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalServicesLeadSurveySatisfiedReasonEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalServicesLeadSurveySatisfiedReasonEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace LocalServicesLeadSurveySatisfiedReasonEnum { + + /** SurveySatisfiedReason enum. */ + enum SurveySatisfiedReason { + UNSPECIFIED = 0, + UNKNOWN = 1, + OTHER_SATISFIED_REASON = 2, + BOOKED_CUSTOMER = 3, + LIKELY_BOOKED_CUSTOMER = 4, + SERVICE_RELATED = 5, + HIGH_VALUE_SERVICE = 6 + } + } + /** Properties of a LocalServicesLeadTypeEnum. */ interface ILocalServicesLeadTypeEnum { } @@ -67321,6 +68387,110 @@ export namespace google { } } + /** Properties of a ReachPlanConversionRateModelEnum. */ + interface IReachPlanConversionRateModelEnum { + } + + /** Represents a ReachPlanConversionRateModelEnum. */ + class ReachPlanConversionRateModelEnum implements IReachPlanConversionRateModelEnum { + + /** + * Constructs a new ReachPlanConversionRateModelEnum. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum); + + /** + * Creates a new ReachPlanConversionRateModelEnum instance using the specified properties. + * @param [properties] Properties to set + * @returns ReachPlanConversionRateModelEnum instance + */ + public static create(properties?: google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum): google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum; + + /** + * Encodes the specified ReachPlanConversionRateModelEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.verify|verify} messages. + * @param message ReachPlanConversionRateModelEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReachPlanConversionRateModelEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.verify|verify} messages. + * @param message ReachPlanConversionRateModelEnum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReachPlanConversionRateModelEnum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReachPlanConversionRateModelEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum; + + /** + * Decodes a ReachPlanConversionRateModelEnum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReachPlanConversionRateModelEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum; + + /** + * Verifies a ReachPlanConversionRateModelEnum message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReachPlanConversionRateModelEnum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReachPlanConversionRateModelEnum + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum; + + /** + * Creates a plain object from a ReachPlanConversionRateModelEnum message. Also converts values to other types if specified. + * @param message ReachPlanConversionRateModelEnum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReachPlanConversionRateModelEnum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReachPlanConversionRateModelEnum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ReachPlanConversionRateModelEnum { + + /** ReachPlanConversionRateModel enum. */ + enum ReachPlanConversionRateModel { + UNSPECIFIED = 0, + UNKNOWN = 1, + CUSTOMER_HISTORY = 2, + INVENTORY_AGGRESSIVE = 3, + INVENTORY_CONSERVATIVE = 4, + INVENTORY_MEDIAN = 5 + } + } + /** Properties of a ReachPlanNetworkEnum. */ interface IReachPlanNetworkEnum { } @@ -67521,6 +68691,8 @@ export namespace google { enum ReachPlanSurface { UNSPECIFIED = 0, UNKNOWN = 1, + DISCOVER_FEED = 7, + GMAIL = 8, IN_FEED = 2, IN_STREAM_BUMPER = 3, IN_STREAM_NON_SKIPPABLE = 4, @@ -74236,7 +75408,8 @@ export namespace google { ADVANCED_PROTECTION_NOT_ENROLLED = 24, ORGANIZATION_NOT_RECOGNIZED = 26, ORGANIZATION_NOT_APPROVED = 27, - ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN = 28 + ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN = 28, + DEVELOPER_TOKEN_INVALID = 29 } } @@ -75765,6 +76938,7 @@ export namespace google { CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN = 94, REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED = 95, REQUIRED_LOGO_ASSET_NOT_LINKED = 96, + BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED = 97, BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN = 98, BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED = 99, BRAND_GUIDELINES_COLOR_INVALID_FORMAT = 100, @@ -77780,7 +78954,8 @@ export namespace google { CANNOT_RECOGNIZE_BRAND = 155, BRAND_SHARED_SET_DOES_NOT_EXIST = 156, CANNOT_ADD_REMOVED_BRAND_SHARED_SET = 157, - ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE = 158 + ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE = 158, + LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN = 166 } } @@ -93066,6 +94241,9 @@ export namespace google { /** AdGroup primary_status_reasons */ primary_status_reasons?: (google.ads.googleads.v19.enums.AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReason[]|null); + + /** AdGroup demand_gen_ad_group_settings */ + demand_gen_ad_group_settings?: (google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings|null); } /** Represents an AdGroup. */ @@ -93182,6 +94360,9 @@ export namespace google { /** AdGroup primary_status_reasons. */ public primary_status_reasons: google.ads.googleads.v19.enums.AdGroupPrimaryStatusReasonEnum.AdGroupPrimaryStatusReason[]; + /** AdGroup demand_gen_ad_group_settings. */ + public demand_gen_ad_group_settings?: (google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings|null); + /** * Creates a new AdGroup instance using the specified properties. * @param [properties] Properties to set @@ -93358,6 +94539,348 @@ export namespace google { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a DemandGenAdGroupSettings. */ + interface IDemandGenAdGroupSettings { + + /** DemandGenAdGroupSettings channel_controls */ + channel_controls?: (google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls|null); + } + + /** Represents a DemandGenAdGroupSettings. */ + class DemandGenAdGroupSettings implements IDemandGenAdGroupSettings { + + /** + * Constructs a new DemandGenAdGroupSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings); + + /** DemandGenAdGroupSettings channel_controls. */ + public channel_controls?: (google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls|null); + + /** + * Creates a new DemandGenAdGroupSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns DemandGenAdGroupSettings instance + */ + public static create(properties?: google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings; + + /** + * Encodes the specified DemandGenAdGroupSettings message. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.verify|verify} messages. + * @param message DemandGenAdGroupSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DemandGenAdGroupSettings message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.verify|verify} messages. + * @param message DemandGenAdGroupSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DemandGenAdGroupSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DemandGenAdGroupSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings; + + /** + * Decodes a DemandGenAdGroupSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DemandGenAdGroupSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings; + + /** + * Verifies a DemandGenAdGroupSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DemandGenAdGroupSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DemandGenAdGroupSettings + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings; + + /** + * Creates a plain object from a DemandGenAdGroupSettings message. Also converts values to other types if specified. + * @param message DemandGenAdGroupSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DemandGenAdGroupSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DemandGenAdGroupSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DemandGenAdGroupSettings { + + /** Properties of a DemandGenChannelControls. */ + interface IDemandGenChannelControls { + + /** DemandGenChannelControls channel_config */ + channel_config?: (google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig|keyof typeof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig|null); + + /** DemandGenChannelControls channel_strategy */ + channel_strategy?: (google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy|keyof typeof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy|null); + + /** DemandGenChannelControls selected_channels */ + selected_channels?: (google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels|null); + } + + /** Represents a DemandGenChannelControls. */ + class DemandGenChannelControls implements IDemandGenChannelControls { + + /** + * Constructs a new DemandGenChannelControls. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls); + + /** DemandGenChannelControls channel_config. */ + public channel_config: (google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig|keyof typeof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig); + + /** DemandGenChannelControls channel_strategy. */ + public channel_strategy?: (google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy|keyof typeof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy|null); + + /** DemandGenChannelControls selected_channels. */ + public selected_channels?: (google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels|null); + + /** DemandGenChannelControls channel_configuration. */ + public channel_configuration?: ("channel_strategy"|"selected_channels"); + + /** + * Creates a new DemandGenChannelControls instance using the specified properties. + * @param [properties] Properties to set + * @returns DemandGenChannelControls instance + */ + public static create(properties?: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls; + + /** + * Encodes the specified DemandGenChannelControls message. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.verify|verify} messages. + * @param message DemandGenChannelControls message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DemandGenChannelControls message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.verify|verify} messages. + * @param message DemandGenChannelControls message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DemandGenChannelControls message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DemandGenChannelControls + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls; + + /** + * Decodes a DemandGenChannelControls message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DemandGenChannelControls + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls; + + /** + * Verifies a DemandGenChannelControls message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DemandGenChannelControls message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DemandGenChannelControls + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls; + + /** + * Creates a plain object from a DemandGenChannelControls message. Also converts values to other types if specified. + * @param message DemandGenChannelControls + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DemandGenChannelControls to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DemandGenChannelControls + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DemandGenChannelControls { + + /** Properties of a DemandGenSelectedChannels. */ + interface IDemandGenSelectedChannels { + + /** DemandGenSelectedChannels youtube_in_stream */ + youtube_in_stream?: (boolean|null); + + /** DemandGenSelectedChannels youtube_in_feed */ + youtube_in_feed?: (boolean|null); + + /** DemandGenSelectedChannels youtube_shorts */ + youtube_shorts?: (boolean|null); + + /** DemandGenSelectedChannels discover */ + discover?: (boolean|null); + + /** DemandGenSelectedChannels gmail */ + gmail?: (boolean|null); + + /** DemandGenSelectedChannels display */ + display?: (boolean|null); + } + + /** Represents a DemandGenSelectedChannels. */ + class DemandGenSelectedChannels implements IDemandGenSelectedChannels { + + /** + * Constructs a new DemandGenSelectedChannels. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels); + + /** DemandGenSelectedChannels youtube_in_stream. */ + public youtube_in_stream: boolean; + + /** DemandGenSelectedChannels youtube_in_feed. */ + public youtube_in_feed: boolean; + + /** DemandGenSelectedChannels youtube_shorts. */ + public youtube_shorts: boolean; + + /** DemandGenSelectedChannels discover. */ + public discover: boolean; + + /** DemandGenSelectedChannels gmail. */ + public gmail: boolean; + + /** DemandGenSelectedChannels display. */ + public display: boolean; + + /** + * Creates a new DemandGenSelectedChannels instance using the specified properties. + * @param [properties] Properties to set + * @returns DemandGenSelectedChannels instance + */ + public static create(properties?: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels; + + /** + * Encodes the specified DemandGenSelectedChannels message. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.verify|verify} messages. + * @param message DemandGenSelectedChannels message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DemandGenSelectedChannels message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.verify|verify} messages. + * @param message DemandGenSelectedChannels message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DemandGenSelectedChannels message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DemandGenSelectedChannels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels; + + /** + * Decodes a DemandGenSelectedChannels message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DemandGenSelectedChannels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels; + + /** + * Verifies a DemandGenSelectedChannels message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DemandGenSelectedChannels message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DemandGenSelectedChannels + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels; + + /** + * Creates a plain object from a DemandGenSelectedChannels message. Also converts values to other types if specified. + * @param message DemandGenSelectedChannels + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DemandGenSelectedChannels to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DemandGenSelectedChannels + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + } } /** Properties of an AdGroupAd. */ @@ -97544,6 +99067,9 @@ export namespace google { /** AssetGroup ad_strength */ ad_strength?: (google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|keyof typeof google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|null); + + /** AssetGroup asset_coverage */ + asset_coverage?: (google.ads.googleads.v19.resources.IAssetCoverage|null); } /** Represents an AssetGroup. */ @@ -97591,6 +99117,9 @@ export namespace google { /** AssetGroup ad_strength. */ public ad_strength: (google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|keyof typeof google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength); + /** AssetGroup asset_coverage. */ + public asset_coverage?: (google.ads.googleads.v19.resources.IAssetCoverage|null); + /** * Creates a new AssetGroup instance using the specified properties. * @param [properties] Properties to set @@ -97669,6 +99198,321 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of an AssetCoverage. */ + interface IAssetCoverage { + + /** AssetCoverage ad_strength_action_items */ + ad_strength_action_items?: (google.ads.googleads.v19.resources.IAdStrengthActionItem[]|null); + } + + /** Represents an AssetCoverage. */ + class AssetCoverage implements IAssetCoverage { + + /** + * Constructs a new AssetCoverage. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.IAssetCoverage); + + /** AssetCoverage ad_strength_action_items. */ + public ad_strength_action_items: google.ads.googleads.v19.resources.IAdStrengthActionItem[]; + + /** + * Creates a new AssetCoverage instance using the specified properties. + * @param [properties] Properties to set + * @returns AssetCoverage instance + */ + public static create(properties?: google.ads.googleads.v19.resources.IAssetCoverage): google.ads.googleads.v19.resources.AssetCoverage; + + /** + * Encodes the specified AssetCoverage message. Does not implicitly {@link google.ads.googleads.v19.resources.AssetCoverage.verify|verify} messages. + * @param message AssetCoverage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.IAssetCoverage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AssetCoverage message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AssetCoverage.verify|verify} messages. + * @param message AssetCoverage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.IAssetCoverage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AssetCoverage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AssetCoverage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.AssetCoverage; + + /** + * Decodes an AssetCoverage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AssetCoverage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.AssetCoverage; + + /** + * Verifies an AssetCoverage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AssetCoverage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AssetCoverage + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.AssetCoverage; + + /** + * Creates a plain object from an AssetCoverage message. Also converts values to other types if specified. + * @param message AssetCoverage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.AssetCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AssetCoverage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AssetCoverage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AdStrengthActionItem. */ + interface IAdStrengthActionItem { + + /** AdStrengthActionItem action_item_type */ + action_item_type?: (google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType|keyof typeof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType|null); + + /** AdStrengthActionItem add_asset_details */ + add_asset_details?: (google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails|null); + } + + /** Represents an AdStrengthActionItem. */ + class AdStrengthActionItem implements IAdStrengthActionItem { + + /** + * Constructs a new AdStrengthActionItem. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.IAdStrengthActionItem); + + /** AdStrengthActionItem action_item_type. */ + public action_item_type: (google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType|keyof typeof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType); + + /** AdStrengthActionItem add_asset_details. */ + public add_asset_details?: (google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails|null); + + /** AdStrengthActionItem action_details. */ + public action_details?: "add_asset_details"; + + /** + * Creates a new AdStrengthActionItem instance using the specified properties. + * @param [properties] Properties to set + * @returns AdStrengthActionItem instance + */ + public static create(properties?: google.ads.googleads.v19.resources.IAdStrengthActionItem): google.ads.googleads.v19.resources.AdStrengthActionItem; + + /** + * Encodes the specified AdStrengthActionItem message. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.verify|verify} messages. + * @param message AdStrengthActionItem message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.IAdStrengthActionItem, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AdStrengthActionItem message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.verify|verify} messages. + * @param message AdStrengthActionItem message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.IAdStrengthActionItem, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AdStrengthActionItem message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AdStrengthActionItem + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.AdStrengthActionItem; + + /** + * Decodes an AdStrengthActionItem message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AdStrengthActionItem + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.AdStrengthActionItem; + + /** + * Verifies an AdStrengthActionItem message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AdStrengthActionItem message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AdStrengthActionItem + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.AdStrengthActionItem; + + /** + * Creates a plain object from an AdStrengthActionItem message. Also converts values to other types if specified. + * @param message AdStrengthActionItem + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.AdStrengthActionItem, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AdStrengthActionItem to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AdStrengthActionItem + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace AdStrengthActionItem { + + /** Properties of an AddAssetDetails. */ + interface IAddAssetDetails { + + /** AddAssetDetails asset_field_type */ + asset_field_type?: (google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType|keyof typeof google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType|null); + + /** AddAssetDetails asset_count */ + asset_count?: (number|null); + + /** AddAssetDetails video_aspect_ratio_requirement */ + video_aspect_ratio_requirement?: (google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement|keyof typeof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement|null); + } + + /** Represents an AddAssetDetails. */ + class AddAssetDetails implements IAddAssetDetails { + + /** + * Constructs a new AddAssetDetails. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails); + + /** AddAssetDetails asset_field_type. */ + public asset_field_type: (google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType|keyof typeof google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType); + + /** AddAssetDetails asset_count. */ + public asset_count?: (number|null); + + /** AddAssetDetails video_aspect_ratio_requirement. */ + public video_aspect_ratio_requirement?: (google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement|keyof typeof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement|null); + + /** + * Creates a new AddAssetDetails instance using the specified properties. + * @param [properties] Properties to set + * @returns AddAssetDetails instance + */ + public static create(properties?: google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails): google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails; + + /** + * Encodes the specified AddAssetDetails message. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.verify|verify} messages. + * @param message AddAssetDetails message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AddAssetDetails message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.verify|verify} messages. + * @param message AddAssetDetails message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AddAssetDetails message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AddAssetDetails + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails; + + /** + * Decodes an AddAssetDetails message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AddAssetDetails + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails; + + /** + * Verifies an AddAssetDetails message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AddAssetDetails message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AddAssetDetails + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails; + + /** + * Creates a plain object from an AddAssetDetails message. Also converts values to other types if specified. + * @param message AddAssetDetails + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AddAssetDetails to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AddAssetDetails + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + /** Properties of an AssetGroupAsset. */ interface IAssetGroupAsset { @@ -101673,6 +103517,9 @@ export namespace google { /** Campaign video_campaign_settings */ video_campaign_settings?: (google.ads.googleads.v19.resources.Campaign.IVideoCampaignSettings|null); + /** Campaign pmax_campaign_settings */ + pmax_campaign_settings?: (google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings|null); + /** Campaign real_time_bidding_setting */ real_time_bidding_setting?: (google.ads.googleads.v19.common.IRealTimeBiddingSetting|null); @@ -101896,6 +103743,9 @@ export namespace google { /** Campaign video_campaign_settings. */ public video_campaign_settings?: (google.ads.googleads.v19.resources.Campaign.IVideoCampaignSettings|null); + /** Campaign pmax_campaign_settings. */ + public pmax_campaign_settings?: (google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings|null); + /** Campaign real_time_bidding_setting. */ public real_time_bidding_setting?: (google.ads.googleads.v19.common.IRealTimeBiddingSetting|null); @@ -104125,6 +105975,203 @@ export namespace google { } } + /** Properties of a PmaxCampaignSettings. */ + interface IPmaxCampaignSettings { + + /** PmaxCampaignSettings brand_targeting_overrides */ + brand_targeting_overrides?: (google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides|null); + } + + /** Represents a PmaxCampaignSettings. */ + class PmaxCampaignSettings implements IPmaxCampaignSettings { + + /** + * Constructs a new PmaxCampaignSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings); + + /** PmaxCampaignSettings brand_targeting_overrides. */ + public brand_targeting_overrides?: (google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides|null); + + /** + * Creates a new PmaxCampaignSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns PmaxCampaignSettings instance + */ + public static create(properties?: google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings; + + /** + * Encodes the specified PmaxCampaignSettings message. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.verify|verify} messages. + * @param message PmaxCampaignSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PmaxCampaignSettings message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.verify|verify} messages. + * @param message PmaxCampaignSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PmaxCampaignSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PmaxCampaignSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings; + + /** + * Decodes a PmaxCampaignSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PmaxCampaignSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings; + + /** + * Verifies a PmaxCampaignSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PmaxCampaignSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PmaxCampaignSettings + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings; + + /** + * Creates a plain object from a PmaxCampaignSettings message. Also converts values to other types if specified. + * @param message PmaxCampaignSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PmaxCampaignSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PmaxCampaignSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace PmaxCampaignSettings { + + /** Properties of a BrandTargetingOverrides. */ + interface IBrandTargetingOverrides { + + /** BrandTargetingOverrides ignore_exclusions_for_shopping_ads */ + ignore_exclusions_for_shopping_ads?: (boolean|null); + } + + /** Represents a BrandTargetingOverrides. */ + class BrandTargetingOverrides implements IBrandTargetingOverrides { + + /** + * Constructs a new BrandTargetingOverrides. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides); + + /** BrandTargetingOverrides ignore_exclusions_for_shopping_ads. */ + public ignore_exclusions_for_shopping_ads?: (boolean|null); + + /** + * Creates a new BrandTargetingOverrides instance using the specified properties. + * @param [properties] Properties to set + * @returns BrandTargetingOverrides instance + */ + public static create(properties?: google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides; + + /** + * Encodes the specified BrandTargetingOverrides message. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.verify|verify} messages. + * @param message BrandTargetingOverrides message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BrandTargetingOverrides message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.verify|verify} messages. + * @param message BrandTargetingOverrides message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BrandTargetingOverrides message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BrandTargetingOverrides + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides; + + /** + * Decodes a BrandTargetingOverrides message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BrandTargetingOverrides + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides; + + /** + * Verifies a BrandTargetingOverrides message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BrandTargetingOverrides message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BrandTargetingOverrides + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides; + + /** + * Creates a plain object from a BrandTargetingOverrides message. Also converts values to other types if specified. + * @param message BrandTargetingOverrides + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BrandTargetingOverrides to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BrandTargetingOverrides + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + /** Properties of an AssetAutomationSetting. */ interface IAssetAutomationSetting { @@ -107343,6 +109390,9 @@ export namespace google { /** ChangeStatus asset_group */ asset_group?: (string|null); + + /** ChangeStatus campaign_budget */ + campaign_budget?: (string|null); } /** Represents a ChangeStatus. */ @@ -107408,6 +109458,9 @@ export namespace google { /** ChangeStatus asset_group. */ public asset_group: string; + /** ChangeStatus campaign_budget. */ + public campaign_budget: string; + /** * Creates a new ChangeStatus instance using the specified properties. * @param [properties] Properties to set @@ -120145,6 +122198,9 @@ export namespace google { /** LocalServicesLead credit_details */ credit_details?: (google.ads.googleads.v19.resources.ICreditDetails|null); + + /** LocalServicesLead lead_feedback_submitted */ + lead_feedback_submitted?: (boolean|null); } /** Represents a LocalServicesLead. */ @@ -120192,6 +122248,9 @@ export namespace google { /** LocalServicesLead credit_details. */ public credit_details?: (google.ads.googleads.v19.resources.ICreditDetails|null); + /** LocalServicesLead lead_feedback_submitted. */ + public lead_feedback_submitted: boolean; + /** * Creates a new LocalServicesLead instance using the specified properties. * @param [properties] Properties to set @@ -122105,7 +124164,7 @@ export namespace google { interface IMediaImage { /** MediaImage data */ - data?: (Uint8Array|string|null); + data?: (Uint8Array|Buffer|string|null); /** MediaImage full_size_image_url */ full_size_image_url?: (string|null); @@ -122124,7 +124183,7 @@ export namespace google { constructor(properties?: google.ads.googleads.v19.resources.IMediaImage); /** MediaImage data. */ - public data?: (Uint8Array|string|null); + public data?: (Uint8Array|Buffer|string|null); /** MediaImage full_size_image_url. */ public full_size_image_url?: (string|null); @@ -122214,7 +124273,7 @@ export namespace google { interface IMediaBundle { /** MediaBundle data */ - data?: (Uint8Array|string|null); + data?: (Uint8Array|Buffer|string|null); /** MediaBundle url */ url?: (string|null); @@ -122230,7 +124289,7 @@ export namespace google { constructor(properties?: google.ads.googleads.v19.resources.IMediaBundle); /** MediaBundle data. */ - public data?: (Uint8Array|string|null); + public data?: (Uint8Array|Buffer|string|null); /** MediaBundle url. */ public url?: (string|null); @@ -130613,6 +132672,9 @@ export namespace google { /** ImprovePerformanceMaxAdStrengthRecommendation asset_group */ asset_group?: (string|null); + + /** ImprovePerformanceMaxAdStrengthRecommendation ad_strength */ + ad_strength?: (google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|keyof typeof google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|null); } /** Represents an ImprovePerformanceMaxAdStrengthRecommendation. */ @@ -130627,6 +132689,9 @@ export namespace google { /** ImprovePerformanceMaxAdStrengthRecommendation asset_group. */ public asset_group: string; + /** ImprovePerformanceMaxAdStrengthRecommendation ad_strength. */ + public ad_strength: (google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|keyof typeof google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength); + /** * Creates a new ImprovePerformanceMaxAdStrengthRecommendation instance using the specified properties. * @param [properties] Properties to set @@ -180783,6 +182848,15 @@ export namespace google { /** ClickConversion consent */ consent?: (google.ads.googleads.v19.common.IConsent|null); + + /** ClickConversion customer_type */ + customer_type?: (google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType|keyof typeof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType|null); + + /** ClickConversion session_attributes_encoded */ + session_attributes_encoded?: (Uint8Array|Buffer|string|null); + + /** ClickConversion session_attributes_key_value_pairs */ + session_attributes_key_value_pairs?: (google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs|null); } /** Represents a ClickConversion. */ @@ -180836,6 +182910,18 @@ export namespace google { /** ClickConversion consent. */ public consent?: (google.ads.googleads.v19.common.IConsent|null); + /** ClickConversion customer_type. */ + public customer_type: (google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType|keyof typeof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType); + + /** ClickConversion session_attributes_encoded. */ + public session_attributes_encoded?: (Uint8Array|Buffer|string|null); + + /** ClickConversion session_attributes_key_value_pairs. */ + public session_attributes_key_value_pairs?: (google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs|null); + + /** ClickConversion session_attributes. */ + public session_attributes?: ("session_attributes_encoded"|"session_attributes_key_value_pairs"); + /** * Creates a new ClickConversion instance using the specified properties. * @param [properties] Properties to set @@ -181734,6 +183820,206 @@ export namespace google { } } + /** Properties of a SessionAttributeKeyValuePair. */ + interface ISessionAttributeKeyValuePair { + + /** SessionAttributeKeyValuePair session_attribute_key */ + session_attribute_key?: (string|null); + + /** SessionAttributeKeyValuePair session_attribute_value */ + session_attribute_value?: (string|null); + } + + /** Represents a SessionAttributeKeyValuePair. */ + class SessionAttributeKeyValuePair implements ISessionAttributeKeyValuePair { + + /** + * Constructs a new SessionAttributeKeyValuePair. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.ISessionAttributeKeyValuePair); + + /** SessionAttributeKeyValuePair session_attribute_key. */ + public session_attribute_key: string; + + /** SessionAttributeKeyValuePair session_attribute_value. */ + public session_attribute_value: string; + + /** + * Creates a new SessionAttributeKeyValuePair instance using the specified properties. + * @param [properties] Properties to set + * @returns SessionAttributeKeyValuePair instance + */ + public static create(properties?: google.ads.googleads.v19.services.ISessionAttributeKeyValuePair): google.ads.googleads.v19.services.SessionAttributeKeyValuePair; + + /** + * Encodes the specified SessionAttributeKeyValuePair message. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributeKeyValuePair.verify|verify} messages. + * @param message SessionAttributeKeyValuePair message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.ISessionAttributeKeyValuePair, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SessionAttributeKeyValuePair message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributeKeyValuePair.verify|verify} messages. + * @param message SessionAttributeKeyValuePair message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.ISessionAttributeKeyValuePair, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SessionAttributeKeyValuePair message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SessionAttributeKeyValuePair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.SessionAttributeKeyValuePair; + + /** + * Decodes a SessionAttributeKeyValuePair message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SessionAttributeKeyValuePair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.SessionAttributeKeyValuePair; + + /** + * Verifies a SessionAttributeKeyValuePair message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SessionAttributeKeyValuePair message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SessionAttributeKeyValuePair + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.SessionAttributeKeyValuePair; + + /** + * Creates a plain object from a SessionAttributeKeyValuePair message. Also converts values to other types if specified. + * @param message SessionAttributeKeyValuePair + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.SessionAttributeKeyValuePair, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SessionAttributeKeyValuePair to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SessionAttributeKeyValuePair + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SessionAttributesKeyValuePairs. */ + interface ISessionAttributesKeyValuePairs { + + /** SessionAttributesKeyValuePairs key_value_pairs */ + key_value_pairs?: (google.ads.googleads.v19.services.ISessionAttributeKeyValuePair[]|null); + } + + /** Represents a SessionAttributesKeyValuePairs. */ + class SessionAttributesKeyValuePairs implements ISessionAttributesKeyValuePairs { + + /** + * Constructs a new SessionAttributesKeyValuePairs. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs); + + /** SessionAttributesKeyValuePairs key_value_pairs. */ + public key_value_pairs: google.ads.googleads.v19.services.ISessionAttributeKeyValuePair[]; + + /** + * Creates a new SessionAttributesKeyValuePairs instance using the specified properties. + * @param [properties] Properties to set + * @returns SessionAttributesKeyValuePairs instance + */ + public static create(properties?: google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs): google.ads.googleads.v19.services.SessionAttributesKeyValuePairs; + + /** + * Encodes the specified SessionAttributesKeyValuePairs message. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.verify|verify} messages. + * @param message SessionAttributesKeyValuePairs message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SessionAttributesKeyValuePairs message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.verify|verify} messages. + * @param message SessionAttributesKeyValuePairs message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SessionAttributesKeyValuePairs message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SessionAttributesKeyValuePairs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.SessionAttributesKeyValuePairs; + + /** + * Decodes a SessionAttributesKeyValuePairs message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SessionAttributesKeyValuePairs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.SessionAttributesKeyValuePairs; + + /** + * Verifies a SessionAttributesKeyValuePairs message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SessionAttributesKeyValuePairs message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SessionAttributesKeyValuePairs + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.SessionAttributesKeyValuePairs; + + /** + * Creates a plain object from a SessionAttributesKeyValuePairs message. Also converts values to other types if specified. + * @param message SessionAttributesKeyValuePairs + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.SessionAttributesKeyValuePairs, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SessionAttributesKeyValuePairs to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SessionAttributesKeyValuePairs + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Represents a CustomAudienceService */ class CustomAudienceService extends $protobuf.rpc.Service { @@ -191901,6 +194187,20 @@ export namespace google { * @returns Promise */ public appendLeadConversation(request: google.ads.googleads.v19.services.IAppendLeadConversationRequest): Promise; + + /** + * Calls ProvideLeadFeedback. + * @param request ProvideLeadFeedbackRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProvideLeadFeedbackResponse + */ + public provideLeadFeedback(request: google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, callback: google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedbackCallback): void; + + /** + * Calls ProvideLeadFeedback. + * @param request ProvideLeadFeedbackRequest message or plain object + * @returns Promise + */ + public provideLeadFeedback(request: google.ads.googleads.v19.services.IProvideLeadFeedbackRequest): Promise; } namespace LocalServicesLeadService { @@ -191911,6 +194211,13 @@ export namespace google { * @param [response] AppendLeadConversationResponse */ type AppendLeadConversationCallback = (error: (Error|null), response?: google.ads.googleads.v19.services.AppendLeadConversationResponse) => void; + + /** + * Callback as used by {@link google.ads.googleads.v19.services.LocalServicesLeadService|provideLeadFeedback}. + * @param error Error, if any + * @param [response] ProvideLeadFeedbackResponse + */ + type ProvideLeadFeedbackCallback = (error: (Error|null), response?: google.ads.googleads.v19.services.ProvideLeadFeedbackResponse) => void; } /** Properties of an AppendLeadConversationRequest. */ @@ -192322,6 +194629,427 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a SurveySatisfied. */ + interface ISurveySatisfied { + + /** SurveySatisfied survey_satisfied_reason */ + survey_satisfied_reason?: (google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason|null); + + /** SurveySatisfied other_reason_comment */ + other_reason_comment?: (string|null); + } + + /** Represents a SurveySatisfied. */ + class SurveySatisfied implements ISurveySatisfied { + + /** + * Constructs a new SurveySatisfied. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.ISurveySatisfied); + + /** SurveySatisfied survey_satisfied_reason. */ + public survey_satisfied_reason: (google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason); + + /** SurveySatisfied other_reason_comment. */ + public other_reason_comment: string; + + /** + * Creates a new SurveySatisfied instance using the specified properties. + * @param [properties] Properties to set + * @returns SurveySatisfied instance + */ + public static create(properties?: google.ads.googleads.v19.services.ISurveySatisfied): google.ads.googleads.v19.services.SurveySatisfied; + + /** + * Encodes the specified SurveySatisfied message. Does not implicitly {@link google.ads.googleads.v19.services.SurveySatisfied.verify|verify} messages. + * @param message SurveySatisfied message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.ISurveySatisfied, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SurveySatisfied message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SurveySatisfied.verify|verify} messages. + * @param message SurveySatisfied message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.ISurveySatisfied, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SurveySatisfied message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SurveySatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.SurveySatisfied; + + /** + * Decodes a SurveySatisfied message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SurveySatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.SurveySatisfied; + + /** + * Verifies a SurveySatisfied message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SurveySatisfied message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SurveySatisfied + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.SurveySatisfied; + + /** + * Creates a plain object from a SurveySatisfied message. Also converts values to other types if specified. + * @param message SurveySatisfied + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.SurveySatisfied, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SurveySatisfied to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SurveySatisfied + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SurveyDissatisfied. */ + interface ISurveyDissatisfied { + + /** SurveyDissatisfied survey_dissatisfied_reason */ + survey_dissatisfied_reason?: (google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason|null); + + /** SurveyDissatisfied other_reason_comment */ + other_reason_comment?: (string|null); + } + + /** Represents a SurveyDissatisfied. */ + class SurveyDissatisfied implements ISurveyDissatisfied { + + /** + * Constructs a new SurveyDissatisfied. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.ISurveyDissatisfied); + + /** SurveyDissatisfied survey_dissatisfied_reason. */ + public survey_dissatisfied_reason: (google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason); + + /** SurveyDissatisfied other_reason_comment. */ + public other_reason_comment: string; + + /** + * Creates a new SurveyDissatisfied instance using the specified properties. + * @param [properties] Properties to set + * @returns SurveyDissatisfied instance + */ + public static create(properties?: google.ads.googleads.v19.services.ISurveyDissatisfied): google.ads.googleads.v19.services.SurveyDissatisfied; + + /** + * Encodes the specified SurveyDissatisfied message. Does not implicitly {@link google.ads.googleads.v19.services.SurveyDissatisfied.verify|verify} messages. + * @param message SurveyDissatisfied message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.ISurveyDissatisfied, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SurveyDissatisfied message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SurveyDissatisfied.verify|verify} messages. + * @param message SurveyDissatisfied message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.ISurveyDissatisfied, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SurveyDissatisfied message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SurveyDissatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.SurveyDissatisfied; + + /** + * Decodes a SurveyDissatisfied message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SurveyDissatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.SurveyDissatisfied; + + /** + * Verifies a SurveyDissatisfied message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SurveyDissatisfied message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SurveyDissatisfied + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.SurveyDissatisfied; + + /** + * Creates a plain object from a SurveyDissatisfied message. Also converts values to other types if specified. + * @param message SurveyDissatisfied + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.SurveyDissatisfied, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SurveyDissatisfied to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SurveyDissatisfied + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProvideLeadFeedbackRequest. */ + interface IProvideLeadFeedbackRequest { + + /** ProvideLeadFeedbackRequest resource_name */ + resource_name?: (string|null); + + /** ProvideLeadFeedbackRequest survey_answer */ + survey_answer?: (google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer|null); + + /** ProvideLeadFeedbackRequest survey_satisfied */ + survey_satisfied?: (google.ads.googleads.v19.services.ISurveySatisfied|null); + + /** ProvideLeadFeedbackRequest survey_dissatisfied */ + survey_dissatisfied?: (google.ads.googleads.v19.services.ISurveyDissatisfied|null); + } + + /** Represents a ProvideLeadFeedbackRequest. */ + class ProvideLeadFeedbackRequest implements IProvideLeadFeedbackRequest { + + /** + * Constructs a new ProvideLeadFeedbackRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.IProvideLeadFeedbackRequest); + + /** ProvideLeadFeedbackRequest resource_name. */ + public resource_name: string; + + /** ProvideLeadFeedbackRequest survey_answer. */ + public survey_answer: (google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer); + + /** ProvideLeadFeedbackRequest survey_satisfied. */ + public survey_satisfied?: (google.ads.googleads.v19.services.ISurveySatisfied|null); + + /** ProvideLeadFeedbackRequest survey_dissatisfied. */ + public survey_dissatisfied?: (google.ads.googleads.v19.services.ISurveyDissatisfied|null); + + /** ProvideLeadFeedbackRequest survey_details. */ + public survey_details?: ("survey_satisfied"|"survey_dissatisfied"); + + /** + * Creates a new ProvideLeadFeedbackRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ProvideLeadFeedbackRequest instance + */ + public static create(properties?: google.ads.googleads.v19.services.IProvideLeadFeedbackRequest): google.ads.googleads.v19.services.ProvideLeadFeedbackRequest; + + /** + * Encodes the specified ProvideLeadFeedbackRequest message. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackRequest.verify|verify} messages. + * @param message ProvideLeadFeedbackRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProvideLeadFeedbackRequest message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackRequest.verify|verify} messages. + * @param message ProvideLeadFeedbackRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProvideLeadFeedbackRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProvideLeadFeedbackRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.ProvideLeadFeedbackRequest; + + /** + * Decodes a ProvideLeadFeedbackRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProvideLeadFeedbackRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.ProvideLeadFeedbackRequest; + + /** + * Verifies a ProvideLeadFeedbackRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProvideLeadFeedbackRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProvideLeadFeedbackRequest + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.ProvideLeadFeedbackRequest; + + /** + * Creates a plain object from a ProvideLeadFeedbackRequest message. Also converts values to other types if specified. + * @param message ProvideLeadFeedbackRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.ProvideLeadFeedbackRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProvideLeadFeedbackRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProvideLeadFeedbackRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProvideLeadFeedbackResponse. */ + interface IProvideLeadFeedbackResponse { + + /** ProvideLeadFeedbackResponse credit_issuance_decision */ + credit_issuance_decision?: (google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision|null); + } + + /** Represents a ProvideLeadFeedbackResponse. */ + class ProvideLeadFeedbackResponse implements IProvideLeadFeedbackResponse { + + /** + * Constructs a new ProvideLeadFeedbackResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.IProvideLeadFeedbackResponse); + + /** ProvideLeadFeedbackResponse credit_issuance_decision. */ + public credit_issuance_decision: (google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision|keyof typeof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision); + + /** + * Creates a new ProvideLeadFeedbackResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ProvideLeadFeedbackResponse instance + */ + public static create(properties?: google.ads.googleads.v19.services.IProvideLeadFeedbackResponse): google.ads.googleads.v19.services.ProvideLeadFeedbackResponse; + + /** + * Encodes the specified ProvideLeadFeedbackResponse message. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackResponse.verify|verify} messages. + * @param message ProvideLeadFeedbackResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProvideLeadFeedbackResponse message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackResponse.verify|verify} messages. + * @param message ProvideLeadFeedbackResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProvideLeadFeedbackResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProvideLeadFeedbackResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.ProvideLeadFeedbackResponse; + + /** + * Decodes a ProvideLeadFeedbackResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProvideLeadFeedbackResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.ProvideLeadFeedbackResponse; + + /** + * Verifies a ProvideLeadFeedbackResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProvideLeadFeedbackResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProvideLeadFeedbackResponse + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.ProvideLeadFeedbackResponse; + + /** + * Creates a plain object from a ProvideLeadFeedbackResponse message. Also converts values to other types if specified. + * @param message ProvideLeadFeedbackResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.ProvideLeadFeedbackResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProvideLeadFeedbackResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProvideLeadFeedbackResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Represents an OfflineUserDataJobService */ class OfflineUserDataJobService extends $protobuf.rpc.Service { @@ -194484,6 +197212,20 @@ export namespace google { */ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ReachPlanService; + /** + * Calls GenerateConversionRates. + * @param request GenerateConversionRatesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and GenerateConversionRatesResponse + */ + public generateConversionRates(request: google.ads.googleads.v19.services.IGenerateConversionRatesRequest, callback: google.ads.googleads.v19.services.ReachPlanService.GenerateConversionRatesCallback): void; + + /** + * Calls GenerateConversionRates. + * @param request GenerateConversionRatesRequest message or plain object + * @returns Promise + */ + public generateConversionRates(request: google.ads.googleads.v19.services.IGenerateConversionRatesRequest): Promise; + /** * Calls ListPlannableLocations. * @param request ListPlannableLocationsRequest message or plain object @@ -194529,6 +197271,13 @@ export namespace google { namespace ReachPlanService { + /** + * Callback as used by {@link google.ads.googleads.v19.services.ReachPlanService|generateConversionRates}. + * @param error Error, if any + * @param [response] GenerateConversionRatesResponse + */ + type GenerateConversionRatesCallback = (error: (Error|null), response?: google.ads.googleads.v19.services.GenerateConversionRatesResponse) => void; + /** * Callback as used by {@link google.ads.googleads.v19.services.ReachPlanService|listPlannableLocations}. * @param error Error, if any @@ -194551,6 +197300,315 @@ export namespace google { type GenerateReachForecastCallback = (error: (Error|null), response?: google.ads.googleads.v19.services.GenerateReachForecastResponse) => void; } + /** Properties of a GenerateConversionRatesRequest. */ + interface IGenerateConversionRatesRequest { + + /** GenerateConversionRatesRequest customer_id */ + customer_id?: (string|null); + + /** GenerateConversionRatesRequest customer_reach_group */ + customer_reach_group?: (string|null); + } + + /** Represents a GenerateConversionRatesRequest. */ + class GenerateConversionRatesRequest implements IGenerateConversionRatesRequest { + + /** + * Constructs a new GenerateConversionRatesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.IGenerateConversionRatesRequest); + + /** GenerateConversionRatesRequest customer_id. */ + public customer_id: string; + + /** GenerateConversionRatesRequest customer_reach_group. */ + public customer_reach_group?: (string|null); + + /** + * Creates a new GenerateConversionRatesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GenerateConversionRatesRequest instance + */ + public static create(properties?: google.ads.googleads.v19.services.IGenerateConversionRatesRequest): google.ads.googleads.v19.services.GenerateConversionRatesRequest; + + /** + * Encodes the specified GenerateConversionRatesRequest message. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesRequest.verify|verify} messages. + * @param message GenerateConversionRatesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.IGenerateConversionRatesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GenerateConversionRatesRequest message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesRequest.verify|verify} messages. + * @param message GenerateConversionRatesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.IGenerateConversionRatesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GenerateConversionRatesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GenerateConversionRatesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.GenerateConversionRatesRequest; + + /** + * Decodes a GenerateConversionRatesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GenerateConversionRatesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.GenerateConversionRatesRequest; + + /** + * Verifies a GenerateConversionRatesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GenerateConversionRatesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GenerateConversionRatesRequest + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.GenerateConversionRatesRequest; + + /** + * Creates a plain object from a GenerateConversionRatesRequest message. Also converts values to other types if specified. + * @param message GenerateConversionRatesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.GenerateConversionRatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GenerateConversionRatesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GenerateConversionRatesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GenerateConversionRatesResponse. */ + interface IGenerateConversionRatesResponse { + + /** GenerateConversionRatesResponse conversion_rate_suggestions */ + conversion_rate_suggestions?: (google.ads.googleads.v19.services.IConversionRateSuggestion[]|null); + } + + /** Represents a GenerateConversionRatesResponse. */ + class GenerateConversionRatesResponse implements IGenerateConversionRatesResponse { + + /** + * Constructs a new GenerateConversionRatesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.IGenerateConversionRatesResponse); + + /** GenerateConversionRatesResponse conversion_rate_suggestions. */ + public conversion_rate_suggestions: google.ads.googleads.v19.services.IConversionRateSuggestion[]; + + /** + * Creates a new GenerateConversionRatesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns GenerateConversionRatesResponse instance + */ + public static create(properties?: google.ads.googleads.v19.services.IGenerateConversionRatesResponse): google.ads.googleads.v19.services.GenerateConversionRatesResponse; + + /** + * Encodes the specified GenerateConversionRatesResponse message. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesResponse.verify|verify} messages. + * @param message GenerateConversionRatesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.IGenerateConversionRatesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GenerateConversionRatesResponse message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesResponse.verify|verify} messages. + * @param message GenerateConversionRatesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.IGenerateConversionRatesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GenerateConversionRatesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GenerateConversionRatesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.GenerateConversionRatesResponse; + + /** + * Decodes a GenerateConversionRatesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GenerateConversionRatesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.GenerateConversionRatesResponse; + + /** + * Verifies a GenerateConversionRatesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GenerateConversionRatesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GenerateConversionRatesResponse + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.GenerateConversionRatesResponse; + + /** + * Creates a plain object from a GenerateConversionRatesResponse message. Also converts values to other types if specified. + * @param message GenerateConversionRatesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.GenerateConversionRatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GenerateConversionRatesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GenerateConversionRatesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConversionRateSuggestion. */ + interface IConversionRateSuggestion { + + /** ConversionRateSuggestion conversion_rate_model */ + conversion_rate_model?: (google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel|keyof typeof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel|null); + + /** ConversionRateSuggestion plannable_product_code */ + plannable_product_code?: (string|null); + + /** ConversionRateSuggestion conversion_rate */ + conversion_rate?: (number|null); + } + + /** Represents a ConversionRateSuggestion. */ + class ConversionRateSuggestion implements IConversionRateSuggestion { + + /** + * Constructs a new ConversionRateSuggestion. + * @param [properties] Properties to set + */ + constructor(properties?: google.ads.googleads.v19.services.IConversionRateSuggestion); + + /** ConversionRateSuggestion conversion_rate_model. */ + public conversion_rate_model: (google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel|keyof typeof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel); + + /** ConversionRateSuggestion plannable_product_code. */ + public plannable_product_code: string; + + /** ConversionRateSuggestion conversion_rate. */ + public conversion_rate: number; + + /** + * Creates a new ConversionRateSuggestion instance using the specified properties. + * @param [properties] Properties to set + * @returns ConversionRateSuggestion instance + */ + public static create(properties?: google.ads.googleads.v19.services.IConversionRateSuggestion): google.ads.googleads.v19.services.ConversionRateSuggestion; + + /** + * Encodes the specified ConversionRateSuggestion message. Does not implicitly {@link google.ads.googleads.v19.services.ConversionRateSuggestion.verify|verify} messages. + * @param message ConversionRateSuggestion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.ads.googleads.v19.services.IConversionRateSuggestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConversionRateSuggestion message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.ConversionRateSuggestion.verify|verify} messages. + * @param message ConversionRateSuggestion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.ads.googleads.v19.services.IConversionRateSuggestion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConversionRateSuggestion message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConversionRateSuggestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ads.googleads.v19.services.ConversionRateSuggestion; + + /** + * Decodes a ConversionRateSuggestion message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConversionRateSuggestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ads.googleads.v19.services.ConversionRateSuggestion; + + /** + * Verifies a ConversionRateSuggestion message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConversionRateSuggestion message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConversionRateSuggestion + */ + public static fromObject(object: { [k: string]: any }): google.ads.googleads.v19.services.ConversionRateSuggestion; + + /** + * Creates a plain object from a ConversionRateSuggestion message. Also converts values to other types if specified. + * @param message ConversionRateSuggestion + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.ads.googleads.v19.services.ConversionRateSuggestion, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConversionRateSuggestion to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConversionRateSuggestion + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a ListPlannableLocationsRequest. */ interface IListPlannableLocationsRequest { } @@ -195892,6 +198950,9 @@ export namespace google { /** PlannedProduct budget_micros */ budget_micros?: (number|null); + /** PlannedProduct conversion_rate */ + conversion_rate?: (number|null); + /** PlannedProduct advanced_product_targeting */ advanced_product_targeting?: (google.ads.googleads.v19.services.IAdvancedProductTargeting|null); } @@ -195911,6 +198972,9 @@ export namespace google { /** PlannedProduct budget_micros. */ public budget_micros?: (number|null); + /** PlannedProduct conversion_rate. */ + public conversion_rate?: (number|null); + /** PlannedProduct advanced_product_targeting. */ public advanced_product_targeting?: (google.ads.googleads.v19.services.IAdvancedProductTargeting|null); @@ -196336,6 +199400,9 @@ export namespace google { /** Forecast views */ views?: (number|null); + + /** Forecast conversions */ + conversions?: (number|null); } /** Represents a Forecast. */ @@ -196380,6 +199447,9 @@ export namespace google { /** Forecast views. */ public views?: (number|null); + /** Forecast conversions. */ + public conversions?: (number|null); + /** * Creates a new Forecast instance using the specified properties. * @param [properties] Properties to set @@ -196602,6 +199672,9 @@ export namespace google { /** PlannedProductForecast views */ views?: (number|null); + + /** PlannedProductForecast conversions */ + conversions?: (number|null); } /** Represents a PlannedProductForecast. */ @@ -196646,6 +199719,9 @@ export namespace google { /** PlannedProductForecast views. */ public views?: (number|null); + /** PlannedProductForecast conversions. */ + public conversions?: (number|null); + /** * Creates a new PlannedProductForecast instance using the specified properties. * @param [properties] Properties to set @@ -210900,7 +213976,7 @@ export namespace google { double_value?: (number|null); /** UninterpretedOption string_value */ - string_value?: (Uint8Array|string|null); + string_value?: (Uint8Array|Buffer|string|null); /** UninterpretedOption aggregate_value */ aggregate_value?: (string|null); @@ -210931,7 +214007,7 @@ export namespace google { public double_value: number; /** UninterpretedOption string_value. */ - public string_value: (Uint8Array|string); + public string_value: (Uint8Array|Buffer|string); /** UninterpretedOption aggregate_value. */ public aggregate_value: string; @@ -212167,7 +215243,7 @@ export namespace google { type_url?: (string|null); /** Any value */ - value?: (Uint8Array|string|null); + value?: (Uint8Array|Buffer|string|null); } /** Represents an Any. */ @@ -212183,7 +215259,7 @@ export namespace google { public type_url: string; /** Any value. */ - public value: (Uint8Array|string); + public value: (Uint8Array|Buffer|string); /** * Creates a new Any instance using the specified properties. diff --git a/package/googleads-nodejs/protos/protos.js b/package/googleads-nodejs/protos/protos.js index dd9a3873..0e1e01da 100644 --- a/package/googleads-nodejs/protos/protos.js +++ b/package/googleads-nodejs/protos/protos.js @@ -202,12 +202,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdTextAsset.decode = function decode(reader, length) { + AdTextAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdTextAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.text = reader.string(); @@ -674,12 +676,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdImageAsset.decode = function decode(reader, length) { + AdImageAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdImageAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.asset = reader.string(); @@ -907,12 +911,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdVideoAsset.decode = function decode(reader, length) { + AdVideoAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdVideoAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.asset = reader.string(); @@ -1145,12 +1151,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdVideoAssetInfo.decode = function decode(reader, length) { + AdVideoAssetInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdVideoAssetInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_video_asset_inventory_preferences = $root.google.ads.googleads.v19.common.AdVideoAssetInventoryPreferences.decode(reader, reader.uint32()); @@ -1401,12 +1409,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdVideoAssetInventoryPreferences.decode = function decode(reader, length) { + AdVideoAssetInventoryPreferences.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdVideoAssetInventoryPreferences(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.in_feed_preference = reader.bool(); @@ -1649,12 +1659,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdMediaBundleAsset.decode = function decode(reader, length) { + AdMediaBundleAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdMediaBundleAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.asset = reader.string(); @@ -1865,12 +1877,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdDemandGenCarouselCardAsset.decode = function decode(reader, length) { + AdDemandGenCarouselCardAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdDemandGenCarouselCardAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset = reader.string(); @@ -2081,12 +2095,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdCallToActionAsset.decode = function decode(reader, length) { + AdCallToActionAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdCallToActionAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset = reader.string(); @@ -2297,12 +2313,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdAppDeepLinkAsset.decode = function decode(reader, length) { + AdAppDeepLinkAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdAppDeepLinkAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset = reader.string(); @@ -2528,12 +2546,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdAssetPolicySummary.decode = function decode(reader, length) { + AdAssetPolicySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdAssetPolicySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.policy_topic_entries && message.policy_topic_entries.length)) @@ -2902,12 +2922,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetLinkPrimaryStatusDetails.decode = function decode(reader, length) { + AssetLinkPrimaryStatusDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AssetLinkPrimaryStatusDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.reason = reader.int32(); @@ -3245,12 +3267,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetDisapproved.decode = function decode(reader, length) { + AssetDisapproved.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AssetDisapproved(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.offline_evaluation_error_reasons && message.offline_evaluation_error_reasons.length)) @@ -3547,12 +3571,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyViolationKey.decode = function decode(reader, length) { + PolicyViolationKey.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyViolationKey(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.policy_name = reader.string(); @@ -3785,12 +3811,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyValidationParameter.decode = function decode(reader, length) { + PolicyValidationParameter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyValidationParameter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { if (!(message.ignorable_policy_topics && message.ignorable_policy_topics.length)) @@ -4080,12 +4108,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicEntry.decode = function decode(reader, length) { + PolicyTopicEntry.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEntry(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.topic = reader.string(); @@ -4482,12 +4512,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicEvidence.decode = function decode(reader, length) { + PolicyTopicEvidence.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEvidence(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.website_list = $root.google.ads.googleads.v19.common.PolicyTopicEvidence.WebsiteList.decode(reader, reader.uint32()); @@ -4808,12 +4840,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextList.decode = function decode(reader, length) { + TextList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEvidence.TextList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.texts && message.texts.length)) @@ -5027,12 +5061,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebsiteList.decode = function decode(reader, length) { + WebsiteList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEvidence.WebsiteList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.websites && message.websites.length)) @@ -5246,12 +5282,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DestinationTextList.decode = function decode(reader, length) { + DestinationTextList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEvidence.DestinationTextList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.destination_texts && message.destination_texts.length)) @@ -5468,12 +5506,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DestinationMismatch.decode = function decode(reader, length) { + DestinationMismatch.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEvidence.DestinationMismatch(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.url_types && message.url_types.length)) @@ -5804,12 +5844,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DestinationNotWorking.decode = function decode(reader, length) { + DestinationNotWorking.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicEvidence.DestinationNotWorking(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.expanded_url = reader.string(); @@ -6197,12 +6239,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicConstraint.decode = function decode(reader, length) { + PolicyTopicConstraint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicConstraint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.country_constraint_list = $root.google.ads.googleads.v19.common.PolicyTopicConstraint.CountryConstraintList.decode(reader, reader.uint32()); @@ -6501,12 +6545,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CountryConstraintList.decode = function decode(reader, length) { + CountryConstraintList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicConstraint.CountryConstraintList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.total_targeted_countries = reader.int32(); @@ -6729,12 +6775,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResellerConstraint.decode = function decode(reader, length) { + ResellerConstraint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicConstraint.ResellerConstraint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -6924,12 +6972,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CountryConstraint.decode = function decode(reader, length) { + CountryConstraint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicyTopicConstraint.CountryConstraint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.country_criterion = reader.string(); @@ -7177,12 +7227,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAdInfo.decode = function decode(reader, length) { + TextAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TextAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.headline = reader.string(); @@ -7527,12 +7579,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExpandedTextAdInfo.decode = function decode(reader, length) { + ExpandedTextAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ExpandedTextAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 8: { message.headline_part1 = reader.string(); @@ -7856,12 +7910,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExpandedDynamicSearchAdInfo.decode = function decode(reader, length) { + ExpandedDynamicSearchAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ExpandedDynamicSearchAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.description = reader.string(); @@ -8068,12 +8124,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelAdInfo.decode = function decode(reader, length) { + HotelAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -8243,12 +8301,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TravelAdInfo.decode = function decode(reader, length) { + TravelAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TravelAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -8418,12 +8478,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingSmartAdInfo.decode = function decode(reader, length) { + ShoppingSmartAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ShoppingSmartAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -8593,12 +8655,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingProductAdInfo.decode = function decode(reader, length) { + ShoppingProductAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ShoppingProductAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -8788,12 +8852,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingComparisonListingAdInfo.decode = function decode(reader, length) { + ShoppingComparisonListingAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ShoppingComparisonListingAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.headline = reader.string(); @@ -9161,12 +9227,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAdInfo.decode = function decode(reader, length) { + ImageAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ImageAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 15: { message.pixel_width = reader.int64(); @@ -9689,12 +9757,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoBumperInStreamAdInfo.decode = function decode(reader, length) { + VideoBumperInStreamAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.VideoBumperInStreamAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.companion_banner = $root.google.ads.googleads.v19.common.AdImageAsset.decode(reader, reader.uint32()); @@ -9944,12 +10014,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoNonSkippableInStreamAdInfo.decode = function decode(reader, length) { + VideoNonSkippableInStreamAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.VideoNonSkippableInStreamAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.companion_banner = $root.google.ads.googleads.v19.common.AdImageAsset.decode(reader, reader.uint32()); @@ -10199,12 +10271,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoTrueViewInStreamAdInfo.decode = function decode(reader, length) { + VideoTrueViewInStreamAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.VideoTrueViewInStreamAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.action_button_label = reader.string(); @@ -10443,12 +10517,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoOutstreamAdInfo.decode = function decode(reader, length) { + VideoOutstreamAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.VideoOutstreamAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.headline = reader.string(); @@ -10692,12 +10768,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InFeedVideoAdInfo.decode = function decode(reader, length) { + InFeedVideoAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.InFeedVideoAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.headline = reader.string(); @@ -10886,6 +10964,183 @@ return InFeedVideoAdInfo; })(); + common.YouTubeAudioAdInfo = (function() { + + /** + * Properties of a YouTubeAudioAdInfo. + * @memberof google.ads.googleads.v19.common + * @interface IYouTubeAudioAdInfo + */ + + /** + * Constructs a new YouTubeAudioAdInfo. + * @memberof google.ads.googleads.v19.common + * @classdesc Represents a YouTubeAudioAdInfo. + * @implements IYouTubeAudioAdInfo + * @constructor + * @param {google.ads.googleads.v19.common.IYouTubeAudioAdInfo=} [properties] Properties to set + */ + function YouTubeAudioAdInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new YouTubeAudioAdInfo instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {google.ads.googleads.v19.common.IYouTubeAudioAdInfo=} [properties] Properties to set + * @returns {google.ads.googleads.v19.common.YouTubeAudioAdInfo} YouTubeAudioAdInfo instance + */ + YouTubeAudioAdInfo.create = function create(properties) { + return new YouTubeAudioAdInfo(properties); + }; + + /** + * Encodes the specified YouTubeAudioAdInfo message. Does not implicitly {@link google.ads.googleads.v19.common.YouTubeAudioAdInfo.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {google.ads.googleads.v19.common.IYouTubeAudioAdInfo} message YouTubeAudioAdInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + YouTubeAudioAdInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified YouTubeAudioAdInfo message, length delimited. Does not implicitly {@link google.ads.googleads.v19.common.YouTubeAudioAdInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {google.ads.googleads.v19.common.IYouTubeAudioAdInfo} message YouTubeAudioAdInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + YouTubeAudioAdInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a YouTubeAudioAdInfo message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.common.YouTubeAudioAdInfo} YouTubeAudioAdInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + YouTubeAudioAdInfo.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a YouTubeAudioAdInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.common.YouTubeAudioAdInfo} YouTubeAudioAdInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + YouTubeAudioAdInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a YouTubeAudioAdInfo message. + * @function verify + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + YouTubeAudioAdInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a YouTubeAudioAdInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.common.YouTubeAudioAdInfo} YouTubeAudioAdInfo + */ + YouTubeAudioAdInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo) + return object; + return new $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo(); + }; + + /** + * Creates a plain object from a YouTubeAudioAdInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {google.ads.googleads.v19.common.YouTubeAudioAdInfo} message YouTubeAudioAdInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + YouTubeAudioAdInfo.toObject = function toObject() { + return {}; + }; + + /** + * Converts this YouTubeAudioAdInfo to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @instance + * @returns {Object.} JSON object + */ + YouTubeAudioAdInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for YouTubeAudioAdInfo + * @function getTypeUrl + * @memberof google.ads.googleads.v19.common.YouTubeAudioAdInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + YouTubeAudioAdInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.common.YouTubeAudioAdInfo"; + }; + + return YouTubeAudioAdInfo; + })(); + common.VideoAdInfo = (function() { /** @@ -10898,6 +11153,7 @@ * @property {google.ads.googleads.v19.common.IVideoOutstreamAdInfo|null} [out_stream] VideoAdInfo out_stream * @property {google.ads.googleads.v19.common.IVideoNonSkippableInStreamAdInfo|null} [non_skippable] VideoAdInfo non_skippable * @property {google.ads.googleads.v19.common.IInFeedVideoAdInfo|null} [in_feed] VideoAdInfo in_feed + * @property {google.ads.googleads.v19.common.IYouTubeAudioAdInfo|null} [audio] VideoAdInfo audio */ /** @@ -10963,17 +11219,25 @@ */ VideoAdInfo.prototype.in_feed = null; + /** + * VideoAdInfo audio. + * @member {google.ads.googleads.v19.common.IYouTubeAudioAdInfo|null|undefined} audio + * @memberof google.ads.googleads.v19.common.VideoAdInfo + * @instance + */ + VideoAdInfo.prototype.audio = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * VideoAdInfo format. - * @member {"in_stream"|"bumper"|"out_stream"|"non_skippable"|"in_feed"|undefined} format + * @member {"in_stream"|"bumper"|"out_stream"|"non_skippable"|"in_feed"|"audio"|undefined} format * @memberof google.ads.googleads.v19.common.VideoAdInfo * @instance */ Object.defineProperty(VideoAdInfo.prototype, "format", { - get: $util.oneOfGetter($oneOfFields = ["in_stream", "bumper", "out_stream", "non_skippable", "in_feed"]), + get: $util.oneOfGetter($oneOfFields = ["in_stream", "bumper", "out_stream", "non_skippable", "in_feed", "audio"]), set: $util.oneOfSetter($oneOfFields) }); @@ -11013,6 +11277,8 @@ $root.google.ads.googleads.v19.common.AdVideoAsset.encode(message.video, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.in_feed != null && Object.hasOwnProperty.call(message, "in_feed")) $root.google.ads.googleads.v19.common.InFeedVideoAdInfo.encode(message.in_feed, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.audio != null && Object.hasOwnProperty.call(message, "audio")) + $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo.encode(message.audio, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; @@ -11040,12 +11306,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoAdInfo.decode = function decode(reader, length) { + VideoAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.VideoAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 8: { message.video = $root.google.ads.googleads.v19.common.AdVideoAsset.decode(reader, reader.uint32()); @@ -11071,6 +11339,10 @@ message.in_feed = $root.google.ads.googleads.v19.common.InFeedVideoAdInfo.decode(reader, reader.uint32()); break; } + case 10: { + message.audio = $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -11160,6 +11432,16 @@ return "in_feed." + error; } } + if (message.audio != null && message.hasOwnProperty("audio")) { + if (properties.format === 1) + return "format: multiple values"; + properties.format = 1; + { + var error = $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo.verify(message.audio); + if (error) + return "audio." + error; + } + } return null; }; @@ -11205,6 +11487,11 @@ throw TypeError(".google.ads.googleads.v19.common.VideoAdInfo.in_feed: object expected"); message.in_feed = $root.google.ads.googleads.v19.common.InFeedVideoAdInfo.fromObject(object.in_feed); } + if (object.audio != null) { + if (typeof object.audio !== "object") + throw TypeError(".google.ads.googleads.v19.common.VideoAdInfo.audio: object expected"); + message.audio = $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo.fromObject(object.audio); + } return message; }; @@ -11250,6 +11537,11 @@ if (options.oneofs) object.format = "in_feed"; } + if (message.audio != null && message.hasOwnProperty("audio")) { + object.audio = $root.google.ads.googleads.v19.common.YouTubeAudioAdInfo.toObject(message.audio, options); + if (options.oneofs) + object.format = "audio"; + } return object; }; @@ -11456,12 +11748,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoResponsiveAdInfo.decode = function decode(reader, length) { + VideoResponsiveAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.VideoResponsiveAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -11912,12 +12206,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdInfo.decode = function decode(reader, length) { + ResponsiveSearchAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ResponsiveSearchAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -12440,12 +12736,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LegacyResponsiveDisplayAdInfo.decode = function decode(reader, length) { + LegacyResponsiveDisplayAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LegacyResponsiveDisplayAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 16: { message.short_headline = reader.string(); @@ -12978,12 +13276,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppAdInfo.decode = function decode(reader, length) { + AppAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AppAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.mandatory_ad_text = $root.google.ads.googleads.v19.common.AdTextAsset.decode(reader, reader.uint32()); @@ -13402,12 +13702,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppEngagementAdInfo.decode = function decode(reader, length) { + AppEngagementAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AppEngagementAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -13759,12 +14061,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppPreRegistrationAdInfo.decode = function decode(reader, length) { + AppPreRegistrationAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AppPreRegistrationAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -14146,12 +14450,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LegacyAppInstallAdInfo.decode = function decode(reader, length) { + LegacyAppInstallAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LegacyAppInstallAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.app_id = reader.string(); @@ -14693,12 +14999,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveDisplayAdInfo.decode = function decode(reader, length) { + ResponsiveDisplayAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ResponsiveDisplayAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.marketing_images && message.marketing_images.length)) @@ -15401,12 +15709,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalAdInfo.decode = function decode(reader, length) { + LocalAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocalAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -15837,12 +16147,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DisplayUploadAdInfo.decode = function decode(reader, length) { + DisplayUploadAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DisplayUploadAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.display_upload_product_type = reader.int32(); @@ -16143,12 +16455,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveDisplayAdControlSpec.decode = function decode(reader, length) { + ResponsiveDisplayAdControlSpec.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ResponsiveDisplayAdControlSpec(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.enable_asset_enhancements = reader.bool(); @@ -16374,12 +16688,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignAdInfo.decode = function decode(reader, length) { + SmartCampaignAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SmartCampaignAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -16771,12 +17087,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallAdInfo.decode = function decode(reader, length) { + CallAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CallAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.country_code = reader.string(); @@ -17299,12 +17617,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DemandGenMultiAssetAdInfo.decode = function decode(reader, length) { + DemandGenMultiAssetAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DemandGenMultiAssetAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.marketing_images && message.marketing_images.length)) @@ -17814,12 +18134,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DemandGenCarouselAdInfo.decode = function decode(reader, length) { + DemandGenCarouselAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DemandGenCarouselAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.business_name = reader.string(); @@ -18213,12 +18535,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DemandGenVideoResponsiveAdInfo.decode = function decode(reader, length) { + DemandGenVideoResponsiveAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DemandGenVideoResponsiveAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.headlines && message.headlines.length)) @@ -18727,12 +19051,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DemandGenProductAdInfo.decode = function decode(reader, length) { + DemandGenProductAdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DemandGenProductAdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.headline = $root.google.ads.googleads.v19.common.AdTextAsset.decode(reader, reader.uint32()); @@ -19096,12 +19422,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationSet.decode = function decode(reader, length) { + LocationSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocationSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.location_ownership_type = reader.int32(); @@ -19461,12 +19789,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessProfileLocationSet.decode = function decode(reader, length) { + BusinessProfileLocationSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BusinessProfileLocationSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.http_authorization_token = reader.string(); @@ -19783,12 +20113,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChainSet.decode = function decode(reader, length) { + ChainSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ChainSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.relationship_type = reader.int32(); @@ -20060,12 +20392,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChainFilter.decode = function decode(reader, length) { + ChainFilter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ChainFilter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.chain_id = reader.int64(); @@ -20306,12 +20640,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MapsLocationSet.decode = function decode(reader, length) { + MapsLocationSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MapsLocationSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.maps_locations && message.maps_locations.length)) @@ -20528,12 +20864,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MapsLocationInfo.decode = function decode(reader, length) { + MapsLocationInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MapsLocationInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.place_id = reader.string(); @@ -20731,12 +21069,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessProfileLocationGroup.decode = function decode(reader, length) { + BusinessProfileLocationGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BusinessProfileLocationGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.dynamic_business_profile_location_group_filter = $root.google.ads.googleads.v19.common.DynamicBusinessProfileLocationGroupFilter.decode(reader, reader.uint32()); @@ -20977,12 +21317,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicBusinessProfileLocationGroupFilter.decode = function decode(reader, length) { + DynamicBusinessProfileLocationGroupFilter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicBusinessProfileLocationGroupFilter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.label_filters && message.label_filters.length)) @@ -21270,12 +21612,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessProfileBusinessNameFilter.decode = function decode(reader, length) { + BusinessProfileBusinessNameFilter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BusinessProfileBusinessNameFilter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.business_name = reader.string(); @@ -21512,12 +21856,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChainLocationGroup.decode = function decode(reader, length) { + ChainLocationGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ChainLocationGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.dynamic_chain_location_group_filters && message.dynamic_chain_location_group_filters.length)) @@ -21754,12 +22100,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YoutubeVideoAsset.decode = function decode(reader, length) { + YoutubeVideoAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YoutubeVideoAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.youtube_video_id = reader.string(); @@ -21983,12 +22331,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaBundleAsset.decode = function decode(reader, length) { + MediaBundleAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MediaBundleAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.data = reader.bytes(); @@ -22241,12 +22591,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAsset.decode = function decode(reader, length) { + ImageAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ImageAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.data = reader.bytes(); @@ -22630,12 +22982,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageDimension.decode = function decode(reader, length) { + ImageDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ImageDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.height_pixels = reader.int64(); @@ -22898,12 +23252,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAsset.decode = function decode(reader, length) { + TextAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TextAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.text = reader.string(); @@ -23292,12 +23648,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormAsset.decode = function decode(reader, length) { + LeadFormAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LeadFormAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 10: { message.business_name = reader.string(); @@ -23933,12 +24291,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormField.decode = function decode(reader, length) { + LeadFormField.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LeadFormField(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.input_type = reader.int32(); @@ -24812,12 +25172,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormCustomQuestionField.decode = function decode(reader, length) { + LeadFormCustomQuestionField.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LeadFormCustomQuestionField(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.custom_question_text = reader.string(); @@ -25058,12 +25420,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormSingleChoiceAnswers.decode = function decode(reader, length) { + LeadFormSingleChoiceAnswers.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LeadFormSingleChoiceAnswers(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.answers && message.answers.length)) @@ -25289,12 +25653,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormDeliveryMethod.decode = function decode(reader, length) { + LeadFormDeliveryMethod.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LeadFormDeliveryMethod(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.webhook = $root.google.ads.googleads.v19.common.WebhookDelivery.decode(reader, reader.uint32()); @@ -25545,12 +25911,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebhookDelivery.decode = function decode(reader, length) { + WebhookDelivery.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.WebhookDelivery(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.advertiser_webhook_url = reader.string(); @@ -25783,12 +26151,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BookOnGoogleAsset.decode = function decode(reader, length) { + BookOnGoogleAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BookOnGoogleAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -26128,12 +26498,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromotionAsset.decode = function decode(reader, length) { + PromotionAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PromotionAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.promotion_target = reader.string(); @@ -26802,12 +27174,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CalloutAsset.decode = function decode(reader, length) { + CalloutAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CalloutAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.callout_text = reader.string(); @@ -27075,12 +27449,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StructuredSnippetAsset.decode = function decode(reader, length) { + StructuredSnippetAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.StructuredSnippetAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.header = reader.string(); @@ -27362,12 +27738,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SitelinkAsset.decode = function decode(reader, length) { + SitelinkAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SitelinkAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.link_text = reader.string(); @@ -27659,12 +28037,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PageFeedAsset.decode = function decode(reader, length) { + PageFeedAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PageFeedAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.page_url = reader.string(); @@ -28036,12 +28416,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicEducationAsset.decode = function decode(reader, length) { + DynamicEducationAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicEducationAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.program_id = reader.string(); @@ -28484,12 +28866,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileAppAsset.decode = function decode(reader, length) { + MobileAppAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MobileAppAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.app_id = reader.string(); @@ -28776,12 +29160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelCalloutAsset.decode = function decode(reader, length) { + HotelCalloutAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelCalloutAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.text = reader.string(); @@ -29038,12 +29424,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallAsset.decode = function decode(reader, length) { + CallAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CallAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.country_code = reader.string(); @@ -29379,12 +29767,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PriceAsset.decode = function decode(reader, length) { + PriceAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PriceAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -29792,12 +30182,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PriceOffering.decode = function decode(reader, length) { + PriceOffering.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PriceOffering(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.header = reader.string(); @@ -30110,12 +30502,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallToActionAsset.decode = function decode(reader, length) { + CallToActionAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CallToActionAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.call_to_action = reader.int32(); @@ -30575,12 +30969,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicRealEstateAsset.decode = function decode(reader, length) { + DynamicRealEstateAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicRealEstateAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.listing_id = reader.string(); @@ -31171,12 +31567,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicCustomAsset.decode = function decode(reader, length) { + DynamicCustomAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicCustomAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.id = reader.string(); @@ -31791,12 +32189,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicHotelsAndRentalsAsset.decode = function decode(reader, length) { + DynamicHotelsAndRentalsAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicHotelsAndRentalsAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.property_id = reader.string(); @@ -32401,12 +32801,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicFlightsAsset.decode = function decode(reader, length) { + DynamicFlightsAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicFlightsAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.destination_id = reader.string(); @@ -32846,12 +33248,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DemandGenCarouselCardAsset.decode = function decode(reader, length) { + DemandGenCarouselCardAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DemandGenCarouselCardAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.marketing_image_asset = reader.string(); @@ -33278,12 +33682,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicTravelAsset.decode = function decode(reader, length) { + DynamicTravelAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicTravelAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.destination_id = reader.string(); @@ -33887,12 +34293,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicLocalAsset.decode = function decode(reader, length) { + DynamicLocalAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicLocalAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.deal_id = reader.string(); @@ -34462,12 +34870,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicJobsAsset.decode = function decode(reader, length) { + DynamicJobsAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicJobsAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.job_id = reader.string(); @@ -34890,12 +35300,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationAsset.decode = function decode(reader, length) { + LocationAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocationAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.place_id = reader.string(); @@ -35191,12 +35603,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessProfileLocation.decode = function decode(reader, length) { + BusinessProfileLocation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BusinessProfileLocation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.labels && message.labels.length)) @@ -35470,12 +35884,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelPropertyAsset.decode = function decode(reader, length) { + HotelPropertyAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelPropertyAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.place_id = reader.string(); @@ -35751,12 +36167,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessMessageAsset.decode = function decode(reader, length) { + BusinessMessageAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BusinessMessageAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.message_provider = reader.int32(); @@ -36047,12 +36465,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WhatsappBusinessMessageInfo.decode = function decode(reader, length) { + WhatsappBusinessMessageInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.WhatsappBusinessMessageInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.country_code = reader.string(); @@ -36274,12 +36694,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessMessageCallToActionInfo.decode = function decode(reader, length) { + BusinessMessageCallToActionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BusinessMessageCallToActionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.call_to_action_selection = reader.int32(); @@ -36549,12 +36971,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppDeepLinkAsset.decode = function decode(reader, length) { + AppDeepLinkAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AppDeepLinkAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.app_deep_link_uri = reader.string(); @@ -36772,12 +37196,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordInfo.decode = function decode(reader, length) { + KeywordInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.text = reader.string(); @@ -37035,12 +37461,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlacementInfo.decode = function decode(reader, length) { + PlacementInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PlacementInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.url = reader.string(); @@ -37251,12 +37679,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NegativeKeywordListInfo.decode = function decode(reader, length) { + NegativeKeywordListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.NegativeKeywordListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.shared_set = reader.string(); @@ -37467,12 +37897,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileAppCategoryInfo.decode = function decode(reader, length) { + MobileAppCategoryInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MobileAppCategoryInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.mobile_app_category_constant = reader.string(); @@ -37700,12 +38132,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileApplicationInfo.decode = function decode(reader, length) { + MobileApplicationInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MobileApplicationInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.app_id = reader.string(); @@ -37932,12 +38366,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decode = function decode(reader, length) { + LocationInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocationInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.geo_target_constant = reader.string(); @@ -38139,12 +38575,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeviceInfo.decode = function decode(reader, length) { + DeviceInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DeviceInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -38434,12 +38872,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupInfo.decode = function decode(reader, length) { + ListingGroupInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ListingGroupInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -38725,12 +39165,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingDimensionPath.decode = function decode(reader, length) { + ListingDimensionPath.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ListingDimensionPath(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.dimensions && message.dimensions.length)) @@ -38949,12 +39391,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingScopeInfo.decode = function decode(reader, length) { + ListingScopeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ListingScopeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.dimensions && message.dimensions.length)) @@ -39427,12 +39871,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingDimensionInfo.decode = function decode(reader, length) { + ListingDimensionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ListingDimensionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.hotel_id = $root.google.ads.googleads.v19.common.HotelIdInfo.decode(reader, reader.uint32()); @@ -40177,12 +40623,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelIdInfo.decode = function decode(reader, length) { + HotelIdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelIdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.value = reader.string(); @@ -40393,12 +40841,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelClassInfo.decode = function decode(reader, length) { + HotelClassInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelClassInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.value = reader.int64(); @@ -40619,12 +41069,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelCountryRegionInfo.decode = function decode(reader, length) { + HotelCountryRegionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelCountryRegionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.country_region_criterion = reader.string(); @@ -40835,12 +41287,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelStateInfo.decode = function decode(reader, length) { + HotelStateInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelStateInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.state_criterion = reader.string(); @@ -41051,12 +41505,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelCityInfo.decode = function decode(reader, length) { + HotelCityInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelCityInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.city_criterion = reader.string(); @@ -41278,12 +41734,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCategoryInfo.decode = function decode(reader, length) { + ProductCategoryInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductCategoryInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.category_id = reader.int64(); @@ -41561,12 +42019,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductBrandInfo.decode = function decode(reader, length) { + ProductBrandInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductBrandInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.value = reader.string(); @@ -41768,12 +42228,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductChannelInfo.decode = function decode(reader, length) { + ProductChannelInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductChannelInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.channel = reader.int32(); @@ -42000,12 +42462,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductChannelExclusivityInfo.decode = function decode(reader, length) { + ProductChannelExclusivityInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductChannelExclusivityInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.channel_exclusivity = reader.int32(); @@ -42232,12 +42696,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductConditionInfo.decode = function decode(reader, length) { + ProductConditionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductConditionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.condition = reader.int32(); @@ -42489,12 +42955,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCustomAttributeInfo.decode = function decode(reader, length) { + ProductCustomAttributeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductCustomAttributeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.value = reader.string(); @@ -42762,12 +43230,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductItemIdInfo.decode = function decode(reader, length) { + ProductItemIdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductItemIdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.value = reader.string(); @@ -42989,12 +43459,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductTypeInfo.decode = function decode(reader, length) { + ProductTypeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductTypeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.value = reader.string(); @@ -43262,12 +43734,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductGroupingInfo.decode = function decode(reader, length) { + ProductGroupingInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductGroupingInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -43478,12 +43952,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLabelsInfo.decode = function decode(reader, length) { + ProductLabelsInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductLabelsInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -43694,12 +44170,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLegacyConditionInfo.decode = function decode(reader, length) { + ProductLegacyConditionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductLegacyConditionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -43910,12 +44388,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductTypeFullInfo.decode = function decode(reader, length) { + ProductTypeFullInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProductTypeFullInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -44106,12 +44586,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UnknownListingDimensionInfo.decode = function decode(reader, length) { + UnknownListingDimensionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UnknownListingDimensionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -44292,12 +44774,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelDateSelectionTypeInfo.decode = function decode(reader, length) { + HotelDateSelectionTypeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelDateSelectionTypeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -44550,12 +45034,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelAdvanceBookingWindowInfo.decode = function decode(reader, length) { + HotelAdvanceBookingWindowInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelAdvanceBookingWindowInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.min_days = reader.int64(); @@ -44819,12 +45305,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelLengthOfStayInfo.decode = function decode(reader, length) { + HotelLengthOfStayInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelLengthOfStayInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.min_nights = reader.int64(); @@ -45073,12 +45561,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelCheckInDateRangeInfo.decode = function decode(reader, length) { + HotelCheckInDateRangeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelCheckInDateRangeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.start_date = reader.string(); @@ -45289,12 +45779,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelCheckInDayInfo.decode = function decode(reader, length) { + HotelCheckInDayInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HotelCheckInDayInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.day_of_week = reader.int32(); @@ -45555,12 +46047,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ActivityIdInfo.decode = function decode(reader, length) { + ActivityIdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ActivityIdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -45771,12 +46265,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ActivityRatingInfo.decode = function decode(reader, length) { + ActivityRatingInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ActivityRatingInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.int64(); @@ -45997,12 +46493,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ActivityCountryInfo.decode = function decode(reader, length) { + ActivityCountryInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ActivityCountryInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -46213,12 +46711,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ActivityStateInfo.decode = function decode(reader, length) { + ActivityStateInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ActivityStateInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -46429,12 +46929,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ActivityCityInfo.decode = function decode(reader, length) { + ActivityCityInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ActivityCityInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -46636,12 +47138,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InteractionTypeInfo.decode = function decode(reader, length) { + InteractionTypeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.InteractionTypeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -46922,12 +47426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdScheduleInfo.decode = function decode(reader, length) { + AdScheduleInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AdScheduleInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.start_minute = reader.int32(); @@ -47315,12 +47821,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AgeRangeInfo.decode = function decode(reader, length) { + AgeRangeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AgeRangeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -47572,12 +48080,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenderInfo.decode = function decode(reader, length) { + GenderInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.GenderInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -47809,12 +48319,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IncomeRangeInfo.decode = function decode(reader, length) { + IncomeRangeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.IncomeRangeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -48066,12 +48578,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ParentalStatusInfo.decode = function decode(reader, length) { + ParentalStatusInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ParentalStatusInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -48312,12 +48826,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeVideoInfo.decode = function decode(reader, length) { + YouTubeVideoInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YouTubeVideoInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.video_id = reader.string(); @@ -48528,12 +49044,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeChannelInfo.decode = function decode(reader, length) { + YouTubeChannelInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YouTubeChannelInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.channel_id = reader.string(); @@ -48744,12 +49262,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListInfo.decode = function decode(reader, length) { + UserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.user_list = reader.string(); @@ -48993,12 +49513,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProximityInfo.decode = function decode(reader, length) { + ProximityInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ProximityInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.geo_point = $root.google.ads.googleads.v19.common.GeoPointInfo.decode(reader, reader.uint32()); @@ -49303,12 +49825,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoPointInfo.decode = function decode(reader, length) { + GeoPointInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.GeoPointInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.longitude_in_micro_degrees = reader.int32(); @@ -49637,12 +50161,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddressInfo.decode = function decode(reader, length) { + AddressInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AddressInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 8: { message.postal_code = reader.string(); @@ -49962,12 +50488,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TopicInfo.decode = function decode(reader, length) { + TopicInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TopicInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.topic_constant = reader.string(); @@ -50205,12 +50733,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LanguageInfo.decode = function decode(reader, length) { + LanguageInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LanguageInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.language_constant = reader.string(); @@ -50421,12 +50951,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IpBlockInfo.decode = function decode(reader, length) { + IpBlockInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.IpBlockInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.ip_address = reader.string(); @@ -50628,12 +51160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContentLabelInfo.decode = function decode(reader, length) { + ContentLabelInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ContentLabelInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -50984,12 +51518,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CarrierInfo.decode = function decode(reader, length) { + CarrierInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CarrierInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.carrier_constant = reader.string(); @@ -51200,12 +51736,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserInterestInfo.decode = function decode(reader, length) { + UserInterestInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserInterestInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.user_interest_category = reader.string(); @@ -51451,12 +51989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageInfo.decode = function decode(reader, length) { + WebpageInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.WebpageInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.criterion_name = reader.string(); @@ -51752,12 +52292,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageConditionInfo.decode = function decode(reader, length) { + WebpageConditionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.WebpageConditionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operand = reader.int32(); @@ -52060,12 +52602,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageSampleInfo.decode = function decode(reader, length) { + WebpageSampleInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.WebpageSampleInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.sample_urls && message.sample_urls.length)) @@ -52286,12 +52830,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperatingSystemVersionInfo.decode = function decode(reader, length) { + OperatingSystemVersionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.OperatingSystemVersionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.operating_system_version_constant = reader.string(); @@ -52493,12 +53039,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppPaymentModelInfo.decode = function decode(reader, length) { + AppPaymentModelInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AppPaymentModelInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -52729,12 +53277,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileDeviceInfo.decode = function decode(reader, length) { + MobileDeviceInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MobileDeviceInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.mobile_device_constant = reader.string(); @@ -52945,12 +53495,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAffinityInfo.decode = function decode(reader, length) { + CustomAffinityInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomAffinityInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.custom_affinity = reader.string(); @@ -53161,12 +53713,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomIntentInfo.decode = function decode(reader, length) { + CustomIntentInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomIntentInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.custom_intent = reader.string(); @@ -53444,12 +53998,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationGroupInfo.decode = function decode(reader, length) { + LocationGroupInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocationGroupInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { if (!(message.geo_target_constants && message.geo_target_constants.length)) @@ -53804,12 +54360,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceInfo.decode = function decode(reader, length) { + CustomAudienceInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomAudienceInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.custom_audience = reader.string(); @@ -54007,12 +54565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CombinedAudienceInfo.decode = function decode(reader, length) { + CombinedAudienceInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CombinedAudienceInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.combined_audience = reader.string(); @@ -54210,12 +54770,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInfo.decode = function decode(reader, length) { + AudienceInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.audience = reader.string(); @@ -54438,12 +55000,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordThemeInfo.decode = function decode(reader, length) { + KeywordThemeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordThemeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.keyword_theme_constant = reader.string(); @@ -54663,12 +55227,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServiceIdInfo.decode = function decode(reader, length) { + LocalServiceIdInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocalServiceIdInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.service_id = reader.string(); @@ -54866,12 +55432,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchThemeInfo.decode = function decode(reader, length) { + SearchThemeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SearchThemeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.text = reader.string(); @@ -55146,12 +55714,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandInfo.decode = function decode(reader, length) { + BrandInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BrandInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.display_name = reader.string(); @@ -55514,12 +56084,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandListInfo.decode = function decode(reader, length) { + BrandListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BrandListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.shared_set = reader.string(); @@ -55747,12 +56319,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Money.decode = function decode(reader, length) { + Money.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Money(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.currency_code = reader.string(); @@ -55991,12 +56565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetUsage.decode = function decode(reader, length) { + AssetUsage.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AssetUsage(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset = reader.string(); @@ -56522,12 +57098,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsAttributeMetadata.decode = function decode(reader, length) { + AudienceInsightsAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInsightsAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.dimension = reader.int32(); @@ -57168,12 +57746,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsAttribute.decode = function decode(reader, length) { + AudienceInsightsAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInsightsAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.age_range = $root.google.ads.googleads.v19.common.AgeRangeInfo.decode(reader, reader.uint32()); @@ -57646,12 +58226,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsTopic.decode = function decode(reader, length) { + AudienceInsightsTopic.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInsightsTopic(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.entity = $root.google.ads.googleads.v19.common.AudienceInsightsEntity.decode(reader, reader.uint32()); @@ -57883,12 +58465,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsEntity.decode = function decode(reader, length) { + AudienceInsightsEntity.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInsightsEntity(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.knowledge_graph_machine_id = reader.string(); @@ -58086,12 +58670,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsCategory.decode = function decode(reader, length) { + AudienceInsightsCategory.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInsightsCategory(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.category_id = reader.string(); @@ -58289,12 +58875,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsDynamicLineup.decode = function decode(reader, length) { + AudienceInsightsDynamicLineup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceInsightsDynamicLineup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.dynamic_lineup_id = reader.string(); @@ -58492,12 +59080,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeChannelAttributeMetadata.decode = function decode(reader, length) { + YouTubeChannelAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YouTubeChannelAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.subscriber_count = reader.int64(); @@ -58720,12 +59310,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeVideoAttributeMetadata.decode = function decode(reader, length) { + YouTubeVideoAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YouTubeVideoAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.thumbnail_url = reader.string(); @@ -59003,12 +59595,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicLineupAttributeMetadata.decode = function decode(reader, length) { + DynamicLineupAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicLineupAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.inventory_country = $root.google.ads.googleads.v19.common.LocationInfo.decode(reader, reader.uint32()); @@ -59341,12 +59935,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SampleChannel.decode = function decode(reader, length) { + SampleChannel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DynamicLineupAttributeMetadata.SampleChannel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.youtube_channel = $root.google.ads.googleads.v19.common.YouTubeChannelInfo.decode(reader, reader.uint32()); @@ -59582,12 +60178,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationAttributeMetadata.decode = function decode(reader, length) { + LocationAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocationAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.country_location = $root.google.ads.googleads.v19.common.LocationInfo.decode(reader, reader.uint32()); @@ -59790,12 +60388,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserInterestAttributeMetadata.decode = function decode(reader, length) { + UserInterestAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserInterestAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.user_interest_description = reader.string(); @@ -59998,12 +60598,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KnowledgeGraphAttributeMetadata.decode = function decode(reader, length) { + KnowledgeGraphAttributeMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KnowledgeGraphAttributeMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.entity_capabilities && message.entity_capabilities.length)) @@ -60307,12 +60909,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceDimension.decode = function decode(reader, length) { + AudienceDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.age = $root.google.ads.googleads.v19.common.AgeDimension.decode(reader, reader.uint32()); @@ -60618,12 +61222,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceExclusionDimension.decode = function decode(reader, length) { + AudienceExclusionDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceExclusionDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.exclusions && message.exclusions.length)) @@ -60854,12 +61460,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExclusionSegment.decode = function decode(reader, length) { + ExclusionSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ExclusionSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.user_list = $root.google.ads.googleads.v19.common.UserListSegment.decode(reader, reader.uint32()); @@ -61089,12 +61697,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AgeDimension.decode = function decode(reader, length) { + AgeDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AgeDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.age_ranges && message.age_ranges.length)) @@ -61354,12 +61964,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AgeSegment.decode = function decode(reader, length) { + AgeSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AgeSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.min_age = reader.int32(); @@ -61602,12 +62214,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenderDimension.decode = function decode(reader, length) { + GenderDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.GenderDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.genders && message.genders.length)) @@ -61900,12 +62514,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HouseholdIncomeDimension.decode = function decode(reader, length) { + HouseholdIncomeDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HouseholdIncomeDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.income_ranges && message.income_ranges.length)) @@ -62218,12 +62834,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ParentalStatusDimension.decode = function decode(reader, length) { + ParentalStatusDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ParentalStatusDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.parental_statuses && message.parental_statuses.length)) @@ -62493,12 +63111,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceSegmentDimension.decode = function decode(reader, length) { + AudienceSegmentDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceSegmentDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.segments && message.segments.length)) @@ -62773,12 +63393,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceSegment.decode = function decode(reader, length) { + AudienceSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AudienceSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.user_list = $root.google.ads.googleads.v19.common.UserListSegment.decode(reader, reader.uint32()); @@ -63091,12 +63713,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListSegment.decode = function decode(reader, length) { + UserListSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.user_list = reader.string(); @@ -63307,12 +63931,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserInterestSegment.decode = function decode(reader, length) { + UserInterestSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserInterestSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.user_interest_category = reader.string(); @@ -63523,12 +64149,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LifeEventSegment.decode = function decode(reader, length) { + LifeEventSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LifeEventSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.life_event = reader.string(); @@ -63739,12 +64367,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DetailedDemographicSegment.decode = function decode(reader, length) { + DetailedDemographicSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DetailedDemographicSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.detailed_demographic = reader.string(); @@ -63955,12 +64585,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceSegment.decode = function decode(reader, length) { + CustomAudienceSegment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomAudienceSegment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.custom_audience = reader.string(); @@ -64171,12 +64803,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Commission.decode = function decode(reader, length) { + Commission.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Commission(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.commission_rate_micros = reader.int64(); @@ -64377,12 +65011,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnhancedCpc.decode = function decode(reader, length) { + EnhancedCpc.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.EnhancedCpc(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -64552,12 +65188,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManualCpa.decode = function decode(reader, length) { + ManualCpa.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ManualCpa(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -64747,12 +65385,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManualCpc.decode = function decode(reader, length) { + ManualCpc.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ManualCpc(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.enhanced_cpc_enabled = reader.bool(); @@ -64943,12 +65583,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManualCpm.decode = function decode(reader, length) { + ManualCpm.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ManualCpm(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -65118,12 +65760,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManualCpv.decode = function decode(reader, length) { + ManualCpv.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ManualCpv(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -65326,12 +65970,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversions.decode = function decode(reader, length) { + MaximizeConversions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MaximizeConversions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.cpc_bid_ceiling_micros = reader.int64(); @@ -65618,12 +66264,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversionValue.decode = function decode(reader, length) { + MaximizeConversionValue.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MaximizeConversionValue(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.target_roas = reader.double(); @@ -65917,12 +66565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpa.decode = function decode(reader, length) { + TargetCpa.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetCpa(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.target_cpa_micros = reader.int64(); @@ -66200,12 +66850,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpm.decode = function decode(reader, length) { + TargetCpm.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetCpm(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_frequency_goal = $root.google.ads.googleads.v19.common.TargetCpmTargetFrequencyGoal.decode(reader, reader.uint32()); @@ -66424,12 +67076,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpmTargetFrequencyGoal.decode = function decode(reader, length) { + TargetCpmTargetFrequencyGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetCpmTargetFrequencyGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_count = reader.int64(); @@ -66484,6 +67138,7 @@ case 0: case 1: case 2: + case 3: break; } return null; @@ -66529,6 +67184,10 @@ case 2: message.time_unit = 2; break; + case "MONTHLY": + case 3: + message.time_unit = 3; + break; } return message; }; @@ -66715,12 +67374,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetImpressionShare.decode = function decode(reader, length) { + TargetImpressionShare.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetImpressionShare(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.location = reader.int32(); @@ -67048,12 +67709,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRoas.decode = function decode(reader, length) { + TargetRoas.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetRoas(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.target_roas = reader.double(); @@ -67333,12 +67996,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetSpend.decode = function decode(reader, length) { + TargetSpend.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetSpend(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.target_spend_micros = reader.int64(); @@ -67602,12 +68267,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PercentCpc.decode = function decode(reader, length) { + PercentCpc.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PercentCpc(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.cpc_bid_ceiling_micros = reader.int64(); @@ -67860,12 +68527,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FixedCpm.decode = function decode(reader, length) { + FixedCpm.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FixedCpm(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.goal = reader.int32(); @@ -68126,12 +68795,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FixedCpmTargetFrequencyGoalInfo.decode = function decode(reader, length) { + FixedCpmTargetFrequencyGoalInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FixedCpmTargetFrequencyGoalInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_count = reader.int64(); @@ -68369,12 +69040,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpv.decode = function decode(reader, length) { + TargetCpv.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetCpv(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -68632,12 +69305,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClickLocation.decode = function decode(reader, length) { + ClickLocation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ClickLocation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.city = reader.string(); @@ -68914,12 +69589,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Consent.decode = function decode(reader, length) { + Consent.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Consent(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_user_data = reader.int32(); @@ -69201,12 +69878,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionCategoryAvailability.decode = function decode(reader, length) { + CriterionCategoryAvailability.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CriterionCategoryAvailability(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.channel = $root.google.ads.googleads.v19.common.CriterionCategoryChannelAvailability.decode(reader, reader.uint32()); @@ -69488,12 +70167,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionCategoryChannelAvailability.decode = function decode(reader, length) { + CriterionCategoryChannelAvailability.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CriterionCategoryChannelAvailability(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.availability_mode = reader.int32(); @@ -69612,6 +70293,7 @@ case 18: case 19: case 20: + case 22: break; } } @@ -69818,6 +70500,10 @@ case 20: message.advertising_channel_sub_type[i] = 20; break; + case "YOUTUBE_AUDIO": + case 22: + message.advertising_channel_sub_type[i] = 22; + break; } } if (object.include_default_channel_sub_type != null) @@ -70012,12 +70698,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionCategoryLocaleAvailability.decode = function decode(reader, length) { + CriterionCategoryLocaleAvailability.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CriterionCategoryLocaleAvailability(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.availability_mode = reader.int32(); @@ -70313,12 +71001,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomParameter.decode = function decode(reader, length) { + CustomParameter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomParameter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.key = reader.string(); @@ -70547,12 +71237,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerValue.decode = function decode(reader, length) { + CustomizerValue.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomizerValue(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -70828,12 +71520,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DateRange.decode = function decode(reader, length) { + DateRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.DateRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.start_date = reader.string(); @@ -71062,12 +71756,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YearMonthRange.decode = function decode(reader, length) { + YearMonthRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YearMonthRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.start = $root.google.ads.googleads.v19.common.YearMonth.decode(reader, reader.uint32()); @@ -71299,12 +71995,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YearMonth.decode = function decode(reader, length) { + YearMonth.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.YearMonth(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.year = reader.int64(); @@ -71696,12 +72394,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallFeedItem.decode = function decode(reader, length) { + CallFeedItem.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CallFeedItem(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.phone_number = reader.string(); @@ -72023,12 +72723,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CalloutFeedItem.decode = function decode(reader, length) { + CalloutFeedItem.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CalloutFeedItem(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.callout_text = reader.string(); @@ -72346,12 +73048,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SitelinkFeedItem.decode = function decode(reader, length) { + SitelinkFeedItem.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SitelinkFeedItem(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 9: { message.link_text = reader.string(); @@ -72722,12 +73426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FinalAppUrl.decode = function decode(reader, length) { + FinalAppUrl.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FinalAppUrl(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.os_type = reader.int32(); @@ -72991,12 +73697,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FrequencyCapEntry.decode = function decode(reader, length) { + FrequencyCapEntry.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FrequencyCapEntry(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.key = $root.google.ads.googleads.v19.common.FrequencyCapKey.decode(reader, reader.uint32()); @@ -73258,12 +73966,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FrequencyCapKey.decode = function decode(reader, length) { + FrequencyCapKey.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FrequencyCapKey(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.level = reader.int32(); @@ -73701,12 +74411,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanHistoricalMetrics.decode = function decode(reader, length) { + KeywordPlanHistoricalMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordPlanHistoricalMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.avg_monthly_searches = reader.int64(); @@ -74121,12 +74833,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HistoricalMetricsOptions.decode = function decode(reader, length) { + HistoricalMetricsOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.HistoricalMetricsOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.year_month_range = $root.google.ads.googleads.v19.common.YearMonthRange.decode(reader, reader.uint32()); @@ -74384,12 +75098,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MonthlySearchVolume.decode = function decode(reader, length) { + MonthlySearchVolume.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MonthlySearchVolume(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.year = reader.int64(); @@ -74724,12 +75440,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAggregateMetrics.decode = function decode(reader, length) { + KeywordPlanAggregateMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordPlanAggregateMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.aggregate_metric_types && message.aggregate_metric_types.length)) @@ -74972,12 +75690,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAggregateMetricResults.decode = function decode(reader, length) { + KeywordPlanAggregateMetricResults.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordPlanAggregateMetricResults(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.device_searches && message.device_searches.length)) @@ -75214,12 +75934,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanDeviceSearches.decode = function decode(reader, length) { + KeywordPlanDeviceSearches.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordPlanDeviceSearches(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.device = reader.int32(); @@ -75490,12 +76212,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordAnnotations.decode = function decode(reader, length) { + KeywordAnnotations.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordAnnotations(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.concepts && message.concepts.length)) @@ -75723,12 +76447,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordConcept.decode = function decode(reader, length) { + KeywordConcept.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.KeywordConcept(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -75955,12 +76681,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConceptGroup.decode = function decode(reader, length) { + ConceptGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ConceptGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -76231,12 +76959,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LifecycleGoalValueSettings.decode = function decode(reader, length) { + LifecycleGoalValueSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LifecycleGoalValueSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.double(); @@ -76463,12 +77193,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesDocumentReadOnly.decode = function decode(reader, length) { + LocalServicesDocumentReadOnly.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LocalServicesDocumentReadOnly(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.document_url = reader.string(); @@ -76681,12 +77413,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MetricGoal.decode = function decode(reader, length) { + MetricGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.MetricGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.metric = reader.int32(); @@ -76985,6 +77719,7 @@ * @property {number|null} [benchmark_average_max_cpc] Metrics benchmark_average_max_cpc * @property {number|null} [biddable_app_install_conversions] Metrics biddable_app_install_conversions * @property {number|null} [biddable_app_post_install_conversions] Metrics biddable_app_post_install_conversions + * @property {number|null} [biddable_cohort_app_post_install_conversions] Metrics biddable_cohort_app_post_install_conversions * @property {number|null} [benchmark_ctr] Metrics benchmark_ctr * @property {number|null} [bounce_rate] Metrics bounce_rate * @property {number|null} [clicks] Metrics clicks @@ -77150,6 +77885,8 @@ * @property {number|null} [video_view_rate_in_feed] Metrics video_view_rate_in_feed * @property {number|null} [video_view_rate_in_stream] Metrics video_view_rate_in_stream * @property {number|null} [video_view_rate_shorts] Metrics video_view_rate_shorts + * @property {number|null} [coviewed_impressions] Metrics coviewed_impressions + * @property {number|null} [primary_impressions] Metrics primary_impressions */ /** @@ -77486,6 +78223,14 @@ */ Metrics.prototype.biddable_app_post_install_conversions = null; + /** + * Metrics biddable_cohort_app_post_install_conversions. + * @member {number|null|undefined} biddable_cohort_app_post_install_conversions + * @memberof google.ads.googleads.v19.common.Metrics + * @instance + */ + Metrics.prototype.biddable_cohort_app_post_install_conversions = null; + /** * Metrics benchmark_ctr. * @member {number|null|undefined} benchmark_ctr @@ -78806,6 +79551,22 @@ */ Metrics.prototype.video_view_rate_shorts = null; + /** + * Metrics coviewed_impressions. + * @member {number|null|undefined} coviewed_impressions + * @memberof google.ads.googleads.v19.common.Metrics + * @instance + */ + Metrics.prototype.coviewed_impressions = null; + + /** + * Metrics primary_impressions. + * @member {number|null|undefined} primary_impressions + * @memberof google.ads.googleads.v19.common.Metrics + * @instance + */ + Metrics.prototype.primary_impressions = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -79043,6 +79804,12 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(Metrics.prototype, "_biddable_cohort_app_post_install_conversions", { + get: $util.oneOfGetter($oneOfFields = ["biddable_cohort_app_post_install_conversions"]), + set: $util.oneOfSetter($oneOfFields) + }); + // Virtual OneOf for proto3 optional field Object.defineProperty(Metrics.prototype, "_benchmark_ctr", { get: $util.oneOfGetter($oneOfFields = ["benchmark_ctr"]), @@ -79943,6 +80710,18 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(Metrics.prototype, "_coviewed_impressions", { + get: $util.oneOfGetter($oneOfFields = ["coviewed_impressions"]), + set: $util.oneOfSetter($oneOfFields) + }); + + // Virtual OneOf for proto3 optional field + Object.defineProperty(Metrics.prototype, "_primary_impressions", { + get: $util.oneOfGetter($oneOfFields = ["primary_impressions"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new Metrics instance using the specified properties. * @function create @@ -80385,6 +81164,12 @@ writer.uint32(/* id 370, wireType 1 =*/2961).double(message.general_invalid_click_rate); if (message.general_invalid_clicks != null && Object.hasOwnProperty.call(message, "general_invalid_clicks")) writer.uint32(/* id 371, wireType 0 =*/2968).int64(message.general_invalid_clicks); + if (message.biddable_cohort_app_post_install_conversions != null && Object.hasOwnProperty.call(message, "biddable_cohort_app_post_install_conversions")) + writer.uint32(/* id 378, wireType 1 =*/3025).double(message.biddable_cohort_app_post_install_conversions); + if (message.coviewed_impressions != null && Object.hasOwnProperty.call(message, "coviewed_impressions")) + writer.uint32(/* id 380, wireType 0 =*/3040).int64(message.coviewed_impressions); + if (message.primary_impressions != null && Object.hasOwnProperty.call(message, "primary_impressions")) + writer.uint32(/* id 381, wireType 0 =*/3048).int64(message.primary_impressions); return writer; }; @@ -80412,12 +81197,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Metrics.decode = function decode(reader, length) { + Metrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Metrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 183: { message.absolute_top_impression_percentage = reader.double(); @@ -80575,6 +81362,10 @@ message.biddable_app_post_install_conversions = reader.double(); break; } + case 378: { + message.biddable_cohort_app_post_install_conversions = reader.double(); + break; + } case 211: { message.benchmark_ctr = reader.double(); break; @@ -81254,6 +82045,14 @@ message.video_view_rate_shorts = reader.double(); break; } + case 380: { + message.coviewed_impressions = reader.int64(); + break; + } + case 381: { + message.primary_impressions = reader.int64(); + break; + } default: reader.skipType(tag & 7); break; @@ -81485,6 +82284,11 @@ if (typeof message.biddable_app_post_install_conversions !== "number") return "biddable_app_post_install_conversions: number expected"; } + if (message.biddable_cohort_app_post_install_conversions != null && message.hasOwnProperty("biddable_cohort_app_post_install_conversions")) { + properties._biddable_cohort_app_post_install_conversions = 1; + if (typeof message.biddable_cohort_app_post_install_conversions !== "number") + return "biddable_cohort_app_post_install_conversions: number expected"; + } if (message.benchmark_ctr != null && message.hasOwnProperty("benchmark_ctr")) { properties._benchmark_ctr = 1; if (typeof message.benchmark_ctr !== "number") @@ -82344,6 +83148,16 @@ if (typeof message.video_view_rate_shorts !== "number") return "video_view_rate_shorts: number expected"; } + if (message.coviewed_impressions != null && message.hasOwnProperty("coviewed_impressions")) { + properties._coviewed_impressions = 1; + if (!$util.isInteger(message.coviewed_impressions) && !(message.coviewed_impressions && $util.isInteger(message.coviewed_impressions.low) && $util.isInteger(message.coviewed_impressions.high))) + return "coviewed_impressions: integer|Long expected"; + } + if (message.primary_impressions != null && message.hasOwnProperty("primary_impressions")) { + properties._primary_impressions = 1; + if (!$util.isInteger(message.primary_impressions) && !(message.primary_impressions && $util.isInteger(message.primary_impressions.low) && $util.isInteger(message.primary_impressions.high))) + return "primary_impressions: integer|Long expected"; + } return null; }; @@ -82458,6 +83272,8 @@ message.biddable_app_install_conversions = Number(object.biddable_app_install_conversions); if (object.biddable_app_post_install_conversions != null) message.biddable_app_post_install_conversions = Number(object.biddable_app_post_install_conversions); + if (object.biddable_cohort_app_post_install_conversions != null) + message.biddable_cohort_app_post_install_conversions = Number(object.biddable_cohort_app_post_install_conversions); if (object.benchmark_ctr != null) message.benchmark_ctr = Number(object.benchmark_ctr); if (object.bounce_rate != null) @@ -83298,6 +84114,24 @@ message.video_view_rate_in_stream = Number(object.video_view_rate_in_stream); if (object.video_view_rate_shorts != null) message.video_view_rate_shorts = Number(object.video_view_rate_shorts); + if (object.coviewed_impressions != null) + if ($util.Long) + (message.coviewed_impressions = $util.Long.fromValue(object.coviewed_impressions)).unsigned = false; + else if (typeof object.coviewed_impressions === "string") + message.coviewed_impressions = parseInt(object.coviewed_impressions, 10); + else if (typeof object.coviewed_impressions === "number") + message.coviewed_impressions = object.coviewed_impressions; + else if (typeof object.coviewed_impressions === "object") + message.coviewed_impressions = new $util.LongBits(object.coviewed_impressions.low >>> 0, object.coviewed_impressions.high >>> 0).toNumber(); + if (object.primary_impressions != null) + if ($util.Long) + (message.primary_impressions = $util.Long.fromValue(object.primary_impressions)).unsigned = false; + else if (typeof object.primary_impressions === "string") + message.primary_impressions = parseInt(object.primary_impressions, 10); + else if (typeof object.primary_impressions === "number") + message.primary_impressions = object.primary_impressions; + else if (typeof object.primary_impressions === "object") + message.primary_impressions = new $util.LongBits(object.primary_impressions.low >>> 0, object.primary_impressions.high >>> 0).toNumber(); return message; }; @@ -84514,6 +85348,27 @@ if (options.oneofs) object._general_invalid_clicks = "general_invalid_clicks"; } + if (message.biddable_cohort_app_post_install_conversions != null && message.hasOwnProperty("biddable_cohort_app_post_install_conversions")) { + object.biddable_cohort_app_post_install_conversions = options.json && !isFinite(message.biddable_cohort_app_post_install_conversions) ? String(message.biddable_cohort_app_post_install_conversions) : message.biddable_cohort_app_post_install_conversions; + if (options.oneofs) + object._biddable_cohort_app_post_install_conversions = "biddable_cohort_app_post_install_conversions"; + } + if (message.coviewed_impressions != null && message.hasOwnProperty("coviewed_impressions")) { + if (typeof message.coviewed_impressions === "number") + object.coviewed_impressions = options.longs === String ? String(message.coviewed_impressions) : message.coviewed_impressions; + else + object.coviewed_impressions = options.longs === String ? $util.Long.prototype.toString.call(message.coviewed_impressions) : options.longs === Number ? new $util.LongBits(message.coviewed_impressions.low >>> 0, message.coviewed_impressions.high >>> 0).toNumber() : message.coviewed_impressions; + if (options.oneofs) + object._coviewed_impressions = "coviewed_impressions"; + } + if (message.primary_impressions != null && message.hasOwnProperty("primary_impressions")) { + if (typeof message.primary_impressions === "number") + object.primary_impressions = options.longs === String ? String(message.primary_impressions) : message.primary_impressions; + else + object.primary_impressions = options.longs === String ? $util.Long.prototype.toString.call(message.primary_impressions) : options.longs === Number ? new $util.LongBits(message.primary_impressions.low >>> 0, message.primary_impressions.high >>> 0).toNumber() : message.primary_impressions; + if (options.oneofs) + object._primary_impressions = "primary_impressions"; + } return object; }; @@ -84657,12 +85512,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchVolumeRange.decode = function decode(reader, length) { + SearchVolumeRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SearchVolumeRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.min = reader.int64(); @@ -85011,12 +85868,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserAddressInfo.decode = function decode(reader, length) { + OfflineUserAddressInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.OfflineUserAddressInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.hashed_first_name = reader.string(); @@ -85383,12 +86242,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserIdentifier.decode = function decode(reader, length) { + UserIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.user_identifier_source = reader.int32(); @@ -85826,12 +86687,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TransactionAttribute.decode = function decode(reader, length) { + TransactionAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TransactionAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 8: { message.transaction_date_time = reader.string(); @@ -86158,12 +87021,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StoreAttribute.decode = function decode(reader, length) { + StoreAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.StoreAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.store_code = reader.string(); @@ -86418,12 +87283,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ItemAttribute.decode = function decode(reader, length) { + ItemAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ItemAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.item_id = reader.string(); @@ -86743,12 +87610,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserData.decode = function decode(reader, length) { + UserData.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserData(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.user_identifiers && message.user_identifiers.length)) @@ -87146,12 +88015,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserAttribute.decode = function decode(reader, length) { + UserAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.lifetime_value_micros = reader.int64(); @@ -87545,12 +88416,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventAttribute.decode = function decode(reader, length) { + EventAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.EventAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.event = reader.string(); @@ -87793,12 +88666,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventItemAttribute.decode = function decode(reader, length) { + EventItemAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.EventItemAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.item_id = reader.string(); @@ -88005,12 +88880,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingLoyalty.decode = function decode(reader, length) { + ShoppingLoyalty.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.ShoppingLoyalty(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.loyalty_tier = reader.string(); @@ -88238,12 +89115,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerMatchUserListMetadata.decode = function decode(reader, length) { + CustomerMatchUserListMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CustomerMatchUserListMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.user_list = reader.string(); @@ -88521,12 +89400,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StoreSalesMetadata.decode = function decode(reader, length) { + StoreSalesMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.StoreSalesMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.loyalty_fraction = reader.double(); @@ -88872,12 +89753,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StoreSalesThirdPartyMetadata.decode = function decode(reader, length) { + StoreSalesThirdPartyMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.StoreSalesThirdPartyMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.advertiser_upload_date_time = reader.string(); @@ -89193,12 +90076,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicySummary.decode = function decode(reader, length) { + PolicySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PolicySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.policy_topic_entries && message.policy_topic_entries.length)) @@ -89528,12 +90413,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RealTimeBiddingSetting.decode = function decode(reader, length) { + RealTimeBiddingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.RealTimeBiddingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.opt_in = reader.bool(); @@ -89767,6 +90654,8 @@ * @property {string|null} [sk_ad_network_version] Segments sk_ad_network_version * @property {google.ads.googleads.v19.common.IAssetInteractionTarget|null} [asset_interaction_target] Segments asset_interaction_target * @property {google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket|null} [new_versus_returning_customers] Segments new_versus_returning_customers + * @property {google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType|null} [adjusted_age_range] Segments adjusted_age_range + * @property {google.ads.googleads.v19.enums.GenderTypeEnum.GenderType|null} [adjusted_gender] Segments adjusted_gender */ /** @@ -90672,6 +91561,22 @@ */ Segments.prototype.new_versus_returning_customers = 0; + /** + * Segments adjusted_age_range. + * @member {google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType} adjusted_age_range + * @memberof google.ads.googleads.v19.common.Segments + * @instance + */ + Segments.prototype.adjusted_age_range = 0; + + /** + * Segments adjusted_gender. + * @member {google.ads.googleads.v19.enums.GenderTypeEnum.GenderType} adjusted_gender + * @memberof google.ads.googleads.v19.common.Segments + * @instance + */ + Segments.prototype.adjusted_gender = 0; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -91395,6 +92300,10 @@ writer.uint32(/* id 194, wireType 2 =*/1554).string(message.travel_destination_country); if (message.travel_destination_region != null && Object.hasOwnProperty.call(message, "travel_destination_region")) writer.uint32(/* id 195, wireType 2 =*/1562).string(message.travel_destination_region); + if (message.adjusted_age_range != null && Object.hasOwnProperty.call(message, "adjusted_age_range")) + writer.uint32(/* id 196, wireType 0 =*/1568).int32(message.adjusted_age_range); + if (message.adjusted_gender != null && Object.hasOwnProperty.call(message, "adjusted_gender")) + writer.uint32(/* id 197, wireType 0 =*/1576).int32(message.adjusted_gender); return writer; }; @@ -91422,12 +92331,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Segments.decode = function decode(reader, length) { + Segments.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Segments(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 148: { message.activity_account_id = reader.int64(); @@ -91873,6 +92784,14 @@ message.new_versus_returning_customers = reader.int32(); break; } + case 196: { + message.adjusted_age_range = reader.int32(); + break; + } + case 197: { + message.adjusted_gender = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -92900,6 +93819,32 @@ case 4: break; } + if (message.adjusted_age_range != null && message.hasOwnProperty("adjusted_age_range")) + switch (message.adjusted_age_range) { + default: + return "adjusted_age_range: enum value expected"; + case 0: + case 1: + case 503001: + case 503002: + case 503003: + case 503004: + case 503005: + case 503006: + case 503999: + break; + } + if (message.adjusted_gender != null && message.hasOwnProperty("adjusted_gender")) + switch (message.adjusted_gender) { + default: + return "adjusted_gender: enum value expected"; + case 0: + case 1: + case 10: + case 11: + case 20: + break; + } return null; }; @@ -94992,6 +95937,78 @@ message.new_versus_returning_customers = 4; break; } + switch (object.adjusted_age_range) { + default: + if (typeof object.adjusted_age_range === "number") { + message.adjusted_age_range = object.adjusted_age_range; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.adjusted_age_range = 0; + break; + case "UNKNOWN": + case 1: + message.adjusted_age_range = 1; + break; + case "AGE_RANGE_18_24": + case 503001: + message.adjusted_age_range = 503001; + break; + case "AGE_RANGE_25_34": + case 503002: + message.adjusted_age_range = 503002; + break; + case "AGE_RANGE_35_44": + case 503003: + message.adjusted_age_range = 503003; + break; + case "AGE_RANGE_45_54": + case 503004: + message.adjusted_age_range = 503004; + break; + case "AGE_RANGE_55_64": + case 503005: + message.adjusted_age_range = 503005; + break; + case "AGE_RANGE_65_UP": + case 503006: + message.adjusted_age_range = 503006; + break; + case "AGE_RANGE_UNDETERMINED": + case 503999: + message.adjusted_age_range = 503999; + break; + } + switch (object.adjusted_gender) { + default: + if (typeof object.adjusted_gender === "number") { + message.adjusted_gender = object.adjusted_gender; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.adjusted_gender = 0; + break; + case "UNKNOWN": + case 1: + message.adjusted_gender = 1; + break; + case "MALE": + case 10: + message.adjusted_gender = 10; + break; + case "FEMALE": + case 11: + message.adjusted_gender = 11; + break; + case "UNDETERMINED": + case 20: + message.adjusted_gender = 20; + break; + } return message; }; @@ -95041,6 +96058,8 @@ object.sk_ad_network_source_type = options.enums === String ? "UNSPECIFIED" : 0; object.new_versus_returning_customers = options.enums === String ? "UNSPECIFIED" : 0; object.ad_format_type = options.enums === String ? "UNSPECIFIED" : 0; + object.adjusted_age_range = options.enums === String ? "UNSPECIFIED" : 0; + object.adjusted_gender = options.enums === String ? "UNSPECIFIED" : 0; } if (message.device != null && message.hasOwnProperty("device")) object.device = options.enums === String ? $root.google.ads.googleads.v19.enums.DeviceEnum.Device[message.device] === undefined ? message.device : $root.google.ads.googleads.v19.enums.DeviceEnum.Device[message.device] : message.device; @@ -95528,6 +96547,10 @@ if (options.oneofs) object._travel_destination_region = "travel_destination_region"; } + if (message.adjusted_age_range != null && message.hasOwnProperty("adjusted_age_range")) + object.adjusted_age_range = options.enums === String ? $root.google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType[message.adjusted_age_range] === undefined ? message.adjusted_age_range : $root.google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType[message.adjusted_age_range] : message.adjusted_age_range; + if (message.adjusted_gender != null && message.hasOwnProperty("adjusted_gender")) + object.adjusted_gender = options.enums === String ? $root.google.ads.googleads.v19.enums.GenderTypeEnum.GenderType[message.adjusted_gender] === undefined ? message.adjusted_gender : $root.google.ads.googleads.v19.enums.GenderTypeEnum.GenderType[message.adjusted_gender] : message.adjusted_gender; return object; }; @@ -95665,12 +96688,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Keyword.decode = function decode(reader, length) { + Keyword.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Keyword(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.ad_group_criterion = reader.string(); @@ -95910,12 +96935,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetCampaignAssociationStatus.decode = function decode(reader, length) { + BudgetCampaignAssociationStatus.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BudgetCampaignAssociationStatus(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.campaign = reader.string(); @@ -96170,12 +97197,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetInteractionTarget.decode = function decode(reader, length) { + AssetInteractionTarget.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.AssetInteractionTarget(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset = reader.string(); @@ -96395,12 +97424,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkSourceApp.decode = function decode(reader, length) { + SkAdNetworkSourceApp.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SkAdNetworkSourceApp(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.sk_ad_network_source_app_id = reader.string(); @@ -96604,12 +97635,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CpcBidSimulationPointList.decode = function decode(reader, length) { + CpcBidSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CpcBidSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -96828,12 +97861,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CpvBidSimulationPointList.decode = function decode(reader, length) { + CpvBidSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CpvBidSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -97052,12 +98087,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpaSimulationPointList.decode = function decode(reader, length) { + TargetCpaSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetCpaSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -97276,12 +98313,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRoasSimulationPointList.decode = function decode(reader, length) { + TargetRoasSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetRoasSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -97500,12 +98539,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PercentCpcBidSimulationPointList.decode = function decode(reader, length) { + PercentCpcBidSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PercentCpcBidSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -97724,12 +98765,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetSimulationPointList.decode = function decode(reader, length) { + BudgetSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BudgetSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -97948,12 +98991,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetImpressionShareSimulationPointList.decode = function decode(reader, length) { + TargetImpressionShareSimulationPointList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetImpressionShareSimulationPointList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.points && message.points.length)) @@ -98308,12 +99353,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CpcBidSimulationPoint.decode = function decode(reader, length) { + CpcBidSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CpcBidSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 17: { message.required_budget_amount_micros = reader.int64(); @@ -98766,12 +99813,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CpvBidSimulationPoint.decode = function decode(reader, length) { + CpvBidSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CpvBidSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.cpv_bid_micros = reader.int64(); @@ -99238,12 +100287,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpaSimulationPoint.decode = function decode(reader, length) { + TargetCpaSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetCpaSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 19: { message.required_budget_amount_micros = reader.int64(); @@ -99809,12 +100860,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRoasSimulationPoint.decode = function decode(reader, length) { + TargetRoasSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetRoasSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 8: { message.target_roas = reader.double(); @@ -100290,12 +101343,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PercentCpcBidSimulationPoint.decode = function decode(reader, length) { + PercentCpcBidSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.PercentCpcBidSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.percent_cpc_bid_micros = reader.int64(); @@ -100731,12 +101786,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetSimulationPoint.decode = function decode(reader, length) { + BudgetSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BudgetSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.budget_amount_micros = reader.int64(); @@ -101228,12 +102285,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetImpressionShareSimulationPoint.decode = function decode(reader, length) { + TargetImpressionShareSimulationPoint.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetImpressionShareSimulationPoint(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_impression_share_micros = reader.int64(); @@ -101700,12 +102759,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TagSnippet.decode = function decode(reader, length) { + TagSnippet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TagSnippet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.int32(); @@ -102032,12 +103093,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetingSetting.decode = function decode(reader, length) { + TargetingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.target_restrictions && message.target_restrictions.length)) @@ -102306,12 +103369,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRestriction.decode = function decode(reader, length) { + TargetRestriction.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetRestriction(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.targeting_dimension = reader.int32(); @@ -102596,12 +103661,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRestrictionOperation.decode = function decode(reader, length) { + TargetRestrictionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TargetRestrictionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operator = reader.int32(); @@ -102890,12 +103957,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextLabel.decode = function decode(reader, length) { + TextLabel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.TextLabel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.background_color = reader.string(); @@ -103165,12 +104234,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UrlCollection.decode = function decode(reader, length) { + UrlCollection.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UrlCollection(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.url_collection_id = reader.string(); @@ -103471,12 +104542,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LookalikeUserListInfo.decode = function decode(reader, length) { + LookalikeUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LookalikeUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.seed_user_list_ids && message.seed_user_list_ids.length)) @@ -103786,12 +104859,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimilarUserListInfo.decode = function decode(reader, length) { + SimilarUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.SimilarUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.seed_user_list = reader.string(); @@ -104024,12 +105099,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CrmBasedUserListInfo.decode = function decode(reader, length) { + CrmBasedUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.CrmBasedUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.app_id = reader.string(); @@ -104338,12 +105415,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListRuleInfo.decode = function decode(reader, length) { + UserListRuleInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListRuleInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.rule_type = reader.int32(); @@ -104604,12 +105683,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListRuleItemGroupInfo.decode = function decode(reader, length) { + UserListRuleItemGroupInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListRuleItemGroupInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.rule_items && message.rule_items.length)) @@ -104879,12 +105960,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListRuleItemInfo.decode = function decode(reader, length) { + UserListRuleItemInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListRuleItemInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.name = reader.string(); @@ -105193,12 +106276,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListDateRuleItemInfo.decode = function decode(reader, length) { + UserListDateRuleItemInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListDateRuleItemInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operator = reader.int32(); @@ -105498,12 +106583,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListNumberRuleItemInfo.decode = function decode(reader, length) { + UserListNumberRuleItemInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListNumberRuleItemInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operator = reader.int32(); @@ -105787,12 +106874,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListStringRuleItemInfo.decode = function decode(reader, length) { + UserListStringRuleItemInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListStringRuleItemInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operator = reader.int32(); @@ -106086,12 +107175,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FlexibleRuleOperandInfo.decode = function decode(reader, length) { + FlexibleRuleOperandInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FlexibleRuleOperandInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.rule = $root.google.ads.googleads.v19.common.UserListRuleInfo.decode(reader, reader.uint32()); @@ -106347,12 +107438,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FlexibleRuleUserListInfo.decode = function decode(reader, length) { + FlexibleRuleUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.FlexibleRuleUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.inclusive_rule_operator = reader.int32(); @@ -106654,12 +107747,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RuleBasedUserListInfo.decode = function decode(reader, length) { + RuleBasedUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.RuleBasedUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.prepopulation_status = reader.int32(); @@ -106911,12 +108006,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LogicalUserListInfo.decode = function decode(reader, length) { + LogicalUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LogicalUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.rules && message.rules.length)) @@ -107146,12 +108243,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListLogicalRuleInfo.decode = function decode(reader, length) { + UserListLogicalRuleInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListLogicalRuleInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operator = reader.int32(); @@ -107424,12 +108523,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LogicalUserListOperandInfo.decode = function decode(reader, length) { + LogicalUserListOperandInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.LogicalUserListOperandInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.user_list = reader.string(); @@ -107633,12 +108734,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BasicUserListInfo.decode = function decode(reader, length) { + BasicUserListInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.BasicUserListInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.actions && message.actions.length)) @@ -107880,12 +108983,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListActionInfo.decode = function decode(reader, length) { + UserListActionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.UserListActionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.conversion_action = reader.string(); @@ -108163,12 +109268,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Value.decode = function decode(reader, length) { + Value.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.common.Value(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.boolean_value = reader.bool(); @@ -108453,12 +109560,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicEntryTypeEnum.decode = function decode(reader, length) { + PolicyTopicEntryTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PolicyTopicEntryTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -108654,12 +109763,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.decode = function decode(reader, length) { + PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -108853,12 +109964,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.decode = function decode(reader, length) { + PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -109048,12 +110161,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.decode = function decode(reader, length) { + PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -109241,12 +110356,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetLinkPrimaryStatusEnum.decode = function decode(reader, length) { + AssetLinkPrimaryStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetLinkPrimaryStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -109442,12 +110559,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetLinkPrimaryStatusReasonEnum.decode = function decode(reader, length) { + AssetLinkPrimaryStatusReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetLinkPrimaryStatusReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -109641,12 +110760,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetOfflineEvaluationErrorReasonsEnum.decode = function decode(reader, length) { + AssetOfflineEvaluationErrorReasonsEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetOfflineEvaluationErrorReasonsEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -109844,12 +110965,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyApprovalStatusEnum.decode = function decode(reader, length) { + PolicyApprovalStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PolicyApprovalStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -110041,12 +111164,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyReviewStatusEnum.decode = function decode(reader, length) { + PolicyReviewStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PolicyReviewStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -110238,12 +111363,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetPerformanceLabelEnum.decode = function decode(reader, length) { + AssetPerformanceLabelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetPerformanceLabelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -110437,12 +111564,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServedAssetFieldTypeEnum.decode = function decode(reader, length) { + ServedAssetFieldTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ServedAssetFieldTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -110686,12 +111815,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallConversionReportingStateEnum.decode = function decode(reader, length) { + CallConversionReportingStateEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CallConversionReportingStateEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -110881,12 +112012,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DisplayAdFormatSettingEnum.decode = function decode(reader, length) { + DisplayAdFormatSettingEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DisplayAdFormatSettingEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -111076,12 +112209,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DisplayUploadProductTypeEnum.decode = function decode(reader, length) { + DisplayUploadProductTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DisplayUploadProductTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -111285,12 +112420,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LegacyAppInstallAdAppStoreEnum.decode = function decode(reader, length) { + LegacyAppInstallAdAppStoreEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LegacyAppInstallAdAppStoreEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -111484,12 +112621,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MimeTypeEnum.decode = function decode(reader, length) { + MimeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.MimeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -111697,12 +112836,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoThumbnailEnum.decode = function decode(reader, length) { + VideoThumbnailEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.VideoThumbnailEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -111894,12 +113035,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChainRelationshipTypeEnum.decode = function decode(reader, length) { + ChainRelationshipTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ChainRelationshipTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -112087,12 +113230,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationOwnershipTypeEnum.decode = function decode(reader, length) { + LocationOwnershipTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocationOwnershipTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -112280,12 +113425,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationStringFilterTypeEnum.decode = function decode(reader, length) { + LocationStringFilterTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocationStringFilterTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -112471,12 +113618,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AgeRangeTypeEnum.decode = function decode(reader, length) { + AgeRangeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AgeRangeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -112674,12 +113823,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppPaymentModelTypeEnum.decode = function decode(reader, length) { + AppPaymentModelTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AppPaymentModelTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -112865,12 +114016,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandRequestRejectionReasonEnum.decode = function decode(reader, length) { + BrandRequestRejectionReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BrandRequestRejectionReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -113062,12 +114215,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandStateEnum.decode = function decode(reader, length) { + BrandStateEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BrandStateEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -113263,12 +114418,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContentLabelTypeEnum.decode = function decode(reader, length) { + ContentLabelTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ContentLabelTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -113502,12 +114659,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DayOfWeekEnum.decode = function decode(reader, length) { + DayOfWeekEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DayOfWeekEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -113705,12 +114864,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeviceEnum.decode = function decode(reader, length) { + DeviceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DeviceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -113904,12 +115065,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenderTypeEnum.decode = function decode(reader, length) { + GenderTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GenderTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -114099,12 +115262,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelDateSelectionTypeEnum.decode = function decode(reader, length) { + HotelDateSelectionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.HotelDateSelectionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -114292,12 +115457,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IncomeRangeTypeEnum.decode = function decode(reader, length) { + IncomeRangeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.IncomeRangeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -114495,12 +115662,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InteractionTypeEnum.decode = function decode(reader, length) { + InteractionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.InteractionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -114686,12 +115855,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordMatchTypeEnum.decode = function decode(reader, length) { + KeywordMatchTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordMatchTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -114881,12 +116052,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupTypeEnum.decode = function decode(reader, length) { + ListingGroupTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -115074,12 +116247,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationGroupRadiusUnitsEnum.decode = function decode(reader, length) { + LocationGroupRadiusUnitsEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocationGroupRadiusUnitsEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -115269,12 +116444,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MinuteOfHourEnum.decode = function decode(reader, length) { + MinuteOfHourEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.MinuteOfHourEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -115466,12 +116643,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ParentalStatusTypeEnum.decode = function decode(reader, length) { + ParentalStatusTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ParentalStatusTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -115661,12 +116840,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCategoryLevelEnum.decode = function decode(reader, length) { + ProductCategoryLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductCategoryLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -115860,12 +117041,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductChannelEnum.decode = function decode(reader, length) { + ProductChannelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductChannelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -116053,12 +117236,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductChannelExclusivityEnum.decode = function decode(reader, length) { + ProductChannelExclusivityEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductChannelExclusivityEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -116246,12 +117431,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductConditionEnum.decode = function decode(reader, length) { + ProductConditionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductConditionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -116441,12 +117628,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCustomAttributeIndexEnum.decode = function decode(reader, length) { + ProductCustomAttributeIndexEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductCustomAttributeIndexEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -116640,12 +117829,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductTypeLevelEnum.decode = function decode(reader, length) { + ProductTypeLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductTypeLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -116839,12 +118030,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProximityRadiusUnitsEnum.decode = function decode(reader, length) { + ProximityRadiusUnitsEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProximityRadiusUnitsEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -117032,12 +118225,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageConditionOperandEnum.decode = function decode(reader, length) { + WebpageConditionOperandEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.WebpageConditionOperandEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -117231,12 +118426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageConditionOperatorEnum.decode = function decode(reader, length) { + WebpageConditionOperatorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.WebpageConditionOperatorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -117424,12 +118621,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessMessageCallToActionTypeEnum.decode = function decode(reader, length) { + BusinessMessageCallToActionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BusinessMessageCallToActionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -117629,12 +118828,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessMessageProviderEnum.decode = function decode(reader, length) { + BusinessMessageProviderEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BusinessMessageProviderEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -117820,12 +119021,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallToActionTypeEnum.decode = function decode(reader, length) { + CallToActionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CallToActionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -118043,12 +119246,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormCallToActionTypeEnum.decode = function decode(reader, length) { + LeadFormCallToActionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LeadFormCallToActionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -118260,12 +119465,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormDesiredIntentEnum.decode = function decode(reader, length) { + LeadFormDesiredIntentEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LeadFormDesiredIntentEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -118453,12 +119660,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormFieldUserInputTypeEnum.decode = function decode(reader, length) { + LeadFormFieldUserInputTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LeadFormFieldUserInputTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -118874,12 +120083,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormPostSubmitCallToActionTypeEnum.decode = function decode(reader, length) { + LeadFormPostSubmitCallToActionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LeadFormPostSubmitCallToActionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -119071,12 +120282,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileAppVendorEnum.decode = function decode(reader, length) { + MobileAppVendorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.MobileAppVendorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -119264,12 +120477,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PriceExtensionPriceQualifierEnum.decode = function decode(reader, length) { + PriceExtensionPriceQualifierEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PriceExtensionPriceQualifierEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -119459,12 +120674,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PriceExtensionPriceUnitEnum.decode = function decode(reader, length) { + PriceExtensionPriceUnitEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PriceExtensionPriceUnitEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -119660,12 +120877,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PriceExtensionTypeEnum.decode = function decode(reader, length) { + PriceExtensionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PriceExtensionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -119867,12 +121086,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromotionExtensionDiscountModifierEnum.decode = function decode(reader, length) { + PromotionExtensionDiscountModifierEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PromotionExtensionDiscountModifierEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -120058,12 +121279,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromotionExtensionOccasionEnum.decode = function decode(reader, length) { + PromotionExtensionOccasionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PromotionExtensionOccasionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -120321,12 +121544,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsDimensionEnum.decode = function decode(reader, length) { + AudienceInsightsDimensionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AudienceInsightsDimensionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -120536,12 +121761,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsightsKnowledgeGraphEntityCapabilitiesEnum.decode = function decode(reader, length) { + InsightsKnowledgeGraphEntityCapabilitiesEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.InsightsKnowledgeGraphEntityCapabilitiesEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -120729,12 +121956,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FixedCpmGoalEnum.decode = function decode(reader, length) { + FixedCpmGoalEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.FixedCpmGoalEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -120922,12 +122151,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FixedCpmTargetFrequencyTimeUnitEnum.decode = function decode(reader, length) { + FixedCpmTargetFrequencyTimeUnitEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.FixedCpmTargetFrequencyTimeUnitEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -121113,12 +122344,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetFrequencyTimeUnitEnum.decode = function decode(reader, length) { + TargetFrequencyTimeUnitEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TargetFrequencyTimeUnitEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -121218,12 +122451,14 @@ * @property {number} UNSPECIFIED=0 UNSPECIFIED value * @property {number} UNKNOWN=1 UNKNOWN value * @property {number} WEEKLY=2 WEEKLY value + * @property {number} MONTHLY=3 MONTHLY value */ TargetFrequencyTimeUnitEnum.TargetFrequencyTimeUnit = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNSPECIFIED"] = 0; values[valuesById[1] = "UNKNOWN"] = 1; values[valuesById[2] = "WEEKLY"] = 2; + values[valuesById[3] = "MONTHLY"] = 3; return values; })(); @@ -121304,12 +122539,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetImpressionShareLocationEnum.decode = function decode(reader, length) { + TargetImpressionShareLocationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TargetImpressionShareLocationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -121499,12 +122736,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConsentStatusEnum.decode = function decode(reader, length) { + ConsentStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConsentStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -121692,12 +122931,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdvertisingChannelSubTypeEnum.decode = function decode(reader, length) { + AdvertisingChannelSubTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdvertisingChannelSubTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -121814,6 +123055,7 @@ * @property {number} APP_CAMPAIGN_FOR_PRE_REGISTRATION=18 APP_CAMPAIGN_FOR_PRE_REGISTRATION value * @property {number} VIDEO_REACH_TARGET_FREQUENCY=19 VIDEO_REACH_TARGET_FREQUENCY value * @property {number} TRAVEL_ACTIVITIES=20 TRAVEL_ACTIVITIES value + * @property {number} YOUTUBE_AUDIO=22 YOUTUBE_AUDIO value */ AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -121837,6 +123079,7 @@ values[valuesById[18] = "APP_CAMPAIGN_FOR_PRE_REGISTRATION"] = 18; values[valuesById[19] = "VIDEO_REACH_TARGET_FREQUENCY"] = 19; values[valuesById[20] = "TRAVEL_ACTIVITIES"] = 20; + values[valuesById[22] = "YOUTUBE_AUDIO"] = 22; return values; })(); @@ -121917,12 +123160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdvertisingChannelTypeEnum.decode = function decode(reader, length) { + AdvertisingChannelTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdvertisingChannelTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -122130,12 +123375,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionCategoryChannelAvailabilityModeEnum.decode = function decode(reader, length) { + CriterionCategoryChannelAvailabilityModeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CriterionCategoryChannelAvailabilityModeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -122325,12 +123572,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionCategoryLocaleAvailabilityModeEnum.decode = function decode(reader, length) { + CriterionCategoryLocaleAvailabilityModeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CriterionCategoryLocaleAvailabilityModeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -122522,12 +123771,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerAttributeTypeEnum.decode = function decode(reader, length) { + CustomizerAttributeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomizerAttributeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -122719,12 +123970,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MonthOfYearEnum.decode = function decode(reader, length) { + MonthOfYearEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.MonthOfYearEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -122932,12 +124185,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppUrlOperatingSystemTypeEnum.decode = function decode(reader, length) { + AppUrlOperatingSystemTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AppUrlOperatingSystemTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -123125,12 +124380,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FrequencyCapEventTypeEnum.decode = function decode(reader, length) { + FrequencyCapEventTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.FrequencyCapEventTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -123318,12 +124575,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FrequencyCapLevelEnum.decode = function decode(reader, length) { + FrequencyCapLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.FrequencyCapLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -123513,12 +124772,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FrequencyCapTimeUnitEnum.decode = function decode(reader, length) { + FrequencyCapTimeUnitEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.FrequencyCapTimeUnitEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -123708,12 +124969,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAggregateMetricTypeEnum.decode = function decode(reader, length) { + KeywordPlanAggregateMetricTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordPlanAggregateMetricTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -123899,12 +125162,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCompetitionLevelEnum.decode = function decode(reader, length) { + KeywordPlanCompetitionLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordPlanCompetitionLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -124094,12 +125359,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanConceptGroupTypeEnum.decode = function decode(reader, length) { + KeywordPlanConceptGroupTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordPlanConceptGroupTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -124289,12 +125556,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentMetricEnum.decode = function decode(reader, length) { + ExperimentMetricEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ExperimentMetricEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -124504,12 +125773,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentMetricDirectionEnum.decode = function decode(reader, length) { + ExperimentMetricDirectionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ExperimentMetricDirectionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -124703,12 +125974,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InteractionEventTypeEnum.decode = function decode(reader, length) { + InteractionEventTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.InteractionEventTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -124900,12 +126173,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QualityScoreBucketEnum.decode = function decode(reader, length) { + QualityScoreBucketEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.QualityScoreBucketEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -125095,12 +126370,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserIdentifierSourceEnum.decode = function decode(reader, length) { + UserIdentifierSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserIdentifierSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -125288,12 +126565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdDestinationTypeEnum.decode = function decode(reader, length) { + AdDestinationTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdDestinationTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -125499,12 +126778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdFormatTypeEnum.decode = function decode(reader, length) { + AdFormatTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdFormatTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -125708,12 +126989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdNetworkTypeEnum.decode = function decode(reader, length) { + AdNetworkTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdNetworkTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -125911,12 +127194,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetCampaignAssociationStatusEnum.decode = function decode(reader, length) { + BudgetCampaignAssociationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BudgetCampaignAssociationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -126104,12 +127389,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClickTypeEnum.decode = function decode(reader, length) { + ClickTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ClickTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -126405,12 +127692,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionActionCategoryEnum.decode = function decode(reader, length) { + ConversionActionCategoryEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionActionCategoryEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -126636,12 +127925,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionAttributionEventTypeEnum.decode = function decode(reader, length) { + ConversionAttributionEventTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionAttributionEventTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -126829,12 +128120,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionLagBucketEnum.decode = function decode(reader, length) { + ConversionLagBucketEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionLagBucketEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -127056,12 +128349,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionOrAdjustmentLagBucketEnum.decode = function decode(reader, length) { + ConversionOrAdjustmentLagBucketEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionOrAdjustmentLagBucketEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -127327,12 +128622,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRulePrimaryDimensionEnum.decode = function decode(reader, length) { + ConversionValueRulePrimaryDimensionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionValueRulePrimaryDimensionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -127532,12 +128829,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConvertingUserPriorEngagementTypeAndLtvBucketEnum.decode = function decode(reader, length) { + ConvertingUserPriorEngagementTypeAndLtvBucketEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -127727,12 +129026,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExternalConversionSourceEnum.decode = function decode(reader, length) { + ExternalConversionSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ExternalConversionSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -127972,12 +129273,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelPriceBucketEnum.decode = function decode(reader, length) { + HotelPriceBucketEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.HotelPriceBucketEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -128169,12 +129472,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelRateTypeEnum.decode = function decode(reader, length) { + HotelRateTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.HotelRateTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -128366,12 +129671,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationTypeEnum.decode = function decode(reader, length) { + RecommendationTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.RecommendationTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -128663,12 +129970,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchEngineResultsPageTypeEnum.decode = function decode(reader, length) { + SearchEngineResultsPageTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SearchEngineResultsPageTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -128858,12 +130167,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchTermMatchTypeEnum.decode = function decode(reader, length) { + SearchTermMatchTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SearchTermMatchTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -129057,12 +130368,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkAdEventTypeEnum.decode = function decode(reader, length) { + SkAdNetworkAdEventTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SkAdNetworkAdEventTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -129252,12 +130565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkAttributionCreditEnum.decode = function decode(reader, length) { + SkAdNetworkAttributionCreditEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SkAdNetworkAttributionCreditEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -129447,12 +130762,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkCoarseConversionValueEnum.decode = function decode(reader, length) { + SkAdNetworkCoarseConversionValueEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SkAdNetworkCoarseConversionValueEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -129646,12 +130963,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkSourceTypeEnum.decode = function decode(reader, length) { + SkAdNetworkSourceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SkAdNetworkSourceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -129841,12 +131160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkUserTypeEnum.decode = function decode(reader, length) { + SkAdNetworkUserTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SkAdNetworkUserTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -130036,12 +131357,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlotEnum.decode = function decode(reader, length) { + SlotEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SlotEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -130239,12 +131562,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TrackingCodePageFormatEnum.decode = function decode(reader, length) { + TrackingCodePageFormatEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TrackingCodePageFormatEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -130432,12 +131757,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TrackingCodeTypeEnum.decode = function decode(reader, length) { + TrackingCodeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TrackingCodeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -130629,12 +131956,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetingDimensionEnum.decode = function decode(reader, length) { + TargetingDimensionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TargetingDimensionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -130834,12 +132163,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerMatchUploadKeyTypeEnum.decode = function decode(reader, length) { + CustomerMatchUploadKeyTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomerMatchUploadKeyTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -131029,12 +132360,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LookalikeExpansionLevelEnum.decode = function decode(reader, length) { + LookalikeExpansionLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LookalikeExpansionLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -131224,12 +132557,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListCrmDataSourceTypeEnum.decode = function decode(reader, length) { + UserListCrmDataSourceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListCrmDataSourceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -131419,12 +132754,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListDateRuleItemOperatorEnum.decode = function decode(reader, length) { + UserListDateRuleItemOperatorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListDateRuleItemOperatorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -131616,12 +132953,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListFlexibleRuleOperatorEnum.decode = function decode(reader, length) { + UserListFlexibleRuleOperatorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListFlexibleRuleOperatorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -131809,12 +133148,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListLogicalRuleOperatorEnum.decode = function decode(reader, length) { + UserListLogicalRuleOperatorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListLogicalRuleOperatorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -132004,12 +133345,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListNumberRuleItemOperatorEnum.decode = function decode(reader, length) { + UserListNumberRuleItemOperatorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListNumberRuleItemOperatorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -132205,12 +133548,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListPrepopulationStatusEnum.decode = function decode(reader, length) { + UserListPrepopulationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListPrepopulationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -132400,12 +133745,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListRuleTypeEnum.decode = function decode(reader, length) { + UserListRuleTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListRuleTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -132593,12 +133940,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListStringRuleItemOperatorEnum.decode = function decode(reader, length) { + UserListStringRuleItemOperatorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListStringRuleItemOperatorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -132798,12 +134147,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessInvitationStatusEnum.decode = function decode(reader, length) { + AccessInvitationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccessInvitationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -132993,12 +134344,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessReasonEnum.decode = function decode(reader, length) { + AccessReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccessReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -133192,12 +134545,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessRoleEnum.decode = function decode(reader, length) { + AccessRoleEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccessRoleEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -133389,12 +134744,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetProposalStatusEnum.decode = function decode(reader, length) { + AccountBudgetProposalStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccountBudgetProposalStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -133588,12 +134945,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetProposalTypeEnum.decode = function decode(reader, length) { + AccountBudgetProposalTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccountBudgetProposalTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -133785,12 +135144,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetStatusEnum.decode = function decode(reader, length) { + AccountBudgetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccountBudgetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -133980,12 +135341,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountLinkStatusEnum.decode = function decode(reader, length) { + AccountLinkStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AccountLinkStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -134181,12 +135544,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdPrimaryStatusEnum.decode = function decode(reader, length) { + AdGroupAdPrimaryStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupAdPrimaryStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -134382,12 +135747,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdPrimaryStatusReasonEnum.decode = function decode(reader, length) { + AdGroupAdPrimaryStatusReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupAdPrimaryStatusReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -134601,12 +135968,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdRotationModeEnum.decode = function decode(reader, length) { + AdGroupAdRotationModeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupAdRotationModeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -134794,12 +136163,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdStatusEnum.decode = function decode(reader, length) { + AdGroupAdStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupAdStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -134989,12 +136360,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionApprovalStatusEnum.decode = function decode(reader, length) { + AdGroupCriterionApprovalStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupCriterionApprovalStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -135186,12 +136559,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionPrimaryStatusEnum.decode = function decode(reader, length) { + AdGroupCriterionPrimaryStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupCriterionPrimaryStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -135385,12 +136760,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionPrimaryStatusReasonEnum.decode = function decode(reader, length) { + AdGroupCriterionPrimaryStatusReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupCriterionPrimaryStatusReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -135610,12 +136987,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionStatusEnum.decode = function decode(reader, length) { + AdGroupCriterionStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupCriterionStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -135805,12 +137184,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupPrimaryStatusEnum.decode = function decode(reader, length) { + AdGroupPrimaryStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupPrimaryStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -136006,12 +137387,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupPrimaryStatusReasonEnum.decode = function decode(reader, length) { + AdGroupPrimaryStatusReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupPrimaryStatusReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -136227,12 +137610,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupStatusEnum.decode = function decode(reader, length) { + AdGroupStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -136422,12 +137807,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupTypeEnum.decode = function decode(reader, length) { + AdGroupTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdGroupTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -136542,6 +137929,7 @@ * @property {number} VIDEO_EFFICIENT_REACH=17 VIDEO_EFFICIENT_REACH value * @property {number} SMART_CAMPAIGN_ADS=18 SMART_CAMPAIGN_ADS value * @property {number} TRAVEL_ADS=19 TRAVEL_ADS value + * @property {number} YOUTUBE_AUDIO=20 YOUTUBE_AUDIO value */ AdGroupTypeEnum.AdGroupType = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -136563,6 +137951,7 @@ values[valuesById[17] = "VIDEO_EFFICIENT_REACH"] = 17; values[valuesById[18] = "SMART_CAMPAIGN_ADS"] = 18; values[valuesById[19] = "TRAVEL_ADS"] = 19; + values[valuesById[20] = "YOUTUBE_AUDIO"] = 20; return values; })(); @@ -136643,12 +138032,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdServingOptimizationStatusEnum.decode = function decode(reader, length) { + AdServingOptimizationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdServingOptimizationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -136842,12 +138233,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdStrengthEnum.decode = function decode(reader, length) { + AdStrengthEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdStrengthEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -136969,6 +138362,199 @@ return AdStrengthEnum; })(); + enums.AdStrengthActionItemTypeEnum = (function() { + + /** + * Properties of an AdStrengthActionItemTypeEnum. + * @memberof google.ads.googleads.v19.enums + * @interface IAdStrengthActionItemTypeEnum + */ + + /** + * Constructs a new AdStrengthActionItemTypeEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents an AdStrengthActionItemTypeEnum. + * @implements IAdStrengthActionItemTypeEnum + * @constructor + * @param {google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum=} [properties] Properties to set + */ + function AdStrengthActionItemTypeEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new AdStrengthActionItemTypeEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum} AdStrengthActionItemTypeEnum instance + */ + AdStrengthActionItemTypeEnum.create = function create(properties) { + return new AdStrengthActionItemTypeEnum(properties); + }; + + /** + * Encodes the specified AdStrengthActionItemTypeEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum} message AdStrengthActionItemTypeEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AdStrengthActionItemTypeEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified AdStrengthActionItemTypeEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.IAdStrengthActionItemTypeEnum} message AdStrengthActionItemTypeEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AdStrengthActionItemTypeEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AdStrengthActionItemTypeEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum} AdStrengthActionItemTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdStrengthActionItemTypeEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AdStrengthActionItemTypeEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum} AdStrengthActionItemTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdStrengthActionItemTypeEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AdStrengthActionItemTypeEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AdStrengthActionItemTypeEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an AdStrengthActionItemTypeEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum} AdStrengthActionItemTypeEnum + */ + AdStrengthActionItemTypeEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum) + return object; + return new $root.google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum(); + }; + + /** + * Creates a plain object from an AdStrengthActionItemTypeEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum} message AdStrengthActionItemTypeEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AdStrengthActionItemTypeEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this AdStrengthActionItemTypeEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @instance + * @returns {Object.} JSON object + */ + AdStrengthActionItemTypeEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AdStrengthActionItemTypeEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AdStrengthActionItemTypeEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum"; + }; + + /** + * AdStrengthActionItemType enum. + * @name google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} ADD_ASSET=2 ADD_ASSET value + */ + AdStrengthActionItemTypeEnum.AdStrengthActionItemType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "ADD_ASSET"] = 2; + return values; + })(); + + return AdStrengthActionItemTypeEnum; + })(); + enums.AdTypeEnum = (function() { /** @@ -137043,12 +138629,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdTypeEnum.decode = function decode(reader, length) { + AdTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AdTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -137178,6 +138766,7 @@ * @property {number} TRAVEL_AD=37 TRAVEL_AD value * @property {number} DEMAND_GEN_VIDEO_RESPONSIVE_AD=42 DEMAND_GEN_VIDEO_RESPONSIVE_AD value * @property {number} DEMAND_GEN_PRODUCT_AD=39 DEMAND_GEN_PRODUCT_AD value + * @property {number} YOUTUBE_AUDIO_AD=44 YOUTUBE_AUDIO_AD value */ AdTypeEnum.AdType = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -137214,6 +138803,7 @@ values[valuesById[37] = "TRAVEL_AD"] = 37; values[valuesById[42] = "DEMAND_GEN_VIDEO_RESPONSIVE_AD"] = 42; values[valuesById[39] = "DEMAND_GEN_PRODUCT_AD"] = 39; + values[valuesById[44] = "YOUTUBE_AUDIO_AD"] = 44; return values; })(); @@ -137294,12 +138884,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AndroidPrivacyInteractionTypeEnum.decode = function decode(reader, length) { + AndroidPrivacyInteractionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AndroidPrivacyInteractionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -137489,12 +139081,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AndroidPrivacyNetworkTypeEnum.decode = function decode(reader, length) { + AndroidPrivacyNetworkTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AndroidPrivacyNetworkTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -137684,12 +139278,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppBiddingGoalEnum.decode = function decode(reader, length) { + AppBiddingGoalEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AppBiddingGoalEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -137887,12 +139483,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppCampaignAppStoreEnum.decode = function decode(reader, length) { + AppCampaignAppStoreEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AppCampaignAppStoreEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -138080,12 +139678,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppCampaignBiddingStrategyGoalTypeEnum.decode = function decode(reader, length) { + AppCampaignBiddingStrategyGoalTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AppCampaignBiddingStrategyGoalTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -138281,12 +139881,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetAutomationStatusEnum.decode = function decode(reader, length) { + AssetAutomationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetAutomationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -138474,12 +140076,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetAutomationTypeEnum.decode = function decode(reader, length) { + AssetAutomationTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetAutomationTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -138599,6 +140203,203 @@ return AssetAutomationTypeEnum; })(); + enums.AssetCoverageVideoAspectRatioRequirementEnum = (function() { + + /** + * Properties of an AssetCoverageVideoAspectRatioRequirementEnum. + * @memberof google.ads.googleads.v19.enums + * @interface IAssetCoverageVideoAspectRatioRequirementEnum + */ + + /** + * Constructs a new AssetCoverageVideoAspectRatioRequirementEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents an AssetCoverageVideoAspectRatioRequirementEnum. + * @implements IAssetCoverageVideoAspectRatioRequirementEnum + * @constructor + * @param {google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum=} [properties] Properties to set + */ + function AssetCoverageVideoAspectRatioRequirementEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new AssetCoverageVideoAspectRatioRequirementEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum} AssetCoverageVideoAspectRatioRequirementEnum instance + */ + AssetCoverageVideoAspectRatioRequirementEnum.create = function create(properties) { + return new AssetCoverageVideoAspectRatioRequirementEnum(properties); + }; + + /** + * Encodes the specified AssetCoverageVideoAspectRatioRequirementEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum} message AssetCoverageVideoAspectRatioRequirementEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AssetCoverageVideoAspectRatioRequirementEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified AssetCoverageVideoAspectRatioRequirementEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {google.ads.googleads.v19.enums.IAssetCoverageVideoAspectRatioRequirementEnum} message AssetCoverageVideoAspectRatioRequirementEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AssetCoverageVideoAspectRatioRequirementEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AssetCoverageVideoAspectRatioRequirementEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum} AssetCoverageVideoAspectRatioRequirementEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AssetCoverageVideoAspectRatioRequirementEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AssetCoverageVideoAspectRatioRequirementEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum} AssetCoverageVideoAspectRatioRequirementEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AssetCoverageVideoAspectRatioRequirementEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AssetCoverageVideoAspectRatioRequirementEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AssetCoverageVideoAspectRatioRequirementEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an AssetCoverageVideoAspectRatioRequirementEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum} AssetCoverageVideoAspectRatioRequirementEnum + */ + AssetCoverageVideoAspectRatioRequirementEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum) + return object; + return new $root.google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum(); + }; + + /** + * Creates a plain object from an AssetCoverageVideoAspectRatioRequirementEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum} message AssetCoverageVideoAspectRatioRequirementEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AssetCoverageVideoAspectRatioRequirementEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this AssetCoverageVideoAspectRatioRequirementEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @instance + * @returns {Object.} JSON object + */ + AssetCoverageVideoAspectRatioRequirementEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AssetCoverageVideoAspectRatioRequirementEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AssetCoverageVideoAspectRatioRequirementEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum"; + }; + + /** + * AssetCoverageVideoAspectRatioRequirement enum. + * @name google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} HORIZONTAL=2 HORIZONTAL value + * @property {number} SQUARE=3 SQUARE value + * @property {number} VERTICAL=4 VERTICAL value + */ + AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "HORIZONTAL"] = 2; + values[valuesById[3] = "SQUARE"] = 3; + values[valuesById[4] = "VERTICAL"] = 4; + return values; + })(); + + return AssetCoverageVideoAspectRatioRequirementEnum; + })(); + enums.AssetFieldTypeEnum = (function() { /** @@ -138673,12 +140474,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetFieldTypeEnum.decode = function decode(reader, length) { + AssetFieldTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetFieldTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -138806,6 +140609,7 @@ * @property {number} HOTEL_PROPERTY=28 HOTEL_PROPERTY value * @property {number} DEMAND_GEN_CAROUSEL_CARD=30 DEMAND_GEN_CAROUSEL_CARD value * @property {number} BUSINESS_MESSAGE=31 BUSINESS_MESSAGE value + * @property {number} TALL_PORTRAIT_MARKETING_IMAGE=32 TALL_PORTRAIT_MARKETING_IMAGE value */ AssetFieldTypeEnum.AssetFieldType = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -138840,6 +140644,7 @@ values[valuesById[28] = "HOTEL_PROPERTY"] = 28; values[valuesById[30] = "DEMAND_GEN_CAROUSEL_CARD"] = 30; values[valuesById[31] = "BUSINESS_MESSAGE"] = 31; + values[valuesById[32] = "TALL_PORTRAIT_MARKETING_IMAGE"] = 32; return values; })(); @@ -138920,12 +140725,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupPrimaryStatusEnum.decode = function decode(reader, length) { + AssetGroupPrimaryStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetGroupPrimaryStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -139121,12 +140928,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupPrimaryStatusReasonEnum.decode = function decode(reader, length) { + AssetGroupPrimaryStatusReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetGroupPrimaryStatusReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -139328,12 +141137,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupSignalApprovalStatusEnum.decode = function decode(reader, length) { + AssetGroupSignalApprovalStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetGroupSignalApprovalStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -139525,12 +141336,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupStatusEnum.decode = function decode(reader, length) { + AssetGroupStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetGroupStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -139720,12 +141533,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetLinkStatusEnum.decode = function decode(reader, length) { + AssetLinkStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetLinkStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -139915,12 +141730,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetAssetStatusEnum.decode = function decode(reader, length) { + AssetSetAssetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetSetAssetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -140108,12 +141925,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetLinkStatusEnum.decode = function decode(reader, length) { + AssetSetLinkStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetSetLinkStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -140301,12 +142120,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetStatusEnum.decode = function decode(reader, length) { + AssetSetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetSetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -140494,12 +142315,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetTypeEnum.decode = function decode(reader, length) { + AssetSetTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetSetTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -140715,12 +142538,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSourceEnum.decode = function decode(reader, length) { + AssetSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -140908,12 +142733,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetTypeEnum.decode = function decode(reader, length) { + AssetTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AssetTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -141155,12 +142982,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncActionStatusEnum.decode = function decode(reader, length) { + AsyncActionStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AsyncActionStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -141354,12 +143183,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttributionModelEnum.decode = function decode(reader, length) { + AttributionModelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AttributionModelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -141557,12 +143388,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsMarketingObjectiveEnum.decode = function decode(reader, length) { + AudienceInsightsMarketingObjectiveEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AudienceInsightsMarketingObjectiveEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -141750,12 +143583,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceScopeEnum.decode = function decode(reader, length) { + AudienceScopeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AudienceScopeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -141943,12 +143778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceStatusEnum.decode = function decode(reader, length) { + AudienceStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.AudienceStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -142136,12 +143973,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchJobStatusEnum.decode = function decode(reader, length) { + BatchJobStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BatchJobStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -142331,12 +144170,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BidModifierSourceEnum.decode = function decode(reader, length) { + BidModifierSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BidModifierSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -142524,12 +144365,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingSourceEnum.decode = function decode(reader, length) { + BiddingSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BiddingSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -142719,12 +144562,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategyStatusEnum.decode = function decode(reader, length) { + BiddingStrategyStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BiddingStrategyStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -142912,12 +144757,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategySystemStatusEnum.decode = function decode(reader, length) { + BiddingStrategySystemStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BiddingStrategySystemStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -143151,12 +144998,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategyTypeEnum.decode = function decode(reader, length) { + BiddingStrategyTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BiddingStrategyTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -143378,12 +145227,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BillingSetupStatusEnum.decode = function decode(reader, length) { + BillingSetupStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BillingSetupStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -143575,12 +145426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandSafetySuitabilityEnum.decode = function decode(reader, length) { + BrandSafetySuitabilityEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BrandSafetySuitabilityEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -143770,12 +145623,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetDeliveryMethodEnum.decode = function decode(reader, length) { + BudgetDeliveryMethodEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BudgetDeliveryMethodEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -143963,12 +145818,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetPeriodEnum.decode = function decode(reader, length) { + BudgetPeriodEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BudgetPeriodEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -144156,12 +146013,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetStatusEnum.decode = function decode(reader, length) { + BudgetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BudgetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -144349,12 +146208,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetTypeEnum.decode = function decode(reader, length) { + BudgetTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.BudgetTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -144546,12 +146407,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallTrackingDisplayLocationEnum.decode = function decode(reader, length) { + CallTrackingDisplayLocationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CallTrackingDisplayLocationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -144739,12 +146602,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallTypeEnum.decode = function decode(reader, length) { + CallTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CallTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -144932,12 +146797,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCriterionStatusEnum.decode = function decode(reader, length) { + CampaignCriterionStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignCriterionStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -145127,12 +146994,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignDraftStatusEnum.decode = function decode(reader, length) { + CampaignDraftStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignDraftStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -145326,12 +147195,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignExperimentTypeEnum.decode = function decode(reader, length) { + CampaignExperimentTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignExperimentTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -145521,12 +147392,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignGroupStatusEnum.decode = function decode(reader, length) { + CampaignGroupStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignGroupStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -145714,12 +147587,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignKeywordMatchTypeEnum.decode = function decode(reader, length) { + CampaignKeywordMatchTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignKeywordMatchTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -145905,12 +147780,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignPrimaryStatusEnum.decode = function decode(reader, length) { + CampaignPrimaryStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignPrimaryStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -146112,12 +147989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignPrimaryStatusReasonEnum.decode = function decode(reader, length) { + CampaignPrimaryStatusReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignPrimaryStatusReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -146375,12 +148254,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignServingStatusEnum.decode = function decode(reader, length) { + CampaignServingStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignServingStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -146574,12 +148455,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignSharedSetStatusEnum.decode = function decode(reader, length) { + CampaignSharedSetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignSharedSetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -146767,12 +148650,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignStatusEnum.decode = function decode(reader, length) { + CampaignStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CampaignStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -146962,12 +148847,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeClientTypeEnum.decode = function decode(reader, length) { + ChangeClientTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ChangeClientTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -147177,12 +149064,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeEventResourceTypeEnum.decode = function decode(reader, length) { + ChangeEventResourceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ChangeEventResourceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -147404,12 +149293,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeStatusOperationEnum.decode = function decode(reader, length) { + ChangeStatusOperationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ChangeStatusOperationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -147599,12 +149490,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeStatusResourceTypeEnum.decode = function decode(reader, length) { + ChangeStatusResourceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ChangeStatusResourceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -147708,6 +149601,7 @@ * @property {number} AD_GROUP_CRITERION=5 AD_GROUP_CRITERION value * @property {number} CAMPAIGN=6 CAMPAIGN value * @property {number} CAMPAIGN_CRITERION=7 CAMPAIGN_CRITERION value + * @property {number} CAMPAIGN_BUDGET=8 CAMPAIGN_BUDGET value * @property {number} FEED=9 FEED value * @property {number} FEED_ITEM=10 FEED_ITEM value * @property {number} AD_GROUP_FEED=11 AD_GROUP_FEED value @@ -147721,6 +149615,8 @@ * @property {number} AD_GROUP_ASSET=19 AD_GROUP_ASSET value * @property {number} COMBINED_AUDIENCE=20 COMBINED_AUDIENCE value * @property {number} ASSET_GROUP=21 ASSET_GROUP value + * @property {number} ASSET_SET=22 ASSET_SET value + * @property {number} CAMPAIGN_ASSET_SET=23 CAMPAIGN_ASSET_SET value */ ChangeStatusResourceTypeEnum.ChangeStatusResourceType = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -147731,6 +149627,7 @@ values[valuesById[5] = "AD_GROUP_CRITERION"] = 5; values[valuesById[6] = "CAMPAIGN"] = 6; values[valuesById[7] = "CAMPAIGN_CRITERION"] = 7; + values[valuesById[8] = "CAMPAIGN_BUDGET"] = 8; values[valuesById[9] = "FEED"] = 9; values[valuesById[10] = "FEED_ITEM"] = 10; values[valuesById[11] = "AD_GROUP_FEED"] = 11; @@ -147744,6 +149641,8 @@ values[valuesById[19] = "AD_GROUP_ASSET"] = 19; values[valuesById[20] = "COMBINED_AUDIENCE"] = 20; values[valuesById[21] = "ASSET_GROUP"] = 21; + values[valuesById[22] = "ASSET_SET"] = 22; + values[valuesById[23] = "CAMPAIGN_ASSET_SET"] = 23; return values; })(); @@ -147824,12 +149723,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CombinedAudienceStatusEnum.decode = function decode(reader, length) { + CombinedAudienceStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CombinedAudienceStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -148017,12 +149918,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionActionCountingTypeEnum.decode = function decode(reader, length) { + ConversionActionCountingTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionActionCountingTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -148210,12 +150113,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionActionStatusEnum.decode = function decode(reader, length) { + ConversionActionStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionActionStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -148405,12 +150310,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionActionTypeEnum.decode = function decode(reader, length) { + ConversionActionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionActionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -148674,12 +150581,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionAdjustmentTypeEnum.decode = function decode(reader, length) { + ConversionAdjustmentTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionAdjustmentTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -148869,12 +150778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionCustomVariableStatusEnum.decode = function decode(reader, length) { + ConversionCustomVariableStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionCustomVariableStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -148990,6 +150901,201 @@ return ConversionCustomVariableStatusEnum; })(); + enums.ConversionCustomerTypeEnum = (function() { + + /** + * Properties of a ConversionCustomerTypeEnum. + * @memberof google.ads.googleads.v19.enums + * @interface IConversionCustomerTypeEnum + */ + + /** + * Constructs a new ConversionCustomerTypeEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a ConversionCustomerTypeEnum. + * @implements IConversionCustomerTypeEnum + * @constructor + * @param {google.ads.googleads.v19.enums.IConversionCustomerTypeEnum=} [properties] Properties to set + */ + function ConversionCustomerTypeEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ConversionCustomerTypeEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.IConversionCustomerTypeEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum} ConversionCustomerTypeEnum instance + */ + ConversionCustomerTypeEnum.create = function create(properties) { + return new ConversionCustomerTypeEnum(properties); + }; + + /** + * Encodes the specified ConversionCustomerTypeEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.IConversionCustomerTypeEnum} message ConversionCustomerTypeEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConversionCustomerTypeEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ConversionCustomerTypeEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.IConversionCustomerTypeEnum} message ConversionCustomerTypeEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConversionCustomerTypeEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConversionCustomerTypeEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum} ConversionCustomerTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConversionCustomerTypeEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionCustomerTypeEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConversionCustomerTypeEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum} ConversionCustomerTypeEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConversionCustomerTypeEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConversionCustomerTypeEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConversionCustomerTypeEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a ConversionCustomerTypeEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum} ConversionCustomerTypeEnum + */ + ConversionCustomerTypeEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.ConversionCustomerTypeEnum) + return object; + return new $root.google.ads.googleads.v19.enums.ConversionCustomerTypeEnum(); + }; + + /** + * Creates a plain object from a ConversionCustomerTypeEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum} message ConversionCustomerTypeEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConversionCustomerTypeEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ConversionCustomerTypeEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @instance + * @returns {Object.} JSON object + */ + ConversionCustomerTypeEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConversionCustomerTypeEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.ConversionCustomerTypeEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConversionCustomerTypeEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.ConversionCustomerTypeEnum"; + }; + + /** + * ConversionCustomerType enum. + * @name google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} NEW=2 NEW value + * @property {number} RETURNING=3 RETURNING value + */ + ConversionCustomerTypeEnum.ConversionCustomerType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "NEW"] = 2; + values[valuesById[3] = "RETURNING"] = 3; + return values; + })(); + + return ConversionCustomerTypeEnum; + })(); + enums.ConversionEnvironmentEnum = (function() { /** @@ -149064,12 +151170,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionEnvironmentEnum.decode = function decode(reader, length) { + ConversionEnvironmentEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionEnvironmentEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -149257,12 +151365,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionOriginEnum.decode = function decode(reader, length) { + ConversionOriginEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionOriginEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -149458,12 +151568,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionTrackingStatusEnum.decode = function decode(reader, length) { + ConversionTrackingStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionTrackingStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -149655,12 +151767,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleSetStatusEnum.decode = function decode(reader, length) { + ConversionValueRuleSetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionValueRuleSetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -149850,12 +151964,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleStatusEnum.decode = function decode(reader, length) { + ConversionValueRuleStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ConversionValueRuleStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -150045,12 +152161,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionSystemServingStatusEnum.decode = function decode(reader, length) { + CriterionSystemServingStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CriterionSystemServingStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -150238,12 +152356,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionTypeEnum.decode = function decode(reader, length) { + CriterionTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CriterionTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -150507,12 +152627,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceMemberTypeEnum.decode = function decode(reader, length) { + CustomAudienceMemberTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomAudienceMemberTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -150704,12 +152826,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceStatusEnum.decode = function decode(reader, length) { + CustomAudienceStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomAudienceStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -150897,12 +153021,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceTypeEnum.decode = function decode(reader, length) { + CustomAudienceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomAudienceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -151094,12 +153220,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomConversionGoalStatusEnum.decode = function decode(reader, length) { + CustomConversionGoalStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomConversionGoalStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -151287,12 +153415,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterestMemberTypeEnum.decode = function decode(reader, length) { + CustomInterestMemberTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomInterestMemberTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -151480,12 +153610,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterestStatusEnum.decode = function decode(reader, length) { + CustomInterestStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomInterestStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -151673,12 +153805,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterestTypeEnum.decode = function decode(reader, length) { + CustomInterestTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomInterestTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -151866,12 +154000,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAcquisitionOptimizationModeEnum.decode = function decode(reader, length) { + CustomerAcquisitionOptimizationModeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomerAcquisitionOptimizationModeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -152061,12 +154197,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerPayPerConversionEligibilityFailureReasonEnum.decode = function decode(reader, length) { + CustomerPayPerConversionEligibilityFailureReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomerPayPerConversionEligibilityFailureReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -152264,12 +154402,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerStatusEnum.decode = function decode(reader, length) { + CustomerStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomerStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -152461,12 +154601,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerAttributeStatusEnum.decode = function decode(reader, length) { + CustomizerAttributeStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomizerAttributeStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -152654,12 +154796,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerValueStatusEnum.decode = function decode(reader, length) { + CustomizerValueStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.CustomizerValueStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -152847,12 +154991,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataDrivenModelStatusEnum.decode = function decode(reader, length) { + DataDrivenModelStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DataDrivenModelStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -153044,12 +155190,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataLinkStatusEnum.decode = function decode(reader, length) { + DataLinkStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DataLinkStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -153245,12 +155393,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataLinkTypeEnum.decode = function decode(reader, length) { + DataLinkTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DataLinkTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -153362,6 +155512,396 @@ return DataLinkTypeEnum; })(); + enums.DemandGenChannelConfigEnum = (function() { + + /** + * Properties of a DemandGenChannelConfigEnum. + * @memberof google.ads.googleads.v19.enums + * @interface IDemandGenChannelConfigEnum + */ + + /** + * Constructs a new DemandGenChannelConfigEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a DemandGenChannelConfigEnum. + * @implements IDemandGenChannelConfigEnum + * @constructor + * @param {google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum=} [properties] Properties to set + */ + function DemandGenChannelConfigEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new DemandGenChannelConfigEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum} DemandGenChannelConfigEnum instance + */ + DemandGenChannelConfigEnum.create = function create(properties) { + return new DemandGenChannelConfigEnum(properties); + }; + + /** + * Encodes the specified DemandGenChannelConfigEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum} message DemandGenChannelConfigEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenChannelConfigEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified DemandGenChannelConfigEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {google.ads.googleads.v19.enums.IDemandGenChannelConfigEnum} message DemandGenChannelConfigEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenChannelConfigEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DemandGenChannelConfigEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum} DemandGenChannelConfigEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenChannelConfigEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DemandGenChannelConfigEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DemandGenChannelConfigEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum} DemandGenChannelConfigEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenChannelConfigEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DemandGenChannelConfigEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DemandGenChannelConfigEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a DemandGenChannelConfigEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum} DemandGenChannelConfigEnum + */ + DemandGenChannelConfigEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.DemandGenChannelConfigEnum) + return object; + return new $root.google.ads.googleads.v19.enums.DemandGenChannelConfigEnum(); + }; + + /** + * Creates a plain object from a DemandGenChannelConfigEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum} message DemandGenChannelConfigEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DemandGenChannelConfigEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this DemandGenChannelConfigEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @instance + * @returns {Object.} JSON object + */ + DemandGenChannelConfigEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DemandGenChannelConfigEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.DemandGenChannelConfigEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DemandGenChannelConfigEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.DemandGenChannelConfigEnum"; + }; + + /** + * DemandGenChannelConfig enum. + * @name google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} CHANNEL_STRATEGY=2 CHANNEL_STRATEGY value + * @property {number} SELECTED_CHANNELS=3 SELECTED_CHANNELS value + */ + DemandGenChannelConfigEnum.DemandGenChannelConfig = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "CHANNEL_STRATEGY"] = 2; + values[valuesById[3] = "SELECTED_CHANNELS"] = 3; + return values; + })(); + + return DemandGenChannelConfigEnum; + })(); + + enums.DemandGenChannelStrategyEnum = (function() { + + /** + * Properties of a DemandGenChannelStrategyEnum. + * @memberof google.ads.googleads.v19.enums + * @interface IDemandGenChannelStrategyEnum + */ + + /** + * Constructs a new DemandGenChannelStrategyEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a DemandGenChannelStrategyEnum. + * @implements IDemandGenChannelStrategyEnum + * @constructor + * @param {google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum=} [properties] Properties to set + */ + function DemandGenChannelStrategyEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new DemandGenChannelStrategyEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum} DemandGenChannelStrategyEnum instance + */ + DemandGenChannelStrategyEnum.create = function create(properties) { + return new DemandGenChannelStrategyEnum(properties); + }; + + /** + * Encodes the specified DemandGenChannelStrategyEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum} message DemandGenChannelStrategyEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenChannelStrategyEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified DemandGenChannelStrategyEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {google.ads.googleads.v19.enums.IDemandGenChannelStrategyEnum} message DemandGenChannelStrategyEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenChannelStrategyEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DemandGenChannelStrategyEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum} DemandGenChannelStrategyEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenChannelStrategyEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DemandGenChannelStrategyEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum} DemandGenChannelStrategyEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenChannelStrategyEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DemandGenChannelStrategyEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DemandGenChannelStrategyEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a DemandGenChannelStrategyEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum} DemandGenChannelStrategyEnum + */ + DemandGenChannelStrategyEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum) + return object; + return new $root.google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum(); + }; + + /** + * Creates a plain object from a DemandGenChannelStrategyEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum} message DemandGenChannelStrategyEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DemandGenChannelStrategyEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this DemandGenChannelStrategyEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @instance + * @returns {Object.} JSON object + */ + DemandGenChannelStrategyEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DemandGenChannelStrategyEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DemandGenChannelStrategyEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum"; + }; + + /** + * DemandGenChannelStrategy enum. + * @name google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} ALL_CHANNELS=2 ALL_CHANNELS value + * @property {number} ALL_OWNED_AND_OPERATED_CHANNELS=3 ALL_OWNED_AND_OPERATED_CHANNELS value + */ + DemandGenChannelStrategyEnum.DemandGenChannelStrategy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "ALL_CHANNELS"] = 2; + values[valuesById[3] = "ALL_OWNED_AND_OPERATED_CHANNELS"] = 3; + return values; + })(); + + return DemandGenChannelStrategyEnum; + })(); + enums.DistanceBucketEnum = (function() { /** @@ -153436,12 +155976,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DistanceBucketEnum.decode = function decode(reader, length) { + DistanceBucketEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.DistanceBucketEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -153679,12 +156221,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentStatusEnum.decode = function decode(reader, length) { + ExperimentStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ExperimentStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -153882,12 +156426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentTypeEnum.decode = function decode(reader, length) { + ExperimentTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ExperimentTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -154091,12 +156637,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargetConstantStatusEnum.decode = function decode(reader, length) { + GeoTargetConstantStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GeoTargetConstantStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -154284,12 +156832,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargetingTypeEnum.decode = function decode(reader, length) { + GeoTargetingTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GeoTargetingTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -154477,12 +157027,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoalConfigLevelEnum.decode = function decode(reader, length) { + GoalConfigLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GoalConfigLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -154670,12 +157222,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsFieldCategoryEnum.decode = function decode(reader, length) { + GoogleAdsFieldCategoryEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GoogleAdsFieldCategoryEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -154867,12 +157421,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsFieldDataTypeEnum.decode = function decode(reader, length) { + GoogleAdsFieldDataTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GoogleAdsFieldDataTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -155078,12 +157634,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleVoiceCallStatusEnum.decode = function decode(reader, length) { + GoogleVoiceCallStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.GoogleVoiceCallStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -155271,12 +157829,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelAssetSuggestionStatusEnum.decode = function decode(reader, length) { + HotelAssetSuggestionStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.HotelAssetSuggestionStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -155466,12 +158026,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelReconciliationStatusEnum.decode = function decode(reader, length) { + HotelReconciliationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.HotelReconciliationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -155663,12 +158225,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityVerificationProgramEnum.decode = function decode(reader, length) { + IdentityVerificationProgramEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.IdentityVerificationProgramEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -155854,12 +158418,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityVerificationProgramStatusEnum.decode = function decode(reader, length) { + IdentityVerificationProgramStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.IdentityVerificationProgramStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -156051,12 +158617,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsightsTrendEnum.decode = function decode(reader, length) { + InsightsTrendEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.InsightsTrendEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -156248,12 +158816,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InvoiceTypeEnum.decode = function decode(reader, length) { + InvoiceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.InvoiceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -156441,12 +159011,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanForecastIntervalEnum.decode = function decode(reader, length) { + KeywordPlanForecastIntervalEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordPlanForecastIntervalEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -156636,12 +159208,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanKeywordAnnotationEnum.decode = function decode(reader, length) { + KeywordPlanKeywordAnnotationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordPlanKeywordAnnotationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -156827,12 +159401,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanNetworkEnum.decode = function decode(reader, length) { + KeywordPlanNetworkEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.KeywordPlanNetworkEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -157020,12 +159596,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelStatusEnum.decode = function decode(reader, length) { + LabelStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LabelStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -157213,12 +159791,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LinkedAccountTypeEnum.decode = function decode(reader, length) { + LinkedAccountTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LinkedAccountTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -157404,12 +159984,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LinkedProductTypeEnum.decode = function decode(reader, length) { + LinkedProductTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LinkedProductTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -157603,12 +160185,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterCustomAttributeIndexEnum.decode = function decode(reader, length) { + ListingGroupFilterCustomAttributeIndexEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterCustomAttributeIndexEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -157802,12 +160386,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterListingSourceEnum.decode = function decode(reader, length) { + ListingGroupFilterListingSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterListingSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -157995,12 +160581,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterProductCategoryLevelEnum.decode = function decode(reader, length) { + ListingGroupFilterProductCategoryLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterProductCategoryLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -158194,12 +160782,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterProductChannelEnum.decode = function decode(reader, length) { + ListingGroupFilterProductChannelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterProductChannelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -158387,12 +160977,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterProductConditionEnum.decode = function decode(reader, length) { + ListingGroupFilterProductConditionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterProductConditionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -158582,12 +161174,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterProductTypeLevelEnum.decode = function decode(reader, length) { + ListingGroupFilterProductTypeLevelEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterProductTypeLevelEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -158781,12 +161375,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterTypeEnum.decode = function decode(reader, length) { + ListingGroupFilterTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingGroupFilterTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -158976,12 +161572,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingTypeEnum.decode = function decode(reader, length) { + ListingTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ListingTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -159167,12 +161765,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesBusinessRegistrationCheckRejectionReasonEnum.decode = function decode(reader, length) { + LocalServicesBusinessRegistrationCheckRejectionReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesBusinessRegistrationCheckRejectionReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -159374,12 +161974,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesBusinessRegistrationTypeEnum.decode = function decode(reader, length) { + LocalServicesBusinessRegistrationTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesBusinessRegistrationTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -159567,12 +162169,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesLeadConversationTypeEnum.decode = function decode(reader, length) { + LocalServicesLeadConversationTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadConversationTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -159770,12 +162374,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesEmployeeStatusEnum.decode = function decode(reader, length) { + LocalServicesEmployeeStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesEmployeeStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -159963,12 +162569,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesEmployeeTypeEnum.decode = function decode(reader, length) { + LocalServicesEmployeeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesEmployeeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -160156,12 +162764,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesInsuranceRejectionReasonEnum.decode = function decode(reader, length) { + LocalServicesInsuranceRejectionReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesInsuranceRejectionReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -160299,6 +162909,205 @@ return LocalServicesInsuranceRejectionReasonEnum; })(); + enums.LocalServicesLeadCreditIssuanceDecisionEnum = (function() { + + /** + * Properties of a LocalServicesLeadCreditIssuanceDecisionEnum. + * @memberof google.ads.googleads.v19.enums + * @interface ILocalServicesLeadCreditIssuanceDecisionEnum + */ + + /** + * Constructs a new LocalServicesLeadCreditIssuanceDecisionEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a LocalServicesLeadCreditIssuanceDecisionEnum. + * @implements ILocalServicesLeadCreditIssuanceDecisionEnum + * @constructor + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum=} [properties] Properties to set + */ + function LocalServicesLeadCreditIssuanceDecisionEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new LocalServicesLeadCreditIssuanceDecisionEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum} LocalServicesLeadCreditIssuanceDecisionEnum instance + */ + LocalServicesLeadCreditIssuanceDecisionEnum.create = function create(properties) { + return new LocalServicesLeadCreditIssuanceDecisionEnum(properties); + }; + + /** + * Encodes the specified LocalServicesLeadCreditIssuanceDecisionEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum} message LocalServicesLeadCreditIssuanceDecisionEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadCreditIssuanceDecisionEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified LocalServicesLeadCreditIssuanceDecisionEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadCreditIssuanceDecisionEnum} message LocalServicesLeadCreditIssuanceDecisionEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadCreditIssuanceDecisionEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalServicesLeadCreditIssuanceDecisionEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum} LocalServicesLeadCreditIssuanceDecisionEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadCreditIssuanceDecisionEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalServicesLeadCreditIssuanceDecisionEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum} LocalServicesLeadCreditIssuanceDecisionEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadCreditIssuanceDecisionEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalServicesLeadCreditIssuanceDecisionEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalServicesLeadCreditIssuanceDecisionEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a LocalServicesLeadCreditIssuanceDecisionEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum} LocalServicesLeadCreditIssuanceDecisionEnum + */ + LocalServicesLeadCreditIssuanceDecisionEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum) + return object; + return new $root.google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum(); + }; + + /** + * Creates a plain object from a LocalServicesLeadCreditIssuanceDecisionEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum} message LocalServicesLeadCreditIssuanceDecisionEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalServicesLeadCreditIssuanceDecisionEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this LocalServicesLeadCreditIssuanceDecisionEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @instance + * @returns {Object.} JSON object + */ + LocalServicesLeadCreditIssuanceDecisionEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LocalServicesLeadCreditIssuanceDecisionEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalServicesLeadCreditIssuanceDecisionEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum"; + }; + + /** + * CreditIssuanceDecision enum. + * @name google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} SUCCESS_NOT_REACHED_THRESHOLD=2 SUCCESS_NOT_REACHED_THRESHOLD value + * @property {number} SUCCESS_REACHED_THRESHOLD=3 SUCCESS_REACHED_THRESHOLD value + * @property {number} FAIL_OVER_THRESHOLD=4 FAIL_OVER_THRESHOLD value + * @property {number} FAIL_NOT_ELIGIBLE=5 FAIL_NOT_ELIGIBLE value + */ + LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "SUCCESS_NOT_REACHED_THRESHOLD"] = 2; + values[valuesById[3] = "SUCCESS_REACHED_THRESHOLD"] = 3; + values[valuesById[4] = "FAIL_OVER_THRESHOLD"] = 4; + values[valuesById[5] = "FAIL_NOT_ELIGIBLE"] = 5; + return values; + })(); + + return LocalServicesLeadCreditIssuanceDecisionEnum; + })(); + enums.LocalServicesCreditStateEnum = (function() { /** @@ -160373,12 +163182,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesCreditStateEnum.decode = function decode(reader, length) { + LocalServicesCreditStateEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesCreditStateEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -160566,12 +163377,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesLeadStatusEnum.decode = function decode(reader, length) { + LocalServicesLeadStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -160697,6 +163510,613 @@ return LocalServicesLeadStatusEnum; })(); + enums.LocalServicesLeadSurveyAnswerEnum = (function() { + + /** + * Properties of a LocalServicesLeadSurveyAnswerEnum. + * @memberof google.ads.googleads.v19.enums + * @interface ILocalServicesLeadSurveyAnswerEnum + */ + + /** + * Constructs a new LocalServicesLeadSurveyAnswerEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a LocalServicesLeadSurveyAnswerEnum. + * @implements ILocalServicesLeadSurveyAnswerEnum + * @constructor + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum=} [properties] Properties to set + */ + function LocalServicesLeadSurveyAnswerEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new LocalServicesLeadSurveyAnswerEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum} LocalServicesLeadSurveyAnswerEnum instance + */ + LocalServicesLeadSurveyAnswerEnum.create = function create(properties) { + return new LocalServicesLeadSurveyAnswerEnum(properties); + }; + + /** + * Encodes the specified LocalServicesLeadSurveyAnswerEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum} message LocalServicesLeadSurveyAnswerEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadSurveyAnswerEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified LocalServicesLeadSurveyAnswerEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyAnswerEnum} message LocalServicesLeadSurveyAnswerEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadSurveyAnswerEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalServicesLeadSurveyAnswerEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum} LocalServicesLeadSurveyAnswerEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadSurveyAnswerEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalServicesLeadSurveyAnswerEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum} LocalServicesLeadSurveyAnswerEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadSurveyAnswerEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalServicesLeadSurveyAnswerEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalServicesLeadSurveyAnswerEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a LocalServicesLeadSurveyAnswerEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum} LocalServicesLeadSurveyAnswerEnum + */ + LocalServicesLeadSurveyAnswerEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum) + return object; + return new $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum(); + }; + + /** + * Creates a plain object from a LocalServicesLeadSurveyAnswerEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum} message LocalServicesLeadSurveyAnswerEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalServicesLeadSurveyAnswerEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this LocalServicesLeadSurveyAnswerEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @instance + * @returns {Object.} JSON object + */ + LocalServicesLeadSurveyAnswerEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LocalServicesLeadSurveyAnswerEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalServicesLeadSurveyAnswerEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum"; + }; + + /** + * SurveyAnswer enum. + * @name google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} VERY_SATISFIED=2 VERY_SATISFIED value + * @property {number} SATISFIED=3 SATISFIED value + * @property {number} NEUTRAL=4 NEUTRAL value + * @property {number} DISSATISFIED=5 DISSATISFIED value + * @property {number} VERY_DISSATISFIED=6 VERY_DISSATISFIED value + */ + LocalServicesLeadSurveyAnswerEnum.SurveyAnswer = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "VERY_SATISFIED"] = 2; + values[valuesById[3] = "SATISFIED"] = 3; + values[valuesById[4] = "NEUTRAL"] = 4; + values[valuesById[5] = "DISSATISFIED"] = 5; + values[valuesById[6] = "VERY_DISSATISFIED"] = 6; + return values; + })(); + + return LocalServicesLeadSurveyAnswerEnum; + })(); + + enums.LocalServicesLeadSurveyDissatisfiedReasonEnum = (function() { + + /** + * Properties of a LocalServicesLeadSurveyDissatisfiedReasonEnum. + * @memberof google.ads.googleads.v19.enums + * @interface ILocalServicesLeadSurveyDissatisfiedReasonEnum + */ + + /** + * Constructs a new LocalServicesLeadSurveyDissatisfiedReasonEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a LocalServicesLeadSurveyDissatisfiedReasonEnum. + * @implements ILocalServicesLeadSurveyDissatisfiedReasonEnum + * @constructor + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum=} [properties] Properties to set + */ + function LocalServicesLeadSurveyDissatisfiedReasonEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new LocalServicesLeadSurveyDissatisfiedReasonEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum} LocalServicesLeadSurveyDissatisfiedReasonEnum instance + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.create = function create(properties) { + return new LocalServicesLeadSurveyDissatisfiedReasonEnum(properties); + }; + + /** + * Encodes the specified LocalServicesLeadSurveyDissatisfiedReasonEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum} message LocalServicesLeadSurveyDissatisfiedReasonEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified LocalServicesLeadSurveyDissatisfiedReasonEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveyDissatisfiedReasonEnum} message LocalServicesLeadSurveyDissatisfiedReasonEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalServicesLeadSurveyDissatisfiedReasonEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum} LocalServicesLeadSurveyDissatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalServicesLeadSurveyDissatisfiedReasonEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum} LocalServicesLeadSurveyDissatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalServicesLeadSurveyDissatisfiedReasonEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a LocalServicesLeadSurveyDissatisfiedReasonEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum} LocalServicesLeadSurveyDissatisfiedReasonEnum + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum) + return object; + return new $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum(); + }; + + /** + * Creates a plain object from a LocalServicesLeadSurveyDissatisfiedReasonEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum} message LocalServicesLeadSurveyDissatisfiedReasonEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this LocalServicesLeadSurveyDissatisfiedReasonEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @instance + * @returns {Object.} JSON object + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LocalServicesLeadSurveyDissatisfiedReasonEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum"; + }; + + /** + * SurveyDissatisfiedReason enum. + * @name google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} OTHER_DISSATISFIED_REASON=2 OTHER_DISSATISFIED_REASON value + * @property {number} GEO_MISMATCH=3 GEO_MISMATCH value + * @property {number} JOB_TYPE_MISMATCH=4 JOB_TYPE_MISMATCH value + * @property {number} NOT_READY_TO_BOOK=5 NOT_READY_TO_BOOK value + * @property {number} SPAM=6 SPAM value + * @property {number} DUPLICATE=7 DUPLICATE value + * @property {number} SOLICITATION=8 SOLICITATION value + */ + LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "OTHER_DISSATISFIED_REASON"] = 2; + values[valuesById[3] = "GEO_MISMATCH"] = 3; + values[valuesById[4] = "JOB_TYPE_MISMATCH"] = 4; + values[valuesById[5] = "NOT_READY_TO_BOOK"] = 5; + values[valuesById[6] = "SPAM"] = 6; + values[valuesById[7] = "DUPLICATE"] = 7; + values[valuesById[8] = "SOLICITATION"] = 8; + return values; + })(); + + return LocalServicesLeadSurveyDissatisfiedReasonEnum; + })(); + + enums.LocalServicesLeadSurveySatisfiedReasonEnum = (function() { + + /** + * Properties of a LocalServicesLeadSurveySatisfiedReasonEnum. + * @memberof google.ads.googleads.v19.enums + * @interface ILocalServicesLeadSurveySatisfiedReasonEnum + */ + + /** + * Constructs a new LocalServicesLeadSurveySatisfiedReasonEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a LocalServicesLeadSurveySatisfiedReasonEnum. + * @implements ILocalServicesLeadSurveySatisfiedReasonEnum + * @constructor + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum=} [properties] Properties to set + */ + function LocalServicesLeadSurveySatisfiedReasonEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new LocalServicesLeadSurveySatisfiedReasonEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum} LocalServicesLeadSurveySatisfiedReasonEnum instance + */ + LocalServicesLeadSurveySatisfiedReasonEnum.create = function create(properties) { + return new LocalServicesLeadSurveySatisfiedReasonEnum(properties); + }; + + /** + * Encodes the specified LocalServicesLeadSurveySatisfiedReasonEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum} message LocalServicesLeadSurveySatisfiedReasonEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadSurveySatisfiedReasonEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified LocalServicesLeadSurveySatisfiedReasonEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.ILocalServicesLeadSurveySatisfiedReasonEnum} message LocalServicesLeadSurveySatisfiedReasonEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalServicesLeadSurveySatisfiedReasonEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalServicesLeadSurveySatisfiedReasonEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum} LocalServicesLeadSurveySatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadSurveySatisfiedReasonEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalServicesLeadSurveySatisfiedReasonEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum} LocalServicesLeadSurveySatisfiedReasonEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalServicesLeadSurveySatisfiedReasonEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalServicesLeadSurveySatisfiedReasonEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalServicesLeadSurveySatisfiedReasonEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a LocalServicesLeadSurveySatisfiedReasonEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum} LocalServicesLeadSurveySatisfiedReasonEnum + */ + LocalServicesLeadSurveySatisfiedReasonEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum) + return object; + return new $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum(); + }; + + /** + * Creates a plain object from a LocalServicesLeadSurveySatisfiedReasonEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum} message LocalServicesLeadSurveySatisfiedReasonEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalServicesLeadSurveySatisfiedReasonEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this LocalServicesLeadSurveySatisfiedReasonEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @instance + * @returns {Object.} JSON object + */ + LocalServicesLeadSurveySatisfiedReasonEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LocalServicesLeadSurveySatisfiedReasonEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalServicesLeadSurveySatisfiedReasonEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum"; + }; + + /** + * SurveySatisfiedReason enum. + * @name google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} OTHER_SATISFIED_REASON=2 OTHER_SATISFIED_REASON value + * @property {number} BOOKED_CUSTOMER=3 BOOKED_CUSTOMER value + * @property {number} LIKELY_BOOKED_CUSTOMER=4 LIKELY_BOOKED_CUSTOMER value + * @property {number} SERVICE_RELATED=5 SERVICE_RELATED value + * @property {number} HIGH_VALUE_SERVICE=6 HIGH_VALUE_SERVICE value + */ + LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "OTHER_SATISFIED_REASON"] = 2; + values[valuesById[3] = "BOOKED_CUSTOMER"] = 3; + values[valuesById[4] = "LIKELY_BOOKED_CUSTOMER"] = 4; + values[valuesById[5] = "SERVICE_RELATED"] = 5; + values[valuesById[6] = "HIGH_VALUE_SERVICE"] = 6; + return values; + })(); + + return LocalServicesLeadSurveySatisfiedReasonEnum; + })(); + enums.LocalServicesLeadTypeEnum = (function() { /** @@ -160771,12 +164191,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesLeadTypeEnum.decode = function decode(reader, length) { + LocalServicesLeadTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLeadTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -160966,12 +164388,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesLicenseRejectionReasonEnum.decode = function decode(reader, length) { + LocalServicesLicenseRejectionReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesLicenseRejectionReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -161169,12 +164593,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesParticipantTypeEnum.decode = function decode(reader, length) { + LocalServicesParticipantTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesParticipantTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -161362,12 +164788,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesVerificationArtifactStatusEnum.decode = function decode(reader, length) { + LocalServicesVerificationArtifactStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesVerificationArtifactStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -161561,12 +164989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesVerificationArtifactTypeEnum.decode = function decode(reader, length) { + LocalServicesVerificationArtifactTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesVerificationArtifactTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -161758,12 +165188,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesVerificationStatusEnum.decode = function decode(reader, length) { + LocalServicesVerificationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocalServicesVerificationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -161961,12 +165393,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationSourceTypeEnum.decode = function decode(reader, length) { + LocationSourceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.LocationSourceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -162154,12 +165588,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManagerLinkStatusEnum.decode = function decode(reader, length) { + ManagerLinkStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ManagerLinkStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -162353,12 +165789,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaTypeEnum.decode = function decode(reader, length) { + MediaTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.MediaTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -162554,12 +165992,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileDeviceTypeEnum.decode = function decode(reader, length) { + MobileDeviceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.MobileDeviceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -162747,12 +166187,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NegativeGeoTargetTypeEnum.decode = function decode(reader, length) { + NegativeGeoTargetTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.NegativeGeoTargetTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -162940,12 +166382,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineConversionDiagnosticStatusEnum.decode = function decode(reader, length) { + OfflineConversionDiagnosticStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OfflineConversionDiagnosticStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -163137,12 +166581,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineEventUploadClientEnum.decode = function decode(reader, length) { + OfflineEventUploadClientEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OfflineEventUploadClientEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -163332,12 +166778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobFailureReasonEnum.decode = function decode(reader, length) { + OfflineUserDataJobFailureReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OfflineUserDataJobFailureReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -163531,12 +166979,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobMatchRateRangeEnum.decode = function decode(reader, length) { + OfflineUserDataJobMatchRateRangeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OfflineUserDataJobMatchRateRangeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -163738,12 +167188,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobStatusEnum.decode = function decode(reader, length) { + OfflineUserDataJobStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OfflineUserDataJobStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -163935,12 +167387,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobTypeEnum.decode = function decode(reader, length) { + OfflineUserDataJobTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OfflineUserDataJobTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -164132,12 +167586,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperatingSystemVersionOperatorTypeEnum.decode = function decode(reader, length) { + OperatingSystemVersionOperatorTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OperatingSystemVersionOperatorTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -164325,12 +167781,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OptimizationGoalTypeEnum.decode = function decode(reader, length) { + OptimizationGoalTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.OptimizationGoalTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -164520,12 +167978,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PaymentModeEnum.decode = function decode(reader, length) { + PaymentModeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PaymentModeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -164717,12 +168177,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PerformanceMaxUpgradeStatusEnum.decode = function decode(reader, length) { + PerformanceMaxUpgradeStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PerformanceMaxUpgradeStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -164914,12 +168376,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlacementTypeEnum.decode = function decode(reader, length) { + PlacementTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PlacementTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -165115,12 +168579,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PositiveGeoTargetTypeEnum.decode = function decode(reader, length) { + PositiveGeoTargetTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.PositiveGeoTargetTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -165310,12 +168776,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductAvailabilityEnum.decode = function decode(reader, length) { + ProductAvailabilityEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductAvailabilityEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -165505,12 +168973,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCategoryStateEnum.decode = function decode(reader, length) { + ProductCategoryStateEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductCategoryStateEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -165698,12 +169168,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductIssueSeverityEnum.decode = function decode(reader, length) { + ProductIssueSeverityEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductIssueSeverityEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -165891,12 +169363,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLinkInvitationStatusEnum.decode = function decode(reader, length) { + ProductLinkInvitationStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductLinkInvitationStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -166092,12 +169566,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductStatusEnum.decode = function decode(reader, length) { + ProductStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ProductStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -166287,12 +169763,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReachPlanAgeRangeEnum.decode = function decode(reader, length) { + ReachPlanAgeRangeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ReachPlanAgeRangeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -166454,6 +169932,205 @@ return ReachPlanAgeRangeEnum; })(); + enums.ReachPlanConversionRateModelEnum = (function() { + + /** + * Properties of a ReachPlanConversionRateModelEnum. + * @memberof google.ads.googleads.v19.enums + * @interface IReachPlanConversionRateModelEnum + */ + + /** + * Constructs a new ReachPlanConversionRateModelEnum. + * @memberof google.ads.googleads.v19.enums + * @classdesc Represents a ReachPlanConversionRateModelEnum. + * @implements IReachPlanConversionRateModelEnum + * @constructor + * @param {google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum=} [properties] Properties to set + */ + function ReachPlanConversionRateModelEnum(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ReachPlanConversionRateModelEnum instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum=} [properties] Properties to set + * @returns {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum} ReachPlanConversionRateModelEnum instance + */ + ReachPlanConversionRateModelEnum.create = function create(properties) { + return new ReachPlanConversionRateModelEnum(properties); + }; + + /** + * Encodes the specified ReachPlanConversionRateModelEnum message. Does not implicitly {@link google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum} message ReachPlanConversionRateModelEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReachPlanConversionRateModelEnum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ReachPlanConversionRateModelEnum message, length delimited. Does not implicitly {@link google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {google.ads.googleads.v19.enums.IReachPlanConversionRateModelEnum} message ReachPlanConversionRateModelEnum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReachPlanConversionRateModelEnum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReachPlanConversionRateModelEnum message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum} ReachPlanConversionRateModelEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReachPlanConversionRateModelEnum.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReachPlanConversionRateModelEnum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum} ReachPlanConversionRateModelEnum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReachPlanConversionRateModelEnum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReachPlanConversionRateModelEnum message. + * @function verify + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReachPlanConversionRateModelEnum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a ReachPlanConversionRateModelEnum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum} ReachPlanConversionRateModelEnum + */ + ReachPlanConversionRateModelEnum.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum) + return object; + return new $root.google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum(); + }; + + /** + * Creates a plain object from a ReachPlanConversionRateModelEnum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum} message ReachPlanConversionRateModelEnum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReachPlanConversionRateModelEnum.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ReachPlanConversionRateModelEnum to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @instance + * @returns {Object.} JSON object + */ + ReachPlanConversionRateModelEnum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ReachPlanConversionRateModelEnum + * @function getTypeUrl + * @memberof google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReachPlanConversionRateModelEnum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum"; + }; + + /** + * ReachPlanConversionRateModel enum. + * @name google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel + * @enum {number} + * @property {number} UNSPECIFIED=0 UNSPECIFIED value + * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} CUSTOMER_HISTORY=2 CUSTOMER_HISTORY value + * @property {number} INVENTORY_AGGRESSIVE=3 INVENTORY_AGGRESSIVE value + * @property {number} INVENTORY_CONSERVATIVE=4 INVENTORY_CONSERVATIVE value + * @property {number} INVENTORY_MEDIAN=5 INVENTORY_MEDIAN value + */ + ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNSPECIFIED"] = 0; + values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[2] = "CUSTOMER_HISTORY"] = 2; + values[valuesById[3] = "INVENTORY_AGGRESSIVE"] = 3; + values[valuesById[4] = "INVENTORY_CONSERVATIVE"] = 4; + values[valuesById[5] = "INVENTORY_MEDIAN"] = 5; + return values; + })(); + + return ReachPlanConversionRateModelEnum; + })(); + enums.ReachPlanNetworkEnum = (function() { /** @@ -166528,12 +170205,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReachPlanNetworkEnum.decode = function decode(reader, length) { + ReachPlanNetworkEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ReachPlanNetworkEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -166723,12 +170402,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReachPlanSurfaceEnum.decode = function decode(reader, length) { + ReachPlanSurfaceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ReachPlanSurfaceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -166827,6 +170508,8 @@ * @enum {number} * @property {number} UNSPECIFIED=0 UNSPECIFIED value * @property {number} UNKNOWN=1 UNKNOWN value + * @property {number} DISCOVER_FEED=7 DISCOVER_FEED value + * @property {number} GMAIL=8 GMAIL value * @property {number} IN_FEED=2 IN_FEED value * @property {number} IN_STREAM_BUMPER=3 IN_STREAM_BUMPER value * @property {number} IN_STREAM_NON_SKIPPABLE=4 IN_STREAM_NON_SKIPPABLE value @@ -166837,6 +170520,8 @@ var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNSPECIFIED"] = 0; values[valuesById[1] = "UNKNOWN"] = 1; + values[valuesById[7] = "DISCOVER_FEED"] = 7; + values[valuesById[8] = "GMAIL"] = 8; values[valuesById[2] = "IN_FEED"] = 2; values[valuesById[3] = "IN_STREAM_BUMPER"] = 3; values[valuesById[4] = "IN_STREAM_NON_SKIPPABLE"] = 4; @@ -166922,12 +170607,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationSubscriptionStatusEnum.decode = function decode(reader, length) { + RecommendationSubscriptionStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.RecommendationSubscriptionStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -167115,12 +170802,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceChangeOperationEnum.decode = function decode(reader, length) { + ResourceChangeOperationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ResourceChangeOperationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -167310,12 +170999,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceLimitTypeEnum.decode = function decode(reader, length) { + ResourceLimitTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ResourceLimitTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -167791,12 +171482,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponseContentTypeEnum.decode = function decode(reader, length) { + ResponseContentTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ResponseContentTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -167982,12 +171675,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchTermTargetingStatusEnum.decode = function decode(reader, length) { + SearchTermTargetingStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SearchTermTargetingStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -168179,12 +171874,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SeasonalityEventScopeEnum.decode = function decode(reader, length) { + SeasonalityEventScopeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SeasonalityEventScopeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -168374,12 +172071,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SeasonalityEventStatusEnum.decode = function decode(reader, length) { + SeasonalityEventStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SeasonalityEventStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -168567,12 +172266,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedSetStatusEnum.decode = function decode(reader, length) { + SharedSetStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SharedSetStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -168760,12 +172461,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedSetTypeEnum.decode = function decode(reader, length) { + SharedSetTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SharedSetTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -168957,12 +172660,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingAddProductsToCampaignRecommendationEnum.decode = function decode(reader, length) { + ShoppingAddProductsToCampaignRecommendationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ShoppingAddProductsToCampaignRecommendationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -169154,12 +172859,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulationModificationMethodEnum.decode = function decode(reader, length) { + SimulationModificationMethodEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SimulationModificationMethodEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -169349,12 +173056,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SimulationTypeEnum.decode = function decode(reader, length) { + SimulationTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SimulationTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -169554,12 +173263,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignNotEligibleReasonEnum.decode = function decode(reader, length) { + SmartCampaignNotEligibleReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SmartCampaignNotEligibleReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -169751,12 +173462,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignStatusEnum.decode = function decode(reader, length) { + SmartCampaignStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SmartCampaignStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -169952,12 +173665,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpendingLimitTypeEnum.decode = function decode(reader, length) { + SpendingLimitTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SpendingLimitTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -170143,12 +173858,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SummaryRowSettingEnum.decode = function decode(reader, length) { + SummaryRowSettingEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SummaryRowSettingEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -170338,12 +174055,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SystemManagedResourceSourceEnum.decode = function decode(reader, length) { + SystemManagedResourceSourceEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.SystemManagedResourceSourceEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -170529,12 +174248,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpaOptInRecommendationGoalEnum.decode = function decode(reader, length) { + TargetCpaOptInRecommendationGoalEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TargetCpaOptInRecommendationGoalEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -170726,12 +174447,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TimeTypeEnum.decode = function decode(reader, length) { + TimeTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.TimeTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -170919,12 +174642,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserInterestTaxonomyTypeEnum.decode = function decode(reader, length) { + UserInterestTaxonomyTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserInterestTaxonomyTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -171118,12 +174843,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListAccessStatusEnum.decode = function decode(reader, length) { + UserListAccessStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListAccessStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -171311,12 +175038,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListClosingReasonEnum.decode = function decode(reader, length) { + UserListClosingReasonEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListClosingReasonEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -171502,12 +175231,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListCustomerTypeCategoryEnum.decode = function decode(reader, length) { + UserListCustomerTypeCategoryEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListCustomerTypeCategoryEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -171723,12 +175454,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListMembershipStatusEnum.decode = function decode(reader, length) { + UserListMembershipStatusEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListMembershipStatusEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -171916,12 +175649,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListSizeRangeEnum.decode = function decode(reader, length) { + UserListSizeRangeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListSizeRangeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -172137,12 +175872,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListTypeEnum.decode = function decode(reader, length) { + UserListTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.UserListTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -172340,12 +176077,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleDeviceTypeEnum.decode = function decode(reader, length) { + ValueRuleDeviceTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ValueRuleDeviceTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -172535,12 +176274,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleGeoLocationMatchTypeEnum.decode = function decode(reader, length) { + ValueRuleGeoLocationMatchTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ValueRuleGeoLocationMatchTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -172728,12 +176469,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleOperationEnum.decode = function decode(reader, length) { + ValueRuleOperationEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ValueRuleOperationEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -172923,12 +176666,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleSetAttachmentTypeEnum.decode = function decode(reader, length) { + ValueRuleSetAttachmentTypeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ValueRuleSetAttachmentTypeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -173116,12 +176861,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleSetDimensionEnum.decode = function decode(reader, length) { + ValueRuleSetDimensionEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.ValueRuleSetDimensionEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -173315,12 +177062,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VanityPharmaDisplayUrlModeEnum.decode = function decode(reader, length) { + VanityPharmaDisplayUrlModeEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.VanityPharmaDisplayUrlModeEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -173508,12 +177257,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VanityPharmaTextEnum.decode = function decode(reader, length) { + VanityPharmaTextEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.enums.VanityPharmaTextEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -173733,12 +177484,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessInvitationErrorEnum.decode = function decode(reader, length) { + AccessInvitationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AccessInvitationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -173938,12 +177691,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetProposalErrorEnum.decode = function decode(reader, length) { + AccountBudgetProposalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AccountBudgetProposalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -174179,12 +177934,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountLinkErrorEnum.decode = function decode(reader, length) { + AccountLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AccountLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -174372,12 +178129,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdCustomizerErrorEnum.decode = function decode(reader, length) { + AdCustomizerErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdCustomizerErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -174571,12 +178330,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdErrorEnum.decode = function decode(reader, length) { + AdErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -175064,12 +178825,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdErrorEnum.decode = function decode(reader, length) { + AdGroupAdErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupAdErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -175275,12 +179038,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupBidModifierErrorEnum.decode = function decode(reader, length) { + AdGroupBidModifierErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupBidModifierErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -175468,12 +179233,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionCustomizerErrorEnum.decode = function decode(reader, length) { + AdGroupCriterionCustomizerErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupCriterionCustomizerErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -175659,12 +179426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionErrorEnum.decode = function decode(reader, length) { + AdGroupCriterionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupCriterionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -175904,12 +179673,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCustomizerErrorEnum.decode = function decode(reader, length) { + AdGroupCustomizerErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupCustomizerErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -176093,12 +179864,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupErrorEnum.decode = function decode(reader, length) { + AdGroupErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -176316,12 +180089,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupFeedErrorEnum.decode = function decode(reader, length) { + AdGroupFeedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdGroupFeedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -176519,12 +180294,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdParameterErrorEnum.decode = function decode(reader, length) { + AdParameterErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdParameterErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -176712,12 +180489,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdSharingErrorEnum.decode = function decode(reader, length) { + AdSharingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdSharingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -176907,12 +180686,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdxErrorEnum.decode = function decode(reader, length) { + AdxErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AdxErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -177098,12 +180879,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetErrorEnum.decode = function decode(reader, length) { + AssetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -177363,12 +181146,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupAssetErrorEnum.decode = function decode(reader, length) { + AssetGroupAssetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetGroupAssetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -177560,12 +181345,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupErrorEnum.decode = function decode(reader, length) { + AssetGroupErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetGroupErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -177781,12 +181568,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupListingGroupFilterErrorEnum.decode = function decode(reader, length) { + AssetGroupListingGroupFilterErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetGroupListingGroupFilterErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -178016,12 +181805,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupSignalErrorEnum.decode = function decode(reader, length) { + AssetGroupSignalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetGroupSignalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -178211,12 +182002,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetLinkErrorEnum.decode = function decode(reader, length) { + AssetLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -178450,12 +182243,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetAssetErrorEnum.decode = function decode(reader, length) { + AssetSetAssetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetSetAssetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -178647,12 +182442,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetErrorEnum.decode = function decode(reader, length) { + AssetSetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetSetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -178858,12 +182655,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetLinkErrorEnum.decode = function decode(reader, length) { + AssetSetLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AssetSetLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -179057,12 +182856,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceErrorEnum.decode = function decode(reader, length) { + AudienceErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AudienceErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -179266,12 +183067,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceInsightsErrorEnum.decode = function decode(reader, length) { + AudienceInsightsErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AudienceInsightsErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -179457,12 +183260,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuthenticationErrorEnum.decode = function decode(reader, length) { + AuthenticationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AuthenticationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -179582,6 +183387,7 @@ * @property {number} ORGANIZATION_NOT_RECOGNIZED=26 ORGANIZATION_NOT_RECOGNIZED value * @property {number} ORGANIZATION_NOT_APPROVED=27 ORGANIZATION_NOT_APPROVED value * @property {number} ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN=28 ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN value + * @property {number} DEVELOPER_TOKEN_INVALID=29 DEVELOPER_TOKEN_INVALID value */ AuthenticationErrorEnum.AuthenticationError = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -179608,6 +183414,7 @@ values[valuesById[26] = "ORGANIZATION_NOT_RECOGNIZED"] = 26; values[valuesById[27] = "ORGANIZATION_NOT_APPROVED"] = 27; values[valuesById[28] = "ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN"] = 28; + values[valuesById[29] = "DEVELOPER_TOKEN_INVALID"] = 29; return values; })(); @@ -179688,12 +183495,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuthorizationErrorEnum.decode = function decode(reader, length) { + AuthorizationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AuthorizationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -179909,12 +183718,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutomaticallyCreatedAssetRemovalErrorEnum.decode = function decode(reader, length) { + AutomaticallyCreatedAssetRemovalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.AutomaticallyCreatedAssetRemovalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -180108,12 +183919,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchJobErrorEnum.decode = function decode(reader, length) { + BatchJobErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.BatchJobErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -180319,12 +184132,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingErrorEnum.decode = function decode(reader, length) { + BiddingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.BiddingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -180556,12 +184371,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategyErrorEnum.decode = function decode(reader, length) { + BiddingStrategyErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.BiddingStrategyErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -180755,12 +184572,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BillingSetupErrorEnum.decode = function decode(reader, length) { + BillingSetupErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.BillingSetupErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -180984,12 +184803,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandGuidelinesMigrationErrorEnum.decode = function decode(reader, length) { + BrandGuidelinesMigrationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.BrandGuidelinesMigrationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -181185,12 +185006,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudgetErrorEnum.decode = function decode(reader, length) { + CampaignBudgetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignBudgetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -181412,12 +185235,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignConversionGoalErrorEnum.decode = function decode(reader, length) { + CampaignConversionGoalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignConversionGoalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -181605,12 +185430,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCriterionErrorEnum.decode = function decode(reader, length) { + CampaignCriterionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignCriterionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -181846,12 +185673,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCustomizerErrorEnum.decode = function decode(reader, length) { + CampaignCustomizerErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignCustomizerErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -182035,12 +185864,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignDraftErrorEnum.decode = function decode(reader, length) { + CampaignDraftErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignDraftErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -182244,12 +186075,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignErrorEnum.decode = function decode(reader, length) { + CampaignErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -182432,6 +186265,7 @@ * @property {number} CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN=94 CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN value * @property {number} REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED=95 REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED value * @property {number} REQUIRED_LOGO_ASSET_NOT_LINKED=96 REQUIRED_LOGO_ASSET_NOT_LINKED value + * @property {number} BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED=97 BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED value * @property {number} BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN=98 BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN value * @property {number} BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED=99 BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED value * @property {number} BRAND_GUIDELINES_COLOR_INVALID_FORMAT=100 BRAND_GUIDELINES_COLOR_INVALID_FORMAT value @@ -182528,6 +186362,7 @@ values[valuesById[94] = "CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN"] = 94; values[valuesById[95] = "REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED"] = 95; values[valuesById[96] = "REQUIRED_LOGO_ASSET_NOT_LINKED"] = 96; + values[valuesById[97] = "BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED"] = 97; values[valuesById[98] = "BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN"] = 98; values[valuesById[99] = "BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED"] = 99; values[valuesById[100] = "BRAND_GUIDELINES_COLOR_INVALID_FORMAT"] = 100; @@ -182615,12 +186450,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignExperimentErrorEnum.decode = function decode(reader, length) { + CampaignExperimentErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignExperimentErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -182824,12 +186661,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignFeedErrorEnum.decode = function decode(reader, length) { + CampaignFeedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignFeedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -183029,12 +186868,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignLifecycleGoalErrorEnum.decode = function decode(reader, length) { + CampaignLifecycleGoalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignLifecycleGoalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -183240,12 +187081,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignSharedSetErrorEnum.decode = function decode(reader, length) { + CampaignSharedSetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CampaignSharedSetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -183431,12 +187274,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeEventErrorEnum.decode = function decode(reader, length) { + ChangeEventErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ChangeEventErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -183630,12 +187475,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeStatusErrorEnum.decode = function decode(reader, length) { + ChangeStatusErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ChangeStatusErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -183829,12 +187676,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CollectionSizeErrorEnum.decode = function decode(reader, length) { + CollectionSizeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CollectionSizeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -184022,12 +187871,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContextErrorEnum.decode = function decode(reader, length) { + ContextErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ContextErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -184215,12 +188066,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionActionErrorEnum.decode = function decode(reader, length) { + ConversionActionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionActionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -184426,12 +188279,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionAdjustmentUploadErrorEnum.decode = function decode(reader, length) { + ConversionAdjustmentUploadErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionAdjustmentUploadErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -184665,12 +188520,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionCustomVariableErrorEnum.decode = function decode(reader, length) { + ConversionCustomVariableErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionCustomVariableErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -184860,12 +188717,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionGoalCampaignConfigErrorEnum.decode = function decode(reader, length) { + ConversionGoalCampaignConfigErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionGoalCampaignConfigErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -185061,12 +188920,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionUploadErrorEnum.decode = function decode(reader, length) { + ConversionUploadErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionUploadErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -185338,12 +189199,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleErrorEnum.decode = function decode(reader, length) { + ConversionValueRuleErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionValueRuleErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -185553,12 +189416,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleSetErrorEnum.decode = function decode(reader, length) { + ConversionValueRuleSetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ConversionValueRuleSetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -185770,12 +189635,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CountryCodeErrorEnum.decode = function decode(reader, length) { + CountryCodeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CountryCodeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -185961,12 +189828,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionErrorEnum.decode = function decode(reader, length) { + CriterionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CriterionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -186213,6 +190082,7 @@ * @property {number} BRAND_SHARED_SET_DOES_NOT_EXIST=156 BRAND_SHARED_SET_DOES_NOT_EXIST value * @property {number} CANNOT_ADD_REMOVED_BRAND_SHARED_SET=157 CANNOT_ADD_REMOVED_BRAND_SHARED_SET value * @property {number} ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE=158 ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE value + * @property {number} LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN=166 LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN value */ CriterionErrorEnum.CriterionError = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -186366,6 +190236,7 @@ values[valuesById[156] = "BRAND_SHARED_SET_DOES_NOT_EXIST"] = 156; values[valuesById[157] = "CANNOT_ADD_REMOVED_BRAND_SHARED_SET"] = 157; values[valuesById[158] = "ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE"] = 158; + values[valuesById[166] = "LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN"] = 166; return values; })(); @@ -186446,12 +190317,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CurrencyCodeErrorEnum.decode = function decode(reader, length) { + CurrencyCodeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CurrencyCodeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -186637,12 +190510,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CurrencyErrorEnum.decode = function decode(reader, length) { + CurrencyErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CurrencyErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -186828,12 +190703,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceErrorEnum.decode = function decode(reader, length) { + CustomAudienceErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomAudienceErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -187033,12 +190910,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomConversionGoalErrorEnum.decode = function decode(reader, length) { + CustomConversionGoalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomConversionGoalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -187234,12 +191113,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterestErrorEnum.decode = function decode(reader, length) { + CustomInterestErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomInterestErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -187437,12 +191318,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerClientLinkErrorEnum.decode = function decode(reader, length) { + CustomerClientLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerClientLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -187642,12 +191525,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerCustomizerErrorEnum.decode = function decode(reader, length) { + CustomerCustomizerErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerCustomizerErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -187831,12 +191716,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerErrorEnum.decode = function decode(reader, length) { + CustomerErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -188028,12 +191915,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerFeedErrorEnum.decode = function decode(reader, length) { + CustomerFeedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerFeedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -188231,12 +192120,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerLifecycleGoalErrorEnum.decode = function decode(reader, length) { + CustomerLifecycleGoalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerLifecycleGoalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -188434,12 +192325,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerManagerLinkErrorEnum.decode = function decode(reader, length) { + CustomerManagerLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerManagerLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -188641,12 +192534,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerSkAdNetworkConversionValueSchemaErrorEnum.decode = function decode(reader, length) { + CustomerSkAdNetworkConversionValueSchemaErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerSkAdNetworkConversionValueSchemaErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -188842,12 +192737,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerUserAccessErrorEnum.decode = function decode(reader, length) { + CustomerUserAccessErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomerUserAccessErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -189041,12 +192938,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerAttributeErrorEnum.decode = function decode(reader, length) { + CustomizerAttributeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.CustomizerAttributeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -189232,12 +193131,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataLinkErrorEnum.decode = function decode(reader, length) { + DataLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.DataLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -189435,12 +193336,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DatabaseErrorEnum.decode = function decode(reader, length) { + DatabaseErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.DatabaseErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -189630,12 +193533,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DateErrorEnum.decode = function decode(reader, length) { + DateErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.DateErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -189839,12 +193744,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DateRangeErrorEnum.decode = function decode(reader, length) { + DateRangeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.DateRangeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -190038,12 +193945,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DistinctErrorEnum.decode = function decode(reader, length) { + DistinctErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.DistinctErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -190231,12 +194140,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumErrorEnum.decode = function decode(reader, length) { + EnumErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.EnumErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -190446,12 +194357,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsFailure.decode = function decode(reader, length) { + GoogleAdsFailure.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.GoogleAdsFailure(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.errors && message.errors.length)) @@ -190725,12 +194638,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsError.decode = function decode(reader, length) { + GoogleAdsError.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.GoogleAdsError(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.error_code = $root.google.ads.googleads.v19.errors.ErrorCode.decode(reader, reader.uint32()); @@ -192738,12 +196653,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ErrorCode.decode = function decode(reader, length) { + ErrorCode.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ErrorCode(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.request_error = reader.int32(); @@ -194028,6 +197945,7 @@ case 94: case 95: case 96: + case 97: case 98: case 99: case 100: @@ -194081,6 +197999,7 @@ case 26: case 27: case 28: + case 29: break; } } @@ -194704,6 +198623,7 @@ case 156: case 157: case 158: + case 166: break; } } @@ -199367,6 +203287,10 @@ case 96: message.campaign_error = 96; break; + case "BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED": + case 97: + message.campaign_error = 97; + break; case "BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN": case 98: message.campaign_error = 98; @@ -199515,6 +203439,10 @@ case 28: message.authentication_error = 28; break; + case "DEVELOPER_TOKEN_INVALID": + case 29: + message.authentication_error = 29; + break; } switch (object.ad_group_criterion_customizer_error) { default: @@ -201303,6 +205231,10 @@ case 158: message.criterion_error = 158; break; + case "LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN": + case 166: + message.criterion_error = 166; + break; } switch (object.custom_conversion_goal_error) { default: @@ -208845,12 +212777,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ErrorLocation.decode = function decode(reader, length) { + ErrorLocation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ErrorLocation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.field_path_elements && message.field_path_elements.length)) @@ -209084,12 +213018,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldPathElement.decode = function decode(reader, length) { + FieldPathElement.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ErrorLocation.FieldPathElement(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.field_name = reader.string(); @@ -209351,12 +213287,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ErrorDetails.decode = function decode(reader, length) { + ErrorDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ErrorDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.unpublished_error_code = reader.string(); @@ -209656,12 +213594,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyViolationDetails.decode = function decode(reader, length) { + PolicyViolationDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PolicyViolationDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.external_policy_description = reader.string(); @@ -209903,12 +213843,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyFindingDetails.decode = function decode(reader, length) { + PolicyFindingDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PolicyFindingDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.policy_topic_entries && message.policy_topic_entries.length)) @@ -210147,12 +214089,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QuotaErrorDetails.decode = function decode(reader, length) { + QuotaErrorDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.QuotaErrorDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.rate_scope = reader.int32(); @@ -210471,12 +214415,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceCountDetails.decode = function decode(reader, length) { + ResourceCountDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ResourceCountDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.enclosing_id = reader.string(); @@ -211461,12 +215407,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentArmErrorEnum.decode = function decode(reader, length) { + ExperimentArmErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ExperimentArmErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -211678,12 +215626,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentErrorEnum.decode = function decode(reader, length) { + ExperimentErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ExperimentErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -211925,12 +215875,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionFeedItemErrorEnum.decode = function decode(reader, length) { + ExtensionFeedItemErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ExtensionFeedItemErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -212204,12 +216156,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionSettingErrorEnum.decode = function decode(reader, length) { + ExtensionSettingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ExtensionSettingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -212523,12 +216477,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedAttributeReferenceErrorEnum.decode = function decode(reader, length) { + FeedAttributeReferenceErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedAttributeReferenceErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -212718,12 +216674,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedErrorEnum.decode = function decode(reader, length) { + FeedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -212953,12 +216911,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedItemErrorEnum.decode = function decode(reader, length) { + FeedItemErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedItemErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -213162,12 +217122,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedItemSetErrorEnum.decode = function decode(reader, length) { + FeedItemSetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedItemSetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -213365,12 +217327,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedItemSetLinkErrorEnum.decode = function decode(reader, length) { + FeedItemSetLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedItemSetLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -213558,12 +217522,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedItemTargetErrorEnum.decode = function decode(reader, length) { + FeedItemTargetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedItemTargetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -213763,12 +217729,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedItemValidationErrorEnum.decode = function decode(reader, length) { + FeedItemValidationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedItemValidationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -214162,12 +218130,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeedMappingErrorEnum.decode = function decode(reader, length) { + FeedMappingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FeedMappingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -214387,12 +218357,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldErrorEnum.decode = function decode(reader, length) { + FieldErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FieldErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -214592,12 +218564,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldMaskErrorEnum.decode = function decode(reader, length) { + FieldMaskErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FieldMaskErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -214789,12 +218763,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FunctionErrorEnum.decode = function decode(reader, length) { + FunctionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FunctionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -215010,12 +218986,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FunctionParsingErrorEnum.decode = function decode(reader, length) { + FunctionParsingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.FunctionParsingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -215221,12 +219199,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargetConstantSuggestionErrorEnum.decode = function decode(reader, length) { + GeoTargetConstantSuggestionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.GeoTargetConstantSuggestionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -215418,12 +219398,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HeaderErrorEnum.decode = function decode(reader, length) { + HeaderErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.HeaderErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -215611,12 +219593,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdErrorEnum.decode = function decode(reader, length) { + IdErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.IdErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -215802,12 +219786,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityVerificationErrorEnum.decode = function decode(reader, length) { + IdentityVerificationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.IdentityVerificationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -215997,12 +219983,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageErrorEnum.decode = function decode(reader, length) { + ImageErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ImageErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -216264,12 +220252,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InternalErrorEnum.decode = function decode(reader, length) { + InternalErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.InternalErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -216461,12 +220451,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InvoiceErrorEnum.decode = function decode(reader, length) { + InvoiceErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.InvoiceErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -216660,12 +220652,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAdGroupErrorEnum.decode = function decode(reader, length) { + KeywordPlanAdGroupErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.KeywordPlanAdGroupErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -216853,12 +220847,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAdGroupKeywordErrorEnum.decode = function decode(reader, length) { + KeywordPlanAdGroupKeywordErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.KeywordPlanAdGroupKeywordErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -217058,12 +221054,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCampaignErrorEnum.decode = function decode(reader, length) { + KeywordPlanCampaignErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.KeywordPlanCampaignErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -217259,12 +221257,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCampaignKeywordErrorEnum.decode = function decode(reader, length) { + KeywordPlanCampaignKeywordErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.KeywordPlanCampaignKeywordErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -217450,12 +221450,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanErrorEnum.decode = function decode(reader, length) { + KeywordPlanErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.KeywordPlanErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -217667,12 +221669,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanIdeaErrorEnum.decode = function decode(reader, length) { + KeywordPlanIdeaErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.KeywordPlanIdeaErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -217860,12 +221864,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelErrorEnum.decode = function decode(reader, length) { + LabelErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.LabelErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -218067,12 +222073,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LanguageCodeErrorEnum.decode = function decode(reader, length) { + LanguageCodeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.LanguageCodeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -218260,12 +222268,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationErrorEnum.decode = function decode(reader, length) { + ListOperationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ListOperationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -218453,12 +222463,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManagerLinkErrorEnum.decode = function decode(reader, length) { + ManagerLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ManagerLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -218680,12 +222692,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaBundleErrorEnum.decode = function decode(reader, length) { + MediaBundleErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.MediaBundleErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -218913,12 +222927,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaFileErrorEnum.decode = function decode(reader, length) { + MediaFileErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.MediaFileErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -219148,12 +223164,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaUploadErrorEnum.decode = function decode(reader, length) { + MediaUploadErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.MediaUploadErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -219405,12 +223423,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MerchantCenterErrorEnum.decode = function decode(reader, length) { + MerchantCenterErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.MerchantCenterErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -219598,12 +223618,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MultiplierErrorEnum.decode = function decode(reader, length) { + MultiplierErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.MultiplierErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -219811,12 +223833,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateErrorEnum.decode = function decode(reader, length) { + MutateErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.MutateErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -220018,12 +224042,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewResourceCreationErrorEnum.decode = function decode(reader, length) { + NewResourceCreationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.NewResourceCreationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -220213,12 +224239,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotAllowlistedErrorEnum.decode = function decode(reader, length) { + NotAllowlistedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.NotAllowlistedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -220404,12 +224432,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NotEmptyErrorEnum.decode = function decode(reader, length) { + NotEmptyErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.NotEmptyErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -220595,12 +224625,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NullErrorEnum.decode = function decode(reader, length) { + NullErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.NullErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -220786,12 +224818,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobErrorEnum.decode = function decode(reader, length) { + OfflineUserDataJobErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.OfflineUserDataJobErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -221053,12 +225087,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationAccessDeniedErrorEnum.decode = function decode(reader, length) { + OperationAccessDeniedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.OperationAccessDeniedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -221262,12 +225298,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperatorErrorEnum.decode = function decode(reader, length) { + OperatorErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.OperatorErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -221453,12 +225491,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartialFailureErrorEnum.decode = function decode(reader, length) { + PartialFailureErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PartialFailureErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -221644,12 +225684,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PaymentsAccountErrorEnum.decode = function decode(reader, length) { + PaymentsAccountErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PaymentsAccountErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -221835,12 +225877,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyFindingErrorEnum.decode = function decode(reader, length) { + PolicyFindingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PolicyFindingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -222028,12 +226072,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyValidationParameterErrorEnum.decode = function decode(reader, length) { + PolicyValidationParameterErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PolicyValidationParameterErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -222223,12 +226269,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyViolationErrorEnum.decode = function decode(reader, length) { + PolicyViolationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.PolicyViolationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -222414,12 +226462,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLinkErrorEnum.decode = function decode(reader, length) { + ProductLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ProductLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -222611,12 +226661,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLinkInvitationErrorEnum.decode = function decode(reader, length) { + ProductLinkInvitationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ProductLinkInvitationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -222808,12 +226860,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryErrorEnum.decode = function decode(reader, length) { + QueryErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.QueryErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -223107,12 +227161,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QuotaErrorEnum.decode = function decode(reader, length) { + QuotaErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.QuotaErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -223306,12 +227362,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RangeErrorEnum.decode = function decode(reader, length) { + RangeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.RangeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -223499,12 +227557,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReachPlanErrorEnum.decode = function decode(reader, length) { + ReachPlanErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ReachPlanErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -223694,12 +227754,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationErrorEnum.decode = function decode(reader, length) { + RecommendationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.RecommendationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -223949,12 +228011,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationSubscriptionErrorEnum.decode = function decode(reader, length) { + RecommendationSubscriptionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.RecommendationSubscriptionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -224138,12 +228202,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RegionCodeErrorEnum.decode = function decode(reader, length) { + RegionCodeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.RegionCodeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -224329,12 +228395,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RequestErrorEnum.decode = function decode(reader, length) { + RequestErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.RequestErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -224570,12 +228638,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceAccessDeniedErrorEnum.decode = function decode(reader, length) { + ResourceAccessDeniedErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ResourceAccessDeniedErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -224761,12 +228831,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceCountLimitExceededErrorEnum.decode = function decode(reader, length) { + ResourceCountLimitExceededErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ResourceCountLimitExceededErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -224968,12 +229040,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchTermInsightErrorEnum.decode = function decode(reader, length) { + SearchTermInsightErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.SearchTermInsightErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -225169,12 +229243,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SettingErrorEnum.decode = function decode(reader, length) { + SettingErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.SettingErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -225382,12 +229458,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShareablePreviewErrorEnum.decode = function decode(reader, length) { + ShareablePreviewErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ShareablePreviewErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -225575,12 +229653,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedCriterionErrorEnum.decode = function decode(reader, length) { + SharedCriterionErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.SharedCriterionErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -225766,12 +229846,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedSetErrorEnum.decode = function decode(reader, length) { + SharedSetErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.SharedSetErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -225963,12 +230045,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingProductErrorEnum.decode = function decode(reader, length) { + ShoppingProductErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ShoppingProductErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -226158,12 +230242,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SizeLimitErrorEnum.decode = function decode(reader, length) { + SizeLimitErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.SizeLimitErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -226351,12 +230437,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignErrorEnum.decode = function decode(reader, length) { + SmartCampaignErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.SmartCampaignErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -226554,12 +230642,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StringFormatErrorEnum.decode = function decode(reader, length) { + StringFormatErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.StringFormatErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -226747,12 +230837,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StringLengthErrorEnum.decode = function decode(reader, length) { + StringLengthErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.StringLengthErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -226942,12 +231034,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ThirdPartyAppAnalyticsLinkErrorEnum.decode = function decode(reader, length) { + ThirdPartyAppAnalyticsLinkErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.ThirdPartyAppAnalyticsLinkErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -227139,12 +231233,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TimeZoneErrorEnum.decode = function decode(reader, length) { + TimeZoneErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.TimeZoneErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -227330,12 +231426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UrlFieldErrorEnum.decode = function decode(reader, length) { + UrlFieldErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.UrlFieldErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -227627,12 +231725,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserDataErrorEnum.decode = function decode(reader, length) { + UserDataErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.UserDataErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -227822,12 +231922,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListCustomerTypeErrorEnum.decode = function decode(reader, length) { + UserListCustomerTypeErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.UserListCustomerTypeErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -228021,12 +232123,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListErrorEnum.decode = function decode(reader, length) { + UserListErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.UserListErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -228276,12 +232380,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoCampaignErrorEnum.decode = function decode(reader, length) { + VideoCampaignErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.VideoCampaignErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -228467,12 +232573,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YoutubeVideoRegistrationErrorEnum.decode = function decode(reader, length) { + YoutubeVideoRegistrationErrorEnum.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.errors.YoutubeVideoRegistrationErrorEnum(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -228820,12 +232928,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccessibleBiddingStrategy.decode = function decode(reader, length) { + AccessibleBiddingStrategy.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -229366,12 +233476,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversionValue.decode = function decode(reader, length) { + MaximizeConversionValue.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy.MaximizeConversionValue(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_roas = reader.double(); @@ -229569,12 +233681,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversions.decode = function decode(reader, length) { + MaximizeConversions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy.MaximizeConversions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.target_cpa_micros = reader.int64(); @@ -229795,12 +233909,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpa.decode = function decode(reader, length) { + TargetCpa.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy.TargetCpa(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_cpa_micros = reader.int64(); @@ -230049,12 +234165,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetImpressionShare.decode = function decode(reader, length) { + TargetImpressionShare.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy.TargetImpressionShare(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.location = reader.int32(); @@ -230348,12 +234466,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRoas.decode = function decode(reader, length) { + TargetRoas.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy.TargetRoas(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_roas = reader.double(); @@ -230581,12 +234701,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetSpend.decode = function decode(reader, length) { + TargetSpend.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccessibleBiddingStrategy.TargetSpend(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_spend_micros = reader.int64(); @@ -231158,12 +235280,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudget.decode = function decode(reader, length) { + AccountBudget.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccountBudget(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -232098,12 +236222,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PendingAccountBudgetProposal.decode = function decode(reader, length) { + PendingAccountBudgetProposal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccountBudget.PendingAccountBudgetProposal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 12: { message.account_budget_proposal = reader.string(); @@ -232914,12 +237040,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetProposal.decode = function decode(reader, length) { + AccountBudgetProposal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccountBudgetProposal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -233769,12 +237897,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountLink.decode = function decode(reader, length) { + AccountLink.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AccountLink(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -234156,12 +238286,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ThirdPartyAppAnalyticsLinkIdentifier.decode = function decode(reader, length) { + ThirdPartyAppAnalyticsLinkIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ThirdPartyAppAnalyticsLinkIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.app_analytics_provider_id = reader.int64(); @@ -234931,12 +239063,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Ad.decode = function decode(reader, length) { + Ad.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Ad(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 37: { message.resource_name = reader.string(); @@ -235240,6 +239374,7 @@ case 37: case 42: case 39: + case 44: break; } if (message.added_by_google_ads != null && message.hasOwnProperty("added_by_google_ads")) { @@ -235746,6 +239881,10 @@ case 39: message.type = 39; break; + case "YOUTUBE_AUDIO_AD": + case 44: + message.type = 44; + break; } if (object.added_by_google_ads != null) message.added_by_google_ads = Boolean(object.added_by_google_ads); @@ -236245,6 +240384,7 @@ * @property {Array.|null} [excluded_parent_asset_set_types] AdGroup excluded_parent_asset_set_types * @property {google.ads.googleads.v19.enums.AdGroupPrimaryStatusEnum.AdGroupPrimaryStatus|null} [primary_status] AdGroup primary_status * @property {Array.|null} [primary_status_reasons] AdGroup primary_status_reasons + * @property {google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings|null} [demand_gen_ad_group_settings] AdGroup demand_gen_ad_group_settings */ /** @@ -236547,6 +240687,14 @@ */ AdGroup.prototype.primary_status_reasons = $util.emptyArray; + /** + * AdGroup demand_gen_ad_group_settings. + * @member {google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings|null|undefined} demand_gen_ad_group_settings + * @memberof google.ads.googleads.v19.resources.AdGroup + * @instance + */ + AdGroup.prototype.demand_gen_ad_group_settings = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -236766,6 +240914,8 @@ writer.uint32(/* id 65, wireType 0 =*/520).int64(message.target_cpv_micros); if (message.exclude_demographic_expansion != null && Object.hasOwnProperty.call(message, "exclude_demographic_expansion")) writer.uint32(/* id 67, wireType 0 =*/536).bool(message.exclude_demographic_expansion); + if (message.demand_gen_ad_group_settings != null && Object.hasOwnProperty.call(message, "demand_gen_ad_group_settings")) + $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.encode(message.demand_gen_ad_group_settings, writer.uint32(/* id 91, wireType 2 =*/730).fork()).ldelim(); return writer; }; @@ -236793,12 +240943,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroup.decode = function decode(reader, length) { + AdGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -236965,6 +241117,10 @@ message.primary_status_reasons.push(reader.int32()); break; } + case 91: { + message.demand_gen_ad_group_settings = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -237047,6 +241203,7 @@ case 17: case 18: case 19: + case 20: break; } if (message.ad_rotation_mode != null && message.hasOwnProperty("ad_rotation_mode")) @@ -237247,6 +241404,7 @@ case 28: case 30: case 31: + case 32: break; } } @@ -237320,6 +241478,11 @@ break; } } + if (message.demand_gen_ad_group_settings != null && message.hasOwnProperty("demand_gen_ad_group_settings")) { + var error = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.verify(message.demand_gen_ad_group_settings); + if (error) + return "demand_gen_ad_group_settings." + error; + } return null; }; @@ -237455,6 +241618,10 @@ case 19: message.type = 19; break; + case "YOUTUBE_AUDIO": + case 20: + message.type = 20; + break; } switch (object.ad_rotation_mode) { default: @@ -237852,6 +242019,10 @@ case 31: message.excluded_parent_asset_field_types[i] = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.excluded_parent_asset_field_types[i] = 32; + break; } } if (object.excluded_parent_asset_set_types) { @@ -238064,6 +242235,11 @@ break; } } + if (object.demand_gen_ad_group_settings != null) { + if (typeof object.demand_gen_ad_group_settings !== "object") + throw TypeError(".google.ads.googleads.v19.resources.AdGroup.demand_gen_ad_group_settings: object expected"); + message.demand_gen_ad_group_settings = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.fromObject(object.demand_gen_ad_group_settings); + } return message; }; @@ -238100,6 +242276,7 @@ object.optimized_targeting_enabled = false; object.primary_status = options.enums === String ? "UNSPECIFIED" : 0; object.exclude_demographic_expansion = false; + object.demand_gen_ad_group_settings = null; } if (message.resource_name != null && message.hasOwnProperty("resource_name")) object.resource_name = message.resource_name; @@ -238273,6 +242450,8 @@ } if (message.exclude_demographic_expansion != null && message.hasOwnProperty("exclude_demographic_expansion")) object.exclude_demographic_expansion = message.exclude_demographic_expansion; + if (message.demand_gen_ad_group_settings != null && message.hasOwnProperty("demand_gen_ad_group_settings")) + object.demand_gen_ad_group_settings = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.toObject(message.demand_gen_ad_group_settings, options); return object; }; @@ -238387,12 +242566,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceSetting.decode = function decode(reader, length) { + AudienceSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroup.AudienceSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.use_audience_grouped = reader.bool(); @@ -238505,6 +242686,877 @@ return AudienceSetting; })(); + AdGroup.DemandGenAdGroupSettings = (function() { + + /** + * Properties of a DemandGenAdGroupSettings. + * @memberof google.ads.googleads.v19.resources.AdGroup + * @interface IDemandGenAdGroupSettings + * @property {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls|null} [channel_controls] DemandGenAdGroupSettings channel_controls + */ + + /** + * Constructs a new DemandGenAdGroupSettings. + * @memberof google.ads.googleads.v19.resources.AdGroup + * @classdesc Represents a DemandGenAdGroupSettings. + * @implements IDemandGenAdGroupSettings + * @constructor + * @param {google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings=} [properties] Properties to set + */ + function DemandGenAdGroupSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DemandGenAdGroupSettings channel_controls. + * @member {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls|null|undefined} channel_controls + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @instance + */ + DemandGenAdGroupSettings.prototype.channel_controls = null; + + /** + * Creates a new DemandGenAdGroupSettings instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings} DemandGenAdGroupSettings instance + */ + DemandGenAdGroupSettings.create = function create(properties) { + return new DemandGenAdGroupSettings(properties); + }; + + /** + * Encodes the specified DemandGenAdGroupSettings message. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings} message DemandGenAdGroupSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenAdGroupSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.channel_controls != null && Object.hasOwnProperty.call(message, "channel_controls")) + $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.encode(message.channel_controls, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DemandGenAdGroupSettings message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.IDemandGenAdGroupSettings} message DemandGenAdGroupSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenAdGroupSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DemandGenAdGroupSettings message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings} DemandGenAdGroupSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenAdGroupSettings.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.channel_controls = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DemandGenAdGroupSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings} DemandGenAdGroupSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenAdGroupSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DemandGenAdGroupSettings message. + * @function verify + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DemandGenAdGroupSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.channel_controls != null && message.hasOwnProperty("channel_controls")) { + var error = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.verify(message.channel_controls); + if (error) + return "channel_controls." + error; + } + return null; + }; + + /** + * Creates a DemandGenAdGroupSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings} DemandGenAdGroupSettings + */ + DemandGenAdGroupSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings) + return object; + var message = new $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings(); + if (object.channel_controls != null) { + if (typeof object.channel_controls !== "object") + throw TypeError(".google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.channel_controls: object expected"); + message.channel_controls = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.fromObject(object.channel_controls); + } + return message; + }; + + /** + * Creates a plain object from a DemandGenAdGroupSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings} message DemandGenAdGroupSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DemandGenAdGroupSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.channel_controls = null; + if (message.channel_controls != null && message.hasOwnProperty("channel_controls")) + object.channel_controls = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.toObject(message.channel_controls, options); + return object; + }; + + /** + * Converts this DemandGenAdGroupSettings to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @instance + * @returns {Object.} JSON object + */ + DemandGenAdGroupSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DemandGenAdGroupSettings + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DemandGenAdGroupSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings"; + }; + + DemandGenAdGroupSettings.DemandGenChannelControls = (function() { + + /** + * Properties of a DemandGenChannelControls. + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @interface IDemandGenChannelControls + * @property {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig|null} [channel_config] DemandGenChannelControls channel_config + * @property {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy|null} [channel_strategy] DemandGenChannelControls channel_strategy + * @property {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels|null} [selected_channels] DemandGenChannelControls selected_channels + */ + + /** + * Constructs a new DemandGenChannelControls. + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings + * @classdesc Represents a DemandGenChannelControls. + * @implements IDemandGenChannelControls + * @constructor + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls=} [properties] Properties to set + */ + function DemandGenChannelControls(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DemandGenChannelControls channel_config. + * @member {google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig} channel_config + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @instance + */ + DemandGenChannelControls.prototype.channel_config = 0; + + /** + * DemandGenChannelControls channel_strategy. + * @member {google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy|null|undefined} channel_strategy + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @instance + */ + DemandGenChannelControls.prototype.channel_strategy = null; + + /** + * DemandGenChannelControls selected_channels. + * @member {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels|null|undefined} selected_channels + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @instance + */ + DemandGenChannelControls.prototype.selected_channels = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DemandGenChannelControls channel_configuration. + * @member {"channel_strategy"|"selected_channels"|undefined} channel_configuration + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @instance + */ + Object.defineProperty(DemandGenChannelControls.prototype, "channel_configuration", { + get: $util.oneOfGetter($oneOfFields = ["channel_strategy", "selected_channels"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DemandGenChannelControls instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls} DemandGenChannelControls instance + */ + DemandGenChannelControls.create = function create(properties) { + return new DemandGenChannelControls(properties); + }; + + /** + * Encodes the specified DemandGenChannelControls message. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls} message DemandGenChannelControls message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenChannelControls.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.channel_config != null && Object.hasOwnProperty.call(message, "channel_config")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.channel_config); + if (message.channel_strategy != null && Object.hasOwnProperty.call(message, "channel_strategy")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.channel_strategy); + if (message.selected_channels != null && Object.hasOwnProperty.call(message, "selected_channels")) + $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.encode(message.selected_channels, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DemandGenChannelControls message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.IDemandGenChannelControls} message DemandGenChannelControls message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenChannelControls.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DemandGenChannelControls message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls} DemandGenChannelControls + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenChannelControls.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.channel_config = reader.int32(); + break; + } + case 2: { + message.channel_strategy = reader.int32(); + break; + } + case 3: { + message.selected_channels = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DemandGenChannelControls message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls} DemandGenChannelControls + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenChannelControls.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DemandGenChannelControls message. + * @function verify + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DemandGenChannelControls.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.channel_config != null && message.hasOwnProperty("channel_config")) + switch (message.channel_config) { + default: + return "channel_config: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.channel_strategy != null && message.hasOwnProperty("channel_strategy")) { + properties.channel_configuration = 1; + switch (message.channel_strategy) { + default: + return "channel_strategy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.selected_channels != null && message.hasOwnProperty("selected_channels")) { + if (properties.channel_configuration === 1) + return "channel_configuration: multiple values"; + properties.channel_configuration = 1; + { + var error = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.verify(message.selected_channels); + if (error) + return "selected_channels." + error; + } + } + return null; + }; + + /** + * Creates a DemandGenChannelControls message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls} DemandGenChannelControls + */ + DemandGenChannelControls.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls) + return object; + var message = new $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls(); + switch (object.channel_config) { + default: + if (typeof object.channel_config === "number") { + message.channel_config = object.channel_config; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.channel_config = 0; + break; + case "UNKNOWN": + case 1: + message.channel_config = 1; + break; + case "CHANNEL_STRATEGY": + case 2: + message.channel_config = 2; + break; + case "SELECTED_CHANNELS": + case 3: + message.channel_config = 3; + break; + } + switch (object.channel_strategy) { + default: + if (typeof object.channel_strategy === "number") { + message.channel_strategy = object.channel_strategy; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.channel_strategy = 0; + break; + case "UNKNOWN": + case 1: + message.channel_strategy = 1; + break; + case "ALL_CHANNELS": + case 2: + message.channel_strategy = 2; + break; + case "ALL_OWNED_AND_OPERATED_CHANNELS": + case 3: + message.channel_strategy = 3; + break; + } + if (object.selected_channels != null) { + if (typeof object.selected_channels !== "object") + throw TypeError(".google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.selected_channels: object expected"); + message.selected_channels = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.fromObject(object.selected_channels); + } + return message; + }; + + /** + * Creates a plain object from a DemandGenChannelControls message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls} message DemandGenChannelControls + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DemandGenChannelControls.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.channel_config = options.enums === String ? "UNSPECIFIED" : 0; + if (message.channel_config != null && message.hasOwnProperty("channel_config")) + object.channel_config = options.enums === String ? $root.google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig[message.channel_config] === undefined ? message.channel_config : $root.google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig[message.channel_config] : message.channel_config; + if (message.channel_strategy != null && message.hasOwnProperty("channel_strategy")) { + object.channel_strategy = options.enums === String ? $root.google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy[message.channel_strategy] === undefined ? message.channel_strategy : $root.google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy[message.channel_strategy] : message.channel_strategy; + if (options.oneofs) + object.channel_configuration = "channel_strategy"; + } + if (message.selected_channels != null && message.hasOwnProperty("selected_channels")) { + object.selected_channels = $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.toObject(message.selected_channels, options); + if (options.oneofs) + object.channel_configuration = "selected_channels"; + } + return object; + }; + + /** + * Converts this DemandGenChannelControls to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @instance + * @returns {Object.} JSON object + */ + DemandGenChannelControls.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DemandGenChannelControls + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DemandGenChannelControls.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls"; + }; + + DemandGenChannelControls.DemandGenSelectedChannels = (function() { + + /** + * Properties of a DemandGenSelectedChannels. + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @interface IDemandGenSelectedChannels + * @property {boolean|null} [youtube_in_stream] DemandGenSelectedChannels youtube_in_stream + * @property {boolean|null} [youtube_in_feed] DemandGenSelectedChannels youtube_in_feed + * @property {boolean|null} [youtube_shorts] DemandGenSelectedChannels youtube_shorts + * @property {boolean|null} [discover] DemandGenSelectedChannels discover + * @property {boolean|null} [gmail] DemandGenSelectedChannels gmail + * @property {boolean|null} [display] DemandGenSelectedChannels display + */ + + /** + * Constructs a new DemandGenSelectedChannels. + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls + * @classdesc Represents a DemandGenSelectedChannels. + * @implements IDemandGenSelectedChannels + * @constructor + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels=} [properties] Properties to set + */ + function DemandGenSelectedChannels(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DemandGenSelectedChannels youtube_in_stream. + * @member {boolean} youtube_in_stream + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + */ + DemandGenSelectedChannels.prototype.youtube_in_stream = false; + + /** + * DemandGenSelectedChannels youtube_in_feed. + * @member {boolean} youtube_in_feed + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + */ + DemandGenSelectedChannels.prototype.youtube_in_feed = false; + + /** + * DemandGenSelectedChannels youtube_shorts. + * @member {boolean} youtube_shorts + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + */ + DemandGenSelectedChannels.prototype.youtube_shorts = false; + + /** + * DemandGenSelectedChannels discover. + * @member {boolean} discover + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + */ + DemandGenSelectedChannels.prototype.discover = false; + + /** + * DemandGenSelectedChannels gmail. + * @member {boolean} gmail + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + */ + DemandGenSelectedChannels.prototype.gmail = false; + + /** + * DemandGenSelectedChannels display. + * @member {boolean} display + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + */ + DemandGenSelectedChannels.prototype.display = false; + + /** + * Creates a new DemandGenSelectedChannels instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels} DemandGenSelectedChannels instance + */ + DemandGenSelectedChannels.create = function create(properties) { + return new DemandGenSelectedChannels(properties); + }; + + /** + * Encodes the specified DemandGenSelectedChannels message. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels} message DemandGenSelectedChannels message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenSelectedChannels.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.youtube_in_stream != null && Object.hasOwnProperty.call(message, "youtube_in_stream")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.youtube_in_stream); + if (message.youtube_in_feed != null && Object.hasOwnProperty.call(message, "youtube_in_feed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.youtube_in_feed); + if (message.youtube_shorts != null && Object.hasOwnProperty.call(message, "youtube_shorts")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.youtube_shorts); + if (message.discover != null && Object.hasOwnProperty.call(message, "discover")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.discover); + if (message.gmail != null && Object.hasOwnProperty.call(message, "gmail")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.gmail); + if (message.display != null && Object.hasOwnProperty.call(message, "display")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.display); + return writer; + }; + + /** + * Encodes the specified DemandGenSelectedChannels message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.IDemandGenSelectedChannels} message DemandGenSelectedChannels message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DemandGenSelectedChannels.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DemandGenSelectedChannels message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels} DemandGenSelectedChannels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenSelectedChannels.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.youtube_in_stream = reader.bool(); + break; + } + case 2: { + message.youtube_in_feed = reader.bool(); + break; + } + case 3: { + message.youtube_shorts = reader.bool(); + break; + } + case 4: { + message.discover = reader.bool(); + break; + } + case 5: { + message.gmail = reader.bool(); + break; + } + case 6: { + message.display = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DemandGenSelectedChannels message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels} DemandGenSelectedChannels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DemandGenSelectedChannels.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DemandGenSelectedChannels message. + * @function verify + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DemandGenSelectedChannels.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.youtube_in_stream != null && message.hasOwnProperty("youtube_in_stream")) + if (typeof message.youtube_in_stream !== "boolean") + return "youtube_in_stream: boolean expected"; + if (message.youtube_in_feed != null && message.hasOwnProperty("youtube_in_feed")) + if (typeof message.youtube_in_feed !== "boolean") + return "youtube_in_feed: boolean expected"; + if (message.youtube_shorts != null && message.hasOwnProperty("youtube_shorts")) + if (typeof message.youtube_shorts !== "boolean") + return "youtube_shorts: boolean expected"; + if (message.discover != null && message.hasOwnProperty("discover")) + if (typeof message.discover !== "boolean") + return "discover: boolean expected"; + if (message.gmail != null && message.hasOwnProperty("gmail")) + if (typeof message.gmail !== "boolean") + return "gmail: boolean expected"; + if (message.display != null && message.hasOwnProperty("display")) + if (typeof message.display !== "boolean") + return "display: boolean expected"; + return null; + }; + + /** + * Creates a DemandGenSelectedChannels message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels} DemandGenSelectedChannels + */ + DemandGenSelectedChannels.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels) + return object; + var message = new $root.google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels(); + if (object.youtube_in_stream != null) + message.youtube_in_stream = Boolean(object.youtube_in_stream); + if (object.youtube_in_feed != null) + message.youtube_in_feed = Boolean(object.youtube_in_feed); + if (object.youtube_shorts != null) + message.youtube_shorts = Boolean(object.youtube_shorts); + if (object.discover != null) + message.discover = Boolean(object.discover); + if (object.gmail != null) + message.gmail = Boolean(object.gmail); + if (object.display != null) + message.display = Boolean(object.display); + return message; + }; + + /** + * Creates a plain object from a DemandGenSelectedChannels message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels} message DemandGenSelectedChannels + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DemandGenSelectedChannels.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.youtube_in_stream = false; + object.youtube_in_feed = false; + object.youtube_shorts = false; + object.discover = false; + object.gmail = false; + object.display = false; + } + if (message.youtube_in_stream != null && message.hasOwnProperty("youtube_in_stream")) + object.youtube_in_stream = message.youtube_in_stream; + if (message.youtube_in_feed != null && message.hasOwnProperty("youtube_in_feed")) + object.youtube_in_feed = message.youtube_in_feed; + if (message.youtube_shorts != null && message.hasOwnProperty("youtube_shorts")) + object.youtube_shorts = message.youtube_shorts; + if (message.discover != null && message.hasOwnProperty("discover")) + object.discover = message.discover; + if (message.gmail != null && message.hasOwnProperty("gmail")) + object.gmail = message.gmail; + if (message.display != null && message.hasOwnProperty("display")) + object.display = message.display; + return object; + }; + + /** + * Converts this DemandGenSelectedChannels to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @instance + * @returns {Object.} JSON object + */ + DemandGenSelectedChannels.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DemandGenSelectedChannels + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DemandGenSelectedChannels.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels"; + }; + + return DemandGenSelectedChannels; + })(); + + return DemandGenChannelControls; + })(); + + return DemandGenAdGroupSettings; + })(); + return AdGroup; })(); @@ -238723,12 +243775,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAd.decode = function decode(reader, length) { + AdGroupAd.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAd(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -239380,12 +244434,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdPolicySummary.decode = function decode(reader, length) { + AdGroupAdPolicySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAdPolicySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.policy_topic_entries && message.policy_topic_entries.length)) @@ -239732,12 +244788,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdAssetAutomationSetting.decode = function decode(reader, length) { + AdGroupAdAssetAutomationSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAdAssetAutomationSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset_automation_type = reader.int32(); @@ -240061,12 +245119,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdAssetCombinationView.decode = function decode(reader, length) { + AdGroupAdAssetCombinationView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAdAssetCombinationView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -240422,12 +245482,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdAssetView.decode = function decode(reader, length) { + AdGroupAdAssetView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAdAssetView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -240549,6 +245611,7 @@ case 28: case 30: case 31: + case 32: break; } if (message.enabled != null && message.hasOwnProperty("enabled")) { @@ -240774,6 +245837,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -241170,12 +246237,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdAssetPolicySummary.decode = function decode(reader, length) { + AdGroupAdAssetPolicySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAdAssetPolicySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.policy_topic_entries && message.policy_topic_entries.length)) @@ -241533,12 +246602,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdLabel.decode = function decode(reader, length) { + AdGroupAdLabel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAdLabel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -241864,12 +246935,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAsset.decode = function decode(reader, length) { + AdGroupAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -241995,6 +247068,7 @@ case 28: case 30: case 31: + case 32: break; } if (message.source != null && message.hasOwnProperty("source")) @@ -242210,6 +247284,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } switch (object.source) { default: @@ -242557,12 +247635,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAssetSet.decode = function decode(reader, length) { + AdGroupAssetSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAssetSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -242826,12 +247906,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAudienceView.decode = function decode(reader, length) { + AdGroupAudienceView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupAudienceView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -243188,12 +248270,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupBidModifier.decode = function decode(reader, length) { + AdGroupBidModifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupBidModifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -244374,12 +249458,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterion.decode = function decode(reader, length) { + AdGroupCriterion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCriterion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -246418,12 +251504,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QualityInfo.decode = function decode(reader, length) { + QualityInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCriterion.QualityInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.quality_score = reader.int32(); @@ -246842,12 +251930,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PositionEstimates.decode = function decode(reader, length) { + PositionEstimates.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCriterion.PositionEstimates(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.first_page_cpc_micros = reader.int64(); @@ -247219,12 +252309,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionCustomizer.decode = function decode(reader, length) { + AdGroupCriterionCustomizer.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCriterionCustomizer(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -247547,12 +252639,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionLabel.decode = function decode(reader, length) { + AdGroupCriterionLabel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCriterionLabel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -247909,12 +253003,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionSimulation.decode = function decode(reader, length) { + AdGroupCriterionSimulation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCriterionSimulation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -248405,12 +253501,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCustomizer.decode = function decode(reader, length) { + AdGroupCustomizer.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupCustomizer(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -248728,12 +253826,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupLabel.decode = function decode(reader, length) { + AdGroupLabel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupLabel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -249095,12 +254195,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupSimulation.decode = function decode(reader, length) { + AdGroupSimulation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdGroupSimulation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -249623,12 +254725,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdParameter.decode = function decode(reader, length) { + AdParameter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdParameter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -249885,12 +254989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdScheduleView.decode = function decode(reader, length) { + AdScheduleView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdScheduleView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -250088,12 +255194,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AgeRangeView.decode = function decode(reader, length) { + AgeRangeView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AgeRangeView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -250357,12 +255465,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AndroidPrivacySharedKeyGoogleAdGroup.decode = function decode(reader, length) { + AndroidPrivacySharedKeyGoogleAdGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AndroidPrivacySharedKeyGoogleAdGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -250773,12 +255883,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AndroidPrivacySharedKeyGoogleCampaign.decode = function decode(reader, length) { + AndroidPrivacySharedKeyGoogleCampaign.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AndroidPrivacySharedKeyGoogleCampaign(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -251128,12 +256240,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AndroidPrivacySharedKeyGoogleNetworkType.decode = function decode(reader, length) { + AndroidPrivacySharedKeyGoogleNetworkType.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AndroidPrivacySharedKeyGoogleNetworkType(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -251960,12 +257074,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Asset.decode = function decode(reader, length) { + Asset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Asset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -253326,12 +258442,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetFieldTypePolicySummary.decode = function decode(reader, length) { + AssetFieldTypePolicySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetFieldTypePolicySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset_field_type = reader.int32(); @@ -253417,6 +258535,7 @@ case 28: case 30: case 31: + case 32: break; } } @@ -253586,6 +258705,10 @@ case 31: message.asset_field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.asset_field_type = 32; + break; } switch (object.asset_source) { default: @@ -253788,12 +258911,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetPolicySummary.decode = function decode(reader, length) { + AssetPolicySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetPolicySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.policy_topic_entries && message.policy_topic_entries.length)) @@ -254125,12 +259250,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetFieldTypeView.decode = function decode(reader, length) { + AssetFieldTypeView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetFieldTypeView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -254213,6 +259340,7 @@ case 28: case 30: case 31: + case 32: break; } return null; @@ -254363,6 +259491,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } return message; }; @@ -254438,6 +259570,7 @@ * @property {string|null} [path1] AssetGroup path1 * @property {string|null} [path2] AssetGroup path2 * @property {google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|null} [ad_strength] AssetGroup ad_strength + * @property {google.ads.googleads.v19.resources.IAssetCoverage|null} [asset_coverage] AssetGroup asset_coverage */ /** @@ -254554,6 +259687,14 @@ */ AssetGroup.prototype.ad_strength = 0; + /** + * AssetGroup asset_coverage. + * @member {google.ads.googleads.v19.resources.IAssetCoverage|null|undefined} asset_coverage + * @memberof google.ads.googleads.v19.resources.AssetGroup + * @instance + */ + AssetGroup.prototype.asset_coverage = null; + /** * Creates a new AssetGroup instance using the specified properties. * @function create @@ -254608,6 +259749,8 @@ writer.int32(message.primary_status_reasons[i]); writer.ldelim(); } + if (message.asset_coverage != null && Object.hasOwnProperty.call(message, "asset_coverage")) + $root.google.ads.googleads.v19.resources.AssetCoverage.encode(message.asset_coverage, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; @@ -254635,12 +259778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroup.decode = function decode(reader, length) { + AssetGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -254701,6 +259846,10 @@ message.ad_strength = reader.int32(); break; } + case 13: { + message.asset_coverage = $root.google.ads.googleads.v19.resources.AssetCoverage.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -254828,6 +259977,11 @@ case 7: break; } + if (message.asset_coverage != null && message.hasOwnProperty("asset_coverage")) { + var error = $root.google.ads.googleads.v19.resources.AssetCoverage.verify(message.asset_coverage); + if (error) + return "asset_coverage." + error; + } return null; }; @@ -255041,6 +260195,11 @@ message.ad_strength = 7; break; } + if (object.asset_coverage != null) { + if (typeof object.asset_coverage !== "object") + throw TypeError(".google.ads.googleads.v19.resources.AssetGroup.asset_coverage: object expected"); + message.asset_coverage = $root.google.ads.googleads.v19.resources.AssetCoverage.fromObject(object.asset_coverage); + } return message; }; @@ -255076,6 +260235,7 @@ object.id = options.longs === String ? "0" : 0; object.ad_strength = options.enums === String ? "UNSPECIFIED" : 0; object.primary_status = options.enums === String ? "UNSPECIFIED" : 0; + object.asset_coverage = null; } if (message.resource_name != null && message.hasOwnProperty("resource_name")) object.resource_name = message.resource_name; @@ -255113,6 +260273,8 @@ for (var j = 0; j < message.primary_status_reasons.length; ++j) object.primary_status_reasons[j] = options.enums === String ? $root.google.ads.googleads.v19.enums.AssetGroupPrimaryStatusReasonEnum.AssetGroupPrimaryStatusReason[message.primary_status_reasons[j]] === undefined ? message.primary_status_reasons[j] : $root.google.ads.googleads.v19.enums.AssetGroupPrimaryStatusReasonEnum.AssetGroupPrimaryStatusReason[message.primary_status_reasons[j]] : message.primary_status_reasons[j]; } + if (message.asset_coverage != null && message.hasOwnProperty("asset_coverage")) + object.asset_coverage = $root.google.ads.googleads.v19.resources.AssetCoverage.toObject(message.asset_coverage, options); return object; }; @@ -255145,6 +260307,987 @@ return AssetGroup; })(); + resources.AssetCoverage = (function() { + + /** + * Properties of an AssetCoverage. + * @memberof google.ads.googleads.v19.resources + * @interface IAssetCoverage + * @property {Array.|null} [ad_strength_action_items] AssetCoverage ad_strength_action_items + */ + + /** + * Constructs a new AssetCoverage. + * @memberof google.ads.googleads.v19.resources + * @classdesc Represents an AssetCoverage. + * @implements IAssetCoverage + * @constructor + * @param {google.ads.googleads.v19.resources.IAssetCoverage=} [properties] Properties to set + */ + function AssetCoverage(properties) { + this.ad_strength_action_items = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AssetCoverage ad_strength_action_items. + * @member {Array.} ad_strength_action_items + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @instance + */ + AssetCoverage.prototype.ad_strength_action_items = $util.emptyArray; + + /** + * Creates a new AssetCoverage instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {google.ads.googleads.v19.resources.IAssetCoverage=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.AssetCoverage} AssetCoverage instance + */ + AssetCoverage.create = function create(properties) { + return new AssetCoverage(properties); + }; + + /** + * Encodes the specified AssetCoverage message. Does not implicitly {@link google.ads.googleads.v19.resources.AssetCoverage.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {google.ads.googleads.v19.resources.IAssetCoverage} message AssetCoverage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AssetCoverage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ad_strength_action_items != null && message.ad_strength_action_items.length) + for (var i = 0; i < message.ad_strength_action_items.length; ++i) + $root.google.ads.googleads.v19.resources.AdStrengthActionItem.encode(message.ad_strength_action_items[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AssetCoverage message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AssetCoverage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {google.ads.googleads.v19.resources.IAssetCoverage} message AssetCoverage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AssetCoverage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AssetCoverage message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.AssetCoverage} AssetCoverage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AssetCoverage.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetCoverage(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.ad_strength_action_items && message.ad_strength_action_items.length)) + message.ad_strength_action_items = []; + message.ad_strength_action_items.push($root.google.ads.googleads.v19.resources.AdStrengthActionItem.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AssetCoverage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.AssetCoverage} AssetCoverage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AssetCoverage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AssetCoverage message. + * @function verify + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AssetCoverage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ad_strength_action_items != null && message.hasOwnProperty("ad_strength_action_items")) { + if (!Array.isArray(message.ad_strength_action_items)) + return "ad_strength_action_items: array expected"; + for (var i = 0; i < message.ad_strength_action_items.length; ++i) { + var error = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.verify(message.ad_strength_action_items[i]); + if (error) + return "ad_strength_action_items." + error; + } + } + return null; + }; + + /** + * Creates an AssetCoverage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.AssetCoverage} AssetCoverage + */ + AssetCoverage.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.AssetCoverage) + return object; + var message = new $root.google.ads.googleads.v19.resources.AssetCoverage(); + if (object.ad_strength_action_items) { + if (!Array.isArray(object.ad_strength_action_items)) + throw TypeError(".google.ads.googleads.v19.resources.AssetCoverage.ad_strength_action_items: array expected"); + message.ad_strength_action_items = []; + for (var i = 0; i < object.ad_strength_action_items.length; ++i) { + if (typeof object.ad_strength_action_items[i] !== "object") + throw TypeError(".google.ads.googleads.v19.resources.AssetCoverage.ad_strength_action_items: object expected"); + message.ad_strength_action_items[i] = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.fromObject(object.ad_strength_action_items[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AssetCoverage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {google.ads.googleads.v19.resources.AssetCoverage} message AssetCoverage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AssetCoverage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.ad_strength_action_items = []; + if (message.ad_strength_action_items && message.ad_strength_action_items.length) { + object.ad_strength_action_items = []; + for (var j = 0; j < message.ad_strength_action_items.length; ++j) + object.ad_strength_action_items[j] = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.toObject(message.ad_strength_action_items[j], options); + } + return object; + }; + + /** + * Converts this AssetCoverage to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @instance + * @returns {Object.} JSON object + */ + AssetCoverage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AssetCoverage + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.AssetCoverage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AssetCoverage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.AssetCoverage"; + }; + + return AssetCoverage; + })(); + + resources.AdStrengthActionItem = (function() { + + /** + * Properties of an AdStrengthActionItem. + * @memberof google.ads.googleads.v19.resources + * @interface IAdStrengthActionItem + * @property {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType|null} [action_item_type] AdStrengthActionItem action_item_type + * @property {google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails|null} [add_asset_details] AdStrengthActionItem add_asset_details + */ + + /** + * Constructs a new AdStrengthActionItem. + * @memberof google.ads.googleads.v19.resources + * @classdesc Represents an AdStrengthActionItem. + * @implements IAdStrengthActionItem + * @constructor + * @param {google.ads.googleads.v19.resources.IAdStrengthActionItem=} [properties] Properties to set + */ + function AdStrengthActionItem(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AdStrengthActionItem action_item_type. + * @member {google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType} action_item_type + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @instance + */ + AdStrengthActionItem.prototype.action_item_type = 0; + + /** + * AdStrengthActionItem add_asset_details. + * @member {google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails|null|undefined} add_asset_details + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @instance + */ + AdStrengthActionItem.prototype.add_asset_details = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * AdStrengthActionItem action_details. + * @member {"add_asset_details"|undefined} action_details + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @instance + */ + Object.defineProperty(AdStrengthActionItem.prototype, "action_details", { + get: $util.oneOfGetter($oneOfFields = ["add_asset_details"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new AdStrengthActionItem instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {google.ads.googleads.v19.resources.IAdStrengthActionItem=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem} AdStrengthActionItem instance + */ + AdStrengthActionItem.create = function create(properties) { + return new AdStrengthActionItem(properties); + }; + + /** + * Encodes the specified AdStrengthActionItem message. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {google.ads.googleads.v19.resources.IAdStrengthActionItem} message AdStrengthActionItem message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AdStrengthActionItem.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.action_item_type != null && Object.hasOwnProperty.call(message, "action_item_type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.action_item_type); + if (message.add_asset_details != null && Object.hasOwnProperty.call(message, "add_asset_details")) + $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.encode(message.add_asset_details, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AdStrengthActionItem message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {google.ads.googleads.v19.resources.IAdStrengthActionItem} message AdStrengthActionItem message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AdStrengthActionItem.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AdStrengthActionItem message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem} AdStrengthActionItem + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdStrengthActionItem.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdStrengthActionItem(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.action_item_type = reader.int32(); + break; + } + case 2: { + message.add_asset_details = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AdStrengthActionItem message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem} AdStrengthActionItem + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdStrengthActionItem.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AdStrengthActionItem message. + * @function verify + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AdStrengthActionItem.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.action_item_type != null && message.hasOwnProperty("action_item_type")) + switch (message.action_item_type) { + default: + return "action_item_type: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.add_asset_details != null && message.hasOwnProperty("add_asset_details")) { + properties.action_details = 1; + { + var error = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.verify(message.add_asset_details); + if (error) + return "add_asset_details." + error; + } + } + return null; + }; + + /** + * Creates an AdStrengthActionItem message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem} AdStrengthActionItem + */ + AdStrengthActionItem.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.AdStrengthActionItem) + return object; + var message = new $root.google.ads.googleads.v19.resources.AdStrengthActionItem(); + switch (object.action_item_type) { + default: + if (typeof object.action_item_type === "number") { + message.action_item_type = object.action_item_type; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.action_item_type = 0; + break; + case "UNKNOWN": + case 1: + message.action_item_type = 1; + break; + case "ADD_ASSET": + case 2: + message.action_item_type = 2; + break; + } + if (object.add_asset_details != null) { + if (typeof object.add_asset_details !== "object") + throw TypeError(".google.ads.googleads.v19.resources.AdStrengthActionItem.add_asset_details: object expected"); + message.add_asset_details = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.fromObject(object.add_asset_details); + } + return message; + }; + + /** + * Creates a plain object from an AdStrengthActionItem message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {google.ads.googleads.v19.resources.AdStrengthActionItem} message AdStrengthActionItem + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AdStrengthActionItem.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.action_item_type = options.enums === String ? "UNSPECIFIED" : 0; + if (message.action_item_type != null && message.hasOwnProperty("action_item_type")) + object.action_item_type = options.enums === String ? $root.google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType[message.action_item_type] === undefined ? message.action_item_type : $root.google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType[message.action_item_type] : message.action_item_type; + if (message.add_asset_details != null && message.hasOwnProperty("add_asset_details")) { + object.add_asset_details = $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.toObject(message.add_asset_details, options); + if (options.oneofs) + object.action_details = "add_asset_details"; + } + return object; + }; + + /** + * Converts this AdStrengthActionItem to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @instance + * @returns {Object.} JSON object + */ + AdStrengthActionItem.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AdStrengthActionItem + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AdStrengthActionItem.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.AdStrengthActionItem"; + }; + + AdStrengthActionItem.AddAssetDetails = (function() { + + /** + * Properties of an AddAssetDetails. + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @interface IAddAssetDetails + * @property {google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType|null} [asset_field_type] AddAssetDetails asset_field_type + * @property {number|null} [asset_count] AddAssetDetails asset_count + * @property {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement|null} [video_aspect_ratio_requirement] AddAssetDetails video_aspect_ratio_requirement + */ + + /** + * Constructs a new AddAssetDetails. + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem + * @classdesc Represents an AddAssetDetails. + * @implements IAddAssetDetails + * @constructor + * @param {google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails=} [properties] Properties to set + */ + function AddAssetDetails(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AddAssetDetails asset_field_type. + * @member {google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType} asset_field_type + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @instance + */ + AddAssetDetails.prototype.asset_field_type = 0; + + /** + * AddAssetDetails asset_count. + * @member {number|null|undefined} asset_count + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @instance + */ + AddAssetDetails.prototype.asset_count = null; + + /** + * AddAssetDetails video_aspect_ratio_requirement. + * @member {google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement|null|undefined} video_aspect_ratio_requirement + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @instance + */ + AddAssetDetails.prototype.video_aspect_ratio_requirement = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + // Virtual OneOf for proto3 optional field + Object.defineProperty(AddAssetDetails.prototype, "_asset_count", { + get: $util.oneOfGetter($oneOfFields = ["asset_count"]), + set: $util.oneOfSetter($oneOfFields) + }); + + // Virtual OneOf for proto3 optional field + Object.defineProperty(AddAssetDetails.prototype, "_video_aspect_ratio_requirement", { + get: $util.oneOfGetter($oneOfFields = ["video_aspect_ratio_requirement"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new AddAssetDetails instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails} AddAssetDetails instance + */ + AddAssetDetails.create = function create(properties) { + return new AddAssetDetails(properties); + }; + + /** + * Encodes the specified AddAssetDetails message. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails} message AddAssetDetails message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddAssetDetails.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.asset_field_type != null && Object.hasOwnProperty.call(message, "asset_field_type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.asset_field_type); + if (message.asset_count != null && Object.hasOwnProperty.call(message, "asset_count")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.asset_count); + if (message.video_aspect_ratio_requirement != null && Object.hasOwnProperty.call(message, "video_aspect_ratio_requirement")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.video_aspect_ratio_requirement); + return writer; + }; + + /** + * Encodes the specified AddAssetDetails message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {google.ads.googleads.v19.resources.AdStrengthActionItem.IAddAssetDetails} message AddAssetDetails message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddAssetDetails.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AddAssetDetails message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails} AddAssetDetails + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddAssetDetails.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.asset_field_type = reader.int32(); + break; + } + case 2: { + message.asset_count = reader.int32(); + break; + } + case 3: { + message.video_aspect_ratio_requirement = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AddAssetDetails message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails} AddAssetDetails + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddAssetDetails.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AddAssetDetails message. + * @function verify + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AddAssetDetails.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.asset_field_type != null && message.hasOwnProperty("asset_field_type")) + switch (message.asset_field_type) { + default: + return "asset_field_type: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 24: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 25: + case 26: + case 27: + case 28: + case 30: + case 31: + case 32: + break; + } + if (message.asset_count != null && message.hasOwnProperty("asset_count")) { + properties._asset_count = 1; + if (!$util.isInteger(message.asset_count)) + return "asset_count: integer expected"; + } + if (message.video_aspect_ratio_requirement != null && message.hasOwnProperty("video_aspect_ratio_requirement")) { + properties._video_aspect_ratio_requirement = 1; + switch (message.video_aspect_ratio_requirement) { + default: + return "video_aspect_ratio_requirement: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + } + return null; + }; + + /** + * Creates an AddAssetDetails message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails} AddAssetDetails + */ + AddAssetDetails.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails) + return object; + var message = new $root.google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails(); + switch (object.asset_field_type) { + default: + if (typeof object.asset_field_type === "number") { + message.asset_field_type = object.asset_field_type; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.asset_field_type = 0; + break; + case "UNKNOWN": + case 1: + message.asset_field_type = 1; + break; + case "HEADLINE": + case 2: + message.asset_field_type = 2; + break; + case "DESCRIPTION": + case 3: + message.asset_field_type = 3; + break; + case "MANDATORY_AD_TEXT": + case 4: + message.asset_field_type = 4; + break; + case "MARKETING_IMAGE": + case 5: + message.asset_field_type = 5; + break; + case "MEDIA_BUNDLE": + case 6: + message.asset_field_type = 6; + break; + case "YOUTUBE_VIDEO": + case 7: + message.asset_field_type = 7; + break; + case "BOOK_ON_GOOGLE": + case 8: + message.asset_field_type = 8; + break; + case "LEAD_FORM": + case 9: + message.asset_field_type = 9; + break; + case "PROMOTION": + case 10: + message.asset_field_type = 10; + break; + case "CALLOUT": + case 11: + message.asset_field_type = 11; + break; + case "STRUCTURED_SNIPPET": + case 12: + message.asset_field_type = 12; + break; + case "SITELINK": + case 13: + message.asset_field_type = 13; + break; + case "MOBILE_APP": + case 14: + message.asset_field_type = 14; + break; + case "HOTEL_CALLOUT": + case 15: + message.asset_field_type = 15; + break; + case "CALL": + case 16: + message.asset_field_type = 16; + break; + case "PRICE": + case 24: + message.asset_field_type = 24; + break; + case "LONG_HEADLINE": + case 17: + message.asset_field_type = 17; + break; + case "BUSINESS_NAME": + case 18: + message.asset_field_type = 18; + break; + case "SQUARE_MARKETING_IMAGE": + case 19: + message.asset_field_type = 19; + break; + case "PORTRAIT_MARKETING_IMAGE": + case 20: + message.asset_field_type = 20; + break; + case "LOGO": + case 21: + message.asset_field_type = 21; + break; + case "LANDSCAPE_LOGO": + case 22: + message.asset_field_type = 22; + break; + case "VIDEO": + case 23: + message.asset_field_type = 23; + break; + case "CALL_TO_ACTION_SELECTION": + case 25: + message.asset_field_type = 25; + break; + case "AD_IMAGE": + case 26: + message.asset_field_type = 26; + break; + case "BUSINESS_LOGO": + case 27: + message.asset_field_type = 27; + break; + case "HOTEL_PROPERTY": + case 28: + message.asset_field_type = 28; + break; + case "DEMAND_GEN_CAROUSEL_CARD": + case 30: + message.asset_field_type = 30; + break; + case "BUSINESS_MESSAGE": + case 31: + message.asset_field_type = 31; + break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.asset_field_type = 32; + break; + } + if (object.asset_count != null) + message.asset_count = object.asset_count | 0; + switch (object.video_aspect_ratio_requirement) { + default: + if (typeof object.video_aspect_ratio_requirement === "number") { + message.video_aspect_ratio_requirement = object.video_aspect_ratio_requirement; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.video_aspect_ratio_requirement = 0; + break; + case "UNKNOWN": + case 1: + message.video_aspect_ratio_requirement = 1; + break; + case "HORIZONTAL": + case 2: + message.video_aspect_ratio_requirement = 2; + break; + case "SQUARE": + case 3: + message.video_aspect_ratio_requirement = 3; + break; + case "VERTICAL": + case 4: + message.video_aspect_ratio_requirement = 4; + break; + } + return message; + }; + + /** + * Creates a plain object from an AddAssetDetails message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails} message AddAssetDetails + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AddAssetDetails.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.asset_field_type = options.enums === String ? "UNSPECIFIED" : 0; + if (message.asset_field_type != null && message.hasOwnProperty("asset_field_type")) + object.asset_field_type = options.enums === String ? $root.google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType[message.asset_field_type] === undefined ? message.asset_field_type : $root.google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType[message.asset_field_type] : message.asset_field_type; + if (message.asset_count != null && message.hasOwnProperty("asset_count")) { + object.asset_count = message.asset_count; + if (options.oneofs) + object._asset_count = "asset_count"; + } + if (message.video_aspect_ratio_requirement != null && message.hasOwnProperty("video_aspect_ratio_requirement")) { + object.video_aspect_ratio_requirement = options.enums === String ? $root.google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement[message.video_aspect_ratio_requirement] === undefined ? message.video_aspect_ratio_requirement : $root.google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement[message.video_aspect_ratio_requirement] : message.video_aspect_ratio_requirement; + if (options.oneofs) + object._video_aspect_ratio_requirement = "video_aspect_ratio_requirement"; + } + return object; + }; + + /** + * Converts this AddAssetDetails to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @instance + * @returns {Object.} JSON object + */ + AddAssetDetails.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AddAssetDetails + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AddAssetDetails.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.AdStrengthActionItem.AddAssetDetails"; + }; + + return AddAssetDetails; + })(); + + return AdStrengthActionItem; + })(); + resources.AssetGroupAsset = (function() { /** @@ -255347,12 +261490,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupAsset.decode = function decode(reader, length) { + AssetGroupAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroupAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -255486,6 +261631,7 @@ case 28: case 30: case 31: + case 32: break; } if (message.status != null && message.hasOwnProperty("status")) @@ -255719,6 +261865,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } switch (object.status) { default: @@ -256157,12 +262307,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupListingGroupFilter.decode = function decode(reader, length) { + AssetGroupListingGroupFilter.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroupListingGroupFilter(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -256534,12 +262686,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterDimensionPath.decode = function decode(reader, length) { + ListingGroupFilterDimensionPath.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimensionPath(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.dimensions && message.dimensions.length)) @@ -256847,12 +263001,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListingGroupFilterDimension.decode = function decode(reader, length) { + ListingGroupFilterDimension.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 10: { message.product_category = $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductCategory.decode(reader, reader.uint32()); @@ -257245,12 +263401,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCategory.decode = function decode(reader, length) { + ProductCategory.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductCategory(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.category_id = reader.int64(); @@ -257528,12 +263686,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductBrand.decode = function decode(reader, length) { + ProductBrand.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductBrand(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -257735,12 +263895,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductChannel.decode = function decode(reader, length) { + ProductChannel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductChannel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.channel = reader.int32(); @@ -257967,12 +264129,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCondition.decode = function decode(reader, length) { + ProductCondition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductCondition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.condition = reader.int32(); @@ -258224,12 +264388,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCustomAttribute.decode = function decode(reader, length) { + ProductCustomAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductCustomAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -258497,12 +264663,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductItemId.decode = function decode(reader, length) { + ProductItemId.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductItemId(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -258724,12 +264892,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductType.decode = function decode(reader, length) { + ProductType.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.ProductType(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.value = reader.string(); @@ -258990,12 +265160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Webpage.decode = function decode(reader, length) { + Webpage.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.Webpage(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.conditions && message.conditions.length)) @@ -259237,12 +265409,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageCondition.decode = function decode(reader, length) { + WebpageCondition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ListingGroupFilterDimension.WebpageCondition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.custom_label = reader.string(); @@ -259487,12 +265661,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupProductGroupView.decode = function decode(reader, length) { + AssetGroupProductGroupView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroupProductGroupView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -259786,12 +265962,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupSignal.decode = function decode(reader, length) { + AssetGroupSignal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroupSignal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -260140,12 +266318,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupTopCombinationView.decode = function decode(reader, length) { + AssetGroupTopCombinationView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroupTopCombinationView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -260377,12 +266557,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupAssetCombinationData.decode = function decode(reader, length) { + AssetGroupAssetCombinationData.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetGroupAssetCombinationData(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.asset_combination_served_assets && message.asset_combination_served_assets.length)) @@ -260723,12 +266905,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSet.decode = function decode(reader, length) { + AssetSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.id = reader.int64(); @@ -261265,12 +267449,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MerchantCenterFeed.decode = function decode(reader, length) { + MerchantCenterFeed.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetSet.MerchantCenterFeed(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant_id = reader.int64(); @@ -261525,12 +267711,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelPropertyData.decode = function decode(reader, length) { + HotelPropertyData.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetSet.HotelPropertyData(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.hotel_center_id = reader.int64(); @@ -261794,12 +267982,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetAsset.decode = function decode(reader, length) { + AssetSetAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetSetAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -262074,12 +268264,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetTypeView.decode = function decode(reader, length) { + AssetSetTypeView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AssetSetTypeView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -262488,12 +268680,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Audience.decode = function decode(reader, length) { + Audience.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Audience(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -262966,12 +269160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchJob.decode = function decode(reader, length) { + BatchJob.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BatchJob(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -263400,12 +269596,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchJobMetadata.decode = function decode(reader, length) { + BatchJobMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BatchJob.BatchJobMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 8: { message.creation_date_time = reader.string(); @@ -263848,12 +270046,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingDataExclusion.decode = function decode(reader, length) { + BiddingDataExclusion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BiddingDataExclusion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -264559,12 +270759,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingSeasonalityAdjustment.decode = function decode(reader, length) { + BiddingSeasonalityAdjustment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BiddingSeasonalityAdjustment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -265369,12 +271571,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategy.decode = function decode(reader, length) { + BiddingStrategy.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BiddingStrategy(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -266146,12 +272350,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategySimulation.decode = function decode(reader, length) { + BiddingStrategySimulation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BiddingStrategySimulation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -266689,12 +272895,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BillingSetup.decode = function decode(reader, length) { + BillingSetup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BillingSetup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -267204,12 +273412,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PaymentsAccountInfo.decode = function decode(reader, length) { + PaymentsAccountInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BillingSetup.PaymentsAccountInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.payments_account_id = reader.string(); @@ -267566,12 +273776,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallView.decode = function decode(reader, length) { + CallView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CallView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -267905,6 +274117,7 @@ * @property {google.ads.googleads.v19.resources.Campaign.ITravelCampaignSettings|null} [travel_campaign_settings] Campaign travel_campaign_settings * @property {google.ads.googleads.v19.resources.Campaign.IDemandGenCampaignSettings|null} [demand_gen_campaign_settings] Campaign demand_gen_campaign_settings * @property {google.ads.googleads.v19.resources.Campaign.IVideoCampaignSettings|null} [video_campaign_settings] Campaign video_campaign_settings + * @property {google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings|null} [pmax_campaign_settings] Campaign pmax_campaign_settings * @property {google.ads.googleads.v19.common.IRealTimeBiddingSetting|null} [real_time_bidding_setting] Campaign real_time_bidding_setting * @property {google.ads.googleads.v19.resources.Campaign.INetworkSettings|null} [network_settings] Campaign network_settings * @property {google.ads.googleads.v19.resources.Campaign.IHotelSettingInfo|null} [hotel_setting] Campaign hotel_setting @@ -268119,6 +274332,14 @@ */ Campaign.prototype.video_campaign_settings = null; + /** + * Campaign pmax_campaign_settings. + * @member {google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings|null|undefined} pmax_campaign_settings + * @memberof google.ads.googleads.v19.resources.Campaign + * @instance + */ + Campaign.prototype.pmax_campaign_settings = null; + /** * Campaign real_time_bidding_setting. * @member {google.ads.googleads.v19.common.IRealTimeBiddingSetting|null|undefined} real_time_bidding_setting @@ -268835,6 +275056,8 @@ $root.google.ads.googleads.v19.resources.Campaign.VideoCampaignSettings.encode(message.video_campaign_settings, writer.uint32(/* id 94, wireType 2 =*/754).fork()).ldelim(); if (message.brand_guidelines_enabled != null && Object.hasOwnProperty.call(message, "brand_guidelines_enabled")) writer.uint32(/* id 96, wireType 0 =*/768).bool(message.brand_guidelines_enabled); + if (message.pmax_campaign_settings != null && Object.hasOwnProperty.call(message, "pmax_campaign_settings")) + $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.encode(message.pmax_campaign_settings, writer.uint32(/* id 97, wireType 2 =*/778).fork()).ldelim(); if (message.brand_guidelines != null && Object.hasOwnProperty.call(message, "brand_guidelines")) $root.google.ads.googleads.v19.resources.Campaign.BrandGuidelines.encode(message.brand_guidelines, writer.uint32(/* id 98, wireType 2 =*/786).fork()).ldelim(); return writer; @@ -268864,12 +275087,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Campaign.decode = function decode(reader, length) { + Campaign.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -268948,6 +275173,10 @@ message.video_campaign_settings = $root.google.ads.googleads.v19.resources.Campaign.VideoCampaignSettings.decode(reader, reader.uint32()); break; } + case 97: { + message.pmax_campaign_settings = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.decode(reader, reader.uint32()); + break; + } case 39: { message.real_time_bidding_setting = $root.google.ads.googleads.v19.common.RealTimeBiddingSetting.decode(reader, reader.uint32()); break; @@ -269413,6 +275642,7 @@ case 18: case 19: case 20: + case 22: break; } if (message.tracking_url_template != null && message.hasOwnProperty("tracking_url_template")) { @@ -269449,6 +275679,11 @@ if (error) return "video_campaign_settings." + error; } + if (message.pmax_campaign_settings != null && message.hasOwnProperty("pmax_campaign_settings")) { + var error = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.verify(message.pmax_campaign_settings); + if (error) + return "pmax_campaign_settings." + error; + } if (message.real_time_bidding_setting != null && message.hasOwnProperty("real_time_bidding_setting")) { var error = $root.google.ads.googleads.v19.common.RealTimeBiddingSetting.verify(message.real_time_bidding_setting); if (error) @@ -269675,6 +275910,7 @@ case 28: case 30: case 31: + case 32: break; } } @@ -270531,6 +276767,10 @@ case 20: message.advertising_channel_sub_type = 20; break; + case "YOUTUBE_AUDIO": + case 22: + message.advertising_channel_sub_type = 22; + break; } if (object.tracking_url_template != null) message.tracking_url_template = String(object.tracking_url_template); @@ -270564,6 +276804,11 @@ throw TypeError(".google.ads.googleads.v19.resources.Campaign.video_campaign_settings: object expected"); message.video_campaign_settings = $root.google.ads.googleads.v19.resources.Campaign.VideoCampaignSettings.fromObject(object.video_campaign_settings); } + if (object.pmax_campaign_settings != null) { + if (typeof object.pmax_campaign_settings !== "object") + throw TypeError(".google.ads.googleads.v19.resources.Campaign.pmax_campaign_settings: object expected"); + message.pmax_campaign_settings = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.fromObject(object.pmax_campaign_settings); + } if (object.real_time_bidding_setting != null) { if (typeof object.real_time_bidding_setting !== "object") throw TypeError(".google.ads.googleads.v19.resources.Campaign.real_time_bidding_setting: object expected"); @@ -270982,6 +277227,10 @@ case 31: message.excluded_parent_asset_field_types[i] = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.excluded_parent_asset_field_types[i] = 32; + break; } } if (object.excluded_parent_asset_set_types) { @@ -271270,6 +277519,7 @@ object.keyword_match_type = options.enums === String ? "UNSPECIFIED" : 0; object.demand_gen_campaign_settings = null; object.video_campaign_settings = null; + object.pmax_campaign_settings = null; object.brand_guidelines = null; } if (message.resource_name != null && message.hasOwnProperty("resource_name")) @@ -271529,6 +277779,8 @@ if (options.oneofs) object._brand_guidelines_enabled = "brand_guidelines_enabled"; } + if (message.pmax_campaign_settings != null && message.hasOwnProperty("pmax_campaign_settings")) + object.pmax_campaign_settings = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.toObject(message.pmax_campaign_settings, options); if (message.brand_guidelines != null && message.hasOwnProperty("brand_guidelines")) object.brand_guidelines = $root.google.ads.googleads.v19.resources.Campaign.BrandGuidelines.toObject(message.brand_guidelines, options); return object; @@ -271667,12 +277919,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PerformanceMaxUpgrade.decode = function decode(reader, length) { + PerformanceMaxUpgrade.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.PerformanceMaxUpgrade(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.performance_max_campaign = reader.string(); @@ -272028,12 +278282,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkSettings.decode = function decode(reader, length) { + NetworkSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.NetworkSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.target_google_search = reader.bool(); @@ -272324,12 +278580,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelSettingInfo.decode = function decode(reader, length) { + HotelSettingInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.HotelSettingInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.hotel_center_id = reader.int64(); @@ -272572,12 +278830,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicSearchAdsSetting.decode = function decode(reader, length) { + DynamicSearchAdsSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.DynamicSearchAdsSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.domain_name = reader.string(); @@ -272903,12 +279163,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingSetting.decode = function decode(reader, length) { + ShoppingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.ShoppingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.merchant_id = reader.int64(); @@ -273245,12 +279507,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TrackingSetting.decode = function decode(reader, length) { + TrackingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.TrackingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.tracking_url = reader.string(); @@ -273463,12 +279727,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargetTypeSetting.decode = function decode(reader, length) { + GeoTargetTypeSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.GeoTargetTypeSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.positive_geo_target_type = reader.int32(); @@ -273742,12 +280008,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalCampaignSetting.decode = function decode(reader, length) { + LocalCampaignSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.LocalCampaignSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.location_source_type = reader.int32(); @@ -274005,12 +280273,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppCampaignSetting.decode = function decode(reader, length) { + AppCampaignSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.AppCampaignSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.bidding_strategy_goal_type = reader.int32(); @@ -274327,12 +280597,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VanityPharma.decode = function decode(reader, length) { + VanityPharma.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.VanityPharma(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.vanity_pharma_display_url_mode = reader.int32(); @@ -274653,12 +280925,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SelectiveOptimization.decode = function decode(reader, length) { + SelectiveOptimization.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.SelectiveOptimization(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.conversion_actions && message.conversion_actions.length)) @@ -274875,12 +281149,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OptimizationGoalSetting.decode = function decode(reader, length) { + OptimizationGoalSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.OptimizationGoalSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.optimization_goal_types && message.optimization_goal_types.length)) @@ -275140,12 +281416,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceSetting.decode = function decode(reader, length) { + AudienceSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.AudienceSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.use_audience_grouped = reader.bool(); @@ -275349,12 +281627,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesCampaignSettings.decode = function decode(reader, length) { + LocalServicesCampaignSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.LocalServicesCampaignSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.category_bids && message.category_bids.length)) @@ -275614,12 +281894,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CategoryBid.decode = function decode(reader, length) { + CategoryBid.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.CategoryBid(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.category_id = reader.string(); @@ -275882,12 +282164,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TravelCampaignSettings.decode = function decode(reader, length) { + TravelCampaignSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.TravelCampaignSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.travel_account_id = reader.int64(); @@ -276108,12 +282392,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DemandGenCampaignSettings.decode = function decode(reader, length) { + DemandGenCampaignSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.DemandGenCampaignSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.upgraded_targeting = reader.bool(); @@ -276315,12 +282601,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoCampaignSettings.decode = function decode(reader, length) { + VideoCampaignSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.VideoCampaignSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.video_ad_inventory_control = $root.google.ads.googleads.v19.resources.Campaign.VideoCampaignSettings.VideoAdInventoryControl.decode(reader, reader.uint32()); @@ -276563,12 +282851,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VideoAdInventoryControl.decode = function decode(reader, length) { + VideoAdInventoryControl.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.VideoCampaignSettings.VideoAdInventoryControl(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.allow_in_stream = reader.bool(); @@ -276720,6 +283010,434 @@ return VideoCampaignSettings; })(); + Campaign.PmaxCampaignSettings = (function() { + + /** + * Properties of a PmaxCampaignSettings. + * @memberof google.ads.googleads.v19.resources.Campaign + * @interface IPmaxCampaignSettings + * @property {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides|null} [brand_targeting_overrides] PmaxCampaignSettings brand_targeting_overrides + */ + + /** + * Constructs a new PmaxCampaignSettings. + * @memberof google.ads.googleads.v19.resources.Campaign + * @classdesc Represents a PmaxCampaignSettings. + * @implements IPmaxCampaignSettings + * @constructor + * @param {google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings=} [properties] Properties to set + */ + function PmaxCampaignSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PmaxCampaignSettings brand_targeting_overrides. + * @member {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides|null|undefined} brand_targeting_overrides + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @instance + */ + PmaxCampaignSettings.prototype.brand_targeting_overrides = null; + + /** + * Creates a new PmaxCampaignSettings instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings} PmaxCampaignSettings instance + */ + PmaxCampaignSettings.create = function create(properties) { + return new PmaxCampaignSettings(properties); + }; + + /** + * Encodes the specified PmaxCampaignSettings message. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings} message PmaxCampaignSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PmaxCampaignSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.brand_targeting_overrides != null && Object.hasOwnProperty.call(message, "brand_targeting_overrides")) + $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.encode(message.brand_targeting_overrides, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PmaxCampaignSettings message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {google.ads.googleads.v19.resources.Campaign.IPmaxCampaignSettings} message PmaxCampaignSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PmaxCampaignSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PmaxCampaignSettings message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings} PmaxCampaignSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PmaxCampaignSettings.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.brand_targeting_overrides = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PmaxCampaignSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings} PmaxCampaignSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PmaxCampaignSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PmaxCampaignSettings message. + * @function verify + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PmaxCampaignSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.brand_targeting_overrides != null && message.hasOwnProperty("brand_targeting_overrides")) { + var error = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.verify(message.brand_targeting_overrides); + if (error) + return "brand_targeting_overrides." + error; + } + return null; + }; + + /** + * Creates a PmaxCampaignSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings} PmaxCampaignSettings + */ + PmaxCampaignSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings) + return object; + var message = new $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings(); + if (object.brand_targeting_overrides != null) { + if (typeof object.brand_targeting_overrides !== "object") + throw TypeError(".google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.brand_targeting_overrides: object expected"); + message.brand_targeting_overrides = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.fromObject(object.brand_targeting_overrides); + } + return message; + }; + + /** + * Creates a plain object from a PmaxCampaignSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings} message PmaxCampaignSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PmaxCampaignSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.brand_targeting_overrides = null; + if (message.brand_targeting_overrides != null && message.hasOwnProperty("brand_targeting_overrides")) + object.brand_targeting_overrides = $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.toObject(message.brand_targeting_overrides, options); + return object; + }; + + /** + * Converts this PmaxCampaignSettings to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @instance + * @returns {Object.} JSON object + */ + PmaxCampaignSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PmaxCampaignSettings + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PmaxCampaignSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings"; + }; + + PmaxCampaignSettings.BrandTargetingOverrides = (function() { + + /** + * Properties of a BrandTargetingOverrides. + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @interface IBrandTargetingOverrides + * @property {boolean|null} [ignore_exclusions_for_shopping_ads] BrandTargetingOverrides ignore_exclusions_for_shopping_ads + */ + + /** + * Constructs a new BrandTargetingOverrides. + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings + * @classdesc Represents a BrandTargetingOverrides. + * @implements IBrandTargetingOverrides + * @constructor + * @param {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides=} [properties] Properties to set + */ + function BrandTargetingOverrides(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BrandTargetingOverrides ignore_exclusions_for_shopping_ads. + * @member {boolean|null|undefined} ignore_exclusions_for_shopping_ads + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @instance + */ + BrandTargetingOverrides.prototype.ignore_exclusions_for_shopping_ads = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + // Virtual OneOf for proto3 optional field + Object.defineProperty(BrandTargetingOverrides.prototype, "_ignore_exclusions_for_shopping_ads", { + get: $util.oneOfGetter($oneOfFields = ["ignore_exclusions_for_shopping_ads"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new BrandTargetingOverrides instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides=} [properties] Properties to set + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides} BrandTargetingOverrides instance + */ + BrandTargetingOverrides.create = function create(properties) { + return new BrandTargetingOverrides(properties); + }; + + /** + * Encodes the specified BrandTargetingOverrides message. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides} message BrandTargetingOverrides message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BrandTargetingOverrides.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ignore_exclusions_for_shopping_ads != null && Object.hasOwnProperty.call(message, "ignore_exclusions_for_shopping_ads")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.ignore_exclusions_for_shopping_ads); + return writer; + }; + + /** + * Encodes the specified BrandTargetingOverrides message, length delimited. Does not implicitly {@link google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.IBrandTargetingOverrides} message BrandTargetingOverrides message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BrandTargetingOverrides.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BrandTargetingOverrides message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides} BrandTargetingOverrides + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BrandTargetingOverrides.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.ignore_exclusions_for_shopping_ads = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BrandTargetingOverrides message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides} BrandTargetingOverrides + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BrandTargetingOverrides.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BrandTargetingOverrides message. + * @function verify + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BrandTargetingOverrides.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.ignore_exclusions_for_shopping_ads != null && message.hasOwnProperty("ignore_exclusions_for_shopping_ads")) { + properties._ignore_exclusions_for_shopping_ads = 1; + if (typeof message.ignore_exclusions_for_shopping_ads !== "boolean") + return "ignore_exclusions_for_shopping_ads: boolean expected"; + } + return null; + }; + + /** + * Creates a BrandTargetingOverrides message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides} BrandTargetingOverrides + */ + BrandTargetingOverrides.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides) + return object; + var message = new $root.google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides(); + if (object.ignore_exclusions_for_shopping_ads != null) + message.ignore_exclusions_for_shopping_ads = Boolean(object.ignore_exclusions_for_shopping_ads); + return message; + }; + + /** + * Creates a plain object from a BrandTargetingOverrides message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides} message BrandTargetingOverrides + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BrandTargetingOverrides.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.ignore_exclusions_for_shopping_ads != null && message.hasOwnProperty("ignore_exclusions_for_shopping_ads")) { + object.ignore_exclusions_for_shopping_ads = message.ignore_exclusions_for_shopping_ads; + if (options.oneofs) + object._ignore_exclusions_for_shopping_ads = "ignore_exclusions_for_shopping_ads"; + } + return object; + }; + + /** + * Converts this BrandTargetingOverrides to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @instance + * @returns {Object.} JSON object + */ + BrandTargetingOverrides.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BrandTargetingOverrides + * @function getTypeUrl + * @memberof google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BrandTargetingOverrides.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.resources.Campaign.PmaxCampaignSettings.BrandTargetingOverrides"; + }; + + return BrandTargetingOverrides; + })(); + + return PmaxCampaignSettings; + })(); + Campaign.AssetAutomationSetting = (function() { /** @@ -276831,12 +283549,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetAutomationSetting.decode = function decode(reader, length) { + AssetAutomationSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.AssetAutomationSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset_automation_type = reader.int32(); @@ -277149,12 +283869,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandGuidelines.decode = function decode(reader, length) { + BrandGuidelines.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Campaign.BrandGuidelines(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.main_color = reader.string(); @@ -277451,12 +284173,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignAggregateAssetView.decode = function decode(reader, length) { + CampaignAggregateAssetView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignAggregateAssetView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -277575,6 +284299,7 @@ case 28: case 30: case 31: + case 32: break; } } @@ -277754,6 +284479,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } return message; }; @@ -278022,12 +284751,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignAsset.decode = function decode(reader, length) { + CampaignAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -278158,6 +284889,7 @@ case 28: case 30: case 31: + case 32: break; } if (message.source != null && message.hasOwnProperty("source")) @@ -278373,6 +285105,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } switch (object.source) { default: @@ -278724,12 +285460,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignAssetSet.decode = function decode(reader, length) { + CampaignAssetSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignAssetSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -278993,12 +285731,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignAudienceView.decode = function decode(reader, length) { + CampaignAudienceView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignAudienceView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -279272,12 +286012,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBidModifier.decode = function decode(reader, length) { + CampaignBidModifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignBidModifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -279818,12 +286560,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudget.decode = function decode(reader, length) { + CampaignBudget.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignBudget(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -280549,12 +287293,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignConversionGoal.decode = function decode(reader, length) { + CampaignConversionGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignConversionGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -281441,12 +288187,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCriterion.decode = function decode(reader, length) { + CampaignCriterion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignCriterion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -282819,12 +289567,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCustomizer.decode = function decode(reader, length) { + CampaignCustomizer.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignCustomizer(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -283221,12 +289971,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignDraft.decode = function decode(reader, length) { + CampaignDraft.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignDraft(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -283621,12 +290373,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignGroup.decode = function decode(reader, length) { + CampaignGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -283941,12 +290695,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignLabel.decode = function decode(reader, length) { + CampaignLabel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignLabel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -284199,12 +290955,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignLifecycleGoal.decode = function decode(reader, length) { + CampaignLifecycleGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignLifecycleGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -284443,12 +291201,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAcquisitionGoalSettings.decode = function decode(reader, length) { + CustomerAcquisitionGoalSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerAcquisitionGoalSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.optimization_mode = reader.int32(); @@ -284752,12 +291512,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignSearchTermInsight.decode = function decode(reader, length) { + CampaignSearchTermInsight.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignSearchTermInsight(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -285072,12 +291834,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignSharedSet.decode = function decode(reader, length) { + CampaignSharedSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignSharedSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -285474,12 +292238,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignSimulation.decode = function decode(reader, length) { + CampaignSimulation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CampaignSimulation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -286018,12 +292784,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CarrierConstant.decode = function decode(reader, length) { + CarrierConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CarrierConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -286412,12 +293180,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeEvent.decode = function decode(reader, length) { + ChangeEvent.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ChangeEvent(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -287158,12 +293928,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangedResource.decode = function decode(reader, length) { + ChangedResource.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ChangeEvent.ChangedResource(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -287692,12 +294464,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAsset.decode = function decode(reader, length) { + CustomerAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -287816,6 +294590,7 @@ case 28: case 30: case 31: + case 32: break; } if (message.source != null && message.hasOwnProperty("source")) @@ -288029,6 +294804,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } switch (object.source) { default: @@ -288279,6 +295058,7 @@ * @property {string|null} [ad_group_asset] ChangeStatus ad_group_asset * @property {string|null} [combined_audience] ChangeStatus combined_audience * @property {string|null} [asset_group] ChangeStatus asset_group + * @property {string|null} [campaign_budget] ChangeStatus campaign_budget */ /** @@ -288440,6 +295220,14 @@ */ ChangeStatus.prototype.asset_group = ""; + /** + * ChangeStatus campaign_budget. + * @member {string} campaign_budget + * @memberof google.ads.googleads.v19.resources.ChangeStatus + * @instance + */ + ChangeStatus.prototype.campaign_budget = ""; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -288545,6 +295333,8 @@ writer.uint32(/* id 40, wireType 2 =*/322).string(message.combined_audience); if (message.asset_group != null && Object.hasOwnProperty.call(message, "asset_group")) writer.uint32(/* id 41, wireType 2 =*/330).string(message.asset_group); + if (message.campaign_budget != null && Object.hasOwnProperty.call(message, "campaign_budget")) + writer.uint32(/* id 42, wireType 2 =*/338).string(message.campaign_budget); return writer; }; @@ -288572,12 +295362,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeStatus.decode = function decode(reader, length) { + ChangeStatus.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ChangeStatus(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -288651,6 +295443,10 @@ message.asset_group = reader.string(); break; } + case 42: { + message.campaign_budget = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -288706,6 +295502,7 @@ case 5: case 6: case 7: + case 8: case 9: case 10: case 11: @@ -288719,6 +295516,8 @@ case 19: case 20: case 21: + case 22: + case 23: break; } if (message.campaign != null && message.hasOwnProperty("campaign")) { @@ -288786,6 +295585,9 @@ if (message.asset_group != null && message.hasOwnProperty("asset_group")) if (!$util.isString(message.asset_group)) return "asset_group: string expected"; + if (message.campaign_budget != null && message.hasOwnProperty("campaign_budget")) + if (!$util.isString(message.campaign_budget)) + return "campaign_budget: string expected"; return null; }; @@ -288840,6 +295642,10 @@ case 7: message.resource_type = 7; break; + case "CAMPAIGN_BUDGET": + case 8: + message.resource_type = 8; + break; case "FEED": case 9: message.resource_type = 9; @@ -288892,6 +295698,14 @@ case 21: message.resource_type = 21; break; + case "ASSET_SET": + case 22: + message.resource_type = 22; + break; + case "CAMPAIGN_ASSET_SET": + case 23: + message.resource_type = 23; + break; } if (object.campaign != null) message.campaign = String(object.campaign); @@ -288949,6 +295763,8 @@ message.combined_audience = String(object.combined_audience); if (object.asset_group != null) message.asset_group = String(object.asset_group); + if (object.campaign_budget != null) + message.campaign_budget = String(object.campaign_budget); return message; }; @@ -288977,6 +295793,7 @@ object.ad_group_asset = ""; object.combined_audience = ""; object.asset_group = ""; + object.campaign_budget = ""; } if (message.resource_name != null && message.hasOwnProperty("resource_name")) object.resource_name = message.resource_name; @@ -289035,6 +295852,8 @@ object.combined_audience = message.combined_audience; if (message.asset_group != null && message.hasOwnProperty("asset_group")) object.asset_group = message.asset_group; + if (message.campaign_budget != null && message.hasOwnProperty("campaign_budget")) + object.campaign_budget = message.campaign_budget; return object; }; @@ -289223,12 +296042,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChannelAggregateAssetView.decode = function decode(reader, length) { + ChannelAggregateAssetView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ChannelAggregateAssetView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -289364,6 +296185,7 @@ case 28: case 30: case 31: + case 32: break; } } @@ -289605,6 +296427,10 @@ case 31: message.field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.field_type = 32; + break; } return message; }; @@ -289895,12 +296721,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClickView.decode = function decode(reader, length) { + ClickView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ClickView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -290297,12 +297125,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CombinedAudience.decode = function decode(reader, length) { + CombinedAudience.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CombinedAudience(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -290592,12 +297422,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContentCriterionView.decode = function decode(reader, length) { + ContentCriterionView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ContentCriterionView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -291085,12 +297917,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionAction.decode = function decode(reader, length) { + ConversionAction.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionAction(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -292155,12 +298989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AttributionModelSettings.decode = function decode(reader, length) { + AttributionModelSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionAction.AttributionModelSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.attribution_model = reader.int32(); @@ -292507,12 +299343,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueSettings.decode = function decode(reader, length) { + ValueSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionAction.ValueSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.default_value = reader.double(); @@ -292766,12 +299604,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ThirdPartyAppAnalyticsSettings.decode = function decode(reader, length) { + ThirdPartyAppAnalyticsSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionAction.ThirdPartyAppAnalyticsSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.event_name = reader.string(); @@ -293034,12 +299874,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FirebaseSettings.decode = function decode(reader, length) { + FirebaseSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionAction.FirebaseSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.event_name = reader.string(); @@ -293319,12 +300161,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAnalytics4Settings.decode = function decode(reader, length) { + GoogleAnalytics4Settings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionAction.GoogleAnalytics4Settings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.event_name = reader.string(); @@ -293619,12 +300463,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionCustomVariable.decode = function decode(reader, length) { + ConversionCustomVariable.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionCustomVariable(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -293964,12 +300810,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionGoalCampaignConfig.decode = function decode(reader, length) { + ConversionGoalCampaignConfig.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionGoalCampaignConfig(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -294321,12 +301169,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRule.decode = function decode(reader, length) { + ConversionValueRule.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -294702,12 +301552,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleAction.decode = function decode(reader, length) { + ValueRuleAction.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleAction(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operation = reader.int32(); @@ -294989,12 +301841,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleGeoLocationCondition.decode = function decode(reader, length) { + ValueRuleGeoLocationCondition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleGeoLocationCondition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.excluded_geo_target_constants && message.excluded_geo_target_constants.length)) @@ -295322,12 +302176,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleDeviceCondition.decode = function decode(reader, length) { + ValueRuleDeviceCondition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleDeviceCondition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.device_types && message.device_types.length)) @@ -295593,12 +302449,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleAudienceCondition.decode = function decode(reader, length) { + ValueRuleAudienceCondition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleAudienceCondition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.user_lists && message.user_lists.length)) @@ -295859,12 +302717,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleItineraryCondition.decode = function decode(reader, length) { + ValueRuleItineraryCondition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleItineraryCondition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.advance_booking_window = $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleItineraryAdvanceBookingWindow.decode(reader, reader.uint32()); @@ -296128,12 +302988,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleItineraryAdvanceBookingWindow.decode = function decode(reader, length) { + ValueRuleItineraryAdvanceBookingWindow.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleItineraryAdvanceBookingWindow(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.min_days = reader.int32(); @@ -296362,12 +303224,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleItineraryTravelLength.decode = function decode(reader, length) { + ValueRuleItineraryTravelLength.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleItineraryTravelLength(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.min_nights = reader.int32(); @@ -296644,12 +303508,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueRuleItineraryTravelStartDay.decode = function decode(reader, length) { + ValueRuleItineraryTravelStartDay.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRule.ValueRuleItineraryTravelStartDay(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.monday = reader.bool(); @@ -297023,12 +303889,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleSet.decode = function decode(reader, length) { + ConversionValueRuleSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionValueRuleSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -297693,12 +304561,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CurrencyConstant.decode = function decode(reader, length) { + CurrencyConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CurrencyConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -298039,12 +304909,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudience.decode = function decode(reader, length) { + CustomAudience.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomAudience(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -298475,12 +305347,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceMember.decode = function decode(reader, length) { + CustomAudienceMember.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomAudienceMember(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.member_type = reader.int32(); @@ -298844,12 +305718,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomConversionGoal.decode = function decode(reader, length) { + CustomConversionGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomConversionGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -299243,12 +306119,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterest.decode = function decode(reader, length) { + CustomInterest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomInterest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -299640,12 +306518,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterestMember.decode = function decode(reader, length) { + CustomInterestMember.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomInterestMember(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.member_type = reader.int32(); @@ -300251,12 +307131,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Customer.decode = function decode(reader, length) { + Customer.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Customer(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -301029,12 +307911,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallReportingSetting.decode = function decode(reader, length) { + CallReportingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CallReportingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 10: { message.call_reporting_enabled = reader.bool(); @@ -301338,12 +308222,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionTrackingSetting.decode = function decode(reader, length) { + ConversionTrackingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ConversionTrackingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.conversion_tracking_id = reader.int64(); @@ -301679,12 +308565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemarketingSetting.decode = function decode(reader, length) { + RemarketingSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.RemarketingSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.google_global_site_tag = reader.string(); @@ -301886,12 +308774,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAgreementSetting.decode = function decode(reader, length) { + CustomerAgreementSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerAgreementSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.accepted_lead_form_terms = reader.bool(); @@ -302104,12 +308994,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesSettings.decode = function decode(reader, length) { + LocalServicesSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LocalServicesSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.granular_license_statuses && message.granular_license_statuses.length)) @@ -302401,12 +309293,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GranularLicenseStatus.decode = function decode(reader, length) { + GranularLicenseStatus.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GranularLicenseStatus(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.geo_criterion_id = reader.int64(); @@ -302747,12 +309641,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GranularInsuranceStatus.decode = function decode(reader, length) { + GranularInsuranceStatus.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GranularInsuranceStatus(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.geo_criterion_id = reader.int64(); @@ -303083,12 +309979,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAssetSet.decode = function decode(reader, length) { + CustomerAssetSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerAssetSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -303532,12 +310430,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerClient.decode = function decode(reader, length) { + CustomerClient.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerClient(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -304044,12 +310944,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerClientLink.decode = function decode(reader, length) { + CustomerClientLink.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerClientLink(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -304396,12 +311298,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerConversionGoal.decode = function decode(reader, length) { + CustomerConversionGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerConversionGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -304842,12 +311746,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerCustomizer.decode = function decode(reader, length) { + CustomerCustomizer.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerCustomizer(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -305153,12 +312059,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerLabel.decode = function decode(reader, length) { + CustomerLabel.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerLabel(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -305411,12 +312319,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerLifecycleGoal.decode = function decode(reader, length) { + CustomerLifecycleGoal.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerLifecycleGoal(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -305692,12 +312602,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerManagerLink.decode = function decode(reader, length) { + CustomerManagerLink.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerManagerLink(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -306125,12 +313037,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerNegativeCriterion.decode = function decode(reader, length) { + CustomerNegativeCriterion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerNegativeCriterion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -306814,12 +313728,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerSearchTermInsight.decode = function decode(reader, length) { + CustomerSearchTermInsight.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSearchTermInsight(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -307071,12 +313987,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerSkAdNetworkConversionValueSchema.decode = function decode(reader, length) { + CustomerSkAdNetworkConversionValueSchema.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -307326,12 +314244,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkAdNetworkConversionValueSchema.decode = function decode(reader, length) { + SkAdNetworkConversionValueSchema.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.app_id = reader.string(); @@ -307614,12 +314534,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FineGrainedConversionValueMappings.decode = function decode(reader, length) { + FineGrainedConversionValueMappings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.fine_grained_conversion_value = reader.int32(); @@ -307893,12 +314815,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PostbackMapping.decode = function decode(reader, length) { + PostbackMapping.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.PostbackMapping(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.postback_sequence_index = reader.int32(); @@ -308233,12 +315157,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CoarseGrainedConversionValueMappings.decode = function decode(reader, length) { + CoarseGrainedConversionValueMappings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.CoarseGrainedConversionValueMappings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.low_conversion_value_mapping = $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.ConversionValueMapping.decode(reader, reader.uint32()); @@ -308500,12 +315426,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueMapping.decode = function decode(reader, length) { + ConversionValueMapping.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.ConversionValueMapping(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.min_time_post_install_hours = reader.int64(); @@ -308856,12 +315784,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Event.decode = function decode(reader, length) { + Event.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.Event(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.mapped_event_name = reader.string(); @@ -309171,12 +316101,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RevenueRange.decode = function decode(reader, length) { + RevenueRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.Event.RevenueRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.min_event_revenue = reader.double(); @@ -309398,12 +316330,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EventOccurrenceRange.decode = function decode(reader, length) { + EventOccurrenceRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.SkAdNetworkConversionValueSchema.Event.EventOccurrenceRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.min_event_count = reader.int64(); @@ -309727,12 +316661,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerUserAccess.decode = function decode(reader, length) { + CustomerUserAccess.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerUserAccess(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -310112,12 +317048,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerUserAccessInvitation.decode = function decode(reader, length) { + CustomerUserAccessInvitation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomerUserAccessInvitation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -310507,12 +317445,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerAttribute.decode = function decode(reader, length) { + CustomizerAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomizerAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -310922,12 +317862,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataLink.decode = function decode(reader, length) { + DataLink.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DataLink(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -311324,12 +318266,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YoutubeVideoIdentifier.decode = function decode(reader, length) { + YoutubeVideoIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.YoutubeVideoIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.channel_id = reader.string(); @@ -311629,12 +318573,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DetailPlacementView.decode = function decode(reader, length) { + DetailPlacementView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DetailPlacementView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -312016,12 +318962,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DetailedDemographic.decode = function decode(reader, length) { + DetailedDemographic.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DetailedDemographic(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -312314,12 +319262,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DisplayKeywordView.decode = function decode(reader, length) { + DisplayKeywordView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DisplayKeywordView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -312548,12 +319498,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DistanceView.decode = function decode(reader, length) { + DistanceView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DistanceView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -313074,12 +320026,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DomainCategory.decode = function decode(reader, length) { + DomainCategory.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DomainCategory(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -313548,12 +320502,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicSearchAdsSearchTermView.decode = function decode(reader, length) { + DynamicSearchAdsSearchTermView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DynamicSearchAdsSearchTermView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -313884,12 +320840,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExpandedLandingPageView.decode = function decode(reader, length) { + ExpandedLandingPageView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ExpandedLandingPageView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -314271,12 +321229,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Experiment.decode = function decode(reader, length) { + Experiment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Experiment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -314907,12 +321867,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentArm.decode = function decode(reader, length) { + ExperimentArm.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ExperimentArm(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -315227,12 +322189,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenderView.decode = function decode(reader, length) { + GenderView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GenderView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -315546,12 +322510,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargetConstant.decode = function decode(reader, length) { + GeoTargetConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GeoTargetConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -315929,12 +322895,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeographicView.decode = function decode(reader, length) { + GeographicView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GeographicView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -316393,12 +323361,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsField.decode = function decode(reader, length) { + GoogleAdsField.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GoogleAdsField(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -317028,12 +323998,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GroupPlacementView.decode = function decode(reader, length) { + GroupPlacementView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GroupPlacementView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -317342,12 +324314,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelGroupView.decode = function decode(reader, length) { + HotelGroupView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.HotelGroupView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -317545,12 +324519,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelPerformanceView.decode = function decode(reader, length) { + HotelPerformanceView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.HotelPerformanceView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -317858,12 +324834,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelReconciliation.decode = function decode(reader, length) { + HotelReconciliation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.HotelReconciliation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -318249,12 +325227,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IncomeRangeView.decode = function decode(reader, length) { + IncomeRangeView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.IncomeRangeView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -318837,12 +325817,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Invoice.decode = function decode(reader, length) { + Invoice.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Invoice(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -319958,12 +326940,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountSummary.decode = function decode(reader, length) { + AccountSummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Invoice.AccountSummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer = reader.string(); @@ -320853,12 +327837,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetSummary.decode = function decode(reader, length) { + AccountBudgetSummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Invoice.AccountBudgetSummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 10: { message.customer = reader.string(); @@ -321450,12 +328436,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InvalidActivitySummary.decode = function decode(reader, length) { + InvalidActivitySummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Invoice.InvalidActivitySummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.original_month_of_service = reader.int32(); @@ -321877,12 +328865,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlan.decode = function decode(reader, length) { + KeywordPlan.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlan(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -322166,12 +329156,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanForecastPeriod.decode = function decode(reader, length) { + KeywordPlanForecastPeriod.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlanForecastPeriod(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.date_interval = reader.int32(); @@ -322502,12 +329494,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAdGroup.decode = function decode(reader, length) { + KeywordPlanAdGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlanAdGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -322889,12 +329883,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAdGroupKeyword.decode = function decode(reader, length) { + KeywordPlanAdGroupKeyword.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlanAdGroupKeyword(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -323348,12 +330344,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCampaign.decode = function decode(reader, length) { + KeywordPlanCampaign.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlanCampaign(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -323746,12 +330744,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanGeoTarget.decode = function decode(reader, length) { + KeywordPlanGeoTarget.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlanGeoTarget(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.geo_target_constant = reader.string(); @@ -324035,12 +331035,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCampaignKeyword.decode = function decode(reader, length) { + KeywordPlanCampaignKeyword.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordPlanCampaignKeyword(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -324414,12 +331416,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordThemeConstant.decode = function decode(reader, length) { + KeywordThemeConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordThemeConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -324666,12 +331670,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordView.decode = function decode(reader, length) { + KeywordView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.KeywordView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -324928,12 +331934,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Label.decode = function decode(reader, length) { + Label.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Label(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -325253,12 +332261,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LandingPageView.decode = function decode(reader, length) { + LandingPageView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LandingPageView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -325544,12 +332554,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LanguageConstant.decode = function decode(reader, length) { + LanguageConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LanguageConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -325925,12 +332937,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormSubmissionData.decode = function decode(reader, length) { + LeadFormSubmissionData.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LeadFormSubmissionData(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -326288,12 +333302,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormSubmissionField.decode = function decode(reader, length) { + LeadFormSubmissionField.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LeadFormSubmissionField(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.field_type = reader.int32(); @@ -327114,12 +334130,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomLeadFormSubmissionField.decode = function decode(reader, length) { + CustomLeadFormSubmissionField.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CustomLeadFormSubmissionField(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.question_text = reader.string(); @@ -327387,12 +334405,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LifeEvent.decode = function decode(reader, length) { + LifeEvent.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LifeEvent(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -327922,12 +334942,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesEmployee.decode = function decode(reader, length) { + LocalServicesEmployee.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LocalServicesEmployee(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -328549,12 +335571,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UniversityDegree.decode = function decode(reader, length) { + UniversityDegree.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.UniversityDegree(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.institution_name = reader.string(); @@ -328814,12 +335838,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Residency.decode = function decode(reader, length) { + Residency.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Residency(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.institution_name = reader.string(); @@ -329063,12 +336089,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Fellowship.decode = function decode(reader, length) { + Fellowship.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Fellowship(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.institution_name = reader.string(); @@ -329219,6 +336247,7 @@ * @property {google.ads.googleads.v19.resources.INote|null} [note] LocalServicesLead note * @property {boolean|null} [lead_charged] LocalServicesLead lead_charged * @property {google.ads.googleads.v19.resources.ICreditDetails|null} [credit_details] LocalServicesLead credit_details + * @property {boolean|null} [lead_feedback_submitted] LocalServicesLead lead_feedback_submitted */ /** @@ -329332,6 +336361,14 @@ */ LocalServicesLead.prototype.credit_details = null; + /** + * LocalServicesLead lead_feedback_submitted. + * @member {boolean} lead_feedback_submitted + * @memberof google.ads.googleads.v19.resources.LocalServicesLead + * @instance + */ + LocalServicesLead.prototype.lead_feedback_submitted = false; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -329395,6 +336432,8 @@ writer.uint32(/* id 11, wireType 0 =*/88).bool(message.lead_charged); if (message.credit_details != null && Object.hasOwnProperty.call(message, "credit_details")) $root.google.ads.googleads.v19.resources.CreditDetails.encode(message.credit_details, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.lead_feedback_submitted != null && Object.hasOwnProperty.call(message, "lead_feedback_submitted")) + writer.uint32(/* id 13, wireType 0 =*/104).bool(message.lead_feedback_submitted); return writer; }; @@ -329422,12 +336461,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesLead.decode = function decode(reader, length) { + LocalServicesLead.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LocalServicesLead(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -329477,6 +336518,10 @@ message.credit_details = $root.google.ads.googleads.v19.resources.CreditDetails.decode(reader, reader.uint32()); break; } + case 13: { + message.lead_feedback_submitted = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -329582,6 +336627,9 @@ return "credit_details." + error; } } + if (message.lead_feedback_submitted != null && message.hasOwnProperty("lead_feedback_submitted")) + if (typeof message.lead_feedback_submitted !== "boolean") + return "lead_feedback_submitted: boolean expected"; return null; }; @@ -329709,6 +336757,8 @@ throw TypeError(".google.ads.googleads.v19.resources.LocalServicesLead.credit_details: object expected"); message.credit_details = $root.google.ads.googleads.v19.resources.CreditDetails.fromObject(object.credit_details); } + if (object.lead_feedback_submitted != null) + message.lead_feedback_submitted = Boolean(object.lead_feedback_submitted); return message; }; @@ -329740,6 +336790,7 @@ object.creation_date_time = ""; object.locale = ""; object.lead_charged = false; + object.lead_feedback_submitted = false; } if (message.resource_name != null && message.hasOwnProperty("resource_name")) object.resource_name = message.resource_name; @@ -329774,6 +336825,8 @@ if (options.oneofs) object._credit_details = "credit_details"; } + if (message.lead_feedback_submitted != null && message.hasOwnProperty("lead_feedback_submitted")) + object.lead_feedback_submitted = message.lead_feedback_submitted; return object; }; @@ -329913,12 +336966,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContactDetails.decode = function decode(reader, length) { + ContactDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ContactDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.phone_number = reader.string(); @@ -330152,12 +337207,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Note.decode = function decode(reader, length) { + Note.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Note(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.edit_date_time = reader.string(); @@ -330379,12 +337436,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreditDetails.decode = function decode(reader, length) { + CreditDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.CreditDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.credit_state = reader.int32(); @@ -330716,12 +337775,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesLeadConversation.decode = function decode(reader, length) { + LocalServicesLeadConversation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LocalServicesLeadConversation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -331133,12 +338194,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhoneCallDetails.decode = function decode(reader, length) { + PhoneCallDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.PhoneCallDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.call_duration_millis = reader.int64(); @@ -331376,12 +338439,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageDetails.decode = function decode(reader, length) { + MessageDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MessageDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.text = reader.string(); @@ -331714,12 +338779,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalServicesVerificationArtifact.decode = function decode(reader, length) { + LocalServicesVerificationArtifact.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LocalServicesVerificationArtifact(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -332184,12 +339251,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackgroundCheckVerificationArtifact.decode = function decode(reader, length) { + BackgroundCheckVerificationArtifact.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BackgroundCheckVerificationArtifact(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.case_url = reader.string(); @@ -332467,12 +339536,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsuranceVerificationArtifact.decode = function decode(reader, length) { + InsuranceVerificationArtifact.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.InsuranceVerificationArtifact(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.amount_micros = reader.int64(); @@ -332938,12 +340009,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LicenseVerificationArtifact.decode = function decode(reader, length) { + LicenseVerificationArtifact.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LicenseVerificationArtifact(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.license_type = reader.string(); @@ -333377,12 +340450,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessRegistrationCheckVerificationArtifact.decode = function decode(reader, length) { + BusinessRegistrationCheckVerificationArtifact.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BusinessRegistrationCheckVerificationArtifact(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.registration_type = reader.int32(); @@ -333764,12 +340839,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessRegistrationNumber.decode = function decode(reader, length) { + BusinessRegistrationNumber.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BusinessRegistrationNumber(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.number = reader.string(); @@ -333980,12 +341057,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessRegistrationDocument.decode = function decode(reader, length) { + BusinessRegistrationDocument.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.BusinessRegistrationDocument(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.document_readonly = $root.google.ads.googleads.v19.common.LocalServicesDocumentReadOnly.decode(reader, reader.uint32()); @@ -334193,12 +341272,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationView.decode = function decode(reader, length) { + LocationView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.LocationView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -334396,12 +341477,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManagedPlacementView.decode = function decode(reader, length) { + ManagedPlacementView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ManagedPlacementView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -334747,12 +341830,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaFile.decode = function decode(reader, length) { + MediaFile.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MediaFile(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -335325,12 +342410,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaImage.decode = function decode(reader, length) { + MediaImage.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MediaImage(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.data = reader.bytes(); @@ -335593,12 +342680,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaBundle.decode = function decode(reader, length) { + MediaBundle.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MediaBundle(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.data = reader.bytes(); @@ -335828,12 +342917,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaAudio.decode = function decode(reader, length) { + MediaAudio.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MediaAudio(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.ad_duration_millis = reader.int64(); @@ -336105,12 +343196,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MediaVideo.decode = function decode(reader, length) { + MediaVideo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MediaVideo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.ad_duration_millis = reader.int64(); @@ -336407,12 +343500,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileAppCategoryConstant.decode = function decode(reader, length) { + MobileAppCategoryConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MobileAppCategoryConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -336725,12 +343820,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MobileDeviceConstant.decode = function decode(reader, length) { + MobileDeviceConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MobileDeviceConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -337172,12 +344269,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineConversionUploadClientSummary.decode = function decode(reader, length) { + OfflineConversionUploadClientSummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineConversionUploadClientSummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -337740,12 +344839,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineConversionSummary.decode = function decode(reader, length) { + OfflineConversionSummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineConversionSummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.successful_count = reader.int64(); @@ -338066,12 +345167,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineConversionAlert.decode = function decode(reader, length) { + OfflineConversionAlert.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineConversionAlert(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.error = $root.google.ads.googleads.v19.resources.OfflineConversionError.decode(reader, reader.uint32()); @@ -338400,12 +345503,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineConversionError.decode = function decode(reader, length) { + OfflineConversionError.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineConversionError(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.collection_size_error = reader.int32(); @@ -339616,12 +346721,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineConversionUploadConversionActionSummary.decode = function decode(reader, length) { + OfflineConversionUploadConversionActionSummary.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineConversionUploadConversionActionSummary(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -340254,12 +347361,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJob.decode = function decode(reader, length) { + OfflineUserDataJob.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineUserDataJob(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -340732,12 +347841,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobMetadata.decode = function decode(reader, length) { + OfflineUserDataJobMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OfflineUserDataJobMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.match_rate_range = reader.int32(); @@ -341081,12 +348192,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperatingSystemVersionConstant.decode = function decode(reader, length) { + OperatingSystemVersionConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.OperatingSystemVersionConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -341421,12 +348534,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PaidOrganicSearchTermView.decode = function decode(reader, length) { + PaidOrganicSearchTermView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.PaidOrganicSearchTermView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -341641,12 +348756,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ParentalStatusView.decode = function decode(reader, length) { + ParentalStatusView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ParentalStatusView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -341949,12 +349066,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PaymentsAccount.decode = function decode(reader, length) { + PaymentsAccount.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.PaymentsAccount(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -342260,12 +349379,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PerStoreView.decode = function decode(reader, length) { + PerStoreView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.PerStoreView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -342541,12 +349662,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PerformanceMaxPlacementView.decode = function decode(reader, length) { + PerformanceMaxPlacementView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.PerformanceMaxPlacementView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -342921,12 +350044,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCategoryConstant.decode = function decode(reader, length) { + ProductCategoryConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ProductCategoryConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -343316,12 +350441,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductCategoryLocalization.decode = function decode(reader, length) { + ProductCategoryLocalization.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ProductCategoryConstant.ProductCategoryLocalization(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.region_code = reader.string(); @@ -343547,12 +350674,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductGroupView.decode = function decode(reader, length) { + ProductGroupView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ProductGroupView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -343836,12 +350965,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLink.decode = function decode(reader, length) { + ProductLink.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ProductLink(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -344226,12 +351357,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataPartnerIdentifier.decode = function decode(reader, length) { + DataPartnerIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.DataPartnerIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.data_partner_id = reader.int64(); @@ -344452,12 +351585,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsIdentifier.decode = function decode(reader, length) { + GoogleAdsIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.GoogleAdsIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer = reader.string(); @@ -344668,12 +351803,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MerchantCenterIdentifier.decode = function decode(reader, length) { + MerchantCenterIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MerchantCenterIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant_center_id = reader.int64(); @@ -344894,12 +352031,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdvertisingPartnerIdentifier.decode = function decode(reader, length) { + AdvertisingPartnerIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdvertisingPartnerIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer = reader.string(); @@ -345181,12 +352320,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductLinkInvitation.decode = function decode(reader, length) { + ProductLinkInvitation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ProductLinkInvitation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -345599,12 +352740,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelCenterLinkInvitationIdentifier.decode = function decode(reader, length) { + HotelCenterLinkInvitationIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.HotelCenterLinkInvitationIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.hotel_center_id = reader.int64(); @@ -345816,12 +352959,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MerchantCenterLinkInvitationIdentifier.decode = function decode(reader, length) { + MerchantCenterLinkInvitationIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.MerchantCenterLinkInvitationIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant_center_id = reader.int64(); @@ -346042,12 +353187,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdvertisingPartnerLinkInvitationIdentifier.decode = function decode(reader, length) { + AdvertisingPartnerLinkInvitationIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.AdvertisingPartnerLinkInvitationIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer = reader.string(); @@ -346282,12 +353429,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QualifyingQuestion.decode = function decode(reader, length) { + QualifyingQuestion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.QualifyingQuestion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -347247,12 +354396,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Recommendation.decode = function decode(reader, length) { + Recommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -349174,12 +356325,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MerchantInfo.decode = function decode(reader, length) { + MerchantInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.id = reader.int64(); @@ -349427,12 +356580,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationImpact.decode = function decode(reader, length) { + RecommendationImpact.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.RecommendationImpact(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.base_metrics = $root.google.ads.googleads.v19.resources.Recommendation.RecommendationMetrics.decode(reader, reader.uint32()); @@ -349747,12 +356902,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationMetrics.decode = function decode(reader, length) { + RecommendationMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.RecommendationMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.impressions = reader.double(); @@ -350083,12 +357240,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudgetRecommendation.decode = function decode(reader, length) { + CampaignBudgetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.CampaignBudgetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.current_budget_amount_micros = reader.int64(); @@ -350375,12 +357534,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudgetRecommendationOption.decode = function decode(reader, length) { + CampaignBudgetRecommendationOption.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.CampaignBudgetRecommendation.CampaignBudgetRecommendationOption(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.budget_amount_micros = reader.int64(); @@ -350646,12 +357807,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordRecommendation.decode = function decode(reader, length) { + KeywordRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.KeywordRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.keyword = $root.google.ads.googleads.v19.common.KeywordInfo.decode(reader, reader.uint32()); @@ -350921,12 +358084,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchTerm.decode = function decode(reader, length) { + SearchTerm.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.KeywordRecommendation.SearchTerm(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.text = reader.string(); @@ -351191,12 +358356,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAdRecommendation.decode = function decode(reader, length) { + TextAdRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.TextAdRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -351454,12 +358621,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpaOptInRecommendation.decode = function decode(reader, length) { + TargetCpaOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.TargetCpaOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.options && message.options.length)) @@ -351748,12 +358917,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpaOptInRecommendationOption.decode = function decode(reader, length) { + TargetCpaOptInRecommendationOption.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.TargetCpaOptInRecommendation.TargetCpaOptInRecommendationOption(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.goal = reader.int32(); @@ -352073,12 +359244,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversionsOptInRecommendation.decode = function decode(reader, length) { + MaximizeConversionsOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.MaximizeConversionsOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.recommended_budget_amount_micros = reader.int64(); @@ -352279,12 +359452,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnhancedCpcOptInRecommendation.decode = function decode(reader, length) { + EnhancedCpcOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.EnhancedCpcOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -352454,12 +359629,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchPartnersOptInRecommendation.decode = function decode(reader, length) { + SearchPartnersOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.SearchPartnersOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -352649,12 +359826,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeClicksOptInRecommendation.decode = function decode(reader, length) { + MaximizeClicksOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.MaximizeClicksOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.recommended_budget_amount_micros = reader.int64(); @@ -352855,12 +360034,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OptimizeAdRotationRecommendation.decode = function decode(reader, length) { + OptimizeAdRotationRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.OptimizeAdRotationRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -353056,12 +360237,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CalloutAssetRecommendation.decode = function decode(reader, length) { + CalloutAssetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.CalloutAssetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.recommended_campaign_callout_assets && message.recommended_campaign_callout_assets.length)) @@ -353325,12 +360508,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SitelinkAssetRecommendation.decode = function decode(reader, length) { + SitelinkAssetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.SitelinkAssetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.recommended_campaign_sitelink_assets && message.recommended_campaign_sitelink_assets.length)) @@ -353568,12 +360753,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallAssetRecommendation.decode = function decode(reader, length) { + CallAssetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.CallAssetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -353765,12 +360952,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordMatchTypeRecommendation.decode = function decode(reader, length) { + KeywordMatchTypeRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.KeywordMatchTypeRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.keyword = $root.google.ads.googleads.v19.common.KeywordInfo.decode(reader, reader.uint32()); @@ -354040,12 +361229,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveUnusedBudgetRecommendation.decode = function decode(reader, length) { + MoveUnusedBudgetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.MoveUnusedBudgetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.excess_campaign_budget = reader.string(); @@ -354291,12 +361482,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRoasOptInRecommendation.decode = function decode(reader, length) { + TargetRoasOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.TargetRoasOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.recommended_target_roas = reader.double(); @@ -354535,12 +361728,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdAssetRecommendation.decode = function decode(reader, length) { + ResponsiveSearchAdAssetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ResponsiveSearchAdAssetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.current_ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -354772,12 +361967,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdImproveAdStrengthRecommendation.decode = function decode(reader, length) { + ResponsiveSearchAdImproveAdStrengthRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ResponsiveSearchAdImproveAdStrengthRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.current_ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -354998,12 +362195,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdRecommendation.decode = function decode(reader, length) { + ResponsiveSearchAdRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ResponsiveSearchAdRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -355252,12 +362451,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UseBroadMatchKeywordRecommendation.decode = function decode(reader, length) { + UseBroadMatchKeywordRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.UseBroadMatchKeywordRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.keyword && message.keyword.length)) @@ -355577,12 +362778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation.decode = function decode(reader, length) { + UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant_id = reader.int64(); @@ -355833,12 +363036,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RaiseTargetCpaBidTooLowRecommendation.decode = function decode(reader, length) { + RaiseTargetCpaBidTooLowRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.RaiseTargetCpaBidTooLowRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.recommended_target_multiplier = reader.double(); @@ -356055,12 +363260,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DisplayExpansionOptInRecommendation.decode = function decode(reader, length) { + DisplayExpansionOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.DisplayExpansionOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -356230,12 +363437,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpgradeLocalCampaignToPerformanceMaxRecommendation.decode = function decode(reader, length) { + UpgradeLocalCampaignToPerformanceMaxRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.UpgradeLocalCampaignToPerformanceMaxRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -356427,12 +363636,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ForecastingSetTargetRoasRecommendation.decode = function decode(reader, length) { + ForecastingSetTargetRoasRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ForecastingSetTargetRoasRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.recommended_target_roas = reader.double(); @@ -356681,12 +363892,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingOfferAttributeRecommendation.decode = function decode(reader, length) { + ShoppingOfferAttributeRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ShoppingOfferAttributeRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant = $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo.decode(reader, reader.uint32()); @@ -356987,12 +364200,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingFixDisapprovedProductsRecommendation.decode = function decode(reader, length) { + ShoppingFixDisapprovedProductsRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ShoppingFixDisapprovedProductsRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant = $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo.decode(reader, reader.uint32()); @@ -357282,12 +364497,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingTargetAllOffersRecommendation.decode = function decode(reader, length) { + ShoppingTargetAllOffersRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ShoppingTargetAllOffersRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant = $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo.decode(reader, reader.uint32()); @@ -357551,12 +364768,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingAddProductsToCampaignRecommendation.decode = function decode(reader, length) { + ShoppingAddProductsToCampaignRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ShoppingAddProductsToCampaignRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant = $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo.decode(reader, reader.uint32()); @@ -357834,12 +365053,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingMerchantCenterAccountSuspensionRecommendation.decode = function decode(reader, length) { + ShoppingMerchantCenterAccountSuspensionRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ShoppingMerchantCenterAccountSuspensionRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant = $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo.decode(reader, reader.uint32()); @@ -358066,12 +365287,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation.decode = function decode(reader, length) { + ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.merchant = $root.google.ads.googleads.v19.resources.Recommendation.MerchantInfo.decode(reader, reader.uint32()); @@ -358318,12 +365541,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetAdjustmentInfo.decode = function decode(reader, length) { + TargetAdjustmentInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.TargetAdjustmentInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.shared_set = reader.string(); @@ -358585,12 +365810,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RaiseTargetCpaRecommendation.decode = function decode(reader, length) { + RaiseTargetCpaRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.RaiseTargetCpaRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_adjustment = $root.google.ads.googleads.v19.resources.Recommendation.TargetAdjustmentInfo.decode(reader, reader.uint32()); @@ -358864,12 +366091,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LowerTargetRoasRecommendation.decode = function decode(reader, length) { + LowerTargetRoasRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.LowerTargetRoasRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_adjustment = $root.google.ads.googleads.v19.resources.Recommendation.TargetAdjustmentInfo.decode(reader, reader.uint32()); @@ -359061,12 +366290,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DynamicImageExtensionOptInRecommendation.decode = function decode(reader, length) { + DynamicImageExtensionOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.DynamicImageExtensionOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -359269,12 +366500,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudget.decode = function decode(reader, length) { + CampaignBudget.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.CampaignBudget(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.current_amount_micros = reader.int64(); @@ -359514,12 +366747,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PerformanceMaxOptInRecommendation.decode = function decode(reader, length) { + PerformanceMaxOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.PerformanceMaxOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -359622,6 +366857,7 @@ * @memberof google.ads.googleads.v19.resources.Recommendation * @interface IImprovePerformanceMaxAdStrengthRecommendation * @property {string|null} [asset_group] ImprovePerformanceMaxAdStrengthRecommendation asset_group + * @property {google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength|null} [ad_strength] ImprovePerformanceMaxAdStrengthRecommendation ad_strength */ /** @@ -359647,6 +366883,14 @@ */ ImprovePerformanceMaxAdStrengthRecommendation.prototype.asset_group = ""; + /** + * ImprovePerformanceMaxAdStrengthRecommendation ad_strength. + * @member {google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength} ad_strength + * @memberof google.ads.googleads.v19.resources.Recommendation.ImprovePerformanceMaxAdStrengthRecommendation + * @instance + */ + ImprovePerformanceMaxAdStrengthRecommendation.prototype.ad_strength = 0; + /** * Creates a new ImprovePerformanceMaxAdStrengthRecommendation instance using the specified properties. * @function create @@ -359673,6 +366917,8 @@ writer = $Writer.create(); if (message.asset_group != null && Object.hasOwnProperty.call(message, "asset_group")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.asset_group); + if (message.ad_strength != null && Object.hasOwnProperty.call(message, "ad_strength")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.ad_strength); return writer; }; @@ -359700,17 +366946,23 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImprovePerformanceMaxAdStrengthRecommendation.decode = function decode(reader, length) { + ImprovePerformanceMaxAdStrengthRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ImprovePerformanceMaxAdStrengthRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset_group = reader.string(); break; } + case 2: { + message.ad_strength = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -359749,6 +367001,20 @@ if (message.asset_group != null && message.hasOwnProperty("asset_group")) if (!$util.isString(message.asset_group)) return "asset_group: string expected"; + if (message.ad_strength != null && message.hasOwnProperty("ad_strength")) + switch (message.ad_strength) { + default: + return "ad_strength: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + break; + } return null; }; @@ -359766,6 +367032,46 @@ var message = new $root.google.ads.googleads.v19.resources.Recommendation.ImprovePerformanceMaxAdStrengthRecommendation(); if (object.asset_group != null) message.asset_group = String(object.asset_group); + switch (object.ad_strength) { + default: + if (typeof object.ad_strength === "number") { + message.ad_strength = object.ad_strength; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.ad_strength = 0; + break; + case "UNKNOWN": + case 1: + message.ad_strength = 1; + break; + case "PENDING": + case 2: + message.ad_strength = 2; + break; + case "NO_ADS": + case 3: + message.ad_strength = 3; + break; + case "POOR": + case 4: + message.ad_strength = 4; + break; + case "AVERAGE": + case 5: + message.ad_strength = 5; + break; + case "GOOD": + case 6: + message.ad_strength = 6; + break; + case "EXCELLENT": + case 7: + message.ad_strength = 7; + break; + } return message; }; @@ -359782,10 +367088,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.asset_group = ""; + object.ad_strength = options.enums === String ? "UNSPECIFIED" : 0; + } if (message.asset_group != null && message.hasOwnProperty("asset_group")) object.asset_group = message.asset_group; + if (message.ad_strength != null && message.hasOwnProperty("ad_strength")) + object.ad_strength = options.enums === String ? $root.google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength[message.ad_strength] === undefined ? message.ad_strength : $root.google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength[message.ad_strength] : message.ad_strength; return object; }; @@ -359903,12 +367213,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation.decode = function decode(reader, length) { + MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.apply_link = reader.string(); @@ -360117,12 +367429,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ForecastingSetTargetCpaRecommendation.decode = function decode(reader, length) { + ForecastingSetTargetCpaRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ForecastingSetTargetCpaRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.recommended_target_cpa_micros = reader.int64(); @@ -360341,12 +367655,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversionValueOptInRecommendation.decode = function decode(reader, length) { + MaximizeConversionValueOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.MaximizeConversionValueOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -360516,12 +367832,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImproveGoogleTagCoverageRecommendation.decode = function decode(reader, length) { + ImproveGoogleTagCoverageRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ImproveGoogleTagCoverageRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -360691,12 +368009,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PerformanceMaxFinalUrlOptInRecommendation.decode = function decode(reader, length) { + PerformanceMaxFinalUrlOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.PerformanceMaxFinalUrlOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -360934,12 +368254,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RefreshCustomerMatchListRecommendation.decode = function decode(reader, length) { + RefreshCustomerMatchListRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.RefreshCustomerMatchListRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.user_list_id = reader.int64(); @@ -361276,12 +368598,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountInfo.decode = function decode(reader, length) { + AccountInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.AccountInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.int64(); @@ -361508,12 +368832,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceOptInRecommendation.decode = function decode(reader, length) { + CustomAudienceOptInRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.CustomAudienceOptInRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.keywords && message.keywords.length)) @@ -361719,12 +369045,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormAssetRecommendation.decode = function decode(reader, length) { + LeadFormAssetRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.LeadFormAssetRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -361929,12 +369257,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImproveDemandGenAdStrengthRecommendation.decode = function decode(reader, length) { + ImproveDemandGenAdStrengthRecommendation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Recommendation.ImproveDemandGenAdStrengthRecommendation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad = reader.string(); @@ -362289,12 +369619,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationSubscription.decode = function decode(reader, length) { + RecommendationSubscription.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.RecommendationSubscription(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -362922,12 +370254,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemarketingAction.decode = function decode(reader, length) { + RemarketingAction.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.RemarketingAction(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -363248,12 +370582,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchTermView.decode = function decode(reader, length) { + SearchTermView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SearchTermView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -363672,12 +371008,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedCriterion.decode = function decode(reader, length) { + SharedCriterion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SharedCriterion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -364409,12 +371747,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedSet.decode = function decode(reader, length) { + SharedSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SharedSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -364800,12 +372140,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingPerformanceView.decode = function decode(reader, length) { + ShoppingPerformanceView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ShoppingPerformanceView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -365540,12 +372882,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShoppingProduct.decode = function decode(reader, length) { + ShoppingProduct.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ShoppingProduct(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -366570,12 +373914,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductIssue.decode = function decode(reader, length) { + ProductIssue.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ShoppingProduct.ProductIssue(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.error_code = reader.string(); @@ -366920,12 +374266,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignSearchTermView.decode = function decode(reader, length) { + SmartCampaignSearchTermView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SmartCampaignSearchTermView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -367250,12 +374598,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignSetting.decode = function decode(reader, length) { + SmartCampaignSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SmartCampaignSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -367593,12 +374943,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhoneNumber.decode = function decode(reader, length) { + PhoneNumber.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SmartCampaignSetting.PhoneNumber(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.phone_number = reader.string(); @@ -367825,12 +375177,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdOptimizedBusinessProfileSetting.decode = function decode(reader, length) { + AdOptimizedBusinessProfileSetting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.SmartCampaignSetting.AdOptimizedBusinessProfileSetting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.include_lead_form = reader.bool(); @@ -368055,12 +375409,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ThirdPartyAppAnalyticsLink.decode = function decode(reader, length) { + ThirdPartyAppAnalyticsLink.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.ThirdPartyAppAnalyticsLink(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -368325,12 +375681,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TopicConstant.decode = function decode(reader, length) { + TopicConstant.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.TopicConstant(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -368598,12 +375956,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TopicView.decode = function decode(reader, length) { + TopicView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.TopicView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -368801,12 +376161,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TravelActivityGroupView.decode = function decode(reader, length) { + TravelActivityGroupView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.TravelActivityGroupView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -369004,12 +376366,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TravelActivityPerformanceView.decode = function decode(reader, length) { + TravelActivityPerformanceView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.TravelActivityPerformanceView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -369302,12 +376666,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserInterest.decode = function decode(reader, length) { + UserInterest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.UserInterest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -370013,12 +377379,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserList.decode = function decode(reader, length) { + UserList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.UserList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -371060,12 +378428,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListCustomerType.decode = function decode(reader, length) { + UserListCustomerType.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.UserListCustomerType(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -371424,12 +378794,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserLocationView.decode = function decode(reader, length) { + UserLocationView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.UserLocationView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -371741,12 +379113,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Video.decode = function decode(reader, length) { + Video.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.Video(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -372019,12 +379393,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebpageView.decode = function decode(reader, length) { + WebpageView.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.resources.WebpageView(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -372324,12 +379700,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAccountBudgetProposalRequest.decode = function decode(reader, length) { + MutateAccountBudgetProposalRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAccountBudgetProposalRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -372593,12 +379971,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountBudgetProposalOperation.decode = function decode(reader, length) { + AccountBudgetProposalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AccountBudgetProposalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -372842,12 +380222,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAccountBudgetProposalResponse.decode = function decode(reader, length) { + MutateAccountBudgetProposalResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAccountBudgetProposalResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.result = $root.google.ads.googleads.v19.services.MutateAccountBudgetProposalResult.decode(reader, reader.uint32()); @@ -373050,12 +380432,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAccountBudgetProposalResult.decode = function decode(reader, length) { + MutateAccountBudgetProposalResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAccountBudgetProposalResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -373365,12 +380749,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateAccountLinkRequest.decode = function decode(reader, length) { + CreateAccountLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateAccountLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -373586,12 +380972,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateAccountLinkResponse.decode = function decode(reader, length) { + CreateAccountLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateAccountLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -373822,12 +381210,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAccountLinkRequest.decode = function decode(reader, length) { + MutateAccountLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAccountLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -374103,12 +381493,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AccountLinkOperation.decode = function decode(reader, length) { + AccountLinkOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AccountLinkOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -374363,12 +381755,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAccountLinkResponse.decode = function decode(reader, length) { + MutateAccountLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAccountLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateAccountLinkResult.decode(reader, reader.uint32()); @@ -374589,12 +381983,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAccountLinkResult.decode = function decode(reader, length) { + MutateAccountLinkResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAccountLinkResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -374895,12 +382291,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAdLabelsRequest.decode = function decode(reader, length) { + MutateAdGroupAdLabelsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAdLabelsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -375180,12 +382578,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdLabelOperation.decode = function decode(reader, length) { + AdGroupAdLabelOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupAdLabelOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AdGroupAdLabel.decode(reader, reader.uint32()); @@ -375424,12 +382824,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAdLabelsResponse.decode = function decode(reader, length) { + MutateAdGroupAdLabelsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAdLabelsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -375664,12 +383066,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAdLabelResult.decode = function decode(reader, length) { + MutateAdGroupAdLabelResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAdLabelResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -376014,12 +383418,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAdsRequest.decode = function decode(reader, length) { + MutateAdGroupAdsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAdsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -376368,12 +383774,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAdOperation.decode = function decode(reader, length) { + AdGroupAdOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupAdOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -376672,12 +384080,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAdsResponse.decode = function decode(reader, length) { + MutateAdGroupAdsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAdsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -376923,12 +384333,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAdResult.decode = function decode(reader, length) { + MutateAdGroupAdResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAdResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -377157,12 +384569,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveAutomaticallyCreatedAssetsRequest.decode = function decode(reader, length) { + RemoveAutomaticallyCreatedAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveAutomaticallyCreatedAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_group_ad = reader.string(); @@ -377403,12 +384817,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetsWithFieldType.decode = function decode(reader, length) { + AssetsWithFieldType.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetsWithFieldType(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset = reader.string(); @@ -377491,6 +384907,7 @@ case 28: case 30: case 31: + case 32: break; } return null; @@ -377641,6 +385058,10 @@ case 31: message.asset_field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.asset_field_type = 32; + break; } return message; }; @@ -377897,12 +385318,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAssetsRequest.decode = function decode(reader, length) { + MutateAdGroupAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -378240,12 +385663,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAssetOperation.decode = function decode(reader, length) { + AdGroupAssetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupAssetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -378526,12 +385951,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAssetsResponse.decode = function decode(reader, length) { + MutateAdGroupAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -378777,12 +386204,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAssetResult.decode = function decode(reader, length) { + MutateAdGroupAssetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAssetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -379112,12 +386541,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAssetSetsRequest.decode = function decode(reader, length) { + MutateAdGroupAssetSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAssetSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -379433,12 +386864,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupAssetSetOperation.decode = function decode(reader, length) { + AdGroupAssetSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupAssetSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AdGroupAssetSet.decode(reader, reader.uint32()); @@ -379677,12 +387110,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAssetSetsResponse.decode = function decode(reader, length) { + MutateAdGroupAssetSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAssetSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -379928,12 +387363,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupAssetSetResult.decode = function decode(reader, length) { + MutateAdGroupAssetSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupAssetSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -380263,12 +387700,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupBidModifiersRequest.decode = function decode(reader, length) { + MutateAdGroupBidModifiersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupBidModifiersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -380606,12 +388045,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupBidModifierOperation.decode = function decode(reader, length) { + AdGroupBidModifierOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupBidModifierOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -380892,12 +388333,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupBidModifiersResponse.decode = function decode(reader, length) { + MutateAdGroupBidModifiersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupBidModifiersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -381143,12 +388586,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupBidModifierResult.decode = function decode(reader, length) { + MutateAdGroupBidModifierResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupBidModifierResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -381478,12 +388923,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionCustomizersRequest.decode = function decode(reader, length) { + MutateAdGroupCriterionCustomizersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionCustomizersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -381799,12 +389246,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionCustomizerOperation.decode = function decode(reader, length) { + AdGroupCriterionCustomizerOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupCriterionCustomizerOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AdGroupCriterionCustomizer.decode(reader, reader.uint32()); @@ -382043,12 +389492,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionCustomizersResponse.decode = function decode(reader, length) { + MutateAdGroupCriterionCustomizersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionCustomizersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -382294,12 +389745,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionCustomizerResult.decode = function decode(reader, length) { + MutateAdGroupCriterionCustomizerResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionCustomizerResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -382618,12 +390071,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionLabelsRequest.decode = function decode(reader, length) { + MutateAdGroupCriterionLabelsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionLabelsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -382903,12 +390358,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionLabelOperation.decode = function decode(reader, length) { + AdGroupCriterionLabelOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupCriterionLabelOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AdGroupCriterionLabel.decode(reader, reader.uint32()); @@ -383147,12 +390604,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionLabelsResponse.decode = function decode(reader, length) { + MutateAdGroupCriterionLabelsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionLabelsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -383387,12 +390846,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionLabelResult.decode = function decode(reader, length) { + MutateAdGroupCriterionLabelResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionLabelResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -383704,12 +391165,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriteriaRequest.decode = function decode(reader, length) { + MutateAdGroupCriteriaRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriteriaRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -384060,12 +391523,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCriterionOperation.decode = function decode(reader, length) { + AdGroupCriterionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupCriterionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -384378,12 +391843,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriteriaResponse.decode = function decode(reader, length) { + MutateAdGroupCriteriaResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriteriaResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -384629,12 +392096,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCriterionResult.decode = function decode(reader, length) { + MutateAdGroupCriterionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCriterionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -384964,12 +392433,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCustomizersRequest.decode = function decode(reader, length) { + MutateAdGroupCustomizersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCustomizersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -385285,12 +392756,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupCustomizerOperation.decode = function decode(reader, length) { + AdGroupCustomizerOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupCustomizerOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AdGroupCustomizer.decode(reader, reader.uint32()); @@ -385529,12 +393002,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCustomizersResponse.decode = function decode(reader, length) { + MutateAdGroupCustomizersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCustomizersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -385780,12 +393255,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupCustomizerResult.decode = function decode(reader, length) { + MutateAdGroupCustomizerResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupCustomizerResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -386104,12 +393581,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupLabelsRequest.decode = function decode(reader, length) { + MutateAdGroupLabelsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupLabelsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -386389,12 +393868,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupLabelOperation.decode = function decode(reader, length) { + AdGroupLabelOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupLabelOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AdGroupLabel.decode(reader, reader.uint32()); @@ -386633,12 +394114,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupLabelsResponse.decode = function decode(reader, length) { + MutateAdGroupLabelsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupLabelsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -386873,12 +394356,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupLabelResult.decode = function decode(reader, length) { + MutateAdGroupLabelResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupLabelResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -387190,12 +394675,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupsRequest.decode = function decode(reader, length) { + MutateAdGroupsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -387533,12 +395020,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupOperation.decode = function decode(reader, length) { + AdGroupOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -387819,12 +395308,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupsResponse.decode = function decode(reader, length) { + MutateAdGroupsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -388070,12 +395561,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdGroupResult.decode = function decode(reader, length) { + MutateAdGroupResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdGroupResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -388405,12 +395898,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdParametersRequest.decode = function decode(reader, length) { + MutateAdParametersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdParametersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -388748,12 +396243,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdParameterOperation.decode = function decode(reader, length) { + AdParameterOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdParameterOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -389034,12 +396531,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdParametersResponse.decode = function decode(reader, length) { + MutateAdParametersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdParametersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -389285,12 +396784,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdParameterResult.decode = function decode(reader, length) { + MutateAdParameterResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdParameterResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -389620,12 +397121,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdsRequest.decode = function decode(reader, length) { + MutateAdsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -389952,12 +397455,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdOperation.decode = function decode(reader, length) { + AdOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -390214,12 +397719,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdsResponse.decode = function decode(reader, length) { + MutateAdsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -390465,12 +397972,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAdResult.decode = function decode(reader, length) { + MutateAdResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAdResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -390789,12 +398298,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupAssetsRequest.decode = function decode(reader, length) { + MutateAssetGroupAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -391096,12 +398607,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupAssetOperation.decode = function decode(reader, length) { + AssetGroupAssetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetGroupAssetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -391382,12 +398895,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupAssetsResponse.decode = function decode(reader, length) { + MutateAssetGroupAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -391622,12 +399137,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupAssetResult.decode = function decode(reader, length) { + MutateAssetGroupAssetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupAssetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -391928,12 +399445,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupListingGroupFiltersRequest.decode = function decode(reader, length) { + MutateAssetGroupListingGroupFiltersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupListingGroupFiltersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -392259,12 +399778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupListingGroupFilterOperation.decode = function decode(reader, length) { + AssetGroupListingGroupFilterOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetGroupListingGroupFilterOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -392534,12 +400055,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupListingGroupFiltersResponse.decode = function decode(reader, length) { + MutateAssetGroupListingGroupFiltersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupListingGroupFiltersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -392767,12 +400290,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupListingGroupFilterResult.decode = function decode(reader, length) { + MutateAssetGroupListingGroupFilterResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupListingGroupFilterResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -393080,12 +400605,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupsRequest.decode = function decode(reader, length) { + MutateAssetGroupsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -393375,12 +400902,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupOperation.decode = function decode(reader, length) { + AssetGroupOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetGroupOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -393661,12 +401190,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupsResponse.decode = function decode(reader, length) { + MutateAssetGroupsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -393901,12 +401432,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupResult.decode = function decode(reader, length) { + MutateAssetGroupResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -394218,12 +401751,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupSignalsRequest.decode = function decode(reader, length) { + MutateAssetGroupSignalsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupSignalsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -394552,12 +402087,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupSignalOperation.decode = function decode(reader, length) { + AssetGroupSignalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetGroupSignalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { if (!(message.exempt_policy_violation_keys && message.exempt_policy_violation_keys.length)) @@ -394828,12 +402365,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupSignalsResponse.decode = function decode(reader, length) { + MutateAssetGroupSignalsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupSignalsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -395079,12 +402618,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetGroupSignalResult.decode = function decode(reader, length) { + MutateAssetGroupSignalResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetGroupSignalResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -395414,12 +402955,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetsRequest.decode = function decode(reader, length) { + MutateAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -395746,12 +403289,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetOperation.decode = function decode(reader, length) { + AssetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -396014,12 +403559,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetsResponse.decode = function decode(reader, length) { + MutateAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -396265,12 +403812,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetResult.decode = function decode(reader, length) { + MutateAssetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -396600,12 +404149,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetSetAssetsRequest.decode = function decode(reader, length) { + MutateAssetSetAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetSetAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -396921,12 +404472,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetAssetOperation.decode = function decode(reader, length) { + AssetSetAssetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetSetAssetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.AssetSetAsset.decode(reader, reader.uint32()); @@ -397165,12 +404718,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetSetAssetsResponse.decode = function decode(reader, length) { + MutateAssetSetAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetSetAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -397416,12 +404971,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetSetAssetResult.decode = function decode(reader, length) { + MutateAssetSetAssetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetSetAssetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -397751,12 +405308,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetSetsRequest.decode = function decode(reader, length) { + MutateAssetSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -398094,12 +405653,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetSetOperation.decode = function decode(reader, length) { + AssetSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -398380,12 +405941,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetSetsResponse.decode = function decode(reader, length) { + MutateAssetSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -398631,12 +406194,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAssetSetResult.decode = function decode(reader, length) { + MutateAssetSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAssetSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -399151,12 +406716,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateInsightsFinderReportRequest.decode = function decode(reader, length) { + GenerateInsightsFinderReportRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateInsightsFinderReportRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -399401,12 +406968,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateInsightsFinderReportResponse.decode = function decode(reader, length) { + GenerateInsightsFinderReportResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateInsightsFinderReportResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.saved_report_url = reader.string(); @@ -399664,12 +407233,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateAudienceCompositionInsightsRequest.decode = function decode(reader, length) { + GenerateAudienceCompositionInsightsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateAudienceCompositionInsightsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -400044,12 +407615,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateAudienceCompositionInsightsResponse.decode = function decode(reader, length) { + GenerateAudienceCompositionInsightsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateAudienceCompositionInsightsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.sections && message.sections.length)) @@ -400313,12 +407886,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateSuggestedTargetingInsightsRequest.decode = function decode(reader, length) { + GenerateSuggestedTargetingInsightsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateSuggestedTargetingInsightsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -400578,12 +408153,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateSuggestedTargetingInsightsResponse.decode = function decode(reader, length) { + GenerateSuggestedTargetingInsightsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateSuggestedTargetingInsightsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.suggestions && message.suggestions.length)) @@ -400883,12 +408460,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetingSuggestionMetrics.decode = function decode(reader, length) { + TargetingSuggestionMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.TargetingSuggestionMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 9: { if (!(message.locations && message.locations.length)) @@ -401316,12 +408895,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAudienceInsightsAttributesRequest.decode = function decode(reader, length) { + ListAudienceInsightsAttributesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListAudienceInsightsAttributesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -401711,12 +409292,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAudienceInsightsAttributesResponse.decode = function decode(reader, length) { + ListAudienceInsightsAttributesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListAudienceInsightsAttributesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.attributes && message.attributes.length)) @@ -401922,12 +409505,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInsightsEligibleDatesRequest.decode = function decode(reader, length) { + ListInsightsEligibleDatesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListInsightsEligibleDatesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -402121,12 +409706,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInsightsEligibleDatesResponse.decode = function decode(reader, length) { + ListInsightsEligibleDatesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListInsightsEligibleDatesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.data_months && message.data_months.length)) @@ -402405,12 +409992,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateAudienceOverlapInsightsRequest.decode = function decode(reader, length) { + GenerateAudienceOverlapInsightsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateAudienceOverlapInsightsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -402784,12 +410373,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateAudienceOverlapInsightsResponse.decode = function decode(reader, length) { + GenerateAudienceOverlapInsightsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateAudienceOverlapInsightsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.primary_attribute_metadata = $root.google.ads.googleads.v19.common.AudienceInsightsAttributeMetadata.decode(reader, reader.uint32()); @@ -403037,12 +410628,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DimensionOverlapResult.decode = function decode(reader, length) { + DimensionOverlapResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.DimensionOverlapResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.dimension = reader.int32(); @@ -403367,12 +410960,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceOverlapItem.decode = function decode(reader, length) { + AudienceOverlapItem.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceOverlapItem(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.attribute_metadata = $root.google.ads.googleads.v19.common.AudienceInsightsAttributeMetadata.decode(reader, reader.uint32()); @@ -403626,12 +411221,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateTargetingSuggestionMetricsRequest.decode = function decode(reader, length) { + GenerateTargetingSuggestionMetricsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateTargetingSuggestionMetricsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -403876,12 +411473,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateTargetingSuggestionMetricsResponse.decode = function decode(reader, length) { + GenerateTargetingSuggestionMetricsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateTargetingSuggestionMetricsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.suggestions && message.suggestions.length)) @@ -404163,12 +411762,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BasicInsightsAudience.decode = function decode(reader, length) { + BasicInsightsAudience.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BasicInsightsAudience(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.country_location && message.country_location.length)) @@ -404550,12 +412151,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsightsAudienceDefinition.decode = function decode(reader, length) { + InsightsAudienceDefinition.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.InsightsAudienceDefinition(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.audience = $root.google.ads.googleads.v19.services.InsightsAudience.decode(reader, reader.uint32()); @@ -404812,12 +412415,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsightsAudienceDescription.decode = function decode(reader, length) { + InsightsAudienceDescription.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.InsightsAudienceDescription(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.country_locations && message.country_locations.length)) @@ -405178,12 +412783,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsightsAudience.decode = function decode(reader, length) { + InsightsAudience.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.InsightsAudience(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.country_locations && message.country_locations.length)) @@ -405594,12 +413201,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsightsAudienceAttributeGroup.decode = function decode(reader, length) { + InsightsAudienceAttributeGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.InsightsAudienceAttributeGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.attributes && message.attributes.length)) @@ -405842,12 +413451,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceCompositionSection.decode = function decode(reader, length) { + AudienceCompositionSection.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceCompositionSection(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.dimension = reader.int32(); @@ -406217,12 +413828,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceCompositionAttributeCluster.decode = function decode(reader, length) { + AudienceCompositionAttributeCluster.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceCompositionAttributeCluster(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.cluster_display_name = reader.string(); @@ -406503,12 +414116,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceCompositionMetrics.decode = function decode(reader, length) { + AudienceCompositionMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceCompositionMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.baseline_audience_share = reader.double(); @@ -406754,12 +414369,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceCompositionAttribute.decode = function decode(reader, length) { + AudienceCompositionAttribute.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceCompositionAttribute(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.attribute_metadata = $root.google.ads.googleads.v19.common.AudienceInsightsAttributeMetadata.decode(reader, reader.uint32()); @@ -407094,12 +414711,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAudiencesRequest.decode = function decode(reader, length) { + MutateAudiencesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAudiencesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -407403,12 +415022,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAudiencesResponse.decode = function decode(reader, length) { + MutateAudiencesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAudiencesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -407679,12 +415300,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceOperation.decode = function decode(reader, length) { + AudienceOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -407945,12 +415568,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateAudienceResult.decode = function decode(reader, length) { + MutateAudienceResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateAudienceResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -408344,12 +415969,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBatchJobRequest.decode = function decode(reader, length) { + MutateBatchJobRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBatchJobRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -408590,12 +416217,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchJobOperation.decode = function decode(reader, length) { + BatchJobOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BatchJobOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.BatchJob.decode(reader, reader.uint32()); @@ -408821,12 +416450,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBatchJobResponse.decode = function decode(reader, length) { + MutateBatchJobResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBatchJobResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateBatchJobResult.decode(reader, reader.uint32()); @@ -409029,12 +416660,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBatchJobResult.decode = function decode(reader, length) { + MutateBatchJobResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBatchJobResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -409232,12 +416865,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunBatchJobRequest.decode = function decode(reader, length) { + RunBatchJobRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RunBatchJobRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -409459,12 +417094,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddBatchJobOperationsRequest.decode = function decode(reader, length) { + AddBatchJobOperationsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AddBatchJobOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -409718,12 +417355,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddBatchJobOperationsResponse.decode = function decode(reader, length) { + AddBatchJobOperationsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AddBatchJobOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.total_operations = reader.int64(); @@ -409981,12 +417620,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBatchJobResultsRequest.decode = function decode(reader, length) { + ListBatchJobResultsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListBatchJobResultsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -410258,12 +417899,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBatchJobResultsResponse.decode = function decode(reader, length) { + ListBatchJobResultsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListBatchJobResultsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -410515,12 +418158,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchJobResult.decode = function decode(reader, length) { + BatchJobResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BatchJobResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.operation_index = reader.int64(); @@ -410956,12 +418601,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchGoogleAdsRequest.decode = function decode(reader, length) { + SearchGoogleAdsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchGoogleAdsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -411282,12 +418929,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchGoogleAdsResponse.decode = function decode(reader, length) { + SearchGoogleAdsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchGoogleAdsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -411626,12 +419275,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchGoogleAdsStreamRequest.decode = function decode(reader, length) { + SearchGoogleAdsStreamRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchGoogleAdsStreamRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -411934,12 +419585,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchGoogleAdsStreamResponse.decode = function decode(reader, length) { + SearchGoogleAdsStreamResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchGoogleAdsStreamResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -414078,12 +421731,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoogleAdsRow.decode = function decode(reader, length) { + GoogleAdsRow.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GoogleAdsRow(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 42: { message.account_budget = $root.google.ads.googleads.v19.resources.AccountBudget.decode(reader, reader.uint32()); @@ -417189,12 +424844,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateGoogleAdsRequest.decode = function decode(reader, length) { + MutateGoogleAdsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateGoogleAdsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -417498,12 +425155,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateGoogleAdsResponse.decode = function decode(reader, length) { + MutateGoogleAdsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateGoogleAdsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -418423,12 +426082,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateOperation.decode = function decode(reader, length) { + MutateOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 17: { message.ad_group_ad_label_operation = $root.google.ads.googleads.v19.services.AdGroupAdLabelOperation.decode(reader, reader.uint32()); @@ -420785,12 +428446,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateOperationResponse.decode = function decode(reader, length) { + MutateOperationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateOperationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 17: { message.ad_group_ad_label_result = $root.google.ads.googleads.v19.services.MutateAdGroupAdLabelResult.decode(reader, reader.uint32()); @@ -422484,12 +430147,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchSettings.decode = function decode(reader, length) { + SearchSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.omit_results = reader.bool(); @@ -422826,12 +430491,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingDataExclusionsRequest.decode = function decode(reader, length) { + MutateBiddingDataExclusionsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingDataExclusionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -423169,12 +430836,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingDataExclusionOperation.decode = function decode(reader, length) { + BiddingDataExclusionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BiddingDataExclusionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -423455,12 +431124,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingDataExclusionsResponse.decode = function decode(reader, length) { + MutateBiddingDataExclusionsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingDataExclusionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -423706,12 +431377,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingDataExclusionsResult.decode = function decode(reader, length) { + MutateBiddingDataExclusionsResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingDataExclusionsResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -424041,12 +431714,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingSeasonalityAdjustmentsRequest.decode = function decode(reader, length) { + MutateBiddingSeasonalityAdjustmentsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingSeasonalityAdjustmentsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -424384,12 +432059,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingSeasonalityAdjustmentOperation.decode = function decode(reader, length) { + BiddingSeasonalityAdjustmentOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BiddingSeasonalityAdjustmentOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -424670,12 +432347,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingSeasonalityAdjustmentsResponse.decode = function decode(reader, length) { + MutateBiddingSeasonalityAdjustmentsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingSeasonalityAdjustmentsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -424921,12 +432600,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingSeasonalityAdjustmentsResult.decode = function decode(reader, length) { + MutateBiddingSeasonalityAdjustmentsResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingSeasonalityAdjustmentsResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -425256,12 +432937,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingStrategiesRequest.decode = function decode(reader, length) { + MutateBiddingStrategiesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingStrategiesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -425599,12 +433282,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingStrategyOperation.decode = function decode(reader, length) { + BiddingStrategyOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BiddingStrategyOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -425885,12 +433570,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingStrategiesResponse.decode = function decode(reader, length) { + MutateBiddingStrategiesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingStrategiesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -426136,12 +433823,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBiddingStrategyResult.decode = function decode(reader, length) { + MutateBiddingStrategyResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBiddingStrategyResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -426471,12 +434160,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignAssetsRequest.decode = function decode(reader, length) { + MutateCampaignAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -426814,12 +434505,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignAssetOperation.decode = function decode(reader, length) { + CampaignAssetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignAssetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -427100,12 +434793,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignAssetsResponse.decode = function decode(reader, length) { + MutateCampaignAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -427351,12 +435046,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignAssetResult.decode = function decode(reader, length) { + MutateCampaignAssetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignAssetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -427686,12 +435383,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignAssetSetsRequest.decode = function decode(reader, length) { + MutateCampaignAssetSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignAssetSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -428007,12 +435706,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignAssetSetOperation.decode = function decode(reader, length) { + CampaignAssetSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignAssetSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CampaignAssetSet.decode(reader, reader.uint32()); @@ -428251,12 +435952,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignAssetSetsResponse.decode = function decode(reader, length) { + MutateCampaignAssetSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignAssetSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -428502,12 +436205,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignAssetSetResult.decode = function decode(reader, length) { + MutateCampaignAssetSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignAssetSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -428837,12 +436542,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignBidModifiersRequest.decode = function decode(reader, length) { + MutateCampaignBidModifiersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignBidModifiersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -429180,12 +436887,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBidModifierOperation.decode = function decode(reader, length) { + CampaignBidModifierOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignBidModifierOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -429466,12 +437175,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignBidModifiersResponse.decode = function decode(reader, length) { + MutateCampaignBidModifiersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignBidModifiersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -429717,12 +437428,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignBidModifierResult.decode = function decode(reader, length) { + MutateCampaignBidModifierResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignBidModifierResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -430052,12 +437765,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignBudgetsRequest.decode = function decode(reader, length) { + MutateCampaignBudgetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignBudgetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -430395,12 +438110,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudgetOperation.decode = function decode(reader, length) { + CampaignBudgetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignBudgetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -430681,12 +438398,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignBudgetsResponse.decode = function decode(reader, length) { + MutateCampaignBudgetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignBudgetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -430932,12 +438651,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignBudgetResult.decode = function decode(reader, length) { + MutateCampaignBudgetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignBudgetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -431245,12 +438966,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignConversionGoalsRequest.decode = function decode(reader, length) { + MutateCampaignConversionGoalsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignConversionGoalsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -431518,12 +439241,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignConversionGoalOperation.decode = function decode(reader, length) { + CampaignConversionGoalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignConversionGoalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -431751,12 +439476,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignConversionGoalsResponse.decode = function decode(reader, length) { + MutateCampaignConversionGoalsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignConversionGoalsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -431973,12 +439700,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignConversionGoalResult.decode = function decode(reader, length) { + MutateCampaignConversionGoalResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignConversionGoalResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -432290,12 +440019,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignCriteriaRequest.decode = function decode(reader, length) { + MutateCampaignCriteriaRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignCriteriaRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -432633,12 +440364,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCriterionOperation.decode = function decode(reader, length) { + CampaignCriterionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignCriterionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -432919,12 +440652,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignCriteriaResponse.decode = function decode(reader, length) { + MutateCampaignCriteriaResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignCriteriaResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -433170,12 +440905,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignCriterionResult.decode = function decode(reader, length) { + MutateCampaignCriterionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignCriterionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -433505,12 +441242,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignCustomizersRequest.decode = function decode(reader, length) { + MutateCampaignCustomizersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignCustomizersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -433826,12 +441565,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignCustomizerOperation.decode = function decode(reader, length) { + CampaignCustomizerOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignCustomizerOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CampaignCustomizer.decode(reader, reader.uint32()); @@ -434070,12 +441811,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignCustomizersResponse.decode = function decode(reader, length) { + MutateCampaignCustomizersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignCustomizersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -434321,12 +442064,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignCustomizerResult.decode = function decode(reader, length) { + MutateCampaignCustomizerResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignCustomizerResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -434722,12 +442467,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignDraftsRequest.decode = function decode(reader, length) { + MutateCampaignDraftsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignDraftsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -435029,12 +442776,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteCampaignDraftRequest.decode = function decode(reader, length) { + PromoteCampaignDraftRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PromoteCampaignDraftRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.campaign_draft = reader.string(); @@ -435292,12 +443041,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignDraftOperation.decode = function decode(reader, length) { + CampaignDraftOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignDraftOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -435578,12 +443329,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignDraftsResponse.decode = function decode(reader, length) { + MutateCampaignDraftsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignDraftsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -435829,12 +443582,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignDraftResult.decode = function decode(reader, length) { + MutateCampaignDraftResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignDraftResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -436072,12 +443827,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCampaignDraftAsyncErrorsRequest.decode = function decode(reader, length) { + ListCampaignDraftAsyncErrorsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListCampaignDraftAsyncErrorsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -436313,12 +444070,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCampaignDraftAsyncErrorsResponse.decode = function decode(reader, length) { + ListCampaignDraftAsyncErrorsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListCampaignDraftAsyncErrorsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.errors && message.errors.length)) @@ -436662,12 +444421,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignGroupsRequest.decode = function decode(reader, length) { + MutateCampaignGroupsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignGroupsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -437005,12 +444766,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignGroupOperation.decode = function decode(reader, length) { + CampaignGroupOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignGroupOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -437291,12 +445054,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignGroupsResponse.decode = function decode(reader, length) { + MutateCampaignGroupsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignGroupsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.results && message.results.length)) @@ -437542,12 +445307,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignGroupResult.decode = function decode(reader, length) { + MutateCampaignGroupResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignGroupResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -437866,12 +445633,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignLabelsRequest.decode = function decode(reader, length) { + MutateCampaignLabelsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignLabelsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -438151,12 +445920,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignLabelOperation.decode = function decode(reader, length) { + CampaignLabelOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignLabelOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CampaignLabel.decode(reader, reader.uint32()); @@ -438395,12 +446166,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignLabelsResponse.decode = function decode(reader, length) { + MutateCampaignLabelsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignLabelsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -438635,12 +446408,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignLabelResult.decode = function decode(reader, length) { + MutateCampaignLabelResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignLabelResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -438985,12 +446760,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignsRequest.decode = function decode(reader, length) { + MutateCampaignsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -439328,12 +447105,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignOperation.decode = function decode(reader, length) { + CampaignOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -439614,12 +447393,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignsResponse.decode = function decode(reader, length) { + MutateCampaignsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -439865,12 +447646,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignResult.decode = function decode(reader, length) { + MutateCampaignResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -440099,12 +447882,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnablePMaxBrandGuidelinesRequest.decode = function decode(reader, length) { + EnablePMaxBrandGuidelinesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EnablePMaxBrandGuidelinesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -440400,12 +448185,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnableOperation.decode = function decode(reader, length) { + EnableOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EnableOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.campaign = reader.string(); @@ -440707,12 +448494,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandCampaignAssets.decode = function decode(reader, length) { + BrandCampaignAssets.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BrandCampaignAssets(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.business_name_asset = reader.string(); @@ -440966,12 +448755,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnablePMaxBrandGuidelinesResponse.decode = function decode(reader, length) { + EnablePMaxBrandGuidelinesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EnablePMaxBrandGuidelinesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -441199,12 +448990,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnablementResult.decode = function decode(reader, length) { + EnablementResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EnablementResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.campaign = reader.string(); @@ -441534,12 +449327,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignSharedSetsRequest.decode = function decode(reader, length) { + MutateCampaignSharedSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignSharedSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -441855,12 +449650,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignSharedSetOperation.decode = function decode(reader, length) { + CampaignSharedSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignSharedSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CampaignSharedSet.decode(reader, reader.uint32()); @@ -442099,12 +449896,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignSharedSetsResponse.decode = function decode(reader, length) { + MutateCampaignSharedSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignSharedSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -442350,12 +450149,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCampaignSharedSetResult.decode = function decode(reader, length) { + MutateCampaignSharedSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCampaignSharedSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -442685,12 +450486,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionActionsRequest.decode = function decode(reader, length) { + MutateConversionActionsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionActionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -443028,12 +450831,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionActionOperation.decode = function decode(reader, length) { + ConversionActionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionActionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -443314,12 +451119,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionActionsResponse.decode = function decode(reader, length) { + MutateConversionActionsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionActionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -443565,12 +451372,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionActionResult.decode = function decode(reader, length) { + MutateConversionActionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionActionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -443900,12 +451709,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionCustomVariablesRequest.decode = function decode(reader, length) { + MutateConversionCustomVariablesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionCustomVariablesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -444232,12 +452043,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionCustomVariableOperation.decode = function decode(reader, length) { + ConversionCustomVariableOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionCustomVariableOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -444500,12 +452313,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionCustomVariablesResponse.decode = function decode(reader, length) { + MutateConversionCustomVariablesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionCustomVariablesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -444751,12 +452566,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionCustomVariableResult.decode = function decode(reader, length) { + MutateConversionCustomVariableResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionCustomVariableResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -445075,12 +452892,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionGoalCampaignConfigsRequest.decode = function decode(reader, length) { + MutateConversionGoalCampaignConfigsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionGoalCampaignConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -445384,12 +453203,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionGoalCampaignConfigOperation.decode = function decode(reader, length) { + ConversionGoalCampaignConfigOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionGoalCampaignConfigOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -445617,12 +453438,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionGoalCampaignConfigsResponse.decode = function decode(reader, length) { + MutateConversionGoalCampaignConfigsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionGoalCampaignConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -445850,12 +453673,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionGoalCampaignConfigResult.decode = function decode(reader, length) { + MutateConversionGoalCampaignConfigResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionGoalCampaignConfigResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -446185,12 +454010,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionValueRulesRequest.decode = function decode(reader, length) { + MutateConversionValueRulesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionValueRulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -446528,12 +454355,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleOperation.decode = function decode(reader, length) { + ConversionValueRuleOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionValueRuleOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -446814,12 +454643,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionValueRulesResponse.decode = function decode(reader, length) { + MutateConversionValueRulesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionValueRulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.results && message.results.length)) @@ -447065,12 +454896,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionValueRuleResult.decode = function decode(reader, length) { + MutateConversionValueRuleResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionValueRuleResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -447400,12 +455233,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionValueRuleSetsRequest.decode = function decode(reader, length) { + MutateConversionValueRuleSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionValueRuleSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -447743,12 +455578,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionValueRuleSetOperation.decode = function decode(reader, length) { + ConversionValueRuleSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionValueRuleSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -448029,12 +455866,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionValueRuleSetsResponse.decode = function decode(reader, length) { + MutateConversionValueRuleSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionValueRuleSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -448280,12 +456119,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateConversionValueRuleSetResult.decode = function decode(reader, length) { + MutateConversionValueRuleSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateConversionValueRuleSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -448604,12 +456445,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomConversionGoalsRequest.decode = function decode(reader, length) { + MutateCustomConversionGoalsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomConversionGoalsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -448935,12 +456778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomConversionGoalOperation.decode = function decode(reader, length) { + CustomConversionGoalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomConversionGoalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -449210,12 +457055,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomConversionGoalsResponse.decode = function decode(reader, length) { + MutateCustomConversionGoalsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomConversionGoalsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -449443,12 +457290,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomConversionGoalResult.decode = function decode(reader, length) { + MutateCustomConversionGoalResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomConversionGoalResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -449778,12 +457627,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerAssetsRequest.decode = function decode(reader, length) { + MutateCustomerAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -450121,12 +457972,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAssetOperation.decode = function decode(reader, length) { + CustomerAssetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerAssetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -450407,12 +458260,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerAssetsResponse.decode = function decode(reader, length) { + MutateCustomerAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -450658,12 +458513,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerAssetResult.decode = function decode(reader, length) { + MutateCustomerAssetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerAssetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -450971,12 +458828,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerConversionGoalsRequest.decode = function decode(reader, length) { + MutateCustomerConversionGoalsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerConversionGoalsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -451244,12 +459103,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerConversionGoalOperation.decode = function decode(reader, length) { + CustomerConversionGoalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerConversionGoalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -451477,12 +459338,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerConversionGoalsResponse.decode = function decode(reader, length) { + MutateCustomerConversionGoalsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerConversionGoalsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -451699,12 +459562,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerConversionGoalResult.decode = function decode(reader, length) { + MutateCustomerConversionGoalResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerConversionGoalResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -452016,12 +459881,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerCustomizersRequest.decode = function decode(reader, length) { + MutateCustomerCustomizersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerCustomizersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -452337,12 +460204,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerCustomizerOperation.decode = function decode(reader, length) { + CustomerCustomizerOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerCustomizerOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CustomerCustomizer.decode(reader, reader.uint32()); @@ -452581,12 +460450,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerCustomizersResponse.decode = function decode(reader, length) { + MutateCustomerCustomizersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerCustomizersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -452832,12 +460703,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerCustomizerResult.decode = function decode(reader, length) { + MutateCustomerCustomizerResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerCustomizerResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -453156,12 +461029,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerLabelsRequest.decode = function decode(reader, length) { + MutateCustomerLabelsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerLabelsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -453441,12 +461316,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerLabelOperation.decode = function decode(reader, length) { + CustomerLabelOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerLabelOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CustomerLabel.decode(reader, reader.uint32()); @@ -453685,12 +461562,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerLabelsResponse.decode = function decode(reader, length) { + MutateCustomerLabelsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerLabelsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -453925,12 +461804,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerLabelResult.decode = function decode(reader, length) { + MutateCustomerLabelResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerLabelResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -454242,12 +462123,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerNegativeCriteriaRequest.decode = function decode(reader, length) { + MutateCustomerNegativeCriteriaRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerNegativeCriteriaRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -454563,12 +462446,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerNegativeCriterionOperation.decode = function decode(reader, length) { + CustomerNegativeCriterionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerNegativeCriterionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CustomerNegativeCriterion.decode(reader, reader.uint32()); @@ -454807,12 +462692,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerNegativeCriteriaResponse.decode = function decode(reader, length) { + MutateCustomerNegativeCriteriaResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerNegativeCriteriaResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -455058,12 +462945,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerNegativeCriteriaResult.decode = function decode(reader, length) { + MutateCustomerNegativeCriteriaResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerNegativeCriteriaResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -455446,12 +463335,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerRequest.decode = function decode(reader, length) { + MutateCustomerRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -455768,12 +463659,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateCustomerClientRequest.decode = function decode(reader, length) { + CreateCustomerClientRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateCustomerClientRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -456080,12 +463973,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerOperation.decode = function decode(reader, length) { + CustomerOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.update = $root.google.ads.googleads.v19.resources.Customer.decode(reader, reader.uint32()); @@ -456317,12 +464212,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateCustomerClientResponse.decode = function decode(reader, length) { + CreateCustomerClientResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateCustomerClientResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.resource_name = reader.string(); @@ -456533,12 +464430,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerResponse.decode = function decode(reader, length) { + MutateCustomerResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.result = $root.google.ads.googleads.v19.services.MutateCustomerResult.decode(reader, reader.uint32()); @@ -456752,12 +464651,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerResult.decode = function decode(reader, length) { + MutateCustomerResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -456962,12 +464863,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAccessibleCustomersRequest.decode = function decode(reader, length) { + ListAccessibleCustomersRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListAccessibleCustomersRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -457150,12 +465053,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListAccessibleCustomersResponse.decode = function decode(reader, length) { + ListAccessibleCustomersResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListAccessibleCustomersResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.resource_names && message.resource_names.length)) @@ -457481,12 +465386,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomizerAttributesRequest.decode = function decode(reader, length) { + MutateCustomizerAttributesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomizerAttributesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -457813,12 +465720,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomizerAttributeOperation.decode = function decode(reader, length) { + CustomizerAttributeOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomizerAttributeOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -458075,12 +465984,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomizerAttributesResponse.decode = function decode(reader, length) { + MutateCustomizerAttributesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomizerAttributesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -458326,12 +466237,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomizerAttributeResult.decode = function decode(reader, length) { + MutateCustomizerAttributeResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomizerAttributeResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -458661,12 +466574,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateExperimentArmsRequest.decode = function decode(reader, length) { + MutateExperimentArmsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateExperimentArmsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -459004,12 +466919,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentArmOperation.decode = function decode(reader, length) { + ExperimentArmOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ExperimentArmOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -459290,12 +467207,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateExperimentArmsResponse.decode = function decode(reader, length) { + MutateExperimentArmsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateExperimentArmsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -459541,12 +467460,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateExperimentArmResult.decode = function decode(reader, length) { + MutateExperimentArmResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateExperimentArmResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -460030,12 +467951,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateExperimentsRequest.decode = function decode(reader, length) { + MutateExperimentsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateExperimentsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -460337,12 +468260,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentOperation.decode = function decode(reader, length) { + ExperimentOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ExperimentOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -460623,12 +468548,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateExperimentsResponse.decode = function decode(reader, length) { + MutateExperimentsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateExperimentsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -460863,12 +468790,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateExperimentResult.decode = function decode(reader, length) { + MutateExperimentResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateExperimentResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -461077,12 +469006,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EndExperimentRequest.decode = function decode(reader, length) { + EndExperimentRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EndExperimentRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.experiment = reader.string(); @@ -461315,12 +469246,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListExperimentAsyncErrorsRequest.decode = function decode(reader, length) { + ListExperimentAsyncErrorsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListExperimentAsyncErrorsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -461556,12 +469489,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListExperimentAsyncErrorsResponse.decode = function decode(reader, length) { + ListExperimentAsyncErrorsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListExperimentAsyncErrorsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.errors && message.errors.length)) @@ -461815,12 +469750,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GraduateExperimentRequest.decode = function decode(reader, length) { + GraduateExperimentRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GraduateExperimentRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.experiment = reader.string(); @@ -462074,12 +470011,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudgetMapping.decode = function decode(reader, length) { + CampaignBudgetMapping.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignBudgetMapping(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.experiment_campaign = reader.string(); @@ -462301,12 +470240,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ScheduleExperimentRequest.decode = function decode(reader, length) { + ScheduleExperimentRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ScheduleExperimentRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -462517,12 +470458,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ScheduleExperimentMetadata.decode = function decode(reader, length) { + ScheduleExperimentMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ScheduleExperimentMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.experiment = reader.string(); @@ -462731,12 +470674,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteExperimentRequest.decode = function decode(reader, length) { + PromoteExperimentRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PromoteExperimentRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -462947,12 +470892,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PromoteExperimentMetadata.decode = function decode(reader, length) { + PromoteExperimentMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PromoteExperimentMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.experiment = reader.string(); @@ -463253,12 +471200,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanAdGroupKeywordsRequest.decode = function decode(reader, length) { + MutateKeywordPlanAdGroupKeywordsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanAdGroupKeywordsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -463560,12 +471509,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAdGroupKeywordOperation.decode = function decode(reader, length) { + KeywordPlanAdGroupKeywordOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordPlanAdGroupKeywordOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -463846,12 +471797,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanAdGroupKeywordsResponse.decode = function decode(reader, length) { + MutateKeywordPlanAdGroupKeywordsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanAdGroupKeywordsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -464086,12 +472039,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanAdGroupKeywordResult.decode = function decode(reader, length) { + MutateKeywordPlanAdGroupKeywordResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanAdGroupKeywordResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -464392,12 +472347,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanAdGroupsRequest.decode = function decode(reader, length) { + MutateKeywordPlanAdGroupsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanAdGroupsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -464699,12 +472656,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanAdGroupOperation.decode = function decode(reader, length) { + KeywordPlanAdGroupOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordPlanAdGroupOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -464985,12 +472944,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanAdGroupsResponse.decode = function decode(reader, length) { + MutateKeywordPlanAdGroupsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanAdGroupsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -465225,12 +473186,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanAdGroupResult.decode = function decode(reader, length) { + MutateKeywordPlanAdGroupResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanAdGroupResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -465531,12 +473494,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanCampaignKeywordsRequest.decode = function decode(reader, length) { + MutateKeywordPlanCampaignKeywordsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanCampaignKeywordsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -465838,12 +473803,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCampaignKeywordOperation.decode = function decode(reader, length) { + KeywordPlanCampaignKeywordOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordPlanCampaignKeywordOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -466124,12 +474091,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanCampaignKeywordsResponse.decode = function decode(reader, length) { + MutateKeywordPlanCampaignKeywordsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanCampaignKeywordsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -466364,12 +474333,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanCampaignKeywordResult.decode = function decode(reader, length) { + MutateKeywordPlanCampaignKeywordResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanCampaignKeywordResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -466670,12 +474641,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanCampaignsRequest.decode = function decode(reader, length) { + MutateKeywordPlanCampaignsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanCampaignsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -466977,12 +474950,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanCampaignOperation.decode = function decode(reader, length) { + KeywordPlanCampaignOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordPlanCampaignOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -467263,12 +475238,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanCampaignsResponse.decode = function decode(reader, length) { + MutateKeywordPlanCampaignsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanCampaignsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -467503,12 +475480,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlanCampaignResult.decode = function decode(reader, length) { + MutateKeywordPlanCampaignResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlanCampaignResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -467809,12 +475788,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlansRequest.decode = function decode(reader, length) { + MutateKeywordPlansRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlansRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -468116,12 +476097,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordPlanOperation.decode = function decode(reader, length) { + KeywordPlanOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordPlanOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -468402,12 +476385,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlansResponse.decode = function decode(reader, length) { + MutateKeywordPlansResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlansResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -468642,12 +476627,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateKeywordPlansResult.decode = function decode(reader, length) { + MutateKeywordPlansResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateKeywordPlansResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -468959,12 +476946,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateLabelsRequest.decode = function decode(reader, length) { + MutateLabelsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateLabelsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -469302,12 +477291,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LabelOperation.decode = function decode(reader, length) { + LabelOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.LabelOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -469588,12 +477579,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateLabelsResponse.decode = function decode(reader, length) { + MutateLabelsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateLabelsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -469839,12 +477832,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateLabelResult.decode = function decode(reader, length) { + MutateLabelResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateLabelResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -470174,12 +478169,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateRecommendationSubscriptionRequest.decode = function decode(reader, length) { + MutateRecommendationSubscriptionRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateRecommendationSubscriptionRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -470506,12 +478503,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendationSubscriptionOperation.decode = function decode(reader, length) { + RecommendationSubscriptionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RecommendationSubscriptionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -470774,12 +478773,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateRecommendationSubscriptionResponse.decode = function decode(reader, length) { + MutateRecommendationSubscriptionResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateRecommendationSubscriptionResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -471025,12 +479026,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateRecommendationSubscriptionResult.decode = function decode(reader, length) { + MutateRecommendationSubscriptionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateRecommendationSubscriptionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -471349,12 +479352,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateRemarketingActionsRequest.decode = function decode(reader, length) { + MutateRemarketingActionsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateRemarketingActionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -471645,12 +479650,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemarketingActionOperation.decode = function decode(reader, length) { + RemarketingActionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemarketingActionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -471913,12 +479920,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateRemarketingActionsResponse.decode = function decode(reader, length) { + MutateRemarketingActionsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateRemarketingActionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -472153,12 +480162,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateRemarketingActionResult.decode = function decode(reader, length) { + MutateRemarketingActionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateRemarketingActionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -472470,12 +480481,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSharedCriteriaRequest.decode = function decode(reader, length) { + MutateSharedCriteriaRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSharedCriteriaRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -472791,12 +480804,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedCriterionOperation.decode = function decode(reader, length) { + SharedCriterionOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SharedCriterionOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.SharedCriterion.decode(reader, reader.uint32()); @@ -473035,12 +481050,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSharedCriteriaResponse.decode = function decode(reader, length) { + MutateSharedCriteriaResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSharedCriteriaResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -473286,12 +481303,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSharedCriterionResult.decode = function decode(reader, length) { + MutateSharedCriterionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSharedCriterionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -473621,12 +481640,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSharedSetsRequest.decode = function decode(reader, length) { + MutateSharedSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSharedSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -473964,12 +481985,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SharedSetOperation.decode = function decode(reader, length) { + SharedSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SharedSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -474250,12 +482273,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSharedSetsResponse.decode = function decode(reader, length) { + MutateSharedSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSharedSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -474501,12 +482526,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSharedSetResult.decode = function decode(reader, length) { + MutateSharedSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSharedSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -474823,12 +482850,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSmartCampaignStatusRequest.decode = function decode(reader, length) { + GetSmartCampaignStatusRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GetSmartCampaignStatusRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -475035,12 +483064,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignNotEligibleDetails.decode = function decode(reader, length) { + SmartCampaignNotEligibleDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignNotEligibleDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.not_eligible_reason = reader.int32(); @@ -475307,12 +483338,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignEligibleDetails.decode = function decode(reader, length) { + SmartCampaignEligibleDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignEligibleDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.last_impression_date_time = reader.string(); @@ -475539,12 +483572,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignPausedDetails.decode = function decode(reader, length) { + SmartCampaignPausedDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignPausedDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.paused_date_time = reader.string(); @@ -475755,12 +483790,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignRemovedDetails.decode = function decode(reader, length) { + SmartCampaignRemovedDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignRemovedDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.removed_date_time = reader.string(); @@ -475971,12 +484008,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignEndedDetails.decode = function decode(reader, length) { + SmartCampaignEndedDetails.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignEndedDetails(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.end_date_time = reader.string(); @@ -476247,12 +484286,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSmartCampaignStatusResponse.decode = function decode(reader, length) { + GetSmartCampaignStatusResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GetSmartCampaignStatusResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.smart_campaign_status = reader.int32(); @@ -476664,12 +484705,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSmartCampaignSettingsRequest.decode = function decode(reader, length) { + MutateSmartCampaignSettingsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSmartCampaignSettingsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -476971,12 +485014,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignSettingOperation.decode = function decode(reader, length) { + SmartCampaignSettingOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignSettingOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.update = $root.google.ads.googleads.v19.resources.SmartCampaignSetting.decode(reader, reader.uint32()); @@ -477210,12 +485255,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSmartCampaignSettingsResponse.decode = function decode(reader, length) { + MutateSmartCampaignSettingsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSmartCampaignSettingsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -477461,12 +485508,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateSmartCampaignSettingResult.decode = function decode(reader, length) { + MutateSmartCampaignSettingResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateSmartCampaignSettingResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -477785,12 +485834,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateUserListsRequest.decode = function decode(reader, length) { + MutateUserListsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateUserListsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -478092,12 +486143,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListOperation.decode = function decode(reader, length) { + UserListOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UserListOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -478378,12 +486431,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateUserListsResponse.decode = function decode(reader, length) { + MutateUserListsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateUserListsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -478618,12 +486673,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateUserListResult.decode = function decode(reader, length) { + MutateUserListResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateUserListResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -478900,12 +486957,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBillingSetupRequest.decode = function decode(reader, length) { + MutateBillingSetupRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBillingSetupRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -479146,12 +487205,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BillingSetupOperation.decode = function decode(reader, length) { + BillingSetupOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BillingSetupOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.create = $root.google.ads.googleads.v19.resources.BillingSetup.decode(reader, reader.uint32()); @@ -479377,12 +487438,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBillingSetupResponse.decode = function decode(reader, length) { + MutateBillingSetupResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBillingSetupResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateBillingSetupResult.decode(reader, reader.uint32()); @@ -479585,12 +487648,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateBillingSetupResult.decode = function decode(reader, length) { + MutateBillingSetupResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateBillingSetupResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -479889,12 +487954,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestBrandsRequest.decode = function decode(reader, length) { + SuggestBrandsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestBrandsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -480138,12 +488205,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestBrandsResponse.decode = function decode(reader, length) { + SuggestBrandsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestBrandsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.brands && message.brands.length)) @@ -480395,12 +488464,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BrandSuggestion.decode = function decode(reader, length) { + BrandSuggestion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BrandSuggestion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.id = reader.string(); @@ -480789,12 +488860,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConfigureCampaignLifecycleGoalsRequest.decode = function decode(reader, length) { + ConfigureCampaignLifecycleGoalsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConfigureCampaignLifecycleGoalsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -481058,12 +489131,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignLifecycleGoalOperation.decode = function decode(reader, length) { + CampaignLifecycleGoalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignLifecycleGoalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -481313,12 +489388,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConfigureCampaignLifecycleGoalsResponse.decode = function decode(reader, length) { + ConfigureCampaignLifecycleGoalsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConfigureCampaignLifecycleGoalsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.ConfigureCampaignLifecycleGoalsResult.decode(reader, reader.uint32()); @@ -481521,12 +489598,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConfigureCampaignLifecycleGoalsResult.decode = function decode(reader, length) { + ConfigureCampaignLifecycleGoalsResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConfigureCampaignLifecycleGoalsResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -481896,12 +489975,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateCreatorInsightsRequest.decode = function decode(reader, length) { + GenerateCreatorInsightsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateCreatorInsightsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -482227,12 +490308,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchAttributes.decode = function decode(reader, length) { + SearchAttributes.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateCreatorInsightsRequest.SearchAttributes(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.audience_attributes && message.audience_attributes.length)) @@ -482494,12 +490577,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchBrand.decode = function decode(reader, length) { + SearchBrand.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateCreatorInsightsRequest.SearchBrand(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.brand_entities && message.brand_entities.length)) @@ -482731,12 +490816,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeChannels.decode = function decode(reader, length) { + YouTubeChannels.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateCreatorInsightsRequest.YouTubeChannels(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.youtube_channels && message.youtube_channels.length)) @@ -482958,12 +491045,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateCreatorInsightsResponse.decode = function decode(reader, length) { + GenerateCreatorInsightsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateCreatorInsightsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.creator_insights && message.creator_insights.length)) @@ -483238,12 +491327,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateTrendingInsightsRequest.decode = function decode(reader, length) { + GenerateTrendingInsightsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateTrendingInsightsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -483520,12 +491611,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateTrendingInsightsResponse.decode = function decode(reader, length) { + GenerateTrendingInsightsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateTrendingInsightsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.trend_insights && message.trend_insights.length)) @@ -483755,12 +491848,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeCreatorInsights.decode = function decode(reader, length) { + YouTubeCreatorInsights.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.YouTubeCreatorInsights(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.creator_name = reader.string(); @@ -484023,12 +492118,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeMetrics.decode = function decode(reader, length) { + YouTubeMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.YouTubeMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.subscriber_count = reader.int64(); @@ -484399,12 +492496,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeChannelInsights.decode = function decode(reader, length) { + YouTubeChannelInsights.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.YouTubeChannelInsights(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.display_name = reader.string(); @@ -484770,12 +492869,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchAudience.decode = function decode(reader, length) { + SearchAudience.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchAudience(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.audience_attributes && message.audience_attributes.length)) @@ -484994,12 +493095,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchTopics.decode = function decode(reader, length) { + SearchTopics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchTopics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.entities && message.entities.length)) @@ -485238,12 +493341,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TrendInsight.decode = function decode(reader, length) { + TrendInsight.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.TrendInsight(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.trend_attribute = $root.google.ads.googleads.v19.common.AudienceInsightsAttributeMetadata.decode(reader, reader.uint32()); @@ -485515,12 +493620,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TrendInsightMetrics.decode = function decode(reader, length) { + TrendInsightMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.TrendInsightMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.views_count = reader.int64(); @@ -485855,12 +493962,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadConversionAdjustmentsRequest.decode = function decode(reader, length) { + UploadConversionAdjustmentsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadConversionAdjustmentsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -486156,12 +494265,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadConversionAdjustmentsResponse.decode = function decode(reader, length) { + UploadConversionAdjustmentsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadConversionAdjustmentsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -486529,12 +494640,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionAdjustment.decode = function decode(reader, length) { + ConversionAdjustment.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionAdjustment(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 12: { message.gclid_date_time_pair = $root.google.ads.googleads.v19.services.GclidDateTimePair.decode(reader, reader.uint32()); @@ -486924,12 +495037,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestatementValue.decode = function decode(reader, length) { + RestatementValue.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RestatementValue(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.adjusted_value = reader.double(); @@ -487173,12 +495288,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GclidDateTimePair.decode = function decode(reader, length) { + GclidDateTimePair.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GclidDateTimePair(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.gclid = reader.string(); @@ -487455,12 +495572,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversionAdjustmentResult.decode = function decode(reader, length) { + ConversionAdjustmentResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionAdjustmentResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 9: { message.gclid_date_time_pair = $root.google.ads.googleads.v19.services.GclidDateTimePair.decode(reader, reader.uint32()); @@ -487922,12 +496041,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadClickConversionsRequest.decode = function decode(reader, length) { + UploadClickConversionsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadClickConversionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -488235,12 +496356,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadClickConversionsResponse.decode = function decode(reader, length) { + UploadClickConversionsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadClickConversionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -488537,12 +496660,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadCallConversionsRequest.decode = function decode(reader, length) { + UploadCallConversionsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadCallConversionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -488810,12 +496935,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadCallConversionsResponse.decode = function decode(reader, length) { + UploadCallConversionsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadCallConversionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -488985,6 +497112,9 @@ * @property {Array.|null} [user_identifiers] ClickConversion user_identifiers * @property {google.ads.googleads.v19.enums.ConversionEnvironmentEnum.ConversionEnvironment|null} [conversion_environment] ClickConversion conversion_environment * @property {google.ads.googleads.v19.common.IConsent|null} [consent] ClickConversion consent + * @property {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType|null} [customer_type] ClickConversion customer_type + * @property {Uint8Array|null} [session_attributes_encoded] ClickConversion session_attributes_encoded + * @property {google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs|null} [session_attributes_key_value_pairs] ClickConversion session_attributes_key_value_pairs */ /** @@ -489116,6 +497246,30 @@ */ ClickConversion.prototype.consent = null; + /** + * ClickConversion customer_type. + * @member {google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType} customer_type + * @memberof google.ads.googleads.v19.services.ClickConversion + * @instance + */ + ClickConversion.prototype.customer_type = 0; + + /** + * ClickConversion session_attributes_encoded. + * @member {Uint8Array|null|undefined} session_attributes_encoded + * @memberof google.ads.googleads.v19.services.ClickConversion + * @instance + */ + ClickConversion.prototype.session_attributes_encoded = null; + + /** + * ClickConversion session_attributes_key_value_pairs. + * @member {google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs|null|undefined} session_attributes_key_value_pairs + * @memberof google.ads.googleads.v19.services.ClickConversion + * @instance + */ + ClickConversion.prototype.session_attributes_key_value_pairs = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -489155,6 +497309,17 @@ set: $util.oneOfSetter($oneOfFields) }); + /** + * ClickConversion session_attributes. + * @member {"session_attributes_encoded"|"session_attributes_key_value_pairs"|undefined} session_attributes + * @memberof google.ads.googleads.v19.services.ClickConversion + * @instance + */ + Object.defineProperty(ClickConversion.prototype, "session_attributes", { + get: $util.oneOfGetter($oneOfFields = ["session_attributes_encoded", "session_attributes_key_value_pairs"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new ClickConversion instance using the specified properties. * @function create @@ -489209,6 +497374,12 @@ writer.uint32(/* id 20, wireType 0 =*/160).int32(message.conversion_environment); if (message.consent != null && Object.hasOwnProperty.call(message, "consent")) $root.google.ads.googleads.v19.common.Consent.encode(message.consent, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.session_attributes_encoded != null && Object.hasOwnProperty.call(message, "session_attributes_encoded")) + writer.uint32(/* id 24, wireType 2 =*/194).bytes(message.session_attributes_encoded); + if (message.session_attributes_key_value_pairs != null && Object.hasOwnProperty.call(message, "session_attributes_key_value_pairs")) + $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.encode(message.session_attributes_key_value_pairs, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); + if (message.customer_type != null && Object.hasOwnProperty.call(message, "customer_type")) + writer.uint32(/* id 26, wireType 0 =*/208).int32(message.customer_type); return writer; }; @@ -489236,12 +497407,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClickConversion.decode = function decode(reader, length) { + ClickConversion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ClickConversion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 9: { message.gclid = reader.string(); @@ -489303,6 +497476,18 @@ message.consent = $root.google.ads.googleads.v19.common.Consent.decode(reader, reader.uint32()); break; } + case 26: { + message.customer_type = reader.int32(); + break; + } + case 24: { + message.session_attributes_encoded = reader.bytes(); + break; + } + case 25: { + message.session_attributes_key_value_pairs = $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -489418,6 +497603,31 @@ if (error) return "consent." + error; } + if (message.customer_type != null && message.hasOwnProperty("customer_type")) + switch (message.customer_type) { + default: + return "customer_type: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.session_attributes_encoded != null && message.hasOwnProperty("session_attributes_encoded")) { + properties.session_attributes = 1; + if (!(message.session_attributes_encoded && typeof message.session_attributes_encoded.length === "number" || $util.isString(message.session_attributes_encoded))) + return "session_attributes_encoded: buffer expected"; + } + if (message.session_attributes_key_value_pairs != null && message.hasOwnProperty("session_attributes_key_value_pairs")) { + if (properties.session_attributes === 1) + return "session_attributes: multiple values"; + properties.session_attributes = 1; + { + var error = $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.verify(message.session_attributes_key_value_pairs); + if (error) + return "session_attributes_key_value_pairs." + error; + } + } return null; }; @@ -489508,6 +497718,40 @@ throw TypeError(".google.ads.googleads.v19.services.ClickConversion.consent: object expected"); message.consent = $root.google.ads.googleads.v19.common.Consent.fromObject(object.consent); } + switch (object.customer_type) { + default: + if (typeof object.customer_type === "number") { + message.customer_type = object.customer_type; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.customer_type = 0; + break; + case "UNKNOWN": + case 1: + message.customer_type = 1; + break; + case "NEW": + case 2: + message.customer_type = 2; + break; + case "RETURNING": + case 3: + message.customer_type = 3; + break; + } + if (object.session_attributes_encoded != null) + if (typeof object.session_attributes_encoded === "string") + $util.base64.decode(object.session_attributes_encoded, message.session_attributes_encoded = $util.newBuffer($util.base64.length(object.session_attributes_encoded)), 0); + else if (object.session_attributes_encoded.length >= 0) + message.session_attributes_encoded = object.session_attributes_encoded; + if (object.session_attributes_key_value_pairs != null) { + if (typeof object.session_attributes_key_value_pairs !== "object") + throw TypeError(".google.ads.googleads.v19.services.ClickConversion.session_attributes_key_value_pairs: object expected"); + message.session_attributes_key_value_pairs = $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.fromObject(object.session_attributes_key_value_pairs); + } return message; }; @@ -489535,6 +497779,7 @@ object.wbraid = ""; object.conversion_environment = options.enums === String ? "UNSPECIFIED" : 0; object.consent = null; + object.customer_type = options.enums === String ? "UNSPECIFIED" : 0; } if (message.external_attribution_data != null && message.hasOwnProperty("external_attribution_data")) object.external_attribution_data = $root.google.ads.googleads.v19.services.ExternalAttributionData.toObject(message.external_attribution_data, options); @@ -489588,6 +497833,18 @@ object.conversion_environment = options.enums === String ? $root.google.ads.googleads.v19.enums.ConversionEnvironmentEnum.ConversionEnvironment[message.conversion_environment] === undefined ? message.conversion_environment : $root.google.ads.googleads.v19.enums.ConversionEnvironmentEnum.ConversionEnvironment[message.conversion_environment] : message.conversion_environment; if (message.consent != null && message.hasOwnProperty("consent")) object.consent = $root.google.ads.googleads.v19.common.Consent.toObject(message.consent, options); + if (message.session_attributes_encoded != null && message.hasOwnProperty("session_attributes_encoded")) { + object.session_attributes_encoded = options.bytes === String ? $util.base64.encode(message.session_attributes_encoded, 0, message.session_attributes_encoded.length) : options.bytes === Array ? Array.prototype.slice.call(message.session_attributes_encoded) : message.session_attributes_encoded; + if (options.oneofs) + object.session_attributes = "session_attributes_encoded"; + } + if (message.session_attributes_key_value_pairs != null && message.hasOwnProperty("session_attributes_key_value_pairs")) { + object.session_attributes_key_value_pairs = $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.toObject(message.session_attributes_key_value_pairs, options); + if (options.oneofs) + object.session_attributes = "session_attributes_key_value_pairs"; + } + if (message.customer_type != null && message.hasOwnProperty("customer_type")) + object.customer_type = options.enums === String ? $root.google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType[message.customer_type] === undefined ? message.customer_type : $root.google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType[message.customer_type] : message.customer_type; return object; }; @@ -489823,12 +498080,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallConversion.decode = function decode(reader, length) { + CallConversion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CallConversion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 7: { message.caller_id = reader.string(); @@ -490186,12 +498445,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExternalAttributionData.decode = function decode(reader, length) { + ExternalAttributionData.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ExternalAttributionData(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.external_attribution_credit = reader.double(); @@ -490487,12 +498748,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClickConversionResult.decode = function decode(reader, length) { + ClickConversionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ClickConversionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.gclid = reader.string(); @@ -490844,12 +499107,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallConversionResult.decode = function decode(reader, length) { + CallConversionResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CallConversionResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.caller_id = reader.string(); @@ -491110,12 +499375,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomVariable.decode = function decode(reader, length) { + CustomVariable.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomVariable(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.conversion_custom_variable = reader.string(); @@ -491372,12 +499639,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CartData.decode = function decode(reader, length) { + CartData.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CartData(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.merchant_id = reader.int64(); @@ -491677,12 +499946,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Item.decode = function decode(reader, length) { + Item.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CartData.Item(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.product_id = reader.string(); @@ -491823,6 +500094,461 @@ return CartData; })(); + services.SessionAttributeKeyValuePair = (function() { + + /** + * Properties of a SessionAttributeKeyValuePair. + * @memberof google.ads.googleads.v19.services + * @interface ISessionAttributeKeyValuePair + * @property {string|null} [session_attribute_key] SessionAttributeKeyValuePair session_attribute_key + * @property {string|null} [session_attribute_value] SessionAttributeKeyValuePair session_attribute_value + */ + + /** + * Constructs a new SessionAttributeKeyValuePair. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a SessionAttributeKeyValuePair. + * @implements ISessionAttributeKeyValuePair + * @constructor + * @param {google.ads.googleads.v19.services.ISessionAttributeKeyValuePair=} [properties] Properties to set + */ + function SessionAttributeKeyValuePair(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SessionAttributeKeyValuePair session_attribute_key. + * @member {string} session_attribute_key + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @instance + */ + SessionAttributeKeyValuePair.prototype.session_attribute_key = ""; + + /** + * SessionAttributeKeyValuePair session_attribute_value. + * @member {string} session_attribute_value + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @instance + */ + SessionAttributeKeyValuePair.prototype.session_attribute_value = ""; + + /** + * Creates a new SessionAttributeKeyValuePair instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {google.ads.googleads.v19.services.ISessionAttributeKeyValuePair=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.SessionAttributeKeyValuePair} SessionAttributeKeyValuePair instance + */ + SessionAttributeKeyValuePair.create = function create(properties) { + return new SessionAttributeKeyValuePair(properties); + }; + + /** + * Encodes the specified SessionAttributeKeyValuePair message. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributeKeyValuePair.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {google.ads.googleads.v19.services.ISessionAttributeKeyValuePair} message SessionAttributeKeyValuePair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SessionAttributeKeyValuePair.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.session_attribute_key != null && Object.hasOwnProperty.call(message, "session_attribute_key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.session_attribute_key); + if (message.session_attribute_value != null && Object.hasOwnProperty.call(message, "session_attribute_value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.session_attribute_value); + return writer; + }; + + /** + * Encodes the specified SessionAttributeKeyValuePair message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributeKeyValuePair.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {google.ads.googleads.v19.services.ISessionAttributeKeyValuePair} message SessionAttributeKeyValuePair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SessionAttributeKeyValuePair.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SessionAttributeKeyValuePair message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.SessionAttributeKeyValuePair} SessionAttributeKeyValuePair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SessionAttributeKeyValuePair.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.session_attribute_key = reader.string(); + break; + } + case 2: { + message.session_attribute_value = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SessionAttributeKeyValuePair message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.SessionAttributeKeyValuePair} SessionAttributeKeyValuePair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SessionAttributeKeyValuePair.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SessionAttributeKeyValuePair message. + * @function verify + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SessionAttributeKeyValuePair.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.session_attribute_key != null && message.hasOwnProperty("session_attribute_key")) + if (!$util.isString(message.session_attribute_key)) + return "session_attribute_key: string expected"; + if (message.session_attribute_value != null && message.hasOwnProperty("session_attribute_value")) + if (!$util.isString(message.session_attribute_value)) + return "session_attribute_value: string expected"; + return null; + }; + + /** + * Creates a SessionAttributeKeyValuePair message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.SessionAttributeKeyValuePair} SessionAttributeKeyValuePair + */ + SessionAttributeKeyValuePair.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair) + return object; + var message = new $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair(); + if (object.session_attribute_key != null) + message.session_attribute_key = String(object.session_attribute_key); + if (object.session_attribute_value != null) + message.session_attribute_value = String(object.session_attribute_value); + return message; + }; + + /** + * Creates a plain object from a SessionAttributeKeyValuePair message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {google.ads.googleads.v19.services.SessionAttributeKeyValuePair} message SessionAttributeKeyValuePair + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SessionAttributeKeyValuePair.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.session_attribute_key = ""; + object.session_attribute_value = ""; + } + if (message.session_attribute_key != null && message.hasOwnProperty("session_attribute_key")) + object.session_attribute_key = message.session_attribute_key; + if (message.session_attribute_value != null && message.hasOwnProperty("session_attribute_value")) + object.session_attribute_value = message.session_attribute_value; + return object; + }; + + /** + * Converts this SessionAttributeKeyValuePair to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @instance + * @returns {Object.} JSON object + */ + SessionAttributeKeyValuePair.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SessionAttributeKeyValuePair + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.SessionAttributeKeyValuePair + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SessionAttributeKeyValuePair.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.SessionAttributeKeyValuePair"; + }; + + return SessionAttributeKeyValuePair; + })(); + + services.SessionAttributesKeyValuePairs = (function() { + + /** + * Properties of a SessionAttributesKeyValuePairs. + * @memberof google.ads.googleads.v19.services + * @interface ISessionAttributesKeyValuePairs + * @property {Array.|null} [key_value_pairs] SessionAttributesKeyValuePairs key_value_pairs + */ + + /** + * Constructs a new SessionAttributesKeyValuePairs. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a SessionAttributesKeyValuePairs. + * @implements ISessionAttributesKeyValuePairs + * @constructor + * @param {google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs=} [properties] Properties to set + */ + function SessionAttributesKeyValuePairs(properties) { + this.key_value_pairs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SessionAttributesKeyValuePairs key_value_pairs. + * @member {Array.} key_value_pairs + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @instance + */ + SessionAttributesKeyValuePairs.prototype.key_value_pairs = $util.emptyArray; + + /** + * Creates a new SessionAttributesKeyValuePairs instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.SessionAttributesKeyValuePairs} SessionAttributesKeyValuePairs instance + */ + SessionAttributesKeyValuePairs.create = function create(properties) { + return new SessionAttributesKeyValuePairs(properties); + }; + + /** + * Encodes the specified SessionAttributesKeyValuePairs message. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs} message SessionAttributesKeyValuePairs message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SessionAttributesKeyValuePairs.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key_value_pairs != null && message.key_value_pairs.length) + for (var i = 0; i < message.key_value_pairs.length; ++i) + $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair.encode(message.key_value_pairs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SessionAttributesKeyValuePairs message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {google.ads.googleads.v19.services.ISessionAttributesKeyValuePairs} message SessionAttributesKeyValuePairs message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SessionAttributesKeyValuePairs.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SessionAttributesKeyValuePairs message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.SessionAttributesKeyValuePairs} SessionAttributesKeyValuePairs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SessionAttributesKeyValuePairs.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.key_value_pairs && message.key_value_pairs.length)) + message.key_value_pairs = []; + message.key_value_pairs.push($root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SessionAttributesKeyValuePairs message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.SessionAttributesKeyValuePairs} SessionAttributesKeyValuePairs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SessionAttributesKeyValuePairs.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SessionAttributesKeyValuePairs message. + * @function verify + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SessionAttributesKeyValuePairs.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key_value_pairs != null && message.hasOwnProperty("key_value_pairs")) { + if (!Array.isArray(message.key_value_pairs)) + return "key_value_pairs: array expected"; + for (var i = 0; i < message.key_value_pairs.length; ++i) { + var error = $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair.verify(message.key_value_pairs[i]); + if (error) + return "key_value_pairs." + error; + } + } + return null; + }; + + /** + * Creates a SessionAttributesKeyValuePairs message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.SessionAttributesKeyValuePairs} SessionAttributesKeyValuePairs + */ + SessionAttributesKeyValuePairs.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs) + return object; + var message = new $root.google.ads.googleads.v19.services.SessionAttributesKeyValuePairs(); + if (object.key_value_pairs) { + if (!Array.isArray(object.key_value_pairs)) + throw TypeError(".google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.key_value_pairs: array expected"); + message.key_value_pairs = []; + for (var i = 0; i < object.key_value_pairs.length; ++i) { + if (typeof object.key_value_pairs[i] !== "object") + throw TypeError(".google.ads.googleads.v19.services.SessionAttributesKeyValuePairs.key_value_pairs: object expected"); + message.key_value_pairs[i] = $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair.fromObject(object.key_value_pairs[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SessionAttributesKeyValuePairs message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {google.ads.googleads.v19.services.SessionAttributesKeyValuePairs} message SessionAttributesKeyValuePairs + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SessionAttributesKeyValuePairs.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.key_value_pairs = []; + if (message.key_value_pairs && message.key_value_pairs.length) { + object.key_value_pairs = []; + for (var j = 0; j < message.key_value_pairs.length; ++j) + object.key_value_pairs[j] = $root.google.ads.googleads.v19.services.SessionAttributeKeyValuePair.toObject(message.key_value_pairs[j], options); + } + return object; + }; + + /** + * Converts this SessionAttributesKeyValuePairs to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @instance + * @returns {Object.} JSON object + */ + SessionAttributesKeyValuePairs.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SessionAttributesKeyValuePairs + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.SessionAttributesKeyValuePairs + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SessionAttributesKeyValuePairs.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.SessionAttributesKeyValuePairs"; + }; + + return SessionAttributesKeyValuePairs; + })(); + services.CustomAudienceService = (function() { /** @@ -492000,12 +500726,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomAudiencesRequest.decode = function decode(reader, length) { + MutateCustomAudiencesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomAudiencesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -492295,12 +501023,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomAudienceOperation.decode = function decode(reader, length) { + CustomAudienceOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomAudienceOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -492570,12 +501300,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomAudiencesResponse.decode = function decode(reader, length) { + MutateCustomAudiencesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomAudiencesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -492792,12 +501524,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomAudienceResult.decode = function decode(reader, length) { + MutateCustomAudienceResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomAudienceResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -493087,12 +501821,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomInterestsRequest.decode = function decode(reader, length) { + MutateCustomInterestsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomInterestsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -493371,12 +502107,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomInterestOperation.decode = function decode(reader, length) { + CustomInterestOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomInterestOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -493628,12 +502366,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomInterestsResponse.decode = function decode(reader, length) { + MutateCustomInterestsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomInterestsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.results && message.results.length)) @@ -493850,12 +502590,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomInterestResult.decode = function decode(reader, length) { + MutateCustomInterestResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomInterestResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -494167,12 +502909,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerAssetSetsRequest.decode = function decode(reader, length) { + MutateCustomerAssetSetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerAssetSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -494488,12 +503232,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerAssetSetOperation.decode = function decode(reader, length) { + CustomerAssetSetOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerAssetSetOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CustomerAssetSet.decode(reader, reader.uint32()); @@ -494732,12 +503478,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerAssetSetsResponse.decode = function decode(reader, length) { + MutateCustomerAssetSetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerAssetSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -494983,12 +503731,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerAssetSetResult.decode = function decode(reader, length) { + MutateCustomerAssetSetResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerAssetSetResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -495294,12 +504044,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerClientLinkRequest.decode = function decode(reader, length) { + MutateCustomerClientLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerClientLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -495563,12 +504315,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerClientLinkOperation.decode = function decode(reader, length) { + CustomerClientLinkOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerClientLinkOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -495818,12 +504572,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerClientLinkResponse.decode = function decode(reader, length) { + MutateCustomerClientLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerClientLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateCustomerClientLinkResult.decode(reader, reader.uint32()); @@ -496026,12 +504782,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerClientLinkResult.decode = function decode(reader, length) { + MutateCustomerClientLinkResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerClientLinkResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -496319,12 +505077,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConfigureCustomerLifecycleGoalsRequest.decode = function decode(reader, length) { + ConfigureCustomerLifecycleGoalsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConfigureCustomerLifecycleGoalsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -496588,12 +505348,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerLifecycleGoalOperation.decode = function decode(reader, length) { + CustomerLifecycleGoalOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerLifecycleGoalOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -496843,12 +505605,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConfigureCustomerLifecycleGoalsResponse.decode = function decode(reader, length) { + ConfigureCustomerLifecycleGoalsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConfigureCustomerLifecycleGoalsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.ConfigureCustomerLifecycleGoalsResult.decode(reader, reader.uint32()); @@ -497051,12 +505815,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConfigureCustomerLifecycleGoalsResult.decode = function decode(reader, length) { + ConfigureCustomerLifecycleGoalsResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConfigureCustomerLifecycleGoalsResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -497379,12 +506145,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerManagerLinkRequest.decode = function decode(reader, length) { + MutateCustomerManagerLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerManagerLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -497660,12 +506428,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveManagerLinkRequest.decode = function decode(reader, length) { + MoveManagerLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MoveManagerLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -497925,12 +506695,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerManagerLinkOperation.decode = function decode(reader, length) { + CustomerManagerLinkOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerManagerLinkOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -498158,12 +506930,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerManagerLinkResponse.decode = function decode(reader, length) { + MutateCustomerManagerLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerManagerLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -498380,12 +507154,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveManagerLinkResponse.decode = function decode(reader, length) { + MoveManagerLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MoveManagerLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -498583,12 +507359,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerManagerLinkResult.decode = function decode(reader, length) { + MutateCustomerManagerLinkResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerManagerLinkResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -498854,12 +507632,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerSkAdNetworkConversionValueSchemaOperation.decode = function decode(reader, length) { + CustomerSkAdNetworkConversionValueSchemaOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerSkAdNetworkConversionValueSchemaOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.update = $root.google.ads.googleads.v19.resources.CustomerSkAdNetworkConversionValueSchema.decode(reader, reader.uint32()); @@ -499095,12 +507875,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerSkAdNetworkConversionValueSchemaRequest.decode = function decode(reader, length) { + MutateCustomerSkAdNetworkConversionValueSchemaRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerSkAdNetworkConversionValueSchemaRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -499351,12 +508133,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerSkAdNetworkConversionValueSchemaResult.decode = function decode(reader, length) { + MutateCustomerSkAdNetworkConversionValueSchemaResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerSkAdNetworkConversionValueSchemaResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -499578,12 +508362,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerSkAdNetworkConversionValueSchemaResponse.decode = function decode(reader, length) { + MutateCustomerSkAdNetworkConversionValueSchemaResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerSkAdNetworkConversionValueSchemaResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateCustomerSkAdNetworkConversionValueSchemaResult.decode(reader, reader.uint32()); @@ -499883,12 +508669,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerUserAccessInvitationRequest.decode = function decode(reader, length) { + MutateCustomerUserAccessInvitationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerUserAccessInvitationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -500129,12 +508917,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerUserAccessInvitationOperation.decode = function decode(reader, length) { + CustomerUserAccessInvitationOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerUserAccessInvitationOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.CustomerUserAccessInvitation.decode(reader, reader.uint32()); @@ -500360,12 +509150,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerUserAccessInvitationResponse.decode = function decode(reader, length) { + MutateCustomerUserAccessInvitationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerUserAccessInvitationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateCustomerUserAccessInvitationResult.decode(reader, reader.uint32()); @@ -500568,12 +509360,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerUserAccessInvitationResult.decode = function decode(reader, length) { + MutateCustomerUserAccessInvitationResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerUserAccessInvitationResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -500850,12 +509644,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerUserAccessRequest.decode = function decode(reader, length) { + MutateCustomerUserAccessRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerUserAccessRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -501107,12 +509903,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomerUserAccessOperation.decode = function decode(reader, length) { + CustomerUserAccessOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CustomerUserAccessOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.update_mask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); @@ -501356,12 +510154,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerUserAccessResponse.decode = function decode(reader, length) { + MutateCustomerUserAccessResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerUserAccessResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.result = $root.google.ads.googleads.v19.services.MutateCustomerUserAccessResult.decode(reader, reader.uint32()); @@ -501564,12 +510364,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateCustomerUserAccessResult.decode = function decode(reader, length) { + MutateCustomerUserAccessResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateCustomerUserAccessResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -501912,12 +510714,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateDataLinkRequest.decode = function decode(reader, length) { + CreateDataLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateDataLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -502133,12 +510937,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateDataLinkResponse.decode = function decode(reader, length) { + CreateDataLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateDataLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -502347,12 +511153,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveDataLinkRequest.decode = function decode(reader, length) { + RemoveDataLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveDataLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -502563,12 +511371,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveDataLinkResponse.decode = function decode(reader, length) { + RemoveDataLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveDataLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -502788,12 +511598,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateDataLinkRequest.decode = function decode(reader, length) { + UpdateDataLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UpdateDataLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -503065,12 +511877,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateDataLinkResponse.decode = function decode(reader, length) { + UpdateDataLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UpdateDataLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -503395,12 +512209,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestGeoTargetConstantsRequest.decode = function decode(reader, length) { + SuggestGeoTargetConstantsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestGeoTargetConstantsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.locale = reader.string(); @@ -503663,12 +512479,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationNames.decode = function decode(reader, length) { + LocationNames.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestGeoTargetConstantsRequest.LocationNames(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.names && message.names.length)) @@ -503882,12 +512700,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargets.decode = function decode(reader, length) { + GeoTargets.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestGeoTargetConstantsRequest.GeoTargets(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.geo_target_constants && message.geo_target_constants.length)) @@ -504104,12 +512924,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestGeoTargetConstantsResponse.decode = function decode(reader, length) { + SuggestGeoTargetConstantsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestGeoTargetConstantsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.geo_target_constant_suggestions && message.geo_target_constant_suggestions.length)) @@ -504393,12 +513215,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeoTargetConstantSuggestion.decode = function decode(reader, length) { + GeoTargetConstantSuggestion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GeoTargetConstantSuggestion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.locale = reader.string(); @@ -504793,12 +513617,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetGoogleAdsFieldRequest.decode = function decode(reader, length) { + GetGoogleAdsFieldRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GetGoogleAdsFieldRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -505018,12 +513844,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchGoogleAdsFieldsRequest.decode = function decode(reader, length) { + SearchGoogleAdsFieldsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchGoogleAdsFieldsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.query = reader.string(); @@ -505270,12 +514098,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SearchGoogleAdsFieldsResponse.decode = function decode(reader, length) { + SearchGoogleAdsFieldsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SearchGoogleAdsFieldsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -505644,12 +514474,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartIdentityVerificationRequest.decode = function decode(reader, length) { + StartIdentityVerificationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.StartIdentityVerificationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -505884,12 +514716,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityVerificationRequest.decode = function decode(reader, length) { + GetIdentityVerificationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GetIdentityVerificationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -506089,12 +514923,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityVerificationResponse.decode = function decode(reader, length) { + GetIdentityVerificationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GetIdentityVerificationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.identity_verification && message.identity_verification.length)) @@ -506348,12 +515184,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityVerification.decode = function decode(reader, length) { + IdentityVerification.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.IdentityVerification(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.verification_program = reader.int32(); @@ -506642,12 +515480,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityVerificationProgress.decode = function decode(reader, length) { + IdentityVerificationProgress.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.IdentityVerificationProgress(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.program_status = reader.int32(); @@ -506920,12 +515760,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityVerificationRequirement.decode = function decode(reader, length) { + IdentityVerificationRequirement.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.IdentityVerificationRequirement(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.verification_start_deadline_time = reader.string(); @@ -507237,12 +516079,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInvoicesRequest.decode = function decode(reader, length) { + ListInvoicesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListInvoicesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -507558,12 +516402,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInvoicesResponse.decode = function decode(reader, length) { + ListInvoicesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListInvoicesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.invoices && message.invoices.length)) @@ -508117,12 +516963,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordIdeasRequest.decode = function decode(reader, length) { + GenerateKeywordIdeasRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordIdeasRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -508648,12 +517496,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordAndUrlSeed.decode = function decode(reader, length) { + KeywordAndUrlSeed.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordAndUrlSeed(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.url = reader.string(); @@ -508884,12 +517734,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordSeed.decode = function decode(reader, length) { + KeywordSeed.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordSeed(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.keywords && message.keywords.length)) @@ -509110,12 +517962,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SiteSeed.decode = function decode(reader, length) { + SiteSeed.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SiteSeed(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.site = reader.string(); @@ -509326,12 +518180,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UrlSeed.decode = function decode(reader, length) { + UrlSeed.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UrlSeed(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.url = reader.string(); @@ -509568,12 +518424,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordIdeaResponse.decode = function decode(reader, length) { + GenerateKeywordIdeaResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordIdeaResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -509891,12 +518749,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordIdeaResult.decode = function decode(reader, length) { + GenerateKeywordIdeaResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordIdeaResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.text = reader.string(); @@ -510251,12 +519111,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordHistoricalMetricsRequest.decode = function decode(reader, length) { + GenerateKeywordHistoricalMetricsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordHistoricalMetricsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -510626,12 +519488,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordHistoricalMetricsResponse.decode = function decode(reader, length) { + GenerateKeywordHistoricalMetricsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordHistoricalMetricsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -510899,12 +519763,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordHistoricalMetricsResult.decode = function decode(reader, length) { + GenerateKeywordHistoricalMetricsResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordHistoricalMetricsResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.text = reader.string(); @@ -511177,12 +520043,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateAdGroupThemesRequest.decode = function decode(reader, length) { + GenerateAdGroupThemesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateAdGroupThemesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -511449,12 +520317,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateAdGroupThemesResponse.decode = function decode(reader, length) { + GenerateAdGroupThemesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateAdGroupThemesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.ad_group_keyword_suggestions && message.ad_group_keyword_suggestions.length)) @@ -511747,12 +520617,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupKeywordSuggestion.decode = function decode(reader, length) { + AdGroupKeywordSuggestion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdGroupKeywordSuggestion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.keyword_text = reader.string(); @@ -512044,12 +520916,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UnusableAdGroup.decode = function decode(reader, length) { + UnusableAdGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UnusableAdGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_group = reader.string(); @@ -512302,12 +521176,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordForecastMetricsRequest.decode = function decode(reader, length) { + GenerateKeywordForecastMetricsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordForecastMetricsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -512640,12 +521516,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignToForecast.decode = function decode(reader, length) { + CampaignToForecast.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignToForecast(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.language_constants && message.language_constants.length)) @@ -513061,12 +521939,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBiddingStrategy.decode = function decode(reader, length) { + CampaignBiddingStrategy.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignToForecast.CampaignBiddingStrategy(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.manual_cpc_bidding_strategy = $root.google.ads.googleads.v19.services.ManualCpcBiddingStrategy.decode(reader, reader.uint32()); @@ -513360,12 +522240,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ForecastAdGroup.decode = function decode(reader, length) { + ForecastAdGroup.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ForecastAdGroup(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.max_cpc_bid_micros = reader.int64(); @@ -513661,12 +522543,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddableKeyword.decode = function decode(reader, length) { + BiddableKeyword.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.BiddableKeyword(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.keyword = $root.google.ads.googleads.v19.common.KeywordInfo.decode(reader, reader.uint32()); @@ -513916,12 +522800,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CriterionBidModifier.decode = function decode(reader, length) { + CriterionBidModifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CriterionBidModifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.geo_target_constant = reader.string(); @@ -514156,12 +523042,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ManualCpcBiddingStrategy.decode = function decode(reader, length) { + ManualCpcBiddingStrategy.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ManualCpcBiddingStrategy(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.daily_budget_micros = reader.int64(); @@ -514420,12 +523308,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeClicksBiddingStrategy.decode = function decode(reader, length) { + MaximizeClicksBiddingStrategy.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MaximizeClicksBiddingStrategy(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.daily_target_spend_micros = reader.int64(); @@ -514664,12 +523554,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaximizeConversionsBiddingStrategy.decode = function decode(reader, length) { + MaximizeConversionsBiddingStrategy.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MaximizeConversionsBiddingStrategy(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.daily_target_spend_micros = reader.int64(); @@ -514890,12 +523782,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateKeywordForecastMetricsResponse.decode = function decode(reader, length) { + GenerateKeywordForecastMetricsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateKeywordForecastMetricsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.campaign_forecast_metrics = $root.google.ads.googleads.v19.services.KeywordForecastMetrics.decode(reader, reader.uint32()); @@ -515231,12 +524125,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordForecastMetrics.decode = function decode(reader, length) { + KeywordForecastMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.KeywordForecastMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.impressions = reader.double(); @@ -515670,12 +524566,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestKeywordThemeConstantsRequest.decode = function decode(reader, length) { + SuggestKeywordThemeConstantsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestKeywordThemeConstantsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.query_text = reader.string(); @@ -515900,12 +524798,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestKeywordThemeConstantsResponse.decode = function decode(reader, length) { + SuggestKeywordThemeConstantsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestKeywordThemeConstantsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.keyword_theme_constants && message.keyword_theme_constants.length)) @@ -516102,6 +525002,39 @@ * @variation 2 */ + /** + * Callback as used by {@link google.ads.googleads.v19.services.LocalServicesLeadService|provideLeadFeedback}. + * @memberof google.ads.googleads.v19.services.LocalServicesLeadService + * @typedef ProvideLeadFeedbackCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.ads.googleads.v19.services.ProvideLeadFeedbackResponse} [response] ProvideLeadFeedbackResponse + */ + + /** + * Calls ProvideLeadFeedback. + * @function provideLeadFeedback + * @memberof google.ads.googleads.v19.services.LocalServicesLeadService + * @instance + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackRequest} request ProvideLeadFeedbackRequest message or plain object + * @param {google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedbackCallback} callback Node-style callback called with the error, if any, and ProvideLeadFeedbackResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(LocalServicesLeadService.prototype.provideLeadFeedback = function provideLeadFeedback(request, callback) { + return this.rpcCall(provideLeadFeedback, $root.google.ads.googleads.v19.services.ProvideLeadFeedbackRequest, $root.google.ads.googleads.v19.services.ProvideLeadFeedbackResponse, request, callback); + }, "name", { value: "ProvideLeadFeedback" }); + + /** + * Calls ProvideLeadFeedback. + * @function provideLeadFeedback + * @memberof google.ads.googleads.v19.services.LocalServicesLeadService + * @instance + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackRequest} request ProvideLeadFeedbackRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + return LocalServicesLeadService; })(); @@ -516203,12 +525136,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppendLeadConversationRequest.decode = function decode(reader, length) { + AppendLeadConversationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AppendLeadConversationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -516440,12 +525375,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AppendLeadConversationResponse.decode = function decode(reader, length) { + AppendLeadConversationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AppendLeadConversationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.responses && message.responses.length)) @@ -516673,12 +525610,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Conversation.decode = function decode(reader, length) { + Conversation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.Conversation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.local_services_lead = reader.string(); @@ -516914,12 +525853,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ConversationOrError.decode = function decode(reader, length) { + ConversationOrError.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversationOrError(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.local_services_lead_conversation = reader.string(); @@ -517060,6 +526001,1162 @@ return ConversationOrError; })(); + services.SurveySatisfied = (function() { + + /** + * Properties of a SurveySatisfied. + * @memberof google.ads.googleads.v19.services + * @interface ISurveySatisfied + * @property {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason|null} [survey_satisfied_reason] SurveySatisfied survey_satisfied_reason + * @property {string|null} [other_reason_comment] SurveySatisfied other_reason_comment + */ + + /** + * Constructs a new SurveySatisfied. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a SurveySatisfied. + * @implements ISurveySatisfied + * @constructor + * @param {google.ads.googleads.v19.services.ISurveySatisfied=} [properties] Properties to set + */ + function SurveySatisfied(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SurveySatisfied survey_satisfied_reason. + * @member {google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason} survey_satisfied_reason + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @instance + */ + SurveySatisfied.prototype.survey_satisfied_reason = 0; + + /** + * SurveySatisfied other_reason_comment. + * @member {string} other_reason_comment + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @instance + */ + SurveySatisfied.prototype.other_reason_comment = ""; + + /** + * Creates a new SurveySatisfied instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {google.ads.googleads.v19.services.ISurveySatisfied=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.SurveySatisfied} SurveySatisfied instance + */ + SurveySatisfied.create = function create(properties) { + return new SurveySatisfied(properties); + }; + + /** + * Encodes the specified SurveySatisfied message. Does not implicitly {@link google.ads.googleads.v19.services.SurveySatisfied.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {google.ads.googleads.v19.services.ISurveySatisfied} message SurveySatisfied message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SurveySatisfied.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.survey_satisfied_reason != null && Object.hasOwnProperty.call(message, "survey_satisfied_reason")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.survey_satisfied_reason); + if (message.other_reason_comment != null && Object.hasOwnProperty.call(message, "other_reason_comment")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.other_reason_comment); + return writer; + }; + + /** + * Encodes the specified SurveySatisfied message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SurveySatisfied.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {google.ads.googleads.v19.services.ISurveySatisfied} message SurveySatisfied message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SurveySatisfied.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SurveySatisfied message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.SurveySatisfied} SurveySatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SurveySatisfied.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SurveySatisfied(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.survey_satisfied_reason = reader.int32(); + break; + } + case 2: { + message.other_reason_comment = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SurveySatisfied message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.SurveySatisfied} SurveySatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SurveySatisfied.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SurveySatisfied message. + * @function verify + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SurveySatisfied.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.survey_satisfied_reason != null && message.hasOwnProperty("survey_satisfied_reason")) + switch (message.survey_satisfied_reason) { + default: + return "survey_satisfied_reason: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + break; + } + if (message.other_reason_comment != null && message.hasOwnProperty("other_reason_comment")) + if (!$util.isString(message.other_reason_comment)) + return "other_reason_comment: string expected"; + return null; + }; + + /** + * Creates a SurveySatisfied message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.SurveySatisfied} SurveySatisfied + */ + SurveySatisfied.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.SurveySatisfied) + return object; + var message = new $root.google.ads.googleads.v19.services.SurveySatisfied(); + switch (object.survey_satisfied_reason) { + default: + if (typeof object.survey_satisfied_reason === "number") { + message.survey_satisfied_reason = object.survey_satisfied_reason; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.survey_satisfied_reason = 0; + break; + case "UNKNOWN": + case 1: + message.survey_satisfied_reason = 1; + break; + case "OTHER_SATISFIED_REASON": + case 2: + message.survey_satisfied_reason = 2; + break; + case "BOOKED_CUSTOMER": + case 3: + message.survey_satisfied_reason = 3; + break; + case "LIKELY_BOOKED_CUSTOMER": + case 4: + message.survey_satisfied_reason = 4; + break; + case "SERVICE_RELATED": + case 5: + message.survey_satisfied_reason = 5; + break; + case "HIGH_VALUE_SERVICE": + case 6: + message.survey_satisfied_reason = 6; + break; + } + if (object.other_reason_comment != null) + message.other_reason_comment = String(object.other_reason_comment); + return message; + }; + + /** + * Creates a plain object from a SurveySatisfied message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {google.ads.googleads.v19.services.SurveySatisfied} message SurveySatisfied + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SurveySatisfied.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.survey_satisfied_reason = options.enums === String ? "UNSPECIFIED" : 0; + object.other_reason_comment = ""; + } + if (message.survey_satisfied_reason != null && message.hasOwnProperty("survey_satisfied_reason")) + object.survey_satisfied_reason = options.enums === String ? $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason[message.survey_satisfied_reason] === undefined ? message.survey_satisfied_reason : $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason[message.survey_satisfied_reason] : message.survey_satisfied_reason; + if (message.other_reason_comment != null && message.hasOwnProperty("other_reason_comment")) + object.other_reason_comment = message.other_reason_comment; + return object; + }; + + /** + * Converts this SurveySatisfied to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @instance + * @returns {Object.} JSON object + */ + SurveySatisfied.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SurveySatisfied + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.SurveySatisfied + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SurveySatisfied.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.SurveySatisfied"; + }; + + return SurveySatisfied; + })(); + + services.SurveyDissatisfied = (function() { + + /** + * Properties of a SurveyDissatisfied. + * @memberof google.ads.googleads.v19.services + * @interface ISurveyDissatisfied + * @property {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason|null} [survey_dissatisfied_reason] SurveyDissatisfied survey_dissatisfied_reason + * @property {string|null} [other_reason_comment] SurveyDissatisfied other_reason_comment + */ + + /** + * Constructs a new SurveyDissatisfied. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a SurveyDissatisfied. + * @implements ISurveyDissatisfied + * @constructor + * @param {google.ads.googleads.v19.services.ISurveyDissatisfied=} [properties] Properties to set + */ + function SurveyDissatisfied(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SurveyDissatisfied survey_dissatisfied_reason. + * @member {google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason} survey_dissatisfied_reason + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @instance + */ + SurveyDissatisfied.prototype.survey_dissatisfied_reason = 0; + + /** + * SurveyDissatisfied other_reason_comment. + * @member {string} other_reason_comment + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @instance + */ + SurveyDissatisfied.prototype.other_reason_comment = ""; + + /** + * Creates a new SurveyDissatisfied instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {google.ads.googleads.v19.services.ISurveyDissatisfied=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.SurveyDissatisfied} SurveyDissatisfied instance + */ + SurveyDissatisfied.create = function create(properties) { + return new SurveyDissatisfied(properties); + }; + + /** + * Encodes the specified SurveyDissatisfied message. Does not implicitly {@link google.ads.googleads.v19.services.SurveyDissatisfied.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {google.ads.googleads.v19.services.ISurveyDissatisfied} message SurveyDissatisfied message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SurveyDissatisfied.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.survey_dissatisfied_reason != null && Object.hasOwnProperty.call(message, "survey_dissatisfied_reason")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.survey_dissatisfied_reason); + if (message.other_reason_comment != null && Object.hasOwnProperty.call(message, "other_reason_comment")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.other_reason_comment); + return writer; + }; + + /** + * Encodes the specified SurveyDissatisfied message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.SurveyDissatisfied.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {google.ads.googleads.v19.services.ISurveyDissatisfied} message SurveyDissatisfied message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SurveyDissatisfied.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SurveyDissatisfied message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.SurveyDissatisfied} SurveyDissatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SurveyDissatisfied.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SurveyDissatisfied(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.survey_dissatisfied_reason = reader.int32(); + break; + } + case 2: { + message.other_reason_comment = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SurveyDissatisfied message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.SurveyDissatisfied} SurveyDissatisfied + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SurveyDissatisfied.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SurveyDissatisfied message. + * @function verify + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SurveyDissatisfied.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.survey_dissatisfied_reason != null && message.hasOwnProperty("survey_dissatisfied_reason")) + switch (message.survey_dissatisfied_reason) { + default: + return "survey_dissatisfied_reason: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + if (message.other_reason_comment != null && message.hasOwnProperty("other_reason_comment")) + if (!$util.isString(message.other_reason_comment)) + return "other_reason_comment: string expected"; + return null; + }; + + /** + * Creates a SurveyDissatisfied message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.SurveyDissatisfied} SurveyDissatisfied + */ + SurveyDissatisfied.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.SurveyDissatisfied) + return object; + var message = new $root.google.ads.googleads.v19.services.SurveyDissatisfied(); + switch (object.survey_dissatisfied_reason) { + default: + if (typeof object.survey_dissatisfied_reason === "number") { + message.survey_dissatisfied_reason = object.survey_dissatisfied_reason; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.survey_dissatisfied_reason = 0; + break; + case "UNKNOWN": + case 1: + message.survey_dissatisfied_reason = 1; + break; + case "OTHER_DISSATISFIED_REASON": + case 2: + message.survey_dissatisfied_reason = 2; + break; + case "GEO_MISMATCH": + case 3: + message.survey_dissatisfied_reason = 3; + break; + case "JOB_TYPE_MISMATCH": + case 4: + message.survey_dissatisfied_reason = 4; + break; + case "NOT_READY_TO_BOOK": + case 5: + message.survey_dissatisfied_reason = 5; + break; + case "SPAM": + case 6: + message.survey_dissatisfied_reason = 6; + break; + case "DUPLICATE": + case 7: + message.survey_dissatisfied_reason = 7; + break; + case "SOLICITATION": + case 8: + message.survey_dissatisfied_reason = 8; + break; + } + if (object.other_reason_comment != null) + message.other_reason_comment = String(object.other_reason_comment); + return message; + }; + + /** + * Creates a plain object from a SurveyDissatisfied message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {google.ads.googleads.v19.services.SurveyDissatisfied} message SurveyDissatisfied + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SurveyDissatisfied.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.survey_dissatisfied_reason = options.enums === String ? "UNSPECIFIED" : 0; + object.other_reason_comment = ""; + } + if (message.survey_dissatisfied_reason != null && message.hasOwnProperty("survey_dissatisfied_reason")) + object.survey_dissatisfied_reason = options.enums === String ? $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason[message.survey_dissatisfied_reason] === undefined ? message.survey_dissatisfied_reason : $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason[message.survey_dissatisfied_reason] : message.survey_dissatisfied_reason; + if (message.other_reason_comment != null && message.hasOwnProperty("other_reason_comment")) + object.other_reason_comment = message.other_reason_comment; + return object; + }; + + /** + * Converts this SurveyDissatisfied to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @instance + * @returns {Object.} JSON object + */ + SurveyDissatisfied.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SurveyDissatisfied + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.SurveyDissatisfied + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SurveyDissatisfied.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.SurveyDissatisfied"; + }; + + return SurveyDissatisfied; + })(); + + services.ProvideLeadFeedbackRequest = (function() { + + /** + * Properties of a ProvideLeadFeedbackRequest. + * @memberof google.ads.googleads.v19.services + * @interface IProvideLeadFeedbackRequest + * @property {string|null} [resource_name] ProvideLeadFeedbackRequest resource_name + * @property {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer|null} [survey_answer] ProvideLeadFeedbackRequest survey_answer + * @property {google.ads.googleads.v19.services.ISurveySatisfied|null} [survey_satisfied] ProvideLeadFeedbackRequest survey_satisfied + * @property {google.ads.googleads.v19.services.ISurveyDissatisfied|null} [survey_dissatisfied] ProvideLeadFeedbackRequest survey_dissatisfied + */ + + /** + * Constructs a new ProvideLeadFeedbackRequest. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a ProvideLeadFeedbackRequest. + * @implements IProvideLeadFeedbackRequest + * @constructor + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackRequest=} [properties] Properties to set + */ + function ProvideLeadFeedbackRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProvideLeadFeedbackRequest resource_name. + * @member {string} resource_name + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @instance + */ + ProvideLeadFeedbackRequest.prototype.resource_name = ""; + + /** + * ProvideLeadFeedbackRequest survey_answer. + * @member {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer} survey_answer + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @instance + */ + ProvideLeadFeedbackRequest.prototype.survey_answer = 0; + + /** + * ProvideLeadFeedbackRequest survey_satisfied. + * @member {google.ads.googleads.v19.services.ISurveySatisfied|null|undefined} survey_satisfied + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @instance + */ + ProvideLeadFeedbackRequest.prototype.survey_satisfied = null; + + /** + * ProvideLeadFeedbackRequest survey_dissatisfied. + * @member {google.ads.googleads.v19.services.ISurveyDissatisfied|null|undefined} survey_dissatisfied + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @instance + */ + ProvideLeadFeedbackRequest.prototype.survey_dissatisfied = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ProvideLeadFeedbackRequest survey_details. + * @member {"survey_satisfied"|"survey_dissatisfied"|undefined} survey_details + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @instance + */ + Object.defineProperty(ProvideLeadFeedbackRequest.prototype, "survey_details", { + get: $util.oneOfGetter($oneOfFields = ["survey_satisfied", "survey_dissatisfied"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ProvideLeadFeedbackRequest instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackRequest=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackRequest} ProvideLeadFeedbackRequest instance + */ + ProvideLeadFeedbackRequest.create = function create(properties) { + return new ProvideLeadFeedbackRequest(properties); + }; + + /** + * Encodes the specified ProvideLeadFeedbackRequest message. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackRequest.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackRequest} message ProvideLeadFeedbackRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProvideLeadFeedbackRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.resource_name != null && Object.hasOwnProperty.call(message, "resource_name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.resource_name); + if (message.survey_answer != null && Object.hasOwnProperty.call(message, "survey_answer")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.survey_answer); + if (message.survey_satisfied != null && Object.hasOwnProperty.call(message, "survey_satisfied")) + $root.google.ads.googleads.v19.services.SurveySatisfied.encode(message.survey_satisfied, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.survey_dissatisfied != null && Object.hasOwnProperty.call(message, "survey_dissatisfied")) + $root.google.ads.googleads.v19.services.SurveyDissatisfied.encode(message.survey_dissatisfied, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProvideLeadFeedbackRequest message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackRequest} message ProvideLeadFeedbackRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProvideLeadFeedbackRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProvideLeadFeedbackRequest message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackRequest} ProvideLeadFeedbackRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProvideLeadFeedbackRequest.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ProvideLeadFeedbackRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.resource_name = reader.string(); + break; + } + case 2: { + message.survey_answer = reader.int32(); + break; + } + case 3: { + message.survey_satisfied = $root.google.ads.googleads.v19.services.SurveySatisfied.decode(reader, reader.uint32()); + break; + } + case 4: { + message.survey_dissatisfied = $root.google.ads.googleads.v19.services.SurveyDissatisfied.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProvideLeadFeedbackRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackRequest} ProvideLeadFeedbackRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProvideLeadFeedbackRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProvideLeadFeedbackRequest message. + * @function verify + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProvideLeadFeedbackRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.resource_name != null && message.hasOwnProperty("resource_name")) + if (!$util.isString(message.resource_name)) + return "resource_name: string expected"; + if (message.survey_answer != null && message.hasOwnProperty("survey_answer")) + switch (message.survey_answer) { + default: + return "survey_answer: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + break; + } + if (message.survey_satisfied != null && message.hasOwnProperty("survey_satisfied")) { + properties.survey_details = 1; + { + var error = $root.google.ads.googleads.v19.services.SurveySatisfied.verify(message.survey_satisfied); + if (error) + return "survey_satisfied." + error; + } + } + if (message.survey_dissatisfied != null && message.hasOwnProperty("survey_dissatisfied")) { + if (properties.survey_details === 1) + return "survey_details: multiple values"; + properties.survey_details = 1; + { + var error = $root.google.ads.googleads.v19.services.SurveyDissatisfied.verify(message.survey_dissatisfied); + if (error) + return "survey_dissatisfied." + error; + } + } + return null; + }; + + /** + * Creates a ProvideLeadFeedbackRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackRequest} ProvideLeadFeedbackRequest + */ + ProvideLeadFeedbackRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.ProvideLeadFeedbackRequest) + return object; + var message = new $root.google.ads.googleads.v19.services.ProvideLeadFeedbackRequest(); + if (object.resource_name != null) + message.resource_name = String(object.resource_name); + switch (object.survey_answer) { + default: + if (typeof object.survey_answer === "number") { + message.survey_answer = object.survey_answer; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.survey_answer = 0; + break; + case "UNKNOWN": + case 1: + message.survey_answer = 1; + break; + case "VERY_SATISFIED": + case 2: + message.survey_answer = 2; + break; + case "SATISFIED": + case 3: + message.survey_answer = 3; + break; + case "NEUTRAL": + case 4: + message.survey_answer = 4; + break; + case "DISSATISFIED": + case 5: + message.survey_answer = 5; + break; + case "VERY_DISSATISFIED": + case 6: + message.survey_answer = 6; + break; + } + if (object.survey_satisfied != null) { + if (typeof object.survey_satisfied !== "object") + throw TypeError(".google.ads.googleads.v19.services.ProvideLeadFeedbackRequest.survey_satisfied: object expected"); + message.survey_satisfied = $root.google.ads.googleads.v19.services.SurveySatisfied.fromObject(object.survey_satisfied); + } + if (object.survey_dissatisfied != null) { + if (typeof object.survey_dissatisfied !== "object") + throw TypeError(".google.ads.googleads.v19.services.ProvideLeadFeedbackRequest.survey_dissatisfied: object expected"); + message.survey_dissatisfied = $root.google.ads.googleads.v19.services.SurveyDissatisfied.fromObject(object.survey_dissatisfied); + } + return message; + }; + + /** + * Creates a plain object from a ProvideLeadFeedbackRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {google.ads.googleads.v19.services.ProvideLeadFeedbackRequest} message ProvideLeadFeedbackRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProvideLeadFeedbackRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.resource_name = ""; + object.survey_answer = options.enums === String ? "UNSPECIFIED" : 0; + } + if (message.resource_name != null && message.hasOwnProperty("resource_name")) + object.resource_name = message.resource_name; + if (message.survey_answer != null && message.hasOwnProperty("survey_answer")) + object.survey_answer = options.enums === String ? $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer[message.survey_answer] === undefined ? message.survey_answer : $root.google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer[message.survey_answer] : message.survey_answer; + if (message.survey_satisfied != null && message.hasOwnProperty("survey_satisfied")) { + object.survey_satisfied = $root.google.ads.googleads.v19.services.SurveySatisfied.toObject(message.survey_satisfied, options); + if (options.oneofs) + object.survey_details = "survey_satisfied"; + } + if (message.survey_dissatisfied != null && message.hasOwnProperty("survey_dissatisfied")) { + object.survey_dissatisfied = $root.google.ads.googleads.v19.services.SurveyDissatisfied.toObject(message.survey_dissatisfied, options); + if (options.oneofs) + object.survey_details = "survey_dissatisfied"; + } + return object; + }; + + /** + * Converts this ProvideLeadFeedbackRequest to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @instance + * @returns {Object.} JSON object + */ + ProvideLeadFeedbackRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProvideLeadFeedbackRequest + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProvideLeadFeedbackRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.ProvideLeadFeedbackRequest"; + }; + + return ProvideLeadFeedbackRequest; + })(); + + services.ProvideLeadFeedbackResponse = (function() { + + /** + * Properties of a ProvideLeadFeedbackResponse. + * @memberof google.ads.googleads.v19.services + * @interface IProvideLeadFeedbackResponse + * @property {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision|null} [credit_issuance_decision] ProvideLeadFeedbackResponse credit_issuance_decision + */ + + /** + * Constructs a new ProvideLeadFeedbackResponse. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a ProvideLeadFeedbackResponse. + * @implements IProvideLeadFeedbackResponse + * @constructor + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackResponse=} [properties] Properties to set + */ + function ProvideLeadFeedbackResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProvideLeadFeedbackResponse credit_issuance_decision. + * @member {google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision} credit_issuance_decision + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @instance + */ + ProvideLeadFeedbackResponse.prototype.credit_issuance_decision = 0; + + /** + * Creates a new ProvideLeadFeedbackResponse instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackResponse=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackResponse} ProvideLeadFeedbackResponse instance + */ + ProvideLeadFeedbackResponse.create = function create(properties) { + return new ProvideLeadFeedbackResponse(properties); + }; + + /** + * Encodes the specified ProvideLeadFeedbackResponse message. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackResponse.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackResponse} message ProvideLeadFeedbackResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProvideLeadFeedbackResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.credit_issuance_decision != null && Object.hasOwnProperty.call(message, "credit_issuance_decision")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.credit_issuance_decision); + return writer; + }; + + /** + * Encodes the specified ProvideLeadFeedbackResponse message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.ProvideLeadFeedbackResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {google.ads.googleads.v19.services.IProvideLeadFeedbackResponse} message ProvideLeadFeedbackResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProvideLeadFeedbackResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProvideLeadFeedbackResponse message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackResponse} ProvideLeadFeedbackResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProvideLeadFeedbackResponse.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ProvideLeadFeedbackResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.credit_issuance_decision = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProvideLeadFeedbackResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackResponse} ProvideLeadFeedbackResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProvideLeadFeedbackResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProvideLeadFeedbackResponse message. + * @function verify + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProvideLeadFeedbackResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.credit_issuance_decision != null && message.hasOwnProperty("credit_issuance_decision")) + switch (message.credit_issuance_decision) { + default: + return "credit_issuance_decision: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a ProvideLeadFeedbackResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.ProvideLeadFeedbackResponse} ProvideLeadFeedbackResponse + */ + ProvideLeadFeedbackResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.ProvideLeadFeedbackResponse) + return object; + var message = new $root.google.ads.googleads.v19.services.ProvideLeadFeedbackResponse(); + switch (object.credit_issuance_decision) { + default: + if (typeof object.credit_issuance_decision === "number") { + message.credit_issuance_decision = object.credit_issuance_decision; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.credit_issuance_decision = 0; + break; + case "UNKNOWN": + case 1: + message.credit_issuance_decision = 1; + break; + case "SUCCESS_NOT_REACHED_THRESHOLD": + case 2: + message.credit_issuance_decision = 2; + break; + case "SUCCESS_REACHED_THRESHOLD": + case 3: + message.credit_issuance_decision = 3; + break; + case "FAIL_OVER_THRESHOLD": + case 4: + message.credit_issuance_decision = 4; + break; + case "FAIL_NOT_ELIGIBLE": + case 5: + message.credit_issuance_decision = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a ProvideLeadFeedbackResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {google.ads.googleads.v19.services.ProvideLeadFeedbackResponse} message ProvideLeadFeedbackResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProvideLeadFeedbackResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.credit_issuance_decision = options.enums === String ? "UNSPECIFIED" : 0; + if (message.credit_issuance_decision != null && message.hasOwnProperty("credit_issuance_decision")) + object.credit_issuance_decision = options.enums === String ? $root.google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision[message.credit_issuance_decision] === undefined ? message.credit_issuance_decision : $root.google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision[message.credit_issuance_decision] : message.credit_issuance_decision; + return object; + }; + + /** + * Converts this ProvideLeadFeedbackResponse to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @instance + * @returns {Object.} JSON object + */ + ProvideLeadFeedbackResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProvideLeadFeedbackResponse + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.ProvideLeadFeedbackResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProvideLeadFeedbackResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.ProvideLeadFeedbackResponse"; + }; + + return ProvideLeadFeedbackResponse; + })(); + services.OfflineUserDataJobService = (function() { /** @@ -517312,12 +527409,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateOfflineUserDataJobRequest.decode = function decode(reader, length) { + CreateOfflineUserDataJobRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateOfflineUserDataJobRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -517557,12 +527656,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateOfflineUserDataJobResponse.decode = function decode(reader, length) { + CreateOfflineUserDataJobResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateOfflineUserDataJobResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -517771,12 +527872,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RunOfflineUserDataJobRequest.decode = function decode(reader, length) { + RunOfflineUserDataJobRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RunOfflineUserDataJobRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -518048,12 +528151,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddOfflineUserDataJobOperationsRequest.decode = function decode(reader, length) { + AddOfflineUserDataJobOperationsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AddOfflineUserDataJobOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -518365,12 +528470,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OfflineUserDataJobOperation.decode = function decode(reader, length) { + OfflineUserDataJobOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.OfflineUserDataJobOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.common.UserData.decode(reader, reader.uint32()); @@ -518631,12 +528738,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddOfflineUserDataJobOperationsResponse.decode = function decode(reader, length) { + AddOfflineUserDataJobOperationsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AddOfflineUserDataJobOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -518925,12 +529034,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListPaymentsAccountsRequest.decode = function decode(reader, length) { + ListPaymentsAccountsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListPaymentsAccountsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -519130,12 +529241,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListPaymentsAccountsResponse.decode = function decode(reader, length) { + ListPaymentsAccountsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListPaymentsAccountsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.payments_accounts && message.payments_accounts.length)) @@ -519497,12 +529610,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductLinkInvitationRequest.decode = function decode(reader, length) { + CreateProductLinkInvitationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateProductLinkInvitationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -519718,12 +529833,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductLinkInvitationResponse.decode = function decode(reader, length) { + CreateProductLinkInvitationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateProductLinkInvitationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -519943,12 +530060,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateProductLinkInvitationRequest.decode = function decode(reader, length) { + UpdateProductLinkInvitationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UpdateProductLinkInvitationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -520220,12 +530339,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateProductLinkInvitationResponse.decode = function decode(reader, length) { + UpdateProductLinkInvitationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UpdateProductLinkInvitationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -520434,12 +530555,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveProductLinkInvitationRequest.decode = function decode(reader, length) { + RemoveProductLinkInvitationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveProductLinkInvitationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -520650,12 +530773,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveProductLinkInvitationResponse.decode = function decode(reader, length) { + RemoveProductLinkInvitationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveProductLinkInvitationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -520965,12 +531090,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductLinkRequest.decode = function decode(reader, length) { + CreateProductLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateProductLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -521186,12 +531313,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductLinkResponse.decode = function decode(reader, length) { + CreateProductLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CreateProductLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -521411,12 +531540,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveProductLinkRequest.decode = function decode(reader, length) { + RemoveProductLinkRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveProductLinkRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -521639,12 +531770,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveProductLinkResponse.decode = function decode(reader, length) { + RemoveProductLinkResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RemoveProductLinkResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -521789,6 +531922,39 @@ return new this(rpcImpl, requestDelimited, responseDelimited); }; + /** + * Callback as used by {@link google.ads.googleads.v19.services.ReachPlanService|generateConversionRates}. + * @memberof google.ads.googleads.v19.services.ReachPlanService + * @typedef GenerateConversionRatesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.ads.googleads.v19.services.GenerateConversionRatesResponse} [response] GenerateConversionRatesResponse + */ + + /** + * Calls GenerateConversionRates. + * @function generateConversionRates + * @memberof google.ads.googleads.v19.services.ReachPlanService + * @instance + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesRequest} request GenerateConversionRatesRequest message or plain object + * @param {google.ads.googleads.v19.services.ReachPlanService.GenerateConversionRatesCallback} callback Node-style callback called with the error, if any, and GenerateConversionRatesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ReachPlanService.prototype.generateConversionRates = function generateConversionRates(request, callback) { + return this.rpcCall(generateConversionRates, $root.google.ads.googleads.v19.services.GenerateConversionRatesRequest, $root.google.ads.googleads.v19.services.GenerateConversionRatesResponse, request, callback); + }, "name", { value: "GenerateConversionRates" }); + + /** + * Calls GenerateConversionRates. + * @function generateConversionRates + * @memberof google.ads.googleads.v19.services.ReachPlanService + * @instance + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesRequest} request GenerateConversionRatesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link google.ads.googleads.v19.services.ReachPlanService|listPlannableLocations}. * @memberof google.ads.googleads.v19.services.ReachPlanService @@ -521891,6 +532057,765 @@ return ReachPlanService; })(); + services.GenerateConversionRatesRequest = (function() { + + /** + * Properties of a GenerateConversionRatesRequest. + * @memberof google.ads.googleads.v19.services + * @interface IGenerateConversionRatesRequest + * @property {string|null} [customer_id] GenerateConversionRatesRequest customer_id + * @property {string|null} [customer_reach_group] GenerateConversionRatesRequest customer_reach_group + */ + + /** + * Constructs a new GenerateConversionRatesRequest. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a GenerateConversionRatesRequest. + * @implements IGenerateConversionRatesRequest + * @constructor + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesRequest=} [properties] Properties to set + */ + function GenerateConversionRatesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenerateConversionRatesRequest customer_id. + * @member {string} customer_id + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @instance + */ + GenerateConversionRatesRequest.prototype.customer_id = ""; + + /** + * GenerateConversionRatesRequest customer_reach_group. + * @member {string|null|undefined} customer_reach_group + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @instance + */ + GenerateConversionRatesRequest.prototype.customer_reach_group = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + // Virtual OneOf for proto3 optional field + Object.defineProperty(GenerateConversionRatesRequest.prototype, "_customer_reach_group", { + get: $util.oneOfGetter($oneOfFields = ["customer_reach_group"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GenerateConversionRatesRequest instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesRequest=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesRequest} GenerateConversionRatesRequest instance + */ + GenerateConversionRatesRequest.create = function create(properties) { + return new GenerateConversionRatesRequest(properties); + }; + + /** + * Encodes the specified GenerateConversionRatesRequest message. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesRequest.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesRequest} message GenerateConversionRatesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateConversionRatesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.customer_id != null && Object.hasOwnProperty.call(message, "customer_id")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.customer_id); + if (message.customer_reach_group != null && Object.hasOwnProperty.call(message, "customer_reach_group")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.customer_reach_group); + return writer; + }; + + /** + * Encodes the specified GenerateConversionRatesRequest message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesRequest} message GenerateConversionRatesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateConversionRatesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateConversionRatesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesRequest} GenerateConversionRatesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateConversionRatesRequest.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateConversionRatesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.customer_id = reader.string(); + break; + } + case 2: { + message.customer_reach_group = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateConversionRatesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesRequest} GenerateConversionRatesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateConversionRatesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateConversionRatesRequest message. + * @function verify + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateConversionRatesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.customer_id != null && message.hasOwnProperty("customer_id")) + if (!$util.isString(message.customer_id)) + return "customer_id: string expected"; + if (message.customer_reach_group != null && message.hasOwnProperty("customer_reach_group")) { + properties._customer_reach_group = 1; + if (!$util.isString(message.customer_reach_group)) + return "customer_reach_group: string expected"; + } + return null; + }; + + /** + * Creates a GenerateConversionRatesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesRequest} GenerateConversionRatesRequest + */ + GenerateConversionRatesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.GenerateConversionRatesRequest) + return object; + var message = new $root.google.ads.googleads.v19.services.GenerateConversionRatesRequest(); + if (object.customer_id != null) + message.customer_id = String(object.customer_id); + if (object.customer_reach_group != null) + message.customer_reach_group = String(object.customer_reach_group); + return message; + }; + + /** + * Creates a plain object from a GenerateConversionRatesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {google.ads.googleads.v19.services.GenerateConversionRatesRequest} message GenerateConversionRatesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateConversionRatesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.customer_id = ""; + if (message.customer_id != null && message.hasOwnProperty("customer_id")) + object.customer_id = message.customer_id; + if (message.customer_reach_group != null && message.hasOwnProperty("customer_reach_group")) { + object.customer_reach_group = message.customer_reach_group; + if (options.oneofs) + object._customer_reach_group = "customer_reach_group"; + } + return object; + }; + + /** + * Converts this GenerateConversionRatesRequest to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @instance + * @returns {Object.} JSON object + */ + GenerateConversionRatesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GenerateConversionRatesRequest + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GenerateConversionRatesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.GenerateConversionRatesRequest"; + }; + + return GenerateConversionRatesRequest; + })(); + + services.GenerateConversionRatesResponse = (function() { + + /** + * Properties of a GenerateConversionRatesResponse. + * @memberof google.ads.googleads.v19.services + * @interface IGenerateConversionRatesResponse + * @property {Array.|null} [conversion_rate_suggestions] GenerateConversionRatesResponse conversion_rate_suggestions + */ + + /** + * Constructs a new GenerateConversionRatesResponse. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a GenerateConversionRatesResponse. + * @implements IGenerateConversionRatesResponse + * @constructor + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesResponse=} [properties] Properties to set + */ + function GenerateConversionRatesResponse(properties) { + this.conversion_rate_suggestions = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenerateConversionRatesResponse conversion_rate_suggestions. + * @member {Array.} conversion_rate_suggestions + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @instance + */ + GenerateConversionRatesResponse.prototype.conversion_rate_suggestions = $util.emptyArray; + + /** + * Creates a new GenerateConversionRatesResponse instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesResponse=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesResponse} GenerateConversionRatesResponse instance + */ + GenerateConversionRatesResponse.create = function create(properties) { + return new GenerateConversionRatesResponse(properties); + }; + + /** + * Encodes the specified GenerateConversionRatesResponse message. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesResponse.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesResponse} message GenerateConversionRatesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateConversionRatesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.conversion_rate_suggestions != null && message.conversion_rate_suggestions.length) + for (var i = 0; i < message.conversion_rate_suggestions.length; ++i) + $root.google.ads.googleads.v19.services.ConversionRateSuggestion.encode(message.conversion_rate_suggestions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GenerateConversionRatesResponse message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.GenerateConversionRatesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {google.ads.googleads.v19.services.IGenerateConversionRatesResponse} message GenerateConversionRatesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateConversionRatesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateConversionRatesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesResponse} GenerateConversionRatesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateConversionRatesResponse.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateConversionRatesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.conversion_rate_suggestions && message.conversion_rate_suggestions.length)) + message.conversion_rate_suggestions = []; + message.conversion_rate_suggestions.push($root.google.ads.googleads.v19.services.ConversionRateSuggestion.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateConversionRatesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesResponse} GenerateConversionRatesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateConversionRatesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateConversionRatesResponse message. + * @function verify + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateConversionRatesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.conversion_rate_suggestions != null && message.hasOwnProperty("conversion_rate_suggestions")) { + if (!Array.isArray(message.conversion_rate_suggestions)) + return "conversion_rate_suggestions: array expected"; + for (var i = 0; i < message.conversion_rate_suggestions.length; ++i) { + var error = $root.google.ads.googleads.v19.services.ConversionRateSuggestion.verify(message.conversion_rate_suggestions[i]); + if (error) + return "conversion_rate_suggestions." + error; + } + } + return null; + }; + + /** + * Creates a GenerateConversionRatesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.GenerateConversionRatesResponse} GenerateConversionRatesResponse + */ + GenerateConversionRatesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.GenerateConversionRatesResponse) + return object; + var message = new $root.google.ads.googleads.v19.services.GenerateConversionRatesResponse(); + if (object.conversion_rate_suggestions) { + if (!Array.isArray(object.conversion_rate_suggestions)) + throw TypeError(".google.ads.googleads.v19.services.GenerateConversionRatesResponse.conversion_rate_suggestions: array expected"); + message.conversion_rate_suggestions = []; + for (var i = 0; i < object.conversion_rate_suggestions.length; ++i) { + if (typeof object.conversion_rate_suggestions[i] !== "object") + throw TypeError(".google.ads.googleads.v19.services.GenerateConversionRatesResponse.conversion_rate_suggestions: object expected"); + message.conversion_rate_suggestions[i] = $root.google.ads.googleads.v19.services.ConversionRateSuggestion.fromObject(object.conversion_rate_suggestions[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GenerateConversionRatesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {google.ads.googleads.v19.services.GenerateConversionRatesResponse} message GenerateConversionRatesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateConversionRatesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.conversion_rate_suggestions = []; + if (message.conversion_rate_suggestions && message.conversion_rate_suggestions.length) { + object.conversion_rate_suggestions = []; + for (var j = 0; j < message.conversion_rate_suggestions.length; ++j) + object.conversion_rate_suggestions[j] = $root.google.ads.googleads.v19.services.ConversionRateSuggestion.toObject(message.conversion_rate_suggestions[j], options); + } + return object; + }; + + /** + * Converts this GenerateConversionRatesResponse to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @instance + * @returns {Object.} JSON object + */ + GenerateConversionRatesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GenerateConversionRatesResponse + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.GenerateConversionRatesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GenerateConversionRatesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.GenerateConversionRatesResponse"; + }; + + return GenerateConversionRatesResponse; + })(); + + services.ConversionRateSuggestion = (function() { + + /** + * Properties of a ConversionRateSuggestion. + * @memberof google.ads.googleads.v19.services + * @interface IConversionRateSuggestion + * @property {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel|null} [conversion_rate_model] ConversionRateSuggestion conversion_rate_model + * @property {string|null} [plannable_product_code] ConversionRateSuggestion plannable_product_code + * @property {number|null} [conversion_rate] ConversionRateSuggestion conversion_rate + */ + + /** + * Constructs a new ConversionRateSuggestion. + * @memberof google.ads.googleads.v19.services + * @classdesc Represents a ConversionRateSuggestion. + * @implements IConversionRateSuggestion + * @constructor + * @param {google.ads.googleads.v19.services.IConversionRateSuggestion=} [properties] Properties to set + */ + function ConversionRateSuggestion(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConversionRateSuggestion conversion_rate_model. + * @member {google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel} conversion_rate_model + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @instance + */ + ConversionRateSuggestion.prototype.conversion_rate_model = 0; + + /** + * ConversionRateSuggestion plannable_product_code. + * @member {string} plannable_product_code + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @instance + */ + ConversionRateSuggestion.prototype.plannable_product_code = ""; + + /** + * ConversionRateSuggestion conversion_rate. + * @member {number} conversion_rate + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @instance + */ + ConversionRateSuggestion.prototype.conversion_rate = 0; + + /** + * Creates a new ConversionRateSuggestion instance using the specified properties. + * @function create + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {google.ads.googleads.v19.services.IConversionRateSuggestion=} [properties] Properties to set + * @returns {google.ads.googleads.v19.services.ConversionRateSuggestion} ConversionRateSuggestion instance + */ + ConversionRateSuggestion.create = function create(properties) { + return new ConversionRateSuggestion(properties); + }; + + /** + * Encodes the specified ConversionRateSuggestion message. Does not implicitly {@link google.ads.googleads.v19.services.ConversionRateSuggestion.verify|verify} messages. + * @function encode + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {google.ads.googleads.v19.services.IConversionRateSuggestion} message ConversionRateSuggestion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConversionRateSuggestion.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.conversion_rate_model != null && Object.hasOwnProperty.call(message, "conversion_rate_model")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.conversion_rate_model); + if (message.plannable_product_code != null && Object.hasOwnProperty.call(message, "plannable_product_code")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.plannable_product_code); + if (message.conversion_rate != null && Object.hasOwnProperty.call(message, "conversion_rate")) + writer.uint32(/* id 3, wireType 1 =*/25).double(message.conversion_rate); + return writer; + }; + + /** + * Encodes the specified ConversionRateSuggestion message, length delimited. Does not implicitly {@link google.ads.googleads.v19.services.ConversionRateSuggestion.verify|verify} messages. + * @function encodeDelimited + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {google.ads.googleads.v19.services.IConversionRateSuggestion} message ConversionRateSuggestion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConversionRateSuggestion.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConversionRateSuggestion message from the specified reader or buffer. + * @function decode + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.ads.googleads.v19.services.ConversionRateSuggestion} ConversionRateSuggestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConversionRateSuggestion.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ConversionRateSuggestion(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.conversion_rate_model = reader.int32(); + break; + } + case 2: { + message.plannable_product_code = reader.string(); + break; + } + case 3: { + message.conversion_rate = reader.double(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConversionRateSuggestion message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.ads.googleads.v19.services.ConversionRateSuggestion} ConversionRateSuggestion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConversionRateSuggestion.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConversionRateSuggestion message. + * @function verify + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConversionRateSuggestion.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.conversion_rate_model != null && message.hasOwnProperty("conversion_rate_model")) + switch (message.conversion_rate_model) { + default: + return "conversion_rate_model: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.plannable_product_code != null && message.hasOwnProperty("plannable_product_code")) + if (!$util.isString(message.plannable_product_code)) + return "plannable_product_code: string expected"; + if (message.conversion_rate != null && message.hasOwnProperty("conversion_rate")) + if (typeof message.conversion_rate !== "number") + return "conversion_rate: number expected"; + return null; + }; + + /** + * Creates a ConversionRateSuggestion message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {Object.} object Plain object + * @returns {google.ads.googleads.v19.services.ConversionRateSuggestion} ConversionRateSuggestion + */ + ConversionRateSuggestion.fromObject = function fromObject(object) { + if (object instanceof $root.google.ads.googleads.v19.services.ConversionRateSuggestion) + return object; + var message = new $root.google.ads.googleads.v19.services.ConversionRateSuggestion(); + switch (object.conversion_rate_model) { + default: + if (typeof object.conversion_rate_model === "number") { + message.conversion_rate_model = object.conversion_rate_model; + break; + } + break; + case "UNSPECIFIED": + case 0: + message.conversion_rate_model = 0; + break; + case "UNKNOWN": + case 1: + message.conversion_rate_model = 1; + break; + case "CUSTOMER_HISTORY": + case 2: + message.conversion_rate_model = 2; + break; + case "INVENTORY_AGGRESSIVE": + case 3: + message.conversion_rate_model = 3; + break; + case "INVENTORY_CONSERVATIVE": + case 4: + message.conversion_rate_model = 4; + break; + case "INVENTORY_MEDIAN": + case 5: + message.conversion_rate_model = 5; + break; + } + if (object.plannable_product_code != null) + message.plannable_product_code = String(object.plannable_product_code); + if (object.conversion_rate != null) + message.conversion_rate = Number(object.conversion_rate); + return message; + }; + + /** + * Creates a plain object from a ConversionRateSuggestion message. Also converts values to other types if specified. + * @function toObject + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {google.ads.googleads.v19.services.ConversionRateSuggestion} message ConversionRateSuggestion + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConversionRateSuggestion.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.conversion_rate_model = options.enums === String ? "UNSPECIFIED" : 0; + object.plannable_product_code = ""; + object.conversion_rate = 0; + } + if (message.conversion_rate_model != null && message.hasOwnProperty("conversion_rate_model")) + object.conversion_rate_model = options.enums === String ? $root.google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel[message.conversion_rate_model] === undefined ? message.conversion_rate_model : $root.google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel[message.conversion_rate_model] : message.conversion_rate_model; + if (message.plannable_product_code != null && message.hasOwnProperty("plannable_product_code")) + object.plannable_product_code = message.plannable_product_code; + if (message.conversion_rate != null && message.hasOwnProperty("conversion_rate")) + object.conversion_rate = options.json && !isFinite(message.conversion_rate) ? String(message.conversion_rate) : message.conversion_rate; + return object; + }; + + /** + * Converts this ConversionRateSuggestion to JSON. + * @function toJSON + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @instance + * @returns {Object.} JSON object + */ + ConversionRateSuggestion.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConversionRateSuggestion + * @function getTypeUrl + * @memberof google.ads.googleads.v19.services.ConversionRateSuggestion + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConversionRateSuggestion.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.ads.googleads.v19.services.ConversionRateSuggestion"; + }; + + return ConversionRateSuggestion; + })(); + services.ListPlannableLocationsRequest = (function() { /** @@ -521965,12 +532890,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListPlannableLocationsRequest.decode = function decode(reader, length) { + ListPlannableLocationsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListPlannableLocationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -522153,12 +533080,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListPlannableLocationsResponse.decode = function decode(reader, length) { + ListPlannableLocationsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListPlannableLocationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.plannable_locations && message.plannable_locations.length)) @@ -522452,12 +533381,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlannableLocation.decode = function decode(reader, length) { + PlannableLocation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PlannableLocation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.id = reader.string(); @@ -522733,12 +533664,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListPlannableProductsRequest.decode = function decode(reader, length) { + ListPlannableProductsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListPlannableProductsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.plannable_location_id = reader.string(); @@ -522938,12 +533871,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListPlannableProductsResponse.decode = function decode(reader, length) { + ListPlannableProductsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ListPlannableProductsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.product_metadata && message.product_metadata.length)) @@ -523191,12 +534126,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductMetadata.decode = function decode(reader, length) { + ProductMetadata.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ProductMetadata(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.plannable_product_code = reader.string(); @@ -523500,12 +534437,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlannableTargeting.decode = function decode(reader, length) { + PlannableTargeting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PlannableTargeting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.age_ranges && message.age_ranges.length)) @@ -524193,12 +535132,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateReachForecastRequest.decode = function decode(reader, length) { + GenerateReachForecastRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateReachForecastRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -524584,12 +535525,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EffectiveFrequencyLimit.decode = function decode(reader, length) { + EffectiveFrequencyLimit.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EffectiveFrequencyLimit(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.effective_frequency_breakdown_limit = reader.int32(); @@ -524798,12 +535741,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FrequencyCap.decode = function decode(reader, length) { + FrequencyCap.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.FrequencyCap(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.impressions = reader.int32(); @@ -525129,12 +536074,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Targeting.decode = function decode(reader, length) { + Targeting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.Targeting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 6: { message.plannable_location_id = reader.string(); @@ -525672,12 +536619,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignDuration.decode = function decode(reader, length) { + CampaignDuration.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.CampaignDuration(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.duration_in_days = reader.int32(); @@ -525820,6 +536769,7 @@ * @interface IPlannedProduct * @property {string|null} [plannable_product_code] PlannedProduct plannable_product_code * @property {number|null} [budget_micros] PlannedProduct budget_micros + * @property {number|null} [conversion_rate] PlannedProduct conversion_rate * @property {google.ads.googleads.v19.services.IAdvancedProductTargeting|null} [advanced_product_targeting] PlannedProduct advanced_product_targeting */ @@ -525854,6 +536804,14 @@ */ PlannedProduct.prototype.budget_micros = null; + /** + * PlannedProduct conversion_rate. + * @member {number|null|undefined} conversion_rate + * @memberof google.ads.googleads.v19.services.PlannedProduct + * @instance + */ + PlannedProduct.prototype.conversion_rate = null; + /** * PlannedProduct advanced_product_targeting. * @member {google.ads.googleads.v19.services.IAdvancedProductTargeting|null|undefined} advanced_product_targeting @@ -525877,6 +536835,12 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(PlannedProduct.prototype, "_conversion_rate", { + get: $util.oneOfGetter($oneOfFields = ["conversion_rate"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new PlannedProduct instance using the specified properties. * @function create @@ -525907,6 +536871,8 @@ writer.uint32(/* id 4, wireType 0 =*/32).int64(message.budget_micros); if (message.advanced_product_targeting != null && Object.hasOwnProperty.call(message, "advanced_product_targeting")) $root.google.ads.googleads.v19.services.AdvancedProductTargeting.encode(message.advanced_product_targeting, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.conversion_rate != null && Object.hasOwnProperty.call(message, "conversion_rate")) + writer.uint32(/* id 6, wireType 1 =*/49).double(message.conversion_rate); return writer; }; @@ -525934,12 +536900,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlannedProduct.decode = function decode(reader, length) { + PlannedProduct.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PlannedProduct(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.plannable_product_code = reader.string(); @@ -525949,6 +536917,10 @@ message.budget_micros = reader.int64(); break; } + case 6: { + message.conversion_rate = reader.double(); + break; + } case 5: { message.advanced_product_targeting = $root.google.ads.googleads.v19.services.AdvancedProductTargeting.decode(reader, reader.uint32()); break; @@ -525999,6 +536971,11 @@ if (!$util.isInteger(message.budget_micros) && !(message.budget_micros && $util.isInteger(message.budget_micros.low) && $util.isInteger(message.budget_micros.high))) return "budget_micros: integer|Long expected"; } + if (message.conversion_rate != null && message.hasOwnProperty("conversion_rate")) { + properties._conversion_rate = 1; + if (typeof message.conversion_rate !== "number") + return "conversion_rate: number expected"; + } if (message.advanced_product_targeting != null && message.hasOwnProperty("advanced_product_targeting")) { var error = $root.google.ads.googleads.v19.services.AdvancedProductTargeting.verify(message.advanced_product_targeting); if (error) @@ -526030,6 +537007,8 @@ message.budget_micros = object.budget_micros; else if (typeof object.budget_micros === "object") message.budget_micros = new $util.LongBits(object.budget_micros.low >>> 0, object.budget_micros.high >>> 0).toNumber(); + if (object.conversion_rate != null) + message.conversion_rate = Number(object.conversion_rate); if (object.advanced_product_targeting != null) { if (typeof object.advanced_product_targeting !== "object") throw TypeError(".google.ads.googleads.v19.services.PlannedProduct.advanced_product_targeting: object expected"); @@ -526068,6 +537047,11 @@ } if (message.advanced_product_targeting != null && message.hasOwnProperty("advanced_product_targeting")) object.advanced_product_targeting = $root.google.ads.googleads.v19.services.AdvancedProductTargeting.toObject(message.advanced_product_targeting, options); + if (message.conversion_rate != null && message.hasOwnProperty("conversion_rate")) { + object.conversion_rate = options.json && !isFinite(message.conversion_rate) ? String(message.conversion_rate) : message.conversion_rate; + if (options.oneofs) + object._conversion_rate = "conversion_rate"; + } return object; }; @@ -526196,12 +537180,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateReachForecastResponse.decode = function decode(reader, length) { + GenerateReachForecastResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateReachForecastResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.on_target_audience_metrics = $root.google.ads.googleads.v19.services.OnTargetAudienceMetrics.decode(reader, reader.uint32()); @@ -526424,12 +537410,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReachCurve.decode = function decode(reader, length) { + ReachCurve.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ReachCurve(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.reach_forecasts && message.reach_forecasts.length)) @@ -526670,12 +537658,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReachForecast.decode = function decode(reader, length) { + ReachForecast.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ReachForecast(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.cost_micros = reader.int64(); @@ -526869,6 +537859,7 @@ * @property {number|null} [on_target_coview_impressions] Forecast on_target_coview_impressions * @property {number|null} [total_coview_impressions] Forecast total_coview_impressions * @property {number|null} [views] Forecast views + * @property {number|null} [conversions] Forecast conversions */ /** @@ -526975,6 +537966,14 @@ */ Forecast.prototype.views = null; + /** + * Forecast conversions. + * @member {number|null|undefined} conversions + * @memberof google.ads.googleads.v19.services.Forecast + * @instance + */ + Forecast.prototype.conversions = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -527038,6 +538037,12 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(Forecast.prototype, "_conversions", { + get: $util.oneOfGetter($oneOfFields = ["conversions"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new Forecast instance using the specified properties. * @function create @@ -527085,6 +538090,8 @@ writer.uint32(/* id 14, wireType 0 =*/112).int64(message.total_coview_impressions); if (message.views != null && Object.hasOwnProperty.call(message, "views")) writer.uint32(/* id 15, wireType 0 =*/120).int64(message.views); + if (message.conversions != null && Object.hasOwnProperty.call(message, "conversions")) + writer.uint32(/* id 16, wireType 1 =*/129).double(message.conversions); return writer; }; @@ -527112,12 +538119,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Forecast.decode = function decode(reader, length) { + Forecast.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.Forecast(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 5: { message.on_target_reach = reader.int64(); @@ -527165,6 +538174,10 @@ message.views = reader.int64(); break; } + case 16: { + message.conversions = reader.double(); + break; + } default: reader.skipType(tag & 7); break; @@ -527260,6 +538273,11 @@ if (!$util.isInteger(message.views) && !(message.views && $util.isInteger(message.views.low) && $util.isInteger(message.views.high))) return "views: integer|Long expected"; } + if (message.conversions != null && message.hasOwnProperty("conversions")) { + properties._conversions = 1; + if (typeof message.conversions !== "number") + return "conversions: number expected"; + } return null; }; @@ -527375,6 +538393,8 @@ message.views = object.views; else if (typeof object.views === "object") message.views = new $util.LongBits(object.views.low >>> 0, object.views.high >>> 0).toNumber(); + if (object.conversions != null) + message.conversions = Number(object.conversions); return message; }; @@ -527478,6 +538498,11 @@ if (options.oneofs) object._views = "views"; } + if (message.conversions != null && message.hasOwnProperty("conversions")) { + object.conversions = options.json && !isFinite(message.conversions) ? String(message.conversions) : message.conversions; + if (options.oneofs) + object._conversions = "conversions"; + } return object; }; @@ -527617,12 +538642,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlannedProductReachForecast.decode = function decode(reader, length) { + PlannedProductReachForecast.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PlannedProductReachForecast(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.plannable_product_code = reader.string(); @@ -527796,6 +538823,7 @@ * @property {number|null} [total_coview_impressions] PlannedProductForecast total_coview_impressions * @property {number|null} [average_frequency] PlannedProductForecast average_frequency * @property {number|null} [views] PlannedProductForecast views + * @property {number|null} [conversions] PlannedProductForecast conversions */ /** @@ -527901,6 +538929,14 @@ */ PlannedProductForecast.prototype.views = null; + /** + * PlannedProductForecast conversions. + * @member {number|null|undefined} conversions + * @memberof google.ads.googleads.v19.services.PlannedProductForecast + * @instance + */ + PlannedProductForecast.prototype.conversions = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -527946,6 +538982,12 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(PlannedProductForecast.prototype, "_conversions", { + get: $util.oneOfGetter($oneOfFields = ["conversions"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new PlannedProductForecast instance using the specified properties. * @function create @@ -527992,6 +539034,8 @@ writer.uint32(/* id 10, wireType 1 =*/81).double(message.average_frequency); if (message.views != null && Object.hasOwnProperty.call(message, "views")) writer.uint32(/* id 11, wireType 0 =*/88).int64(message.views); + if (message.conversions != null && Object.hasOwnProperty.call(message, "conversions")) + writer.uint32(/* id 12, wireType 1 =*/97).double(message.conversions); return writer; }; @@ -528019,12 +539063,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlannedProductForecast.decode = function decode(reader, length) { + PlannedProductForecast.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.PlannedProductForecast(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.on_target_reach = reader.int64(); @@ -528070,6 +539116,10 @@ message.views = reader.int64(); break; } + case 12: { + message.conversions = reader.double(); + break; + } default: reader.skipType(tag & 7); break; @@ -528153,6 +539203,11 @@ if (!$util.isInteger(message.views) && !(message.views && $util.isInteger(message.views.low) && $util.isInteger(message.views.high))) return "views: integer|Long expected"; } + if (message.conversions != null && message.hasOwnProperty("conversions")) { + properties._conversions = 1; + if (typeof message.conversions !== "number") + return "conversions: number expected"; + } return null; }; @@ -528260,6 +539315,8 @@ message.views = object.views; else if (typeof object.views === "object") message.views = new $util.LongBits(object.views.low >>> 0, object.views.high >>> 0).toNumber(); + if (object.conversions != null) + message.conversions = Number(object.conversions); return message; }; @@ -528371,6 +539428,11 @@ if (options.oneofs) object._views = "views"; } + if (message.conversions != null && message.hasOwnProperty("conversions")) { + object.conversions = options.json && !isFinite(message.conversions) ? String(message.conversions) : message.conversions; + if (options.oneofs) + object._conversions = "conversions"; + } return object; }; @@ -528514,12 +539576,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OnTargetAudienceMetrics.decode = function decode(reader, length) { + OnTargetAudienceMetrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.OnTargetAudienceMetrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.youtube_audience_size = reader.int64(); @@ -528816,12 +539880,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EffectiveFrequencyBreakdown.decode = function decode(reader, length) { + EffectiveFrequencyBreakdown.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.EffectiveFrequencyBreakdown(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.effective_frequency = reader.int32(); @@ -529125,12 +540191,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ForecastMetricOptions.decode = function decode(reader, length) { + ForecastMetricOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ForecastMetricOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.include_coview = reader.bool(); @@ -529330,12 +540398,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AudienceTargeting.decode = function decode(reader, length) { + AudienceTargeting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AudienceTargeting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.user_interest && message.user_interest.length)) @@ -529588,12 +540658,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdvancedProductTargeting.decode = function decode(reader, length) { + AdvancedProductTargeting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AdvancedProductTargeting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.surface_targeting_settings = $root.google.ads.googleads.v19.services.SurfaceTargeting.decode(reader, reader.uint32()); @@ -529837,12 +540909,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeSelectSettings.decode = function decode(reader, length) { + YouTubeSelectSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.YouTubeSelectSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.lineup_id = reader.int64(); @@ -530065,12 +541139,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - YouTubeSelectLineUp.decode = function decode(reader, length) { + YouTubeSelectLineUp.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.YouTubeSelectLineUp(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.lineup_id = reader.int64(); @@ -530308,12 +541384,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SurfaceTargetingCombinations.decode = function decode(reader, length) { + SurfaceTargetingCombinations.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SurfaceTargetingCombinations(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.default_targeting = $root.google.ads.googleads.v19.services.SurfaceTargeting.decode(reader, reader.uint32()); @@ -530553,12 +541631,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SurfaceTargeting.decode = function decode(reader, length) { + SurfaceTargeting.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SurfaceTargeting(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.surfaces && message.surfaces.length)) @@ -530615,6 +541695,8 @@ return "surfaces: enum value[] expected"; case 0: case 1: + case 7: + case 8: case 2: case 3: case 4: @@ -530657,6 +541739,14 @@ case 1: message.surfaces[i] = 1; break; + case "DISCOVER_FEED": + case 7: + message.surfaces[i] = 7; + break; + case "GMAIL": + case 8: + message.surfaces[i] = 8; + break; case "IN_FEED": case 2: message.surfaces[i] = 2; @@ -530830,12 +541920,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetFrequencySettings.decode = function decode(reader, length) { + TargetFrequencySettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.TargetFrequencySettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.time_unit = reader.int32(); @@ -530887,6 +541979,7 @@ case 0: case 1: case 2: + case 3: break; } if (message.target_frequency != null && message.hasOwnProperty("target_frequency")) @@ -530926,6 +542019,10 @@ case 2: message.time_unit = 2; break; + case "MONTHLY": + case 3: + message.time_unit = 3; + break; } if (object.target_frequency != null) message.target_frequency = object.target_frequency | 0; @@ -531228,12 +542325,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ApplyRecommendationRequest.decode = function decode(reader, length) { + ApplyRecommendationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -531754,12 +542853,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ApplyRecommendationOperation.decode = function decode(reader, length) { + ApplyRecommendationOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -532538,12 +543639,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CampaignBudgetParameters.decode = function decode(reader, length) { + CampaignBudgetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.CampaignBudgetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.new_budget_amount_micros = reader.int64(); @@ -532781,12 +543884,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ForecastingSetTargetRoasParameters.decode = function decode(reader, length) { + ForecastingSetTargetRoasParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.ForecastingSetTargetRoasParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_roas = reader.double(); @@ -533014,12 +544119,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAdParameters.decode = function decode(reader, length) { + TextAdParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.TextAdParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -533259,12 +544366,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordParameters.decode = function decode(reader, length) { + KeywordParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.KeywordParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.ad_group = reader.string(); @@ -533565,12 +544674,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetCpaOptInParameters.decode = function decode(reader, length) { + TargetCpaOptInParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.TargetCpaOptInParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.target_cpa_micros = reader.int64(); @@ -533834,12 +544945,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetRoasOptInParameters.decode = function decode(reader, length) { + TargetRoasOptInParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.TargetRoasOptInParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_roas = reader.double(); @@ -534069,12 +545182,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CalloutExtensionParameters.decode = function decode(reader, length) { + CalloutExtensionParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.CalloutExtensionParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.callout_extensions && message.callout_extensions.length)) @@ -534293,12 +545408,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallExtensionParameters.decode = function decode(reader, length) { + CallExtensionParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.CallExtensionParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.call_extensions && message.call_extensions.length)) @@ -534517,12 +545634,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SitelinkExtensionParameters.decode = function decode(reader, length) { + SitelinkExtensionParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.SitelinkExtensionParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.sitelink_extensions && message.sitelink_extensions.length)) @@ -534739,12 +545858,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CalloutAssetParameters.decode = function decode(reader, length) { + CalloutAssetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.CalloutAssetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_asset_apply_parameters = $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.AdAssetApplyParameters.decode(reader, reader.uint32()); @@ -534947,12 +546068,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CallAssetParameters.decode = function decode(reader, length) { + CallAssetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.CallAssetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_asset_apply_parameters = $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.AdAssetApplyParameters.decode(reader, reader.uint32()); @@ -535155,12 +546278,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SitelinkAssetParameters.decode = function decode(reader, length) { + SitelinkAssetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.SitelinkAssetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_asset_apply_parameters = $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.AdAssetApplyParameters.decode(reader, reader.uint32()); @@ -535363,12 +546488,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RaiseTargetCpaParameters.decode = function decode(reader, length) { + RaiseTargetCpaParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.RaiseTargetCpaParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_cpa_multiplier = reader.double(); @@ -535566,12 +546693,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LowerTargetRoasParameters.decode = function decode(reader, length) { + LowerTargetRoasParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.LowerTargetRoasParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_roas_multiplier = reader.double(); @@ -535795,12 +546924,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdAssetApplyParameters.decode = function decode(reader, length) { + AdAssetApplyParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.AdAssetApplyParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.new_assets && message.new_assets.length)) @@ -536113,12 +547244,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveUnusedBudgetParameters.decode = function decode(reader, length) { + MoveUnusedBudgetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.budget_micros_to_move = reader.int64(); @@ -536330,12 +547463,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdAssetParameters.decode = function decode(reader, length) { + ResponsiveSearchAdAssetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.ResponsiveSearchAdAssetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.updated_ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -536538,12 +547673,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdImproveAdStrengthParameters.decode = function decode(reader, length) { + ResponsiveSearchAdImproveAdStrengthParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.ResponsiveSearchAdImproveAdStrengthParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.updated_ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -536746,12 +547883,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResponsiveSearchAdParameters.decode = function decode(reader, length) { + ResponsiveSearchAdParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.ResponsiveSearchAdParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad = $root.google.ads.googleads.v19.resources.Ad.decode(reader, reader.uint32()); @@ -536954,12 +548093,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RaiseTargetCpaBidTooLowParameters.decode = function decode(reader, length) { + RaiseTargetCpaBidTooLowParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.RaiseTargetCpaBidTooLowParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_multiplier = reader.double(); @@ -537166,12 +548307,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UseBroadMatchKeywordParameters.decode = function decode(reader, length) { + UseBroadMatchKeywordParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.UseBroadMatchKeywordParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.new_budget_amount_micros = reader.int64(); @@ -537409,12 +548552,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ForecastingSetTargetCpaParameters.decode = function decode(reader, length) { + ForecastingSetTargetCpaParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.ForecastingSetTargetCpaParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.target_cpa_micros = reader.int64(); @@ -537672,12 +548817,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LeadFormAssetParameters.decode = function decode(reader, length) { + LeadFormAssetParameters.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.LeadFormAssetParameters(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_asset_apply_parameters = $root.google.ads.googleads.v19.services.ApplyRecommendationOperation.AdAssetApplyParameters.decode(reader, reader.uint32()); @@ -537913,12 +549060,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ApplyRecommendationResponse.decode = function decode(reader, length) { + ApplyRecommendationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -538153,12 +549302,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ApplyRecommendationResult.decode = function decode(reader, length) { + ApplyRecommendationResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ApplyRecommendationResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -538380,12 +549531,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DismissRecommendationRequest.decode = function decode(reader, length) { + DismissRecommendationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.DismissRecommendationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -538625,12 +549778,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DismissRecommendationOperation.decode = function decode(reader, length) { + DismissRecommendationOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.DismissRecommendationRequest.DismissRecommendationOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -538844,12 +549999,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DismissRecommendationResponse.decode = function decode(reader, length) { + DismissRecommendationResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.DismissRecommendationResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.results && message.results.length)) @@ -539081,12 +550238,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DismissRecommendationResult.decode = function decode(reader, length) { + DismissRecommendationResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.DismissRecommendationResponse.DismissRecommendationResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -539554,12 +550713,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateRecommendationsRequest.decode = function decode(reader, length) { + GenerateRecommendationsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -540619,12 +551780,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BiddingInfo.decode = function decode(reader, length) { + BiddingInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest.BiddingInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.bidding_strategy_type = reader.int32(); @@ -541030,12 +552193,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdGroupInfo.decode = function decode(reader, length) { + AdGroupInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest.AdGroupInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_group_type = reader.int32(); @@ -541106,6 +552271,7 @@ case 17: case 18: case 19: + case 20: break; } } @@ -541212,6 +552378,10 @@ case 19: message.ad_group_type = 19; break; + case "YOUTUBE_AUDIO": + case 20: + message.ad_group_type = 20; + break; } if (object.keywords) { if (!Array.isArray(object.keywords)) @@ -541390,12 +552560,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SeedInfo.decode = function decode(reader, length) { + SeedInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest.SeedInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.url_seed = reader.string(); @@ -541633,12 +552805,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetInfo.decode = function decode(reader, length) { + BudgetInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest.BudgetInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.current_budget = reader.int64(); @@ -541885,12 +553059,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupInfo.decode = function decode(reader, length) { + AssetGroupInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest.AssetGroupInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.final_url = reader.string(); @@ -542189,12 +553365,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TargetImpressionShareInfo.decode = function decode(reader, length) { + TargetImpressionShareInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsRequest.TargetImpressionShareInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.location = reader.int32(); @@ -542487,12 +553665,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateRecommendationsResponse.decode = function decode(reader, length) { + GenerateRecommendationsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateRecommendationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.recommendations && message.recommendations.length)) @@ -542790,12 +553970,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateShareablePreviewsRequest.decode = function decode(reader, length) { + GenerateShareablePreviewsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateShareablePreviewsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -543025,12 +554207,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShareablePreview.decode = function decode(reader, length) { + ShareablePreview.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ShareablePreview(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset_group_identifier = $root.google.ads.googleads.v19.services.AssetGroupIdentifier.decode(reader, reader.uint32()); @@ -543233,12 +554417,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AssetGroupIdentifier.decode = function decode(reader, length) { + AssetGroupIdentifier.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.AssetGroupIdentifier(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.asset_group_id = reader.int64(); @@ -543452,12 +554638,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateShareablePreviewsResponse.decode = function decode(reader, length) { + GenerateShareablePreviewsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.GenerateShareablePreviewsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.responses && message.responses.length)) @@ -543710,12 +554898,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShareablePreviewOrError.decode = function decode(reader, length) { + ShareablePreviewOrError.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ShareablePreviewOrError(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.asset_group_identifier = $root.google.ads.googleads.v19.services.AssetGroupIdentifier.decode(reader, reader.uint32()); @@ -543976,12 +555166,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShareablePreviewResult.decode = function decode(reader, length) { + ShareablePreviewResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.ShareablePreviewResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.shareable_preview_url = reader.string(); @@ -544362,12 +555554,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestSmartCampaignBudgetOptionsRequest.decode = function decode(reader, length) { + SuggestSmartCampaignBudgetOptionsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestSmartCampaignBudgetOptionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -544712,12 +555906,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SmartCampaignSuggestionInfo.decode = function decode(reader, length) { + SmartCampaignSuggestionInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignSuggestionInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.final_url = reader.string(); @@ -545078,12 +556274,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationList.decode = function decode(reader, length) { + LocationList.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignSuggestionInfo.LocationList(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.locations && message.locations.length)) @@ -545300,12 +556498,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BusinessContext.decode = function decode(reader, length) { + BusinessContext.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SmartCampaignSuggestionInfo.BusinessContext(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.business_name = reader.string(); @@ -545549,12 +556749,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestSmartCampaignBudgetOptionsResponse.decode = function decode(reader, length) { + SuggestSmartCampaignBudgetOptionsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestSmartCampaignBudgetOptionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.low = $root.google.ads.googleads.v19.services.SuggestSmartCampaignBudgetOptionsResponse.BudgetOption.decode(reader, reader.uint32()); @@ -545814,12 +557016,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Metrics.decode = function decode(reader, length) { + Metrics.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestSmartCampaignBudgetOptionsResponse.Metrics(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.min_daily_clicks = reader.int64(); @@ -546069,12 +557273,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BudgetOption.decode = function decode(reader, length) { + BudgetOption.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestSmartCampaignBudgetOptionsResponse.BudgetOption(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.daily_amount_micros = reader.int64(); @@ -546318,12 +557524,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestSmartCampaignAdRequest.decode = function decode(reader, length) { + SuggestSmartCampaignAdRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestSmartCampaignAdRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -546539,12 +557747,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestSmartCampaignAdResponse.decode = function decode(reader, length) { + SuggestSmartCampaignAdResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestSmartCampaignAdResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ad_info = $root.google.ads.googleads.v19.common.SmartCampaignAdInfo.decode(reader, reader.uint32()); @@ -546758,12 +557968,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestKeywordThemesRequest.decode = function decode(reader, length) { + SuggestKeywordThemesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestKeywordThemesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -546981,12 +558193,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestKeywordThemesResponse.decode = function decode(reader, length) { + SuggestKeywordThemesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestKeywordThemesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.keyword_themes && message.keyword_themes.length)) @@ -547225,12 +558439,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeywordTheme.decode = function decode(reader, length) { + KeywordTheme.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestKeywordThemesResponse.KeywordTheme(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.keyword_theme_constant = $root.google.ads.googleads.v19.resources.KeywordThemeConstant.decode(reader, reader.uint32()); @@ -547527,12 +558743,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RegenerateShareableLinkIdRequest.decode = function decode(reader, length) { + RegenerateShareableLinkIdRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RegenerateShareableLinkIdRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -547719,12 +558937,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RegenerateShareableLinkIdResponse.decode = function decode(reader, length) { + RegenerateShareableLinkIdResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.RegenerateShareableLinkIdResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -547997,12 +559217,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestTravelAssetsRequest.decode = function decode(reader, length) { + SuggestTravelAssetsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestTravelAssetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -548242,12 +559464,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SuggestTravelAssetsResponse.decode = function decode(reader, length) { + SuggestTravelAssetsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.SuggestTravelAssetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.hotel_asset_suggestions && message.hotel_asset_suggestions.length)) @@ -548534,12 +559758,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelAssetSuggestion.decode = function decode(reader, length) { + HotelAssetSuggestion.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.HotelAssetSuggestion(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.place_id = reader.string(); @@ -548999,12 +560225,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelTextAsset.decode = function decode(reader, length) { + HotelTextAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.HotelTextAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.text = reader.string(); @@ -549087,6 +560315,7 @@ case 28: case 30: case 31: + case 32: break; } return null; @@ -549237,6 +560466,10 @@ case 31: message.asset_field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.asset_field_type = 32; + break; } return message; }; @@ -549390,12 +560623,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HotelImageAsset.decode = function decode(reader, length) { + HotelImageAsset.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.HotelImageAsset(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.uri = reader.string(); @@ -549478,6 +560713,7 @@ case 28: case 30: case 31: + case 32: break; } return null; @@ -549628,6 +560864,10 @@ case 31: message.asset_field_type = 31; break; + case "TALL_PORTRAIT_MARKETING_IMAGE": + case 32: + message.asset_field_type = 32; + break; } return message; }; @@ -549876,12 +561116,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadUserDataRequest.decode = function decode(reader, length) { + UploadUserDataRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadUserDataRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -550159,12 +561401,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserDataOperation.decode = function decode(reader, length) { + UserDataOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UserDataOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.common.UserData.decode(reader, reader.uint32()); @@ -550422,12 +561666,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UploadUserDataResponse.decode = function decode(reader, length) { + UploadUserDataResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UploadUserDataResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.upload_date_time = reader.string(); @@ -550748,12 +561994,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateUserListCustomerTypesRequest.decode = function decode(reader, length) { + MutateUserListCustomerTypesRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateUserListCustomerTypesRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.customer_id = reader.string(); @@ -551033,12 +562281,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UserListCustomerTypeOperation.decode = function decode(reader, length) { + UserListCustomerTypeOperation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.UserListCustomerTypeOperation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.create = $root.google.ads.googleads.v19.resources.UserListCustomerType.decode(reader, reader.uint32()); @@ -551277,12 +562527,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateUserListCustomerTypesResponse.decode = function decode(reader, length) { + MutateUserListCustomerTypesResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateUserListCustomerTypesResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.partial_failure_error = $root.google.rpc.Status.decode(reader, reader.uint32()); @@ -551517,12 +562769,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutateUserListCustomerTypeResult.decode = function decode(reader, length) { + MutateUserListCustomerTypeResult.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ads.googleads.v19.services.MutateUserListCustomerTypeResult(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.resource_name = reader.string(); @@ -551842,12 +563096,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length) { + ResourceDescriptor.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.string(); @@ -552237,12 +563493,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length) { + ResourceReference.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type = reader.string(); @@ -552466,12 +563724,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length) { + Http.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.rules && message.rules.length)) @@ -552816,12 +564076,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length) { + HttpRule.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.selector = reader.string(); @@ -553200,12 +564462,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length) { + CustomHttpPattern.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.kind = reader.string(); @@ -553432,12 +564696,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length) { + CommonLanguageSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.reference_docs_uri = reader.string(); @@ -553801,12 +565067,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length) { + ClientLibrarySettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.version = reader.string(); @@ -554330,12 +565598,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length) { + Publishing.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.method_settings && message.method_settings.length)) @@ -554781,12 +566051,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length) { + JavaSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.library_package = reader.string(); @@ -555048,12 +566320,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length) { + CppSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -555256,12 +566530,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length) { + PhpSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -555464,12 +566740,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length) { + PythonSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -555672,12 +566950,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length) { + NodeSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -555945,12 +567225,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length) { + DotnetSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -556324,12 +567606,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length) { + RubySettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -556532,12 +567816,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length) { + GoSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); @@ -556764,12 +568050,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length) { + MethodSettings.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.selector = reader.string(); @@ -557042,12 +568330,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length) { + LongRunning.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.initial_poll_delay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); @@ -557382,12 +568672,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length) { + FileDescriptorSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.file && message.file.length)) @@ -557782,12 +569074,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length) { + FileDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -558449,12 +569743,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length) { + DescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -558934,12 +570230,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length) { + ExtensionRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.start = reader.int32(); @@ -559178,12 +570476,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length) { + ReservedRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.start = reader.int32(); @@ -559434,12 +570734,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length) { + ExtensionRangeOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 999: { if (!(message.uninterpreted_option && message.uninterpreted_option.length)) @@ -559779,12 +571081,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length) { + Declaration.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.number = reader.int32(); @@ -560158,12 +571462,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length) { + FieldDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -560683,12 +571989,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length) { + OneofDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -560954,12 +572262,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length) { + EnumDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -561273,12 +572583,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length) { + EnumReservedRange.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.start = reader.int32(); @@ -561514,12 +572826,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length) { + EnumValueDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -561771,12 +573085,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length) { + ServiceDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -562079,12 +573395,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length) { + MethodDescriptorProto.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -562583,12 +573901,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length) { + FileOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.java_package = reader.string(); @@ -563203,12 +574523,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length) { + MessageOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.message_set_wire_format = reader.bool(); @@ -563683,12 +575005,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length) { + FieldOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.ctype = reader.int32(); @@ -564414,12 +575738,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length) { + EditionDefault.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.edition = reader.int32(); @@ -564710,12 +576036,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length) { + OneofOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); @@ -564996,12 +576324,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length) { + EnumOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { message.allow_alias = reader.bool(); @@ -565308,12 +576638,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length) { + EnumValueOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.deprecated = reader.bool(); @@ -565630,12 +576962,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length) { + ServiceOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 34: { message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); @@ -565989,12 +577323,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length) { + MethodOptions.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 33: { message.deprecated = reader.bool(); @@ -566423,12 +577759,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length) { + UninterpretedOption.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 2: { if (!(message.name && message.name.length)) @@ -566762,12 +578100,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length) { + NamePart.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name_part = reader.string(); @@ -567038,12 +578378,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length) { + FeatureSet.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.field_presence = reader.int32(); @@ -567573,12 +578915,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length) { + FeatureSetDefaults.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.defaults && message.defaults.length)) @@ -567957,12 +579301,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length) { + FeatureSetEditionDefault.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 3: { message.edition = reader.int32(); @@ -568247,12 +579593,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length) { + SourceCodeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.location && message.location.length)) @@ -568522,12 +579870,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length) { + Location.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.path && message.path.length)) @@ -568833,12 +580183,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length) { + GeneratedCodeInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.annotation && message.annotation.length)) @@ -569101,12 +580453,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length) { + Annotation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.path && message.path.length)) @@ -569427,12 +580781,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length) { + Duration.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.seconds = reader.int64(); @@ -569659,12 +581015,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldMask.decode = function decode(reader, length) { + FieldMask.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.paths && message.paths.length)) @@ -569887,12 +581245,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Any.decode = function decode(reader, length) { + Any.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.type_url = reader.string(); @@ -570101,12 +581461,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Empty.decode = function decode(reader, length) { + Empty.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { default: reader.skipType(tag & 7); @@ -570323,12 +581685,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Status.decode = function decode(reader, length) { + Status.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.code = reader.int32(); @@ -570841,12 +582205,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Operation.decode = function decode(reader, length) { + Operation.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -571121,12 +582487,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOperationRequest.decode = function decode(reader, length) { + GetOperationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -571357,12 +582725,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsRequest.decode = function decode(reader, length) { + ListOperationsRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 4: { message.name = reader.string(); @@ -571610,12 +582980,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsResponse.decode = function decode(reader, length) { + ListOperationsResponse.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { if (!(message.operations && message.operations.length)) @@ -571845,12 +583217,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CancelOperationRequest.decode = function decode(reader, length) { + CancelOperationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -572048,12 +583422,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteOperationRequest.decode = function decode(reader, length) { + DeleteOperationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -572262,12 +583638,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitOperationRequest.decode = function decode(reader, length) { + WaitOperationRequest.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.name = reader.string(); @@ -572494,12 +583872,14 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationInfo.decode = function decode(reader, length) { + OperationInfo.decode = function decode(reader, length, error) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); while (reader.pos < end) { var tag = reader.uint32(); + if (tag === error) + break; switch (tag >>> 3) { case 1: { message.response_type = reader.string(); diff --git a/package/googleads-nodejs/protos/protos.json b/package/googleads-nodejs/protos/protos.json index fff2eefe..ae4a04b1 100644 --- a/package/googleads-nodejs/protos/protos.json +++ b/package/googleads-nodejs/protos/protos.json @@ -1,7 +1,4 @@ { - "options": { - "syntax": "proto3" - }, "nested": { "google": { "nested": { @@ -961,6 +958,9 @@ } } }, + "YouTubeAudioAdInfo": { + "fields": {} + }, "VideoAdInfo": { "oneofs": { "format": { @@ -969,7 +969,8 @@ "bumper", "out_stream", "non_skippable", - "in_feed" + "in_feed", + "audio" ] } }, @@ -997,6 +998,10 @@ "in_feed": { "type": "InFeedVideoAdInfo", "id": 9 + }, + "audio": { + "type": "YouTubeAudioAdInfo", + "id": 10 } } }, @@ -7052,6 +7057,11 @@ "biddable_app_post_install_conversions" ] }, + "_biddable_cohort_app_post_install_conversions": { + "oneof": [ + "biddable_cohort_app_post_install_conversions" + ] + }, "_benchmark_ctr": { "oneof": [ "benchmark_ctr" @@ -7801,6 +7811,16 @@ "oneof": [ "video_view_rate_shorts" ] + }, + "_coviewed_impressions": { + "oneof": [ + "coviewed_impressions" + ] + }, + "_primary_impressions": { + "oneof": [ + "primary_impressions" + ] } }, "fields": { @@ -8077,6 +8097,13 @@ "proto3_optional": true } }, + "biddable_cohort_app_post_install_conversions": { + "type": "double", + "id": 378, + "options": { + "proto3_optional": true + } + }, "benchmark_ctr": { "type": "double", "id": 211, @@ -9193,6 +9220,20 @@ "options": { "proto3_optional": true } + }, + "coviewed_impressions": { + "type": "int64", + "id": 380, + "options": { + "proto3_optional": true + } + }, + "primary_impressions": { + "type": "int64", + "id": 381, + "options": { + "proto3_optional": true + } } } }, @@ -10928,6 +10969,14 @@ "new_versus_returning_customers": { "type": "google.ads.googleads.v19.enums.ConvertingUserPriorEngagementTypeAndLtvBucketEnum.ConvertingUserPriorEngagementTypeAndLtvBucket", "id": 160 + }, + "adjusted_age_range": { + "type": "google.ads.googleads.v19.enums.AgeRangeTypeEnum.AgeRangeType", + "id": 196 + }, + "adjusted_gender": { + "type": "google.ads.googleads.v19.enums.GenderTypeEnum.GenderType", + "id": 197 } } }, @@ -13297,7 +13346,8 @@ "values": { "UNSPECIFIED": 0, "UNKNOWN": 1, - "WEEKLY": 2 + "WEEKLY": 2, + "MONTHLY": 3 } } } @@ -13353,7 +13403,8 @@ "VIDEO_SEQUENCE": 17, "APP_CAMPAIGN_FOR_PRE_REGISTRATION": 18, "VIDEO_REACH_TARGET_FREQUENCY": 19, - "TRAVEL_ACTIVITIES": 20 + "TRAVEL_ACTIVITIES": 20, + "YOUTUBE_AUDIO": 22 } } } @@ -14704,7 +14755,8 @@ "VIDEO_RESPONSIVE": 16, "VIDEO_EFFICIENT_REACH": 17, "SMART_CAMPAIGN_ADS": 18, - "TRAVEL_ADS": 19 + "TRAVEL_ADS": 19, + "YOUTUBE_AUDIO": 20 } } } @@ -14742,6 +14794,18 @@ } } }, + "AdStrengthActionItemTypeEnum": { + "fields": {}, + "nested": { + "AdStrengthActionItemType": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "ADD_ASSET": 2 + } + } + } + }, "AdTypeEnum": { "fields": {}, "nested": { @@ -14779,7 +14843,8 @@ "DEMAND_GEN_CAROUSEL_AD": 41, "TRAVEL_AD": 37, "DEMAND_GEN_VIDEO_RESPONSIVE_AD": 42, - "DEMAND_GEN_PRODUCT_AD": 39 + "DEMAND_GEN_PRODUCT_AD": 39, + "YOUTUBE_AUDIO_AD": 44 } } } @@ -14889,6 +14954,20 @@ } } }, + "AssetCoverageVideoAspectRatioRequirementEnum": { + "fields": {}, + "nested": { + "AssetCoverageVideoAspectRatioRequirement": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "HORIZONTAL": 2, + "SQUARE": 3, + "VERTICAL": 4 + } + } + } + }, "AssetFieldTypeEnum": { "fields": {}, "nested": { @@ -14924,7 +15003,8 @@ "BUSINESS_LOGO": 27, "HOTEL_PROPERTY": 28, "DEMAND_GEN_CAROUSEL_CARD": 30, - "BUSINESS_MESSAGE": 31 + "BUSINESS_MESSAGE": 31, + "TALL_PORTRAIT_MARKETING_IMAGE": 32 } } } @@ -15690,6 +15770,7 @@ "AD_GROUP_CRITERION": 5, "CAMPAIGN": 6, "CAMPAIGN_CRITERION": 7, + "CAMPAIGN_BUDGET": 8, "FEED": 9, "FEED_ITEM": 10, "AD_GROUP_FEED": 11, @@ -15702,7 +15783,9 @@ "CAMPAIGN_ASSET": 18, "AD_GROUP_ASSET": 19, "COMBINED_AUDIENCE": 20, - "ASSET_GROUP": 21 + "ASSET_GROUP": 21, + "ASSET_SET": 22, + "CAMPAIGN_ASSET_SET": 23 } } } @@ -15831,6 +15914,19 @@ } } }, + "ConversionCustomerTypeEnum": { + "fields": {}, + "nested": { + "ConversionCustomerType": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "NEW": 2, + "RETURNING": 3 + } + } + } + }, "ConversionEnvironmentEnum": { "fields": {}, "nested": { @@ -16180,6 +16276,32 @@ } } }, + "DemandGenChannelConfigEnum": { + "fields": {}, + "nested": { + "DemandGenChannelConfig": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "CHANNEL_STRATEGY": 2, + "SELECTED_CHANNELS": 3 + } + } + } + }, + "DemandGenChannelStrategyEnum": { + "fields": {}, + "nested": { + "DemandGenChannelStrategy": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "ALL_CHANNELS": 2, + "ALL_OWNED_AND_OPERATED_CHANNELS": 3 + } + } + } + }, "DistanceBucketEnum": { "fields": {}, "nested": { @@ -16726,6 +16848,21 @@ } } }, + "LocalServicesLeadCreditIssuanceDecisionEnum": { + "fields": {}, + "nested": { + "CreditIssuanceDecision": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "SUCCESS_NOT_REACHED_THRESHOLD": 2, + "SUCCESS_REACHED_THRESHOLD": 3, + "FAIL_OVER_THRESHOLD": 4, + "FAIL_NOT_ELIGIBLE": 5 + } + } + } + }, "LocalServicesCreditStateEnum": { "fields": {}, "nested": { @@ -16758,6 +16895,56 @@ } } }, + "LocalServicesLeadSurveyAnswerEnum": { + "fields": {}, + "nested": { + "SurveyAnswer": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "VERY_SATISFIED": 2, + "SATISFIED": 3, + "NEUTRAL": 4, + "DISSATISFIED": 5, + "VERY_DISSATISFIED": 6 + } + } + } + }, + "LocalServicesLeadSurveyDissatisfiedReasonEnum": { + "fields": {}, + "nested": { + "SurveyDissatisfiedReason": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "OTHER_DISSATISFIED_REASON": 2, + "GEO_MISMATCH": 3, + "JOB_TYPE_MISMATCH": 4, + "NOT_READY_TO_BOOK": 5, + "SPAM": 6, + "DUPLICATE": 7, + "SOLICITATION": 8 + } + } + } + }, + "LocalServicesLeadSurveySatisfiedReasonEnum": { + "fields": {}, + "nested": { + "SurveySatisfiedReason": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "OTHER_SATISFIED_REASON": 2, + "BOOKED_CUSTOMER": 3, + "LIKELY_BOOKED_CUSTOMER": 4, + "SERVICE_RELATED": 5, + "HIGH_VALUE_SERVICE": 6 + } + } + } + }, "LocalServicesLeadTypeEnum": { "fields": {}, "nested": { @@ -17215,6 +17402,21 @@ } } }, + "ReachPlanConversionRateModelEnum": { + "fields": {}, + "nested": { + "ReachPlanConversionRateModel": { + "values": { + "UNSPECIFIED": 0, + "UNKNOWN": 1, + "CUSTOMER_HISTORY": 2, + "INVENTORY_AGGRESSIVE": 3, + "INVENTORY_CONSERVATIVE": 4, + "INVENTORY_MEDIAN": 5 + } + } + } + }, "ReachPlanNetworkEnum": { "fields": {}, "nested": { @@ -17236,6 +17438,8 @@ "values": { "UNSPECIFIED": 0, "UNKNOWN": 1, + "DISCOVER_FEED": 7, + "GMAIL": 8, "IN_FEED": 2, "IN_STREAM_BUMPER": 3, "IN_STREAM_NON_SKIPPABLE": 4, @@ -18621,7 +18825,8 @@ "ADVANCED_PROTECTION_NOT_ENROLLED": 24, "ORGANIZATION_NOT_RECOGNIZED": 26, "ORGANIZATION_NOT_APPROVED": 27, - "ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN": 28 + "ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN": 28, + "DEVELOPER_TOKEN_INVALID": 29 } } } @@ -18993,6 +19198,7 @@ "CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN": 94, "REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED": 95, "REQUIRED_LOGO_ASSET_NOT_LINKED": 96, + "BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED": 97, "BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN": 98, "BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED": 99, "BRAND_GUIDELINES_COLOR_INVALID_FORMAT": 100, @@ -19495,7 +19701,8 @@ "CANNOT_RECOGNIZE_BRAND": 155, "BRAND_SHARED_SET_DOES_NOT_EXIST": 156, "CANNOT_ADD_REMOVED_BRAND_SHARED_SET": 157, - "ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE": 158 + "ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE": 158, + "LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN": 166 } } } @@ -24208,6 +24415,10 @@ "options": { "(google.api.field_behavior)": "OUTPUT_ONLY" } + }, + "demand_gen_ad_group_settings": { + "type": "DemandGenAdGroupSettings", + "id": 91 } }, "nested": { @@ -24221,6 +24432,73 @@ } } } + }, + "DemandGenAdGroupSettings": { + "fields": { + "channel_controls": { + "type": "DemandGenChannelControls", + "id": 1 + } + }, + "nested": { + "DemandGenChannelControls": { + "oneofs": { + "channel_configuration": { + "oneof": [ + "channel_strategy", + "selected_channels" + ] + } + }, + "fields": { + "channel_config": { + "type": "google.ads.googleads.v19.enums.DemandGenChannelConfigEnum.DemandGenChannelConfig", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "channel_strategy": { + "type": "google.ads.googleads.v19.enums.DemandGenChannelStrategyEnum.DemandGenChannelStrategy", + "id": 2 + }, + "selected_channels": { + "type": "DemandGenSelectedChannels", + "id": 3 + } + }, + "nested": { + "DemandGenSelectedChannels": { + "fields": { + "youtube_in_stream": { + "type": "bool", + "id": 1 + }, + "youtube_in_feed": { + "type": "bool", + "id": 2 + }, + "youtube_shorts": { + "type": "bool", + "id": 3 + }, + "discover": { + "type": "bool", + "id": 4 + }, + "gmail": { + "type": "bool", + "id": 5 + }, + "display": { + "type": "bool", + "id": 6 + } + } + } + } + } + } } } }, @@ -26488,7 +26766,9 @@ "AssetGroup": { "options": { "(google.api.resource).type": "googleads.googleapis.com/AssetGroup", - "(google.api.resource).pattern": "customers/{customer_id}/assetGroups/{asset_group_id}" + "(google.api.resource).pattern": "customers/{customer_id}/assetGroups/{asset_group_id}", + "(google.api.resource).plural": "assetGroups", + "(google.api.resource).singular": "assetGroup" }, "fields": { "resource_name": { @@ -26564,6 +26844,91 @@ "options": { "(google.api.field_behavior)": "OUTPUT_ONLY" } + }, + "asset_coverage": { + "type": "AssetCoverage", + "id": 13, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "AssetCoverage": { + "fields": { + "ad_strength_action_items": { + "rule": "repeated", + "type": "AdStrengthActionItem", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "AdStrengthActionItem": { + "oneofs": { + "action_details": { + "oneof": [ + "add_asset_details" + ] + } + }, + "fields": { + "action_item_type": { + "type": "google.ads.googleads.v19.enums.AdStrengthActionItemTypeEnum.AdStrengthActionItemType", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "add_asset_details": { + "type": "AddAssetDetails", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "AddAssetDetails": { + "oneofs": { + "_asset_count": { + "oneof": [ + "asset_count" + ] + }, + "_video_aspect_ratio_requirement": { + "oneof": [ + "video_aspect_ratio_requirement" + ] + } + }, + "fields": { + "asset_field_type": { + "type": "google.ads.googleads.v19.enums.AssetFieldTypeEnum.AssetFieldType", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "asset_count": { + "type": "int32", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY", + "proto3_optional": true + } + }, + "video_aspect_ratio_requirement": { + "type": "google.ads.googleads.v19.enums.AssetCoverageVideoAspectRatioRequirementEnum.AssetCoverageVideoAspectRatioRequirement", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY", + "proto3_optional": true + } + } + } } } }, @@ -28319,6 +28684,10 @@ "type": "VideoCampaignSettings", "id": 94 }, + "pmax_campaign_settings": { + "type": "PmaxCampaignSettings", + "id": 97 + }, "real_time_bidding_setting": { "type": "google.ads.googleads.v19.common.RealTimeBiddingSetting", "id": 39 @@ -29105,6 +29474,34 @@ } } }, + "PmaxCampaignSettings": { + "fields": { + "brand_targeting_overrides": { + "type": "BrandTargetingOverrides", + "id": 1 + } + }, + "nested": { + "BrandTargetingOverrides": { + "oneofs": { + "_ignore_exclusions_for_shopping_ads": { + "oneof": [ + "ignore_exclusions_for_shopping_ads" + ] + } + }, + "fields": { + "ignore_exclusions_for_shopping_ads": { + "type": "bool", + "id": 1, + "options": { + "proto3_optional": true + } + } + } + } + } + }, "AssetAutomationSetting": { "oneofs": { "_asset_automation_type": { @@ -31028,6 +31425,14 @@ "(google.api.field_behavior)": "OUTPUT_ONLY", "(google.api.resource_reference).type": "googleads.googleapis.com/AssetGroup" } + }, + "campaign_budget": { + "type": "string", + "id": 42, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY", + "(google.api.resource_reference).type": "googleads.googleapis.com/CampaignBudget" + } } } }, @@ -32460,7 +32865,7 @@ "type": "ConversionTrackingSetting", "id": 14, "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" + "(google.api.field_behavior)": "IMMUTABLE" } }, "remarketing_setting": { @@ -32653,7 +33058,7 @@ "type": "string", "id": 8, "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" + "(google.api.field_behavior)": "IMMUTABLE" } } } @@ -37066,6 +37471,13 @@ "(google.api.field_behavior)": "OUTPUT_ONLY", "proto3_optional": true } + }, + "lead_feedback_submitted": { + "type": "bool", + "id": 13, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -40697,6 +41109,13 @@ "options": { "(google.api.field_behavior)": "OUTPUT_ONLY" } + }, + "ad_strength": { + "type": "google.ads.googleads.v19.enums.AdStrengthEnum.AdStrength", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, @@ -54177,6 +54596,12 @@ "oneof": [ "order_id" ] + }, + "session_attributes": { + "oneof": [ + "session_attributes_encoded", + "session_attributes_key_value_pairs" + ] } }, "fields": { @@ -54255,6 +54680,18 @@ "consent": { "type": "google.ads.googleads.v19.common.Consent", "id": 23 + }, + "customer_type": { + "type": "google.ads.googleads.v19.enums.ConversionCustomerTypeEnum.ConversionCustomerType", + "id": 26 + }, + "session_attributes_encoded": { + "type": "bytes", + "id": 24 + }, + "session_attributes_key_value_pairs": { + "type": "SessionAttributesKeyValuePairs", + "id": 25 } } }, @@ -54542,6 +54979,36 @@ } } }, + "SessionAttributeKeyValuePair": { + "fields": { + "session_attribute_key": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "session_attribute_value": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "SessionAttributesKeyValuePairs": { + "fields": { + "key_value_pairs": { + "rule": "repeated", + "type": "SessionAttributeKeyValuePair", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, "CustomAudienceService": { "options": { "(google.api.default_host)": "googleads.googleapis.com", @@ -56963,6 +57430,22 @@ "(google.api.method_signature)": "customer_id,conversations" } ] + }, + "ProvideLeadFeedback": { + "requestType": "ProvideLeadFeedbackRequest", + "responseType": "ProvideLeadFeedbackResponse", + "options": { + "(google.api.http).post": "/v19/{resource_name=customers/*/localServicesLeads/*}:provideLeadFeedback", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v19/{resource_name=customers/*/localServicesLeads/*}:provideLeadFeedback", + "body": "*" + } + } + ] } } }, @@ -57036,6 +57519,88 @@ } } }, + "SurveySatisfied": { + "fields": { + "survey_satisfied_reason": { + "type": "google.ads.googleads.v19.enums.LocalServicesLeadSurveySatisfiedReasonEnum.SurveySatisfiedReason", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "other_reason_comment": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "SurveyDissatisfied": { + "fields": { + "survey_dissatisfied_reason": { + "type": "google.ads.googleads.v19.enums.LocalServicesLeadSurveyDissatisfiedReasonEnum.SurveyDissatisfiedReason", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "other_reason_comment": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "ProvideLeadFeedbackRequest": { + "oneofs": { + "survey_details": { + "oneof": [ + "survey_satisfied", + "survey_dissatisfied" + ] + } + }, + "fields": { + "resource_name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "googleads.googleapis.com/LocalServicesLead" + } + }, + "survey_answer": { + "type": "google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "survey_satisfied": { + "type": "SurveySatisfied", + "id": 3 + }, + "survey_dissatisfied": { + "type": "SurveyDissatisfied", + "id": 4 + } + } + }, + "ProvideLeadFeedbackResponse": { + "fields": { + "credit_issuance_decision": { + "type": "google.ads.googleads.v19.enums.LocalServicesLeadCreditIssuanceDecisionEnum.CreditIssuanceDecision", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, "OfflineUserDataJobService": { "options": { "(google.api.default_host)": "googleads.googleapis.com", @@ -57579,6 +58144,26 @@ "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/adwords" }, "methods": { + "GenerateConversionRates": { + "requestType": "GenerateConversionRatesRequest", + "responseType": "GenerateConversionRatesResponse", + "options": { + "(google.api.http).post": "/v19:generateConversionRates", + "(google.api.http).body": "*", + "(google.api.method_signature)": "customer_id" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v19:generateConversionRates", + "body": "*" + } + }, + { + "(google.api.method_signature)": "customer_id" + } + ] + }, "ListPlannableLocations": { "requestType": "ListPlannableLocationsRequest", "responseType": "ListPlannableLocationsResponse", @@ -57637,6 +58222,56 @@ } } }, + "GenerateConversionRatesRequest": { + "oneofs": { + "_customer_reach_group": { + "oneof": [ + "customer_reach_group" + ] + } + }, + "fields": { + "customer_id": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "customer_reach_group": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + } + } + }, + "GenerateConversionRatesResponse": { + "fields": { + "conversion_rate_suggestions": { + "rule": "repeated", + "type": "ConversionRateSuggestion", + "id": 1 + } + } + }, + "ConversionRateSuggestion": { + "fields": { + "conversion_rate_model": { + "type": "google.ads.googleads.v19.enums.ReachPlanConversionRateModelEnum.ReachPlanConversionRateModel", + "id": 1 + }, + "plannable_product_code": { + "type": "string", + "id": 2 + }, + "conversion_rate": { + "type": "double", + "id": 3 + } + } + }, "ListPlannableLocationsRequest": { "fields": {} }, @@ -57998,6 +58633,11 @@ "oneof": [ "budget_micros" ] + }, + "_conversion_rate": { + "oneof": [ + "conversion_rate" + ] } }, "fields": { @@ -58017,6 +58657,13 @@ "proto3_optional": true } }, + "conversion_rate": { + "type": "double", + "id": 6, + "options": { + "proto3_optional": true + } + }, "advanced_product_targeting": { "type": "AdvancedProductTargeting", "id": 5 @@ -58112,6 +58759,11 @@ "oneof": [ "views" ] + }, + "_conversions": { + "oneof": [ + "conversions" + ] } }, "fields": { @@ -58189,6 +58841,13 @@ "options": { "proto3_optional": true } + }, + "conversions": { + "type": "double", + "id": 16, + "options": { + "proto3_optional": true + } } } }, @@ -58244,6 +58903,11 @@ "oneof": [ "views" ] + }, + "_conversions": { + "oneof": [ + "conversions" + ] } }, "fields": { @@ -58311,6 +58975,13 @@ "options": { "proto3_optional": true } + }, + "conversions": { + "type": "double", + "id": 12, + "options": { + "proto3_optional": true + } } } }, @@ -60936,6 +61607,7 @@ }, "nested": { "FileDescriptorSet": { + "edition": "proto2", "fields": { "file": { "rule": "repeated", @@ -60945,6 +61617,7 @@ } }, "Edition": { + "edition": "proto2", "values": { "EDITION_UNKNOWN": 0, "EDITION_PROTO2": 998, @@ -60960,6 +61633,7 @@ } }, "FileDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -60977,18 +61651,12 @@ "public_dependency": { "rule": "repeated", "type": "int32", - "id": 10, - "options": { - "packed": false - } + "id": 10 }, "weak_dependency": { "rule": "repeated", "type": "int32", - "id": 11, - "options": { - "packed": false - } + "id": 11 }, "message_type": { "rule": "repeated", @@ -61029,6 +61697,7 @@ } }, "DescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61111,6 +61780,7 @@ } }, "ExtensionRangeOptions": { + "edition": "proto2", "fields": { "uninterpreted_option": { "rule": "repeated", @@ -61184,6 +61854,7 @@ } }, "FieldDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61263,6 +61934,7 @@ } }, "OneofDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61275,6 +61947,7 @@ } }, "EnumDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61316,6 +61989,7 @@ } }, "EnumValueDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61332,6 +62006,7 @@ } }, "ServiceDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61349,6 +62024,7 @@ } }, "MethodDescriptorProto": { + "edition": "proto2", "fields": { "name": { "type": "string", @@ -61383,6 +62059,7 @@ } }, "FileOptions": { + "edition": "proto2", "fields": { "java_package": { "type": "string", @@ -61524,6 +62201,7 @@ } }, "MessageOptions": { + "edition": "proto2", "fields": { "message_set_wire_format": { "type": "bool", @@ -61597,6 +62275,7 @@ ] }, "FieldOptions": { + "edition": "proto2", "fields": { "ctype": { "type": "CType", @@ -61658,10 +62337,7 @@ "targets": { "rule": "repeated", "type": "OptionTargetType", - "id": 19, - "options": { - "packed": false - } + "id": 19 }, "edition_defaults": { "rule": "repeated", @@ -61745,6 +62421,7 @@ } }, "OneofOptions": { + "edition": "proto2", "fields": { "features": { "type": "FeatureSet", @@ -61764,6 +62441,7 @@ ] }, "EnumOptions": { + "edition": "proto2", "fields": { "allow_alias": { "type": "bool", @@ -61807,6 +62485,7 @@ ] }, "EnumValueOptions": { + "edition": "proto2", "fields": { "deprecated": { "type": "bool", @@ -61840,6 +62519,7 @@ ] }, "ServiceOptions": { + "edition": "proto2", "fields": { "features": { "type": "FeatureSet", @@ -61866,6 +62546,7 @@ ] }, "MethodOptions": { + "edition": "proto2", "fields": { "deprecated": { "type": "bool", @@ -61908,6 +62589,7 @@ } }, "UninterpretedOption": { + "edition": "proto2", "fields": { "name": { "rule": "repeated", @@ -61957,6 +62639,7 @@ } }, "FeatureSet": { + "edition": "proto2", "fields": { "field_presence": { "type": "FieldPresence", @@ -62098,6 +62781,7 @@ } }, "FeatureSetDefaults": { + "edition": "proto2", "fields": { "defaults": { "rule": "repeated", @@ -62129,6 +62813,7 @@ } }, "SourceCodeInfo": { + "edition": "proto2", "fields": { "location": { "rule": "repeated", @@ -62142,12 +62827,18 @@ "path": { "rule": "repeated", "type": "int32", - "id": 1 + "id": 1, + "options": { + "packed": true + } }, "span": { "rule": "repeated", "type": "int32", - "id": 2 + "id": 2, + "options": { + "packed": true + } }, "leading_comments": { "type": "string", @@ -62167,6 +62858,7 @@ } }, "GeneratedCodeInfo": { + "edition": "proto2", "fields": { "annotation": { "rule": "repeated", @@ -62180,7 +62872,10 @@ "path": { "rule": "repeated", "type": "int32", - "id": 1 + "id": 1, + "options": { + "packed": true + } }, "source_file": { "type": "string", diff --git a/package/googleads-nodejs/samples/generated/v19/local_services_lead_service.provide_lead_feedback.js b/package/googleads-nodejs/samples/generated/v19/local_services_lead_service.provide_lead_feedback.js new file mode 100644 index 00000000..3b6a518f --- /dev/null +++ b/package/googleads-nodejs/samples/generated/v19/local_services_lead_service.provide_lead_feedback.js @@ -0,0 +1,75 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resourceName, surveyAnswer) { + // [START googleads_v19_generated_LocalServicesLeadService_ProvideLeadFeedback_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the local services lead that for which the + * feedback is being provided. + */ + // const resourceName = 'abc123' + /** + * Required. Survey answer for Local Services Ads Lead. + */ + // const surveyAnswer = {} + /** + * Details about various factors for being satisfied with the lead. + */ + // const surveySatisfied = {} + /** + * Details about various factors for not being satisfied with the lead. + */ + // const surveyDissatisfied = {} + + // Imports the Googleads library + const {LocalServicesLeadServiceClient} = require('google-ads').v19; + + // Instantiates a client + const googleadsClient = new LocalServicesLeadServiceClient(); + + async function callProvideLeadFeedback() { + // Construct request + const request = { + resourceName, + surveyAnswer, + }; + + // Run request + const response = await googleadsClient.provideLeadFeedback(request); + console.log(response); + } + + callProvideLeadFeedback(); + // [END googleads_v19_generated_LocalServicesLeadService_ProvideLeadFeedback_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/package/googleads-nodejs/samples/generated/v19/reach_plan_service.generate_conversion_rates.js b/package/googleads-nodejs/samples/generated/v19/reach_plan_service.generate_conversion_rates.js new file mode 100644 index 00000000..5bf14a54 --- /dev/null +++ b/package/googleads-nodejs/samples/generated/v19/reach_plan_service.generate_conversion_rates.js @@ -0,0 +1,66 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(customerId) { + // [START googleads_v19_generated_ReachPlanService_GenerateConversionRates_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ID of the customer. A conversion rate based on the historical + * data of this customer may be suggested. + */ + // const customerId = 'abc123' + /** + * The name of the customer being planned for. This is a user-defined value. + */ + // const customerReachGroup = 'abc123' + + // Imports the Googleads library + const {ReachPlanServiceClient} = require('google-ads').v19; + + // Instantiates a client + const googleadsClient = new ReachPlanServiceClient(); + + async function callGenerateConversionRates() { + // Construct request + const request = { + customerId, + }; + + // Run request + const response = await googleadsClient.generateConversionRates(request); + console.log(response); + } + + callGenerateConversionRates(); + // [END googleads_v19_generated_ReachPlanService_GenerateConversionRates_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/package/googleads-nodejs/samples/generated/v19/snippet_metadata_google.ads.googleads.v19.services.json b/package/googleads-nodejs/samples/generated/v19/snippet_metadata_google.ads.googleads.v19.services.json index 58e40cba..ee099ee1 100644 --- a/package/googleads-nodejs/samples/generated/v19/snippet_metadata_google.ads.googleads.v19.services.json +++ b/package/googleads-nodejs/samples/generated/v19/snippet_metadata_google.ads.googleads.v19.services.json @@ -6145,6 +6145,58 @@ } } }, + { + "regionTag": "googleads_v19_generated_LocalServicesLeadService_ProvideLeadFeedback_async", + "title": "GoogleAdsService provideLeadFeedback Sample", + "origin": "API_DEFINITION", + "description": " RPC to provide feedback on Local Services Lead resources.", + "canonical": true, + "file": "local_services_lead_service.provide_lead_feedback.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ProvideLeadFeedback", + "fullName": "google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedback", + "async": true, + "parameters": [ + { + "name": "resource_name", + "type": "TYPE_STRING" + }, + { + "name": "survey_answer", + "type": ".google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer" + }, + { + "name": "survey_satisfied", + "type": ".google.ads.googleads.v19.services.SurveySatisfied" + }, + { + "name": "survey_dissatisfied", + "type": ".google.ads.googleads.v19.services.SurveyDissatisfied" + } + ], + "resultType": ".google.ads.googleads.v19.services.ProvideLeadFeedbackResponse", + "client": { + "shortName": "LocalServicesLeadServiceClient", + "fullName": "google.ads.googleads.v19.services.LocalServicesLeadServiceClient" + }, + "method": { + "shortName": "ProvideLeadFeedback", + "fullName": "google.ads.googleads.v19.services.LocalServicesLeadService.ProvideLeadFeedback", + "service": { + "shortName": "LocalServicesLeadService", + "fullName": "google.ads.googleads.v19.services.LocalServicesLeadService" + } + } + } + }, { "regionTag": "googleads_v19_generated_OfflineUserDataJobService_CreateOfflineUserDataJob_async", "title": "GoogleAdsService createOfflineUserDataJob Sample", @@ -6565,6 +6617,50 @@ } } }, + { + "regionTag": "googleads_v19_generated_ReachPlanService_GenerateConversionRates_async", + "title": "GoogleAdsService generateConversionRates Sample", + "origin": "API_DEFINITION", + "description": " Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "canonical": true, + "file": "reach_plan_service.generate_conversion_rates.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GenerateConversionRates", + "fullName": "google.ads.googleads.v19.services.ReachPlanService.GenerateConversionRates", + "async": true, + "parameters": [ + { + "name": "customer_id", + "type": "TYPE_STRING" + }, + { + "name": "customer_reach_group", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.ads.googleads.v19.services.GenerateConversionRatesResponse", + "client": { + "shortName": "ReachPlanServiceClient", + "fullName": "google.ads.googleads.v19.services.ReachPlanServiceClient" + }, + "method": { + "shortName": "GenerateConversionRates", + "fullName": "google.ads.googleads.v19.services.ReachPlanService.GenerateConversionRates", + "service": { + "shortName": "ReachPlanService", + "fullName": "google.ads.googleads.v19.services.ReachPlanService" + } + } + } + }, { "regionTag": "googleads_v19_generated_ReachPlanService_ListPlannableLocations_async", "title": "GoogleAdsService listPlannableLocations Sample", diff --git a/package/googleads-nodejs/src/v19/account_budget_proposal_service_client.ts b/package/googleads-nodejs/src/v19/account_budget_proposal_service_client.ts index 2675bb42..02df22ca 100644 --- a/package/googleads-nodejs/src/v19/account_budget_proposal_service_client.ts +++ b/package/googleads-nodejs/src/v19/account_budget_proposal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -54,6 +55,8 @@ export class AccountBudgetProposalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -88,7 +91,7 @@ export class AccountBudgetProposalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -928,8 +931,26 @@ export class AccountBudgetProposalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAccountBudgetProposal(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAccountBudgetProposal request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAccountBudgetProposalResponse, + protos.google.ads.googleads.v19.services.IMutateAccountBudgetProposalRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAccountBudgetProposal response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAccountBudgetProposal(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAccountBudgetProposalResponse, + protos.google.ads.googleads.v19.services.IMutateAccountBudgetProposalRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAccountBudgetProposal response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8427,10 +8448,11 @@ export class AccountBudgetProposalServiceClient { close(): Promise { if (this.accountBudgetProposalServiceStub && !this._terminated) { return this.accountBudgetProposalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/account_budget_proposal_service_proto_list.json b/package/googleads-nodejs/src/v19/account_budget_proposal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/account_budget_proposal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/account_budget_proposal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/account_link_service_client.ts b/package/googleads-nodejs/src/v19/account_link_service_client.ts index 1c896dda..2d881c90 100644 --- a/package/googleads-nodejs/src/v19/account_link_service_client.ts +++ b/package/googleads-nodejs/src/v19/account_link_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class AccountLinkServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class AccountLinkServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -913,8 +916,26 @@ export class AccountLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.createAccountLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('createAccountLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ICreateAccountLinkResponse, + protos.google.ads.googleads.v19.services.ICreateAccountLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('createAccountLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.createAccountLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ICreateAccountLinkResponse, + protos.google.ads.googleads.v19.services.ICreateAccountLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('createAccountLink response %j', response); + return [response, options, rawResponse]; + }); } /** * Creates or removes an account link. @@ -1007,8 +1028,26 @@ export class AccountLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAccountLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAccountLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAccountLinkResponse, + protos.google.ads.googleads.v19.services.IMutateAccountLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAccountLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAccountLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAccountLinkResponse, + protos.google.ads.googleads.v19.services.IMutateAccountLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAccountLink response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8506,10 +8545,11 @@ export class AccountLinkServiceClient { close(): Promise { if (this.accountLinkServiceStub && !this._terminated) { return this.accountLinkServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/account_link_service_proto_list.json b/package/googleads-nodejs/src/v19/account_link_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/account_link_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/account_link_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_ad_label_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_ad_label_service_client.ts index a092cba0..1e00599c 100644 --- a/package/googleads-nodejs/src/v19/ad_group_ad_label_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_ad_label_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupAdLabelServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupAdLabelServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -921,8 +924,26 @@ export class AdGroupAdLabelServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupAdLabels(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupAdLabels request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupAdLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAdLabelsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupAdLabels response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupAdLabels(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupAdLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAdLabelsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupAdLabels response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8420,10 +8441,11 @@ export class AdGroupAdLabelServiceClient { close(): Promise { if (this.adGroupAdLabelServiceStub && !this._terminated) { return this.adGroupAdLabelServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_ad_label_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_ad_label_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_ad_label_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_ad_label_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_ad_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_ad_service_client.ts index 71a50cb0..f1183bbb 100644 --- a/package/googleads-nodejs/src/v19/ad_group_ad_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_ad_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupAdServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupAdServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -956,8 +959,26 @@ export class AdGroupAdServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupAds(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupAds request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupAdsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAdsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupAds response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupAds(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupAdsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAdsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupAds response %j', response); + return [response, options, rawResponse]; + }); } /** * Remove automatically created assets from an ad. @@ -1040,8 +1061,26 @@ export class AdGroupAdServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'ad_group_ad': request.ad_group_ad ?? '', }); - this.initialize(); - return this.innerApiCalls.removeAutomaticallyCreatedAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('removeAutomaticallyCreatedAssets request %j', request); + const wrappedCallback: Callback< + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IRemoveAutomaticallyCreatedAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('removeAutomaticallyCreatedAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.removeAutomaticallyCreatedAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IRemoveAutomaticallyCreatedAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('removeAutomaticallyCreatedAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8539,10 +8578,11 @@ export class AdGroupAdServiceClient { close(): Promise { if (this.adGroupAdServiceStub && !this._terminated) { return this.adGroupAdServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_ad_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_ad_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_ad_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_ad_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_asset_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_asset_service_client.ts index e90b3c68..a1eec5b2 100644 --- a/package/googleads-nodejs/src/v19/ad_group_asset_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_asset_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupAssetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupAssetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -925,8 +928,26 @@ export class AdGroupAssetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8424,10 +8445,11 @@ export class AdGroupAssetServiceClient { close(): Promise { if (this.adGroupAssetServiceStub && !this._terminated) { return this.adGroupAssetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_asset_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_asset_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_asset_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_asset_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_asset_set_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_asset_set_service_client.ts index 6d51d9b4..cd3834c8 100644 --- a/package/googleads-nodejs/src/v19/ad_group_asset_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_asset_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupAssetSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupAssetSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class AdGroupAssetSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupAssetSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupAssetSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupAssetSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupAssetSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupAssetSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupAssetSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class AdGroupAssetSetServiceClient { close(): Promise { if (this.adGroupAssetSetServiceStub && !this._terminated) { return this.adGroupAssetSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_asset_set_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_asset_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_asset_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_asset_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_client.ts index c03f4ae0..c0f17236 100644 --- a/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupBidModifierServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupBidModifierServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -939,8 +942,26 @@ export class AdGroupBidModifierServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupBidModifiers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupBidModifiers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupBidModifiersResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupBidModifiersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupBidModifiers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupBidModifiers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupBidModifiersResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupBidModifiersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupBidModifiers response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8438,10 +8459,11 @@ export class AdGroupBidModifierServiceClient { close(): Promise { if (this.adGroupBidModifierServiceStub && !this._terminated) { return this.adGroupBidModifierServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_bid_modifier_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_client.ts index 7bfd8306..b67bdc4d 100644 --- a/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupCriterionCustomizerServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupCriterionCustomizerServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class AdGroupCriterionCustomizerServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupCriterionCustomizers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupCriterionCustomizers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionCustomizersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupCriterionCustomizers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupCriterionCustomizers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionCustomizersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupCriterionCustomizers response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class AdGroupCriterionCustomizerServiceClient { close(): Promise { if (this.adGroupCriterionCustomizerServiceStub && !this._terminated) { return this.adGroupCriterionCustomizerServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_criterion_customizer_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_client.ts index 50418d13..3c2592fe 100644 --- a/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupCriterionLabelServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupCriterionLabelServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -920,8 +923,26 @@ export class AdGroupCriterionLabelServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupCriterionLabels(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupCriterionLabels request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionLabelsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupCriterionLabels response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupCriterionLabels(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCriterionLabelsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupCriterionLabels response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8419,10 +8440,11 @@ export class AdGroupCriterionLabelServiceClient { close(): Promise { if (this.adGroupCriterionLabelServiceStub && !this._terminated) { return this.adGroupCriterionLabelServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_criterion_label_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_criterion_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_criterion_service_client.ts index 2272daca..bbcc87e0 100644 --- a/package/googleads-nodejs/src/v19/ad_group_criterion_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_criterion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupCriterionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupCriterionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -946,8 +949,26 @@ export class AdGroupCriterionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupCriteria(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupCriteria request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCriteriaRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupCriteria response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupCriteria(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCriteriaRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupCriteria response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8445,10 +8466,11 @@ export class AdGroupCriterionServiceClient { close(): Promise { if (this.adGroupCriterionServiceStub && !this._terminated) { return this.adGroupCriterionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_criterion_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_criterion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_criterion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_criterion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_customizer_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_customizer_service_client.ts index 503f2e9f..8820c882 100644 --- a/package/googleads-nodejs/src/v19/ad_group_customizer_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_customizer_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupCustomizerServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupCustomizerServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class AdGroupCustomizerServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupCustomizers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupCustomizers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCustomizersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupCustomizers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupCustomizers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupCustomizersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupCustomizers response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class AdGroupCustomizerServiceClient { close(): Promise { if (this.adGroupCustomizerServiceStub && !this._terminated) { return this.adGroupCustomizerServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_customizer_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_customizer_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_customizer_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_customizer_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_label_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_label_service_client.ts index 1b9e471a..deae3b5d 100644 --- a/package/googleads-nodejs/src/v19/ad_group_label_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_label_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupLabelServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupLabelServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -922,8 +925,26 @@ export class AdGroupLabelServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroupLabels(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroupLabels request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupLabelsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroupLabels response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroupLabels(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupLabelsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroupLabels response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8421,10 +8442,11 @@ export class AdGroupLabelServiceClient { close(): Promise { if (this.adGroupLabelServiceStub && !this._terminated) { return this.adGroupLabelServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_label_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_label_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_label_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_label_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_group_service_client.ts b/package/googleads-nodejs/src/v19/ad_group_service_client.ts index 132e2b4d..fe91abbb 100644 --- a/package/googleads-nodejs/src/v19/ad_group_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_group_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdGroupServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdGroupServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -944,8 +947,26 @@ export class AdGroupServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdGroups(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdGroups request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdGroups response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdGroups(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateAdGroupsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdGroups response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8443,10 +8464,11 @@ export class AdGroupServiceClient { close(): Promise { if (this.adGroupServiceStub && !this._terminated) { return this.adGroupServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_group_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_group_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_group_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_group_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_parameter_service_client.ts b/package/googleads-nodejs/src/v19/ad_parameter_service_client.ts index 4e1a47d3..17c29802 100644 --- a/package/googleads-nodejs/src/v19/ad_parameter_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_parameter_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdParameterServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdParameterServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -926,8 +929,26 @@ export class AdParameterServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAdParameters(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAdParameters request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdParametersResponse, + protos.google.ads.googleads.v19.services.IMutateAdParametersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAdParameters response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAdParameters(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdParametersResponse, + protos.google.ads.googleads.v19.services.IMutateAdParametersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAdParameters response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8425,10 +8446,11 @@ export class AdParameterServiceClient { close(): Promise { if (this.adParameterServiceStub && !this._terminated) { return this.adParameterServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_parameter_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_parameter_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_parameter_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_parameter_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/ad_service_client.ts b/package/googleads-nodejs/src/v19/ad_service_client.ts index 9b573bc6..7d415d9d 100644 --- a/package/googleads-nodejs/src/v19/ad_service_client.ts +++ b/package/googleads-nodejs/src/v19/ad_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AdServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AdServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -952,8 +955,26 @@ export class AdServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAds(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAds request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAdsResponse, + protos.google.ads.googleads.v19.services.IMutateAdsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAds response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAds(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAdsResponse, + protos.google.ads.googleads.v19.services.IMutateAdsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAds response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8451,10 +8472,11 @@ export class AdServiceClient { close(): Promise { if (this.adServiceStub && !this._terminated) { return this.adServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/ad_service_proto_list.json b/package/googleads-nodejs/src/v19/ad_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/ad_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/ad_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_group_asset_service_client.ts b/package/googleads-nodejs/src/v19/asset_group_asset_service_client.ts index 9430112c..ad203c53 100644 --- a/package/googleads-nodejs/src/v19/asset_group_asset_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_group_asset_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AssetGroupAssetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AssetGroupAssetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -911,8 +914,26 @@ export class AssetGroupAssetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssetGroupAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssetGroupAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetGroupAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssetGroupAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssetGroupAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetGroupAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssetGroupAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8410,10 +8431,11 @@ export class AssetGroupAssetServiceClient { close(): Promise { if (this.assetGroupAssetServiceStub && !this._terminated) { return this.assetGroupAssetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_group_asset_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_group_asset_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_group_asset_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_group_asset_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_client.ts b/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_client.ts index e245332e..52759ae9 100644 --- a/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AssetGroupListingGroupFilterServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AssetGroupListingGroupFilterServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -909,8 +912,26 @@ export class AssetGroupListingGroupFilterServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssetGroupListingGroupFilters(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssetGroupListingGroupFilters request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetGroupListingGroupFiltersResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupListingGroupFiltersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssetGroupListingGroupFilters response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssetGroupListingGroupFilters(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetGroupListingGroupFiltersResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupListingGroupFiltersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssetGroupListingGroupFilters response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8408,10 +8429,11 @@ export class AssetGroupListingGroupFilterServiceClient { close(): Promise { if (this.assetGroupListingGroupFilterServiceStub && !this._terminated) { return this.assetGroupListingGroupFilterServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_group_listing_group_filter_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_group_service_client.ts b/package/googleads-nodejs/src/v19/asset_group_service_client.ts index 4d872d25..1ab0f12f 100644 --- a/package/googleads-nodejs/src/v19/asset_group_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_group_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AssetGroupServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AssetGroupServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -904,8 +907,26 @@ export class AssetGroupServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssetGroups(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssetGroups request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssetGroups response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssetGroups(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssetGroups response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8403,10 +8424,11 @@ export class AssetGroupServiceClient { close(): Promise { if (this.assetGroupServiceStub && !this._terminated) { return this.assetGroupServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_group_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_group_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_group_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_group_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_group_signal_service_client.ts b/package/googleads-nodejs/src/v19/asset_group_signal_service_client.ts index f9a14d6f..93497ff4 100644 --- a/package/googleads-nodejs/src/v19/asset_group_signal_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_group_signal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AssetGroupSignalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AssetGroupSignalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -913,8 +916,26 @@ export class AssetGroupSignalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssetGroupSignals(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssetGroupSignals request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetGroupSignalsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupSignalsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssetGroupSignals response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssetGroupSignals(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetGroupSignalsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetGroupSignalsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssetGroupSignals response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8412,10 +8433,11 @@ export class AssetGroupSignalServiceClient { close(): Promise { if (this.assetGroupSignalServiceStub && !this._terminated) { return this.assetGroupSignalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_group_signal_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_group_signal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_group_signal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_group_signal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_service_client.ts b/package/googleads-nodejs/src/v19/asset_service_client.ts index 45882065..d5eba857 100644 --- a/package/googleads-nodejs/src/v19/asset_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -48,6 +49,8 @@ export class AssetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -82,7 +85,7 @@ export class AssetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -942,8 +945,26 @@ export class AssetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8441,10 +8462,11 @@ export class AssetServiceClient { close(): Promise { if (this.assetServiceStub && !this._terminated) { return this.assetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_set_asset_service_client.ts b/package/googleads-nodejs/src/v19/asset_set_asset_service_client.ts index a3c3b541..df391b03 100644 --- a/package/googleads-nodejs/src/v19/asset_set_asset_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_set_asset_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AssetSetAssetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AssetSetAssetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class AssetSetAssetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssetSetAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssetSetAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetSetAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetSetAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssetSetAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssetSetAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetSetAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetSetAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssetSetAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class AssetSetAssetServiceClient { close(): Promise { if (this.assetSetAssetServiceStub && !this._terminated) { return this.assetSetAssetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_set_asset_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_set_asset_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_set_asset_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_set_asset_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/asset_set_service_client.ts b/package/googleads-nodejs/src/v19/asset_set_service_client.ts index c3b2e07e..fbecc0bd 100644 --- a/package/googleads-nodejs/src/v19/asset_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/asset_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AssetSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AssetSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class AssetSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAssetSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAssetSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAssetSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAssetSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateAssetSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAssetSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class AssetSetServiceClient { close(): Promise { if (this.assetSetServiceStub && !this._terminated) { return this.assetSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/asset_set_service_proto_list.json b/package/googleads-nodejs/src/v19/asset_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/asset_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/asset_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/audience_insights_service_client.ts b/package/googleads-nodejs/src/v19/audience_insights_service_client.ts index 1f224e55..0f92819c 100644 --- a/package/googleads-nodejs/src/v19/audience_insights_service_client.ts +++ b/package/googleads-nodejs/src/v19/audience_insights_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -48,6 +49,8 @@ export class AudienceInsightsServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -82,7 +85,7 @@ export class AudienceInsightsServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -919,8 +922,26 @@ export class AudienceInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateInsightsFinderReport(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateInsightsFinderReport request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateInsightsFinderReportResponse, + protos.google.ads.googleads.v19.services.IGenerateInsightsFinderReportRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateInsightsFinderReport response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateInsightsFinderReport(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateInsightsFinderReportResponse, + protos.google.ads.googleads.v19.services.IGenerateInsightsFinderReportRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateInsightsFinderReport response %j', response); + return [response, options, rawResponse]; + }); } /** * Searches for audience attributes that can be used to generate insights. @@ -1025,8 +1046,26 @@ export class AudienceInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.listAudienceInsightsAttributes(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listAudienceInsightsAttributes request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListAudienceInsightsAttributesResponse, + protos.google.ads.googleads.v19.services.IListAudienceInsightsAttributesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listAudienceInsightsAttributes response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listAudienceInsightsAttributes(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListAudienceInsightsAttributesResponse, + protos.google.ads.googleads.v19.services.IListAudienceInsightsAttributesRequest|undefined, + {}|undefined + ]) => { + this._log.info('listAudienceInsightsAttributes response %j', response); + return [response, options, rawResponse]; + }); } /** * Lists date ranges for which audience insights data can be requested. @@ -1098,8 +1137,26 @@ export class AudienceInsightsServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.listInsightsEligibleDates(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listInsightsEligibleDates request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListInsightsEligibleDatesResponse, + protos.google.ads.googleads.v19.services.IListInsightsEligibleDatesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listInsightsEligibleDates response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listInsightsEligibleDates(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListInsightsEligibleDatesResponse, + protos.google.ads.googleads.v19.services.IListInsightsEligibleDatesRequest|undefined, + {}|undefined + ]) => { + this._log.info('listInsightsEligibleDates response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns a collection of attributes that are represented in an audience of @@ -1198,8 +1255,26 @@ export class AudienceInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateAudienceCompositionInsights(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateAudienceCompositionInsights request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateAudienceCompositionInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateAudienceCompositionInsightsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateAudienceCompositionInsights response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateAudienceCompositionInsights(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateAudienceCompositionInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateAudienceCompositionInsightsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateAudienceCompositionInsights response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns a collection of targeting insights (e.g. targetable audiences) that @@ -1288,8 +1363,26 @@ export class AudienceInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateSuggestedTargetingInsights(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateSuggestedTargetingInsights request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateSuggestedTargetingInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateSuggestedTargetingInsightsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateSuggestedTargetingInsights response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateSuggestedTargetingInsights(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateSuggestedTargetingInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateSuggestedTargetingInsightsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateSuggestedTargetingInsights response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns a collection of audience attributes along with estimates of the @@ -1384,8 +1477,26 @@ export class AudienceInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateAudienceOverlapInsights(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateAudienceOverlapInsights request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateAudienceOverlapInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateAudienceOverlapInsightsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateAudienceOverlapInsights response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateAudienceOverlapInsights(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateAudienceOverlapInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateAudienceOverlapInsightsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateAudienceOverlapInsights response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns potential reach metrics for targetable audiences. @@ -1473,8 +1584,26 @@ export class AudienceInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateTargetingSuggestionMetrics(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateTargetingSuggestionMetrics request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateTargetingSuggestionMetricsResponse, + protos.google.ads.googleads.v19.services.IGenerateTargetingSuggestionMetricsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateTargetingSuggestionMetrics response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateTargetingSuggestionMetrics(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateTargetingSuggestionMetricsResponse, + protos.google.ads.googleads.v19.services.IGenerateTargetingSuggestionMetricsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateTargetingSuggestionMetrics response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8972,10 +9101,11 @@ export class AudienceInsightsServiceClient { close(): Promise { if (this.audienceInsightsServiceStub && !this._terminated) { return this.audienceInsightsServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/audience_insights_service_proto_list.json b/package/googleads-nodejs/src/v19/audience_insights_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/audience_insights_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/audience_insights_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/audience_service_client.ts b/package/googleads-nodejs/src/v19/audience_service_client.ts index 6b21eb53..186a9b7e 100644 --- a/package/googleads-nodejs/src/v19/audience_service_client.ts +++ b/package/googleads-nodejs/src/v19/audience_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class AudienceServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class AudienceServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -913,8 +916,26 @@ export class AudienceServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateAudiences(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateAudiences request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateAudiencesResponse, + protos.google.ads.googleads.v19.services.IMutateAudiencesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateAudiences response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateAudiences(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateAudiencesResponse, + protos.google.ads.googleads.v19.services.IMutateAudiencesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateAudiences response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8412,10 +8433,11 @@ export class AudienceServiceClient { close(): Promise { if (this.audienceServiceStub && !this._terminated) { return this.audienceServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/audience_service_proto_list.json b/package/googleads-nodejs/src/v19/audience_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/audience_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/audience_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/batch_job_service_client.ts b/package/googleads-nodejs/src/v19/batch_job_service_client.ts index a3fdbe7f..83ba7e23 100644 --- a/package/googleads-nodejs/src/v19/batch_job_service_client.ts +++ b/package/googleads-nodejs/src/v19/batch_job_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOption import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class BatchJobServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class BatchJobServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -945,8 +948,26 @@ export class BatchJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateBatchJob(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateBatchJob request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateBatchJobResponse, + protos.google.ads.googleads.v19.services.IMutateBatchJobRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateBatchJob response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateBatchJob(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateBatchJobResponse, + protos.google.ads.googleads.v19.services.IMutateBatchJobRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateBatchJob response %j', response); + return [response, options, rawResponse]; + }); } /** * Add operations to the batch job. @@ -1042,8 +1063,26 @@ export class BatchJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.addBatchJobOperations(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('addBatchJobOperations request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IAddBatchJobOperationsResponse, + protos.google.ads.googleads.v19.services.IAddBatchJobOperationsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('addBatchJobOperations response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.addBatchJobOperations(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IAddBatchJobOperationsResponse, + protos.google.ads.googleads.v19.services.IAddBatchJobOperationsRequest|undefined, + {}|undefined + ]) => { + this._log.info('addBatchJobOperations response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1128,8 +1167,25 @@ export class BatchJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.runBatchJob(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: Callback< + LROperation, + protos.google.longrunning.IOperation|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, rawResponse, _) => { + this._log.info('runBatchJob response %j', rawResponse); + callback!(error, response, rawResponse, _); // We verified callback above. + } + : undefined; + this._log.info('runBatchJob request %j', request); + return this.innerApiCalls.runBatchJob(request, options, wrappedCallback) + ?.then(([response, rawResponse, _]: [ + LROperation, + protos.google.longrunning.IOperation|undefined, {}|undefined + ]) => { + this._log.info('runBatchJob response %j', rawResponse); + return [response, rawResponse, _]; + }); } /** * Check the status of the long running operation returned by `runBatchJob()`. @@ -1143,6 +1199,7 @@ export class BatchJobServiceClient { * region_tag:googleads_v19_generated_BatchJobService_RunBatchJob_async */ async checkRunBatchJobProgress(name: string): Promise>{ + this._log.info('runBatchJob long-running'); const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); const [operation] = await this.operationsClient.getOperation(request); const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.runBatchJob, this._gaxModule.createDefaultBackoffSettings()); @@ -1243,8 +1300,27 @@ export class BatchJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.listBatchJobResults(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: PaginationCallback< + protos.google.ads.googleads.v19.services.IListBatchJobResultsRequest, + protos.google.ads.googleads.v19.services.IListBatchJobResultsResponse|null|undefined, + protos.google.ads.googleads.v19.services.IBatchJobResult>|undefined = callback + ? (error, values, nextPageRequest, rawResponse) => { + this._log.info('listBatchJobResults values %j', values); + callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. + } + : undefined; + this._log.info('listBatchJobResults request %j', request); + return this.innerApiCalls + .listBatchJobResults(request, options, wrappedCallback) + ?.then(([response, input, output]: [ + protos.google.ads.googleads.v19.services.IBatchJobResult[], + protos.google.ads.googleads.v19.services.IListBatchJobResultsRequest|null, + protos.google.ads.googleads.v19.services.IListBatchJobResultsResponse + ]) => { + this._log.info('listBatchJobResults values %j', response); + return [response, input, output]; + }); } /** @@ -1292,7 +1368,8 @@ export class BatchJobServiceClient { }); const defaultCallSettings = this._defaults['listBatchJobResults']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('listBatchJobResults stream %j', request); return this.descriptors.page.listBatchJobResults.createStream( this.innerApiCalls.listBatchJobResults as GaxCall, request, @@ -1348,7 +1425,8 @@ export class BatchJobServiceClient { }); const defaultCallSettings = this._defaults['listBatchJobResults']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('listBatchJobResults iterate %j', request); return this.descriptors.page.listBatchJobResults.asyncIterate( this.innerApiCalls['listBatchJobResults'] as GaxCall, request as {}, @@ -8850,11 +8928,12 @@ export class BatchJobServiceClient { close(): Promise { if (this.batchJobServiceStub && !this._terminated) { return this.batchJobServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.operationsClient.close(); + void this.operationsClient.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/batch_job_service_proto_list.json b/package/googleads-nodejs/src/v19/batch_job_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/batch_job_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/batch_job_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_client.ts b/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_client.ts index 91a6585e..9421f282 100644 --- a/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_client.ts +++ b/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class BiddingDataExclusionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class BiddingDataExclusionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class BiddingDataExclusionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateBiddingDataExclusions(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateBiddingDataExclusions request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateBiddingDataExclusionsResponse, + protos.google.ads.googleads.v19.services.IMutateBiddingDataExclusionsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateBiddingDataExclusions response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateBiddingDataExclusions(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateBiddingDataExclusionsResponse, + protos.google.ads.googleads.v19.services.IMutateBiddingDataExclusionsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateBiddingDataExclusions response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class BiddingDataExclusionServiceClient { close(): Promise { if (this.biddingDataExclusionServiceStub && !this._terminated) { return this.biddingDataExclusionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_proto_list.json b/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/bidding_data_exclusion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_client.ts b/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_client.ts index ff795ad1..8714af98 100644 --- a/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_client.ts +++ b/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class BiddingSeasonalityAdjustmentServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class BiddingSeasonalityAdjustmentServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class BiddingSeasonalityAdjustmentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateBiddingSeasonalityAdjustments(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateBiddingSeasonalityAdjustments request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateBiddingSeasonalityAdjustmentsResponse, + protos.google.ads.googleads.v19.services.IMutateBiddingSeasonalityAdjustmentsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateBiddingSeasonalityAdjustments response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateBiddingSeasonalityAdjustments(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateBiddingSeasonalityAdjustmentsResponse, + protos.google.ads.googleads.v19.services.IMutateBiddingSeasonalityAdjustmentsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateBiddingSeasonalityAdjustments response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class BiddingSeasonalityAdjustmentServiceClient { close(): Promise { if (this.biddingSeasonalityAdjustmentServiceStub && !this._terminated) { return this.biddingSeasonalityAdjustmentServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_proto_list.json b/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/bidding_seasonality_adjustment_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/bidding_strategy_service_client.ts b/package/googleads-nodejs/src/v19/bidding_strategy_service_client.ts index fc88764c..c20826f0 100644 --- a/package/googleads-nodejs/src/v19/bidding_strategy_service_client.ts +++ b/package/googleads-nodejs/src/v19/bidding_strategy_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class BiddingStrategyServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class BiddingStrategyServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -942,8 +945,26 @@ export class BiddingStrategyServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateBiddingStrategies(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateBiddingStrategies request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateBiddingStrategiesResponse, + protos.google.ads.googleads.v19.services.IMutateBiddingStrategiesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateBiddingStrategies response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateBiddingStrategies(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateBiddingStrategiesResponse, + protos.google.ads.googleads.v19.services.IMutateBiddingStrategiesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateBiddingStrategies response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8441,10 +8462,11 @@ export class BiddingStrategyServiceClient { close(): Promise { if (this.biddingStrategyServiceStub && !this._terminated) { return this.biddingStrategyServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/bidding_strategy_service_proto_list.json b/package/googleads-nodejs/src/v19/bidding_strategy_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/bidding_strategy_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/bidding_strategy_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/billing_setup_service_client.ts b/package/googleads-nodejs/src/v19/billing_setup_service_client.ts index b4accf8e..161d994b 100644 --- a/package/googleads-nodejs/src/v19/billing_setup_service_client.ts +++ b/package/googleads-nodejs/src/v19/billing_setup_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -54,6 +55,8 @@ export class BillingSetupServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -88,7 +91,7 @@ export class BillingSetupServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -921,8 +924,26 @@ export class BillingSetupServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateBillingSetup(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateBillingSetup request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateBillingSetupResponse, + protos.google.ads.googleads.v19.services.IMutateBillingSetupRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateBillingSetup response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateBillingSetup(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateBillingSetupResponse, + protos.google.ads.googleads.v19.services.IMutateBillingSetupRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateBillingSetup response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8420,10 +8441,11 @@ export class BillingSetupServiceClient { close(): Promise { if (this.billingSetupServiceStub && !this._terminated) { return this.billingSetupServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/billing_setup_service_proto_list.json b/package/googleads-nodejs/src/v19/billing_setup_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/billing_setup_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/billing_setup_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/brand_suggestion_service_client.ts b/package/googleads-nodejs/src/v19/brand_suggestion_service_client.ts index eb6c6001..521f7f3b 100644 --- a/package/googleads-nodejs/src/v19/brand_suggestion_service_client.ts +++ b/package/googleads-nodejs/src/v19/brand_suggestion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class BrandSuggestionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class BrandSuggestionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -905,8 +908,26 @@ export class BrandSuggestionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.suggestBrands(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestBrands request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestBrandsResponse, + protos.google.ads.googleads.v19.services.ISuggestBrandsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestBrands response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestBrands(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestBrandsResponse, + protos.google.ads.googleads.v19.services.ISuggestBrandsRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestBrands response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8404,10 +8425,11 @@ export class BrandSuggestionServiceClient { close(): Promise { if (this.brandSuggestionServiceStub && !this._terminated) { return this.brandSuggestionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/brand_suggestion_service_proto_list.json b/package/googleads-nodejs/src/v19/brand_suggestion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/brand_suggestion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/brand_suggestion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_asset_service_client.ts b/package/googleads-nodejs/src/v19/campaign_asset_service_client.ts index aa012e8e..4534e679 100644 --- a/package/googleads-nodejs/src/v19/campaign_asset_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_asset_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignAssetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignAssetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -926,8 +929,26 @@ export class CampaignAssetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8425,10 +8446,11 @@ export class CampaignAssetServiceClient { close(): Promise { if (this.campaignAssetServiceStub && !this._terminated) { return this.campaignAssetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_asset_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_asset_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_asset_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_asset_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_asset_set_service_client.ts b/package/googleads-nodejs/src/v19/campaign_asset_set_service_client.ts index 136f1c71..1aa1fa70 100644 --- a/package/googleads-nodejs/src/v19/campaign_asset_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_asset_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignAssetSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignAssetSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class CampaignAssetSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignAssetSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignAssetSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignAssetSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignAssetSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignAssetSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignAssetSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignAssetSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class CampaignAssetSetServiceClient { close(): Promise { if (this.campaignAssetSetServiceStub && !this._terminated) { return this.campaignAssetSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_asset_set_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_asset_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_asset_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_asset_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_client.ts b/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_client.ts index 2d3886f5..ba638bb6 100644 --- a/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignBidModifierServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignBidModifierServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -938,8 +941,26 @@ export class CampaignBidModifierServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignBidModifiers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignBidModifiers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignBidModifiersResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignBidModifiersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignBidModifiers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignBidModifiers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignBidModifiersResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignBidModifiersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignBidModifiers response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8437,10 +8458,11 @@ export class CampaignBidModifierServiceClient { close(): Promise { if (this.campaignBidModifierServiceStub && !this._terminated) { return this.campaignBidModifierServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_bid_modifier_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_budget_service_client.ts b/package/googleads-nodejs/src/v19/campaign_budget_service_client.ts index 8ea8c5c8..7ac39ae1 100644 --- a/package/googleads-nodejs/src/v19/campaign_budget_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_budget_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignBudgetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignBudgetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -931,8 +934,26 @@ export class CampaignBudgetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignBudgets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignBudgets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignBudgetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignBudgetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignBudgets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignBudgets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignBudgetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignBudgetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignBudgets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8430,10 +8451,11 @@ export class CampaignBudgetServiceClient { close(): Promise { if (this.campaignBudgetServiceStub && !this._terminated) { return this.campaignBudgetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_budget_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_budget_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_budget_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_budget_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_client.ts b/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_client.ts index 7a629bc8..abbe7afe 100644 --- a/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignConversionGoalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignConversionGoalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -906,8 +909,26 @@ export class CampaignConversionGoalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignConversionGoals(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignConversionGoals request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignConversionGoalsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignConversionGoalsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignConversionGoals response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignConversionGoals(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignConversionGoalsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignConversionGoalsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignConversionGoals response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8405,10 +8426,11 @@ export class CampaignConversionGoalServiceClient { close(): Promise { if (this.campaignConversionGoalServiceStub && !this._terminated) { return this.campaignConversionGoalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_conversion_goal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_criterion_service_client.ts b/package/googleads-nodejs/src/v19/campaign_criterion_service_client.ts index 77ee1b09..9ad2de69 100644 --- a/package/googleads-nodejs/src/v19/campaign_criterion_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_criterion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignCriterionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignCriterionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -942,8 +945,26 @@ export class CampaignCriterionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignCriteria(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignCriteria request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignCriteriaRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignCriteria response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignCriteria(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignCriteriaRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignCriteria response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8441,10 +8462,11 @@ export class CampaignCriterionServiceClient { close(): Promise { if (this.campaignCriterionServiceStub && !this._terminated) { return this.campaignCriterionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_criterion_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_criterion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_criterion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_criterion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_customizer_service_client.ts b/package/googleads-nodejs/src/v19/campaign_customizer_service_client.ts index d4f46659..601b93c6 100644 --- a/package/googleads-nodejs/src/v19/campaign_customizer_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_customizer_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignCustomizerServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignCustomizerServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class CampaignCustomizerServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignCustomizers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignCustomizers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignCustomizersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignCustomizers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignCustomizers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignCustomizersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignCustomizers response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class CampaignCustomizerServiceClient { close(): Promise { if (this.campaignCustomizerServiceStub && !this._terminated) { return this.campaignCustomizerServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_customizer_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_customizer_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_customizer_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_customizer_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_draft_service_client.ts b/package/googleads-nodejs/src/v19/campaign_draft_service_client.ts index 0e4946e0..1691b148 100644 --- a/package/googleads-nodejs/src/v19/campaign_draft_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_draft_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOption import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignDraftServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class CampaignDraftServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -960,8 +963,26 @@ export class CampaignDraftServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignDrafts(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignDrafts request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignDraftsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignDraftsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignDrafts response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignDrafts(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignDraftsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignDraftsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignDrafts response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1053,8 +1074,25 @@ export class CampaignDraftServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'campaign_draft': request.campaign_draft ?? '', }); - this.initialize(); - return this.innerApiCalls.promoteCampaignDraft(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: Callback< + LROperation, + protos.google.longrunning.IOperation|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, rawResponse, _) => { + this._log.info('promoteCampaignDraft response %j', rawResponse); + callback!(error, response, rawResponse, _); // We verified callback above. + } + : undefined; + this._log.info('promoteCampaignDraft request %j', request); + return this.innerApiCalls.promoteCampaignDraft(request, options, wrappedCallback) + ?.then(([response, rawResponse, _]: [ + LROperation, + protos.google.longrunning.IOperation|undefined, {}|undefined + ]) => { + this._log.info('promoteCampaignDraft response %j', rawResponse); + return [response, rawResponse, _]; + }); } /** * Check the status of the long running operation returned by `promoteCampaignDraft()`. @@ -1068,6 +1106,7 @@ export class CampaignDraftServiceClient { * region_tag:googleads_v19_generated_CampaignDraftService_PromoteCampaignDraft_async */ async checkPromoteCampaignDraftProgress(name: string): Promise>{ + this._log.info('promoteCampaignDraft long-running'); const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); const [operation] = await this.operationsClient.getOperation(request); const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.promoteCampaignDraft, this._gaxModule.createDefaultBackoffSettings()); @@ -1165,8 +1204,27 @@ export class CampaignDraftServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.listCampaignDraftAsyncErrors(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: PaginationCallback< + protos.google.ads.googleads.v19.services.IListCampaignDraftAsyncErrorsRequest, + protos.google.ads.googleads.v19.services.IListCampaignDraftAsyncErrorsResponse|null|undefined, + protos.google.rpc.IStatus>|undefined = callback + ? (error, values, nextPageRequest, rawResponse) => { + this._log.info('listCampaignDraftAsyncErrors values %j', values); + callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. + } + : undefined; + this._log.info('listCampaignDraftAsyncErrors request %j', request); + return this.innerApiCalls + .listCampaignDraftAsyncErrors(request, options, wrappedCallback) + ?.then(([response, input, output]: [ + protos.google.rpc.IStatus[], + protos.google.ads.googleads.v19.services.IListCampaignDraftAsyncErrorsRequest|null, + protos.google.ads.googleads.v19.services.IListCampaignDraftAsyncErrorsResponse + ]) => { + this._log.info('listCampaignDraftAsyncErrors values %j', response); + return [response, input, output]; + }); } /** @@ -1211,7 +1269,8 @@ export class CampaignDraftServiceClient { }); const defaultCallSettings = this._defaults['listCampaignDraftAsyncErrors']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('listCampaignDraftAsyncErrors stream %j', request); return this.descriptors.page.listCampaignDraftAsyncErrors.createStream( this.innerApiCalls.listCampaignDraftAsyncErrors as GaxCall, request, @@ -1264,7 +1323,8 @@ export class CampaignDraftServiceClient { }); const defaultCallSettings = this._defaults['listCampaignDraftAsyncErrors']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('listCampaignDraftAsyncErrors iterate %j', request); return this.descriptors.page.listCampaignDraftAsyncErrors.asyncIterate( this.innerApiCalls['listCampaignDraftAsyncErrors'] as GaxCall, request as {}, @@ -8766,11 +8826,12 @@ export class CampaignDraftServiceClient { close(): Promise { if (this.campaignDraftServiceStub && !this._terminated) { return this.campaignDraftServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.operationsClient.close(); + void this.operationsClient.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_draft_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_draft_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_draft_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_draft_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_group_service_client.ts b/package/googleads-nodejs/src/v19/campaign_group_service_client.ts index 2481b2b9..4cd0ed6f 100644 --- a/package/googleads-nodejs/src/v19/campaign_group_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_group_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignGroupServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignGroupServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class CampaignGroupServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignGroups(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignGroups request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignGroupsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignGroups response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignGroups(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignGroupsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignGroups response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class CampaignGroupServiceClient { close(): Promise { if (this.campaignGroupServiceStub && !this._terminated) { return this.campaignGroupServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_group_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_group_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_group_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_group_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_label_service_client.ts b/package/googleads-nodejs/src/v19/campaign_label_service_client.ts index 72c37a1f..79eb9772 100644 --- a/package/googleads-nodejs/src/v19/campaign_label_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_label_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignLabelServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignLabelServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -924,8 +927,26 @@ export class CampaignLabelServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignLabels(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignLabels request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignLabelsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignLabels response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignLabels(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignLabelsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignLabels response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8423,10 +8444,11 @@ export class CampaignLabelServiceClient { close(): Promise { if (this.campaignLabelServiceStub && !this._terminated) { return this.campaignLabelServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_label_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_label_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_label_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_label_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_client.ts b/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_client.ts index 8840e79e..471a7f53 100644 --- a/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignLifecycleGoalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignLifecycleGoalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class CampaignLifecycleGoalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.configureCampaignLifecycleGoals(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('configureCampaignLifecycleGoals request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IConfigureCampaignLifecycleGoalsResponse, + protos.google.ads.googleads.v19.services.IConfigureCampaignLifecycleGoalsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('configureCampaignLifecycleGoals response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.configureCampaignLifecycleGoals(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IConfigureCampaignLifecycleGoalsResponse, + protos.google.ads.googleads.v19.services.IConfigureCampaignLifecycleGoalsRequest|undefined, + {}|undefined + ]) => { + this._log.info('configureCampaignLifecycleGoals response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class CampaignLifecycleGoalServiceClient { close(): Promise { if (this.campaignLifecycleGoalServiceStub && !this._terminated) { return this.campaignLifecycleGoalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_lifecycle_goal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_service_client.ts b/package/googleads-nodejs/src/v19/campaign_service_client.ts index 37843d01..e15ccd4e 100644 --- a/package/googleads-nodejs/src/v19/campaign_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -948,8 +951,26 @@ export class CampaignServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaigns(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaigns request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaigns response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaigns(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaigns response %j', response); + return [response, options, rawResponse]; + }); } /** * Enables Brand Guidelines for Performance Max campaigns. @@ -1035,8 +1056,26 @@ export class CampaignServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.enablePMaxBrandGuidelines(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('enablePMaxBrandGuidelines request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IEnablePMaxBrandGuidelinesResponse, + protos.google.ads.googleads.v19.services.IEnablePMaxBrandGuidelinesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('enablePMaxBrandGuidelines response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.enablePMaxBrandGuidelines(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IEnablePMaxBrandGuidelinesResponse, + protos.google.ads.googleads.v19.services.IEnablePMaxBrandGuidelinesRequest|undefined, + {}|undefined + ]) => { + this._log.info('enablePMaxBrandGuidelines response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8534,10 +8573,11 @@ export class CampaignServiceClient { close(): Promise { if (this.campaignServiceStub && !this._terminated) { return this.campaignServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/campaign_shared_set_service_client.ts b/package/googleads-nodejs/src/v19/campaign_shared_set_service_client.ts index ee367c62..5fc84247 100644 --- a/package/googleads-nodejs/src/v19/campaign_shared_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/campaign_shared_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CampaignSharedSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CampaignSharedSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -937,8 +940,26 @@ export class CampaignSharedSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCampaignSharedSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCampaignSharedSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCampaignSharedSetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignSharedSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCampaignSharedSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCampaignSharedSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCampaignSharedSetsResponse, + protos.google.ads.googleads.v19.services.IMutateCampaignSharedSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCampaignSharedSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8436,10 +8457,11 @@ export class CampaignSharedSetServiceClient { close(): Promise { if (this.campaignSharedSetServiceStub && !this._terminated) { return this.campaignSharedSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/campaign_shared_set_service_proto_list.json b/package/googleads-nodejs/src/v19/campaign_shared_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/campaign_shared_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/campaign_shared_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/content_creator_insights_service_client.ts b/package/googleads-nodejs/src/v19/content_creator_insights_service_client.ts index aa3fcc36..f6f52da1 100644 --- a/package/googleads-nodejs/src/v19/content_creator_insights_service_client.ts +++ b/package/googleads-nodejs/src/v19/content_creator_insights_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -48,6 +49,8 @@ export class ContentCreatorInsightsServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -82,7 +85,7 @@ export class ContentCreatorInsightsServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -924,8 +927,26 @@ export class ContentCreatorInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateCreatorInsights(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateCreatorInsights request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateCreatorInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateCreatorInsightsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateCreatorInsights response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateCreatorInsights(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateCreatorInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateCreatorInsightsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateCreatorInsights response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns insights for trending content on YouTube. @@ -1013,8 +1034,26 @@ export class ContentCreatorInsightsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateTrendingInsights(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateTrendingInsights request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateTrendingInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateTrendingInsightsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateTrendingInsights response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateTrendingInsights(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateTrendingInsightsResponse, + protos.google.ads.googleads.v19.services.IGenerateTrendingInsightsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateTrendingInsights response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8512,10 +8551,11 @@ export class ContentCreatorInsightsServiceClient { close(): Promise { if (this.contentCreatorInsightsServiceStub && !this._terminated) { return this.contentCreatorInsightsServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/content_creator_insights_service_proto_list.json b/package/googleads-nodejs/src/v19/content_creator_insights_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/content_creator_insights_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/content_creator_insights_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_action_service_client.ts b/package/googleads-nodejs/src/v19/conversion_action_service_client.ts index 2fbba2ff..9f15452b 100644 --- a/package/googleads-nodejs/src/v19/conversion_action_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_action_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionActionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionActionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -932,8 +935,26 @@ export class ConversionActionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateConversionActions(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateConversionActions request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateConversionActionsResponse, + protos.google.ads.googleads.v19.services.IMutateConversionActionsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateConversionActions response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateConversionActions(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateConversionActionsResponse, + protos.google.ads.googleads.v19.services.IMutateConversionActionsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateConversionActions response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8431,10 +8452,11 @@ export class ConversionActionServiceClient { close(): Promise { if (this.conversionActionServiceStub && !this._terminated) { return this.conversionActionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_action_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_action_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_action_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_action_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_client.ts b/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_client.ts index 253b45f2..da2e36cd 100644 --- a/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionAdjustmentUploadServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionAdjustmentUploadServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -926,8 +929,26 @@ export class ConversionAdjustmentUploadServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.uploadConversionAdjustments(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('uploadConversionAdjustments request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IUploadConversionAdjustmentsResponse, + protos.google.ads.googleads.v19.services.IUploadConversionAdjustmentsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('uploadConversionAdjustments response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.uploadConversionAdjustments(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IUploadConversionAdjustmentsResponse, + protos.google.ads.googleads.v19.services.IUploadConversionAdjustmentsRequest|undefined, + {}|undefined + ]) => { + this._log.info('uploadConversionAdjustments response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8425,10 +8446,11 @@ export class ConversionAdjustmentUploadServiceClient { close(): Promise { if (this.conversionAdjustmentUploadServiceStub && !this._terminated) { return this.conversionAdjustmentUploadServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_adjustment_upload_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_custom_variable_service_client.ts b/package/googleads-nodejs/src/v19/conversion_custom_variable_service_client.ts index cd48c84a..429fe84b 100644 --- a/package/googleads-nodejs/src/v19/conversion_custom_variable_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_custom_variable_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionCustomVariableServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionCustomVariableServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -924,8 +927,26 @@ export class ConversionCustomVariableServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateConversionCustomVariables(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateConversionCustomVariables request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateConversionCustomVariablesResponse, + protos.google.ads.googleads.v19.services.IMutateConversionCustomVariablesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateConversionCustomVariables response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateConversionCustomVariables(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateConversionCustomVariablesResponse, + protos.google.ads.googleads.v19.services.IMutateConversionCustomVariablesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateConversionCustomVariables response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8423,10 +8444,11 @@ export class ConversionCustomVariableServiceClient { close(): Promise { if (this.conversionCustomVariableServiceStub && !this._terminated) { return this.conversionCustomVariableServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_custom_variable_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_custom_variable_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_custom_variable_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_custom_variable_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_client.ts b/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_client.ts index 6d4b7c13..4593d8ee 100644 --- a/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionGoalCampaignConfigServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionGoalCampaignConfigServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -909,8 +912,26 @@ export class ConversionGoalCampaignConfigServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateConversionGoalCampaignConfigs(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateConversionGoalCampaignConfigs request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateConversionGoalCampaignConfigsResponse, + protos.google.ads.googleads.v19.services.IMutateConversionGoalCampaignConfigsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateConversionGoalCampaignConfigs response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateConversionGoalCampaignConfigs(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateConversionGoalCampaignConfigsResponse, + protos.google.ads.googleads.v19.services.IMutateConversionGoalCampaignConfigsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateConversionGoalCampaignConfigs response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8408,10 +8429,11 @@ export class ConversionGoalCampaignConfigServiceClient { close(): Promise { if (this.conversionGoalCampaignConfigServiceStub && !this._terminated) { return this.conversionGoalCampaignConfigServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_goal_campaign_config_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_upload_service_client.ts b/package/googleads-nodejs/src/v19/conversion_upload_service_client.ts index 6a3c608e..9b0ce65d 100644 --- a/package/googleads-nodejs/src/v19/conversion_upload_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_upload_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionUploadServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionUploadServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -946,8 +949,26 @@ export class ConversionUploadServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.uploadClickConversions(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('uploadClickConversions request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IUploadClickConversionsResponse, + protos.google.ads.googleads.v19.services.IUploadClickConversionsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('uploadClickConversions response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.uploadClickConversions(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IUploadClickConversionsResponse, + protos.google.ads.googleads.v19.services.IUploadClickConversionsRequest|undefined, + {}|undefined + ]) => { + this._log.info('uploadClickConversions response %j', response); + return [response, options, rawResponse]; + }); } /** * Processes the given call conversions. @@ -1038,8 +1059,26 @@ export class ConversionUploadServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.uploadCallConversions(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('uploadCallConversions request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IUploadCallConversionsResponse, + protos.google.ads.googleads.v19.services.IUploadCallConversionsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('uploadCallConversions response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.uploadCallConversions(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IUploadCallConversionsResponse, + protos.google.ads.googleads.v19.services.IUploadCallConversionsRequest|undefined, + {}|undefined + ]) => { + this._log.info('uploadCallConversions response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8537,10 +8576,11 @@ export class ConversionUploadServiceClient { close(): Promise { if (this.conversionUploadServiceStub && !this._terminated) { return this.conversionUploadServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_upload_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_upload_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_upload_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_upload_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_value_rule_service_client.ts b/package/googleads-nodejs/src/v19/conversion_value_rule_service_client.ts index b4c09e6a..d421f3aa 100644 --- a/package/googleads-nodejs/src/v19/conversion_value_rule_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_value_rule_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionValueRuleServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionValueRuleServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class ConversionValueRuleServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateConversionValueRules(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateConversionValueRules request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateConversionValueRulesResponse, + protos.google.ads.googleads.v19.services.IMutateConversionValueRulesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateConversionValueRules response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateConversionValueRules(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateConversionValueRulesResponse, + protos.google.ads.googleads.v19.services.IMutateConversionValueRulesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateConversionValueRules response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class ConversionValueRuleServiceClient { close(): Promise { if (this.conversionValueRuleServiceStub && !this._terminated) { return this.conversionValueRuleServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_value_rule_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_value_rule_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_value_rule_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_value_rule_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_client.ts b/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_client.ts index 77bec8a3..3349c3c9 100644 --- a/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ConversionValueRuleSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ConversionValueRuleSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class ConversionValueRuleSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateConversionValueRuleSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateConversionValueRuleSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateConversionValueRuleSetsResponse, + protos.google.ads.googleads.v19.services.IMutateConversionValueRuleSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateConversionValueRuleSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateConversionValueRuleSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateConversionValueRuleSetsResponse, + protos.google.ads.googleads.v19.services.IMutateConversionValueRuleSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateConversionValueRuleSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class ConversionValueRuleSetServiceClient { close(): Promise { if (this.conversionValueRuleSetServiceStub && !this._terminated) { return this.conversionValueRuleSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_proto_list.json b/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/conversion_value_rule_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/custom_audience_service_client.ts b/package/googleads-nodejs/src/v19/custom_audience_service_client.ts index 3fa69f89..ca6d87e6 100644 --- a/package/googleads-nodejs/src/v19/custom_audience_service_client.ts +++ b/package/googleads-nodejs/src/v19/custom_audience_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomAudienceServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomAudienceServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -918,8 +921,26 @@ export class CustomAudienceServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomAudiences(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomAudiences request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomAudiencesResponse, + protos.google.ads.googleads.v19.services.IMutateCustomAudiencesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomAudiences response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomAudiences(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomAudiencesResponse, + protos.google.ads.googleads.v19.services.IMutateCustomAudiencesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomAudiences response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8417,10 +8438,11 @@ export class CustomAudienceServiceClient { close(): Promise { if (this.customAudienceServiceStub && !this._terminated) { return this.customAudienceServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/custom_audience_service_proto_list.json b/package/googleads-nodejs/src/v19/custom_audience_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/custom_audience_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/custom_audience_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/custom_conversion_goal_service_client.ts b/package/googleads-nodejs/src/v19/custom_conversion_goal_service_client.ts index 14a0f2e0..37b36324 100644 --- a/package/googleads-nodejs/src/v19/custom_conversion_goal_service_client.ts +++ b/package/googleads-nodejs/src/v19/custom_conversion_goal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomConversionGoalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomConversionGoalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -909,8 +912,26 @@ export class CustomConversionGoalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomConversionGoals(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomConversionGoals request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomConversionGoalsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomConversionGoalsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomConversionGoals response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomConversionGoals(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomConversionGoalsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomConversionGoalsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomConversionGoals response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8408,10 +8429,11 @@ export class CustomConversionGoalServiceClient { close(): Promise { if (this.customConversionGoalServiceStub && !this._terminated) { return this.customConversionGoalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/custom_conversion_goal_service_proto_list.json b/package/googleads-nodejs/src/v19/custom_conversion_goal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/custom_conversion_goal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/custom_conversion_goal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/custom_interest_service_client.ts b/package/googleads-nodejs/src/v19/custom_interest_service_client.ts index e397f668..cb0aa065 100644 --- a/package/googleads-nodejs/src/v19/custom_interest_service_client.ts +++ b/package/googleads-nodejs/src/v19/custom_interest_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomInterestServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomInterestServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -916,8 +919,26 @@ export class CustomInterestServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomInterests(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomInterests request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomInterestsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomInterestsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomInterests response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomInterests(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomInterestsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomInterestsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomInterests response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8415,10 +8436,11 @@ export class CustomInterestServiceClient { close(): Promise { if (this.customInterestServiceStub && !this._terminated) { return this.customInterestServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/custom_interest_service_proto_list.json b/package/googleads-nodejs/src/v19/custom_interest_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/custom_interest_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/custom_interest_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_asset_service_client.ts b/package/googleads-nodejs/src/v19/customer_asset_service_client.ts index 4f736938..1258dcc9 100644 --- a/package/googleads-nodejs/src/v19/customer_asset_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_asset_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerAssetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerAssetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -923,8 +926,26 @@ export class CustomerAssetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerAssetsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8422,10 +8443,11 @@ export class CustomerAssetServiceClient { close(): Promise { if (this.customerAssetServiceStub && !this._terminated) { return this.customerAssetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_asset_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_asset_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_asset_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_asset_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_asset_set_service_client.ts b/package/googleads-nodejs/src/v19/customer_asset_set_service_client.ts index c5550989..c1de471a 100644 --- a/package/googleads-nodejs/src/v19/customer_asset_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_asset_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerAssetSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerAssetSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class CustomerAssetSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerAssetSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerAssetSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerAssetSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerAssetSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerAssetSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerAssetSetsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerAssetSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerAssetSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class CustomerAssetSetServiceClient { close(): Promise { if (this.customerAssetSetServiceStub && !this._terminated) { return this.customerAssetSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_asset_set_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_asset_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_asset_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_asset_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_client_link_service_client.ts b/package/googleads-nodejs/src/v19/customer_client_link_service_client.ts index d7412b7e..5e8e327f 100644 --- a/package/googleads-nodejs/src/v19/customer_client_link_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_client_link_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerClientLinkServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerClientLinkServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -917,8 +920,26 @@ export class CustomerClientLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerClientLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerClientLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerClientLinkResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerClientLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerClientLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerClientLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerClientLinkResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerClientLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerClientLink response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8416,10 +8437,11 @@ export class CustomerClientLinkServiceClient { close(): Promise { if (this.customerClientLinkServiceStub && !this._terminated) { return this.customerClientLinkServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_client_link_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_client_link_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_client_link_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_client_link_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_conversion_goal_service_client.ts b/package/googleads-nodejs/src/v19/customer_conversion_goal_service_client.ts index 21c80bc9..8ea44ea1 100644 --- a/package/googleads-nodejs/src/v19/customer_conversion_goal_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_conversion_goal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerConversionGoalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerConversionGoalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -906,8 +909,26 @@ export class CustomerConversionGoalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerConversionGoals(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerConversionGoals request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerConversionGoalsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerConversionGoalsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerConversionGoals response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerConversionGoals(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerConversionGoalsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerConversionGoalsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerConversionGoals response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8405,10 +8426,11 @@ export class CustomerConversionGoalServiceClient { close(): Promise { if (this.customerConversionGoalServiceStub && !this._terminated) { return this.customerConversionGoalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_conversion_goal_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_conversion_goal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_conversion_goal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_conversion_goal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_customizer_service_client.ts b/package/googleads-nodejs/src/v19/customer_customizer_service_client.ts index 1b53ae9c..324ed093 100644 --- a/package/googleads-nodejs/src/v19/customer_customizer_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_customizer_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerCustomizerServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerCustomizerServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class CustomerCustomizerServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerCustomizers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerCustomizers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerCustomizersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerCustomizers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerCustomizers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerCustomizersResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerCustomizersRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerCustomizers response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class CustomerCustomizerServiceClient { close(): Promise { if (this.customerCustomizerServiceStub && !this._terminated) { return this.customerCustomizerServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_customizer_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_customizer_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_customizer_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_customizer_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_label_service_client.ts b/package/googleads-nodejs/src/v19/customer_label_service_client.ts index 7649e637..a7450e77 100644 --- a/package/googleads-nodejs/src/v19/customer_label_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_label_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerLabelServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerLabelServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -922,8 +925,26 @@ export class CustomerLabelServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerLabels(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerLabels request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerLabelsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerLabels response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerLabels(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerLabelsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerLabels response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8421,10 +8442,11 @@ export class CustomerLabelServiceClient { close(): Promise { if (this.customerLabelServiceStub && !this._terminated) { return this.customerLabelServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_label_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_label_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_label_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_label_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_client.ts b/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_client.ts index 47fb0c47..dca8c4b1 100644 --- a/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerLifecycleGoalServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerLifecycleGoalServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class CustomerLifecycleGoalServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.configureCustomerLifecycleGoals(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('configureCustomerLifecycleGoals request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IConfigureCustomerLifecycleGoalsResponse, + protos.google.ads.googleads.v19.services.IConfigureCustomerLifecycleGoalsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('configureCustomerLifecycleGoals response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.configureCustomerLifecycleGoals(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IConfigureCustomerLifecycleGoalsResponse, + protos.google.ads.googleads.v19.services.IConfigureCustomerLifecycleGoalsRequest|undefined, + {}|undefined + ]) => { + this._log.info('configureCustomerLifecycleGoals response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class CustomerLifecycleGoalServiceClient { close(): Promise { if (this.customerLifecycleGoalServiceStub && !this._terminated) { return this.customerLifecycleGoalServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_lifecycle_goal_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_manager_link_service_client.ts b/package/googleads-nodejs/src/v19/customer_manager_link_service_client.ts index 527dc80f..00c31f5d 100644 --- a/package/googleads-nodejs/src/v19/customer_manager_link_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_manager_link_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerManagerLinkServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerManagerLinkServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -918,8 +921,26 @@ export class CustomerManagerLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerManagerLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerManagerLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerManagerLinkResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerManagerLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerManagerLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerManagerLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerManagerLinkResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerManagerLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerManagerLink response %j', response); + return [response, options, rawResponse]; + }); } /** * Moves a client customer to a new manager customer. @@ -1014,8 +1035,26 @@ export class CustomerManagerLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.moveManagerLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('moveManagerLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMoveManagerLinkResponse, + protos.google.ads.googleads.v19.services.IMoveManagerLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('moveManagerLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.moveManagerLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMoveManagerLinkResponse, + protos.google.ads.googleads.v19.services.IMoveManagerLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('moveManagerLink response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8513,10 +8552,11 @@ export class CustomerManagerLinkServiceClient { close(): Promise { if (this.customerManagerLinkServiceStub && !this._terminated) { return this.customerManagerLinkServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_manager_link_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_manager_link_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_manager_link_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_manager_link_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_negative_criterion_service_client.ts b/package/googleads-nodejs/src/v19/customer_negative_criterion_service_client.ts index adb20abe..cff2ea71 100644 --- a/package/googleads-nodejs/src/v19/customer_negative_criterion_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_negative_criterion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerNegativeCriterionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerNegativeCriterionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -923,8 +926,26 @@ export class CustomerNegativeCriterionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerNegativeCriteria(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerNegativeCriteria request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerNegativeCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerNegativeCriteriaRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerNegativeCriteria response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerNegativeCriteria(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerNegativeCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerNegativeCriteriaRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerNegativeCriteria response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8422,10 +8443,11 @@ export class CustomerNegativeCriterionServiceClient { close(): Promise { if (this.customerNegativeCriterionServiceStub && !this._terminated) { return this.customerNegativeCriterionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_negative_criterion_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_negative_criterion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_negative_criterion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_negative_criterion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_service_client.ts b/package/googleads-nodejs/src/v19/customer_service_client.ts index d5f2ae31..d7c74cfb 100644 --- a/package/googleads-nodejs/src/v19/customer_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -917,8 +920,26 @@ export class CustomerServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomer(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomer request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomer response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomer(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomer response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns resource names of customers directly accessible by the @@ -989,8 +1010,26 @@ export class CustomerServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.listAccessibleCustomers(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listAccessibleCustomers request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListAccessibleCustomersResponse, + protos.google.ads.googleads.v19.services.IListAccessibleCustomersRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listAccessibleCustomers response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listAccessibleCustomers(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListAccessibleCustomersResponse, + protos.google.ads.googleads.v19.services.IListAccessibleCustomersRequest|undefined, + {}|undefined + ]) => { + this._log.info('listAccessibleCustomers response %j', response); + return [response, options, rawResponse]; + }); } /** * Creates a new client under manager. The new client customer is returned. @@ -1085,8 +1124,26 @@ export class CustomerServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.createCustomerClient(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('createCustomerClient request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ICreateCustomerClientResponse, + protos.google.ads.googleads.v19.services.ICreateCustomerClientRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('createCustomerClient response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.createCustomerClient(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ICreateCustomerClientResponse, + protos.google.ads.googleads.v19.services.ICreateCustomerClientRequest|undefined, + {}|undefined + ]) => { + this._log.info('createCustomerClient response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8584,10 +8641,11 @@ export class CustomerServiceClient { close(): Promise { if (this.customerServiceStub && !this._terminated) { return this.customerServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_client.ts b/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_client.ts index 76292e02..3be33ce2 100644 --- a/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerSkAdNetworkConversionValueSchemaServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerSkAdNetworkConversionValueSchemaServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class CustomerSkAdNetworkConversionValueSchemaServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerSkAdNetworkConversionValueSchema(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerSkAdNetworkConversionValueSchema request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerSkAdNetworkConversionValueSchemaResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerSkAdNetworkConversionValueSchemaRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerSkAdNetworkConversionValueSchema response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerSkAdNetworkConversionValueSchema(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerSkAdNetworkConversionValueSchemaResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerSkAdNetworkConversionValueSchemaRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerSkAdNetworkConversionValueSchema response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class CustomerSkAdNetworkConversionValueSchemaServiceClient { close(): Promise { if (this.customerSkAdNetworkConversionValueSchemaServiceStub && !this._terminated) { return this.customerSkAdNetworkConversionValueSchemaServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_sk_ad_network_conversion_value_schema_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_client.ts b/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_client.ts index 690f4177..61ede4f4 100644 --- a/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class CustomerUserAccessInvitationServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class CustomerUserAccessInvitationServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -910,8 +913,26 @@ export class CustomerUserAccessInvitationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerUserAccessInvitation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerUserAccessInvitation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessInvitationResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessInvitationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerUserAccessInvitation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerUserAccessInvitation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessInvitationResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessInvitationRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerUserAccessInvitation response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8409,10 +8430,11 @@ export class CustomerUserAccessInvitationServiceClient { close(): Promise { if (this.customerUserAccessInvitationServiceStub && !this._terminated) { return this.customerUserAccessInvitationServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_user_access_invitation_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customer_user_access_service_client.ts b/package/googleads-nodejs/src/v19/customer_user_access_service_client.ts index 4eb1112b..6a730a84 100644 --- a/package/googleads-nodejs/src/v19/customer_user_access_service_client.ts +++ b/package/googleads-nodejs/src/v19/customer_user_access_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomerUserAccessServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomerUserAccessServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class CustomerUserAccessServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomerUserAccess(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomerUserAccess request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomerUserAccess response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomerUserAccess(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessResponse, + protos.google.ads.googleads.v19.services.IMutateCustomerUserAccessRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomerUserAccess response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8411,10 +8432,11 @@ export class CustomerUserAccessServiceClient { close(): Promise { if (this.customerUserAccessServiceStub && !this._terminated) { return this.customerUserAccessServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customer_user_access_service_proto_list.json b/package/googleads-nodejs/src/v19/customer_user_access_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customer_user_access_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customer_user_access_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/customizer_attribute_service_client.ts b/package/googleads-nodejs/src/v19/customizer_attribute_service_client.ts index bf9685d6..dd92ecae 100644 --- a/package/googleads-nodejs/src/v19/customizer_attribute_service_client.ts +++ b/package/googleads-nodejs/src/v19/customizer_attribute_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class CustomizerAttributeServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class CustomizerAttributeServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -914,8 +917,26 @@ export class CustomizerAttributeServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateCustomizerAttributes(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateCustomizerAttributes request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateCustomizerAttributesResponse, + protos.google.ads.googleads.v19.services.IMutateCustomizerAttributesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateCustomizerAttributes response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateCustomizerAttributes(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateCustomizerAttributesResponse, + protos.google.ads.googleads.v19.services.IMutateCustomizerAttributesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateCustomizerAttributes response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8413,10 +8434,11 @@ export class CustomizerAttributeServiceClient { close(): Promise { if (this.customizerAttributeServiceStub && !this._terminated) { return this.customizerAttributeServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/customizer_attribute_service_proto_list.json b/package/googleads-nodejs/src/v19/customizer_attribute_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/customizer_attribute_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/customizer_attribute_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/data_link_service_client.ts b/package/googleads-nodejs/src/v19/data_link_service_client.ts index fc9796d4..f6eb9cd5 100644 --- a/package/googleads-nodejs/src/v19/data_link_service_client.ts +++ b/package/googleads-nodejs/src/v19/data_link_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class DataLinkServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class DataLinkServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -916,8 +919,26 @@ export class DataLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.createDataLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('createDataLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ICreateDataLinkResponse, + protos.google.ads.googleads.v19.services.ICreateDataLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('createDataLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.createDataLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ICreateDataLinkResponse, + protos.google.ads.googleads.v19.services.ICreateDataLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('createDataLink response %j', response); + return [response, options, rawResponse]; + }); } /** * Remove a data link. @@ -1000,8 +1021,26 @@ export class DataLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.removeDataLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('removeDataLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IRemoveDataLinkResponse, + protos.google.ads.googleads.v19.services.IRemoveDataLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('removeDataLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.removeDataLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IRemoveDataLinkResponse, + protos.google.ads.googleads.v19.services.IRemoveDataLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('removeDataLink response %j', response); + return [response, options, rawResponse]; + }); } /** * Update a data link. @@ -1086,8 +1125,26 @@ export class DataLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.updateDataLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('updateDataLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IUpdateDataLinkResponse, + protos.google.ads.googleads.v19.services.IUpdateDataLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('updateDataLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.updateDataLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IUpdateDataLinkResponse, + protos.google.ads.googleads.v19.services.IUpdateDataLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('updateDataLink response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8585,10 +8642,11 @@ export class DataLinkServiceClient { close(): Promise { if (this.dataLinkServiceStub && !this._terminated) { return this.dataLinkServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/data_link_service_proto_list.json b/package/googleads-nodejs/src/v19/data_link_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/data_link_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/data_link_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/experiment_arm_service_client.ts b/package/googleads-nodejs/src/v19/experiment_arm_service_client.ts index d19abe06..7edb6728 100644 --- a/package/googleads-nodejs/src/v19/experiment_arm_service_client.ts +++ b/package/googleads-nodejs/src/v19/experiment_arm_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ExperimentArmServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ExperimentArmServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -921,8 +924,26 @@ export class ExperimentArmServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateExperimentArms(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateExperimentArms request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateExperimentArmsResponse, + protos.google.ads.googleads.v19.services.IMutateExperimentArmsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateExperimentArms response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateExperimentArms(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateExperimentArmsResponse, + protos.google.ads.googleads.v19.services.IMutateExperimentArmsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateExperimentArms response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8420,10 +8441,11 @@ export class ExperimentArmServiceClient { close(): Promise { if (this.experimentArmServiceStub && !this._terminated) { return this.experimentArmServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/experiment_arm_service_proto_list.json b/package/googleads-nodejs/src/v19/experiment_arm_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/experiment_arm_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/experiment_arm_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/experiment_service_client.ts b/package/googleads-nodejs/src/v19/experiment_service_client.ts index 3adeb70d..c89bd22e 100644 --- a/package/googleads-nodejs/src/v19/experiment_service_client.ts +++ b/package/googleads-nodejs/src/v19/experiment_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOption import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ExperimentServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class ExperimentServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -961,8 +964,26 @@ export class ExperimentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateExperiments(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateExperiments request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateExperimentsResponse, + protos.google.ads.googleads.v19.services.IMutateExperimentsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateExperiments response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateExperiments(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateExperimentsResponse, + protos.google.ads.googleads.v19.services.IMutateExperimentsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateExperiments response %j', response); + return [response, options, rawResponse]; + }); } /** * Immediately ends an experiment, changing the experiment's scheduled @@ -1045,8 +1066,26 @@ export class ExperimentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'experiment': request.experiment ?? '', }); - this.initialize(); - return this.innerApiCalls.endExperiment(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('endExperiment request %j', request); + const wrappedCallback: Callback< + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IEndExperimentRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('endExperiment response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.endExperiment(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IEndExperimentRequest|undefined, + {}|undefined + ]) => { + this._log.info('endExperiment response %j', response); + return [response, options, rawResponse]; + }); } /** * Graduates an experiment to a full campaign. @@ -1132,8 +1171,26 @@ export class ExperimentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'experiment': request.experiment ?? '', }); - this.initialize(); - return this.innerApiCalls.graduateExperiment(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('graduateExperiment request %j', request); + const wrappedCallback: Callback< + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IGraduateExperimentRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('graduateExperiment response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.graduateExperiment(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IGraduateExperimentRequest|undefined, + {}|undefined + ]) => { + this._log.info('graduateExperiment response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1231,8 +1288,25 @@ export class ExperimentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.scheduleExperiment(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: Callback< + LROperation, + protos.google.longrunning.IOperation|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, rawResponse, _) => { + this._log.info('scheduleExperiment response %j', rawResponse); + callback!(error, response, rawResponse, _); // We verified callback above. + } + : undefined; + this._log.info('scheduleExperiment request %j', request); + return this.innerApiCalls.scheduleExperiment(request, options, wrappedCallback) + ?.then(([response, rawResponse, _]: [ + LROperation, + protos.google.longrunning.IOperation|undefined, {}|undefined + ]) => { + this._log.info('scheduleExperiment response %j', rawResponse); + return [response, rawResponse, _]; + }); } /** * Check the status of the long running operation returned by `scheduleExperiment()`. @@ -1246,6 +1320,7 @@ export class ExperimentServiceClient { * region_tag:googleads_v19_generated_ExperimentService_ScheduleExperiment_async */ async checkScheduleExperimentProgress(name: string): Promise>{ + this._log.info('scheduleExperiment long-running'); const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); const [operation] = await this.operationsClient.getOperation(request); const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.scheduleExperiment, this._gaxModule.createDefaultBackoffSettings()); @@ -1338,8 +1413,25 @@ export class ExperimentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.promoteExperiment(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: Callback< + LROperation, + protos.google.longrunning.IOperation|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, rawResponse, _) => { + this._log.info('promoteExperiment response %j', rawResponse); + callback!(error, response, rawResponse, _); // We verified callback above. + } + : undefined; + this._log.info('promoteExperiment request %j', request); + return this.innerApiCalls.promoteExperiment(request, options, wrappedCallback) + ?.then(([response, rawResponse, _]: [ + LROperation, + protos.google.longrunning.IOperation|undefined, {}|undefined + ]) => { + this._log.info('promoteExperiment response %j', rawResponse); + return [response, rawResponse, _]; + }); } /** * Check the status of the long running operation returned by `promoteExperiment()`. @@ -1353,6 +1445,7 @@ export class ExperimentServiceClient { * region_tag:googleads_v19_generated_ExperimentService_PromoteExperiment_async */ async checkPromoteExperimentProgress(name: string): Promise>{ + this._log.info('promoteExperiment long-running'); const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); const [operation] = await this.operationsClient.getOperation(request); const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.promoteExperiment, this._gaxModule.createDefaultBackoffSettings()); @@ -1451,8 +1544,27 @@ export class ExperimentServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.listExperimentAsyncErrors(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: PaginationCallback< + protos.google.ads.googleads.v19.services.IListExperimentAsyncErrorsRequest, + protos.google.ads.googleads.v19.services.IListExperimentAsyncErrorsResponse|null|undefined, + protos.google.rpc.IStatus>|undefined = callback + ? (error, values, nextPageRequest, rawResponse) => { + this._log.info('listExperimentAsyncErrors values %j', values); + callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. + } + : undefined; + this._log.info('listExperimentAsyncErrors request %j', request); + return this.innerApiCalls + .listExperimentAsyncErrors(request, options, wrappedCallback) + ?.then(([response, input, output]: [ + protos.google.rpc.IStatus[], + protos.google.ads.googleads.v19.services.IListExperimentAsyncErrorsRequest|null, + protos.google.ads.googleads.v19.services.IListExperimentAsyncErrorsResponse + ]) => { + this._log.info('listExperimentAsyncErrors values %j', response); + return [response, input, output]; + }); } /** @@ -1498,7 +1610,8 @@ export class ExperimentServiceClient { }); const defaultCallSettings = this._defaults['listExperimentAsyncErrors']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('listExperimentAsyncErrors stream %j', request); return this.descriptors.page.listExperimentAsyncErrors.createStream( this.innerApiCalls.listExperimentAsyncErrors as GaxCall, request, @@ -1552,7 +1665,8 @@ export class ExperimentServiceClient { }); const defaultCallSettings = this._defaults['listExperimentAsyncErrors']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('listExperimentAsyncErrors iterate %j', request); return this.descriptors.page.listExperimentAsyncErrors.asyncIterate( this.innerApiCalls['listExperimentAsyncErrors'] as GaxCall, request as {}, @@ -9054,11 +9168,12 @@ export class ExperimentServiceClient { close(): Promise { if (this.experimentServiceStub && !this._terminated) { return this.experimentServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.operationsClient.close(); + void this.operationsClient.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/experiment_service_proto_list.json b/package/googleads-nodejs/src/v19/experiment_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/experiment_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/experiment_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/gapic_metadata.json b/package/googleads-nodejs/src/v19/gapic_metadata.json index fe7f70f5..d7e6b45f 100644 --- a/package/googleads-nodejs/src/v19/gapic_metadata.json +++ b/package/googleads-nodejs/src/v19/gapic_metadata.json @@ -2379,6 +2379,11 @@ "methods": [ "appendLeadConversation" ] + }, + "ProvideLeadFeedback": { + "methods": [ + "provideLeadFeedback" + ] } } }, @@ -2389,6 +2394,11 @@ "methods": [ "appendLeadConversation" ] + }, + "ProvideLeadFeedback": { + "methods": [ + "provideLeadFeedback" + ] } } } @@ -2545,6 +2555,11 @@ "grpc": { "libraryClient": "ReachPlanServiceClient", "rpcs": { + "GenerateConversionRates": { + "methods": [ + "generateConversionRates" + ] + }, "ListPlannableLocations": { "methods": [ "listPlannableLocations" @@ -2565,6 +2580,11 @@ "grpc-fallback": { "libraryClient": "ReachPlanServiceClient", "rpcs": { + "GenerateConversionRates": { + "methods": [ + "generateConversionRates" + ] + }, "ListPlannableLocations": { "methods": [ "listPlannableLocations" diff --git a/package/googleads-nodejs/src/v19/geo_target_constant_service_client.ts b/package/googleads-nodejs/src/v19/geo_target_constant_service_client.ts index 17a0986e..9f28384d 100644 --- a/package/googleads-nodejs/src/v19/geo_target_constant_service_client.ts +++ b/package/googleads-nodejs/src/v19/geo_target_constant_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class GeoTargetConstantServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class GeoTargetConstantServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -910,8 +913,26 @@ export class GeoTargetConstantServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.suggestGeoTargetConstants(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestGeoTargetConstants request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestGeoTargetConstantsResponse, + protos.google.ads.googleads.v19.services.ISuggestGeoTargetConstantsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestGeoTargetConstants response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestGeoTargetConstants(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestGeoTargetConstantsResponse, + protos.google.ads.googleads.v19.services.ISuggestGeoTargetConstantsRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestGeoTargetConstants response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8409,10 +8430,11 @@ export class GeoTargetConstantServiceClient { close(): Promise { if (this.geoTargetConstantServiceStub && !this._terminated) { return this.geoTargetConstantServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/geo_target_constant_service_proto_list.json b/package/googleads-nodejs/src/v19/geo_target_constant_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/geo_target_constant_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/geo_target_constant_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/google_ads_field_service_client.ts b/package/googleads-nodejs/src/v19/google_ads_field_service_client.ts index 0b8b82ce..7f3a55db 100644 --- a/package/googleads-nodejs/src/v19/google_ads_field_service_client.ts +++ b/package/googleads-nodejs/src/v19/google_ads_field_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallba import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class GoogleAdsFieldServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class GoogleAdsFieldServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -915,8 +918,26 @@ export class GoogleAdsFieldServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.getGoogleAdsField(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('getGoogleAdsField request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.resources.IGoogleAdsField, + protos.google.ads.googleads.v19.services.IGetGoogleAdsFieldRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('getGoogleAdsField response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.getGoogleAdsField(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.resources.IGoogleAdsField, + protos.google.ads.googleads.v19.services.IGetGoogleAdsFieldRequest|undefined, + {}|undefined + ]) => { + this._log.info('getGoogleAdsField response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1003,8 +1024,27 @@ export class GoogleAdsFieldServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.searchGoogleAdsFields(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: PaginationCallback< + protos.google.ads.googleads.v19.services.ISearchGoogleAdsFieldsRequest, + protos.google.ads.googleads.v19.services.ISearchGoogleAdsFieldsResponse|null|undefined, + protos.google.ads.googleads.v19.resources.IGoogleAdsField>|undefined = callback + ? (error, values, nextPageRequest, rawResponse) => { + this._log.info('searchGoogleAdsFields values %j', values); + callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. + } + : undefined; + this._log.info('searchGoogleAdsFields request %j', request); + return this.innerApiCalls + .searchGoogleAdsFields(request, options, wrappedCallback) + ?.then(([response, input, output]: [ + protos.google.ads.googleads.v19.resources.IGoogleAdsField[], + protos.google.ads.googleads.v19.services.ISearchGoogleAdsFieldsRequest|null, + protos.google.ads.googleads.v19.services.ISearchGoogleAdsFieldsResponse + ]) => { + this._log.info('searchGoogleAdsFields values %j', response); + return [response, input, output]; + }); } /** @@ -1042,7 +1082,8 @@ export class GoogleAdsFieldServiceClient { options.otherArgs.headers = options.otherArgs.headers || {}; const defaultCallSettings = this._defaults['searchGoogleAdsFields']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('searchGoogleAdsFields stream %j', request); return this.descriptors.page.searchGoogleAdsFields.createStream( this.innerApiCalls.searchGoogleAdsFields as GaxCall, request, @@ -1088,7 +1129,8 @@ export class GoogleAdsFieldServiceClient { options.otherArgs.headers = options.otherArgs.headers || {}; const defaultCallSettings = this._defaults['searchGoogleAdsFields']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('searchGoogleAdsFields iterate %j', request); return this.descriptors.page.searchGoogleAdsFields.asyncIterate( this.innerApiCalls['searchGoogleAdsFields'] as GaxCall, request as {}, @@ -8590,10 +8632,11 @@ export class GoogleAdsFieldServiceClient { close(): Promise { if (this.googleAdsFieldServiceStub && !this._terminated) { return this.googleAdsFieldServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/google_ads_field_service_proto_list.json b/package/googleads-nodejs/src/v19/google_ads_field_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/google_ads_field_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/google_ads_field_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/google_ads_service_client.ts b/package/googleads-nodejs/src/v19/google_ads_service_client.ts index 19ffed54..3c8ddaed 100644 --- a/package/googleads-nodejs/src/v19/google_ads_service_client.ts +++ b/package/googleads-nodejs/src/v19/google_ads_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallba import {Transform, PassThrough} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class GoogleAdsServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class GoogleAdsServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -1047,8 +1050,26 @@ export class GoogleAdsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutate(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutate request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateGoogleAdsResponse, + protos.google.ads.googleads.v19.services.IMutateGoogleAdsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutate response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutate(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateGoogleAdsResponse, + protos.google.ads.googleads.v19.services.IMutateGoogleAdsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutate response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1098,7 +1119,8 @@ export class GoogleAdsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('searchStream stream %j', options); return this.innerApiCalls.searchStream(request, options); } @@ -1205,8 +1227,27 @@ export class GoogleAdsServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.search(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: PaginationCallback< + protos.google.ads.googleads.v19.services.ISearchGoogleAdsRequest, + protos.google.ads.googleads.v19.services.ISearchGoogleAdsResponse|null|undefined, + protos.google.ads.googleads.v19.services.IGoogleAdsRow>|undefined = callback + ? (error, values, nextPageRequest, rawResponse) => { + this._log.info('search values %j', values); + callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. + } + : undefined; + this._log.info('search request %j', request); + return this.innerApiCalls + .search(request, options, wrappedCallback) + ?.then(([response, input, output]: [ + protos.google.ads.googleads.v19.services.IGoogleAdsRow[], + protos.google.ads.googleads.v19.services.ISearchGoogleAdsRequest|null, + protos.google.ads.googleads.v19.services.ISearchGoogleAdsResponse + ]) => { + this._log.info('search values %j', response); + return [response, input, output]; + }); } /** @@ -1260,7 +1301,8 @@ export class GoogleAdsServiceClient { }); const defaultCallSettings = this._defaults['search']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('search stream %j', request); return this.descriptors.page.search.createStream( this.innerApiCalls.search as GaxCall, request, @@ -1322,7 +1364,8 @@ export class GoogleAdsServiceClient { }); const defaultCallSettings = this._defaults['search']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('search iterate %j', request); return this.descriptors.page.search.asyncIterate( this.innerApiCalls['search'] as GaxCall, request as {}, @@ -8824,10 +8867,11 @@ export class GoogleAdsServiceClient { close(): Promise { if (this.googleAdsServiceStub && !this._terminated) { return this.googleAdsServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/google_ads_service_proto_list.json b/package/googleads-nodejs/src/v19/google_ads_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/google_ads_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/google_ads_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/identity_verification_service_client.ts b/package/googleads-nodejs/src/v19/identity_verification_service_client.ts index 60a643b2..80f3f95b 100644 --- a/package/googleads-nodejs/src/v19/identity_verification_service_client.ts +++ b/package/googleads-nodejs/src/v19/identity_verification_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class IdentityVerificationServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class IdentityVerificationServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -911,8 +914,26 @@ export class IdentityVerificationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.startIdentityVerification(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('startIdentityVerification request %j', request); + const wrappedCallback: Callback< + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IStartIdentityVerificationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('startIdentityVerification response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.startIdentityVerification(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + protos.google.ads.googleads.v19.services.IStartIdentityVerificationRequest|undefined, + {}|undefined + ]) => { + this._log.info('startIdentityVerification response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns Identity Verification information. @@ -990,8 +1011,26 @@ export class IdentityVerificationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.getIdentityVerification(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('getIdentityVerification request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGetIdentityVerificationResponse, + protos.google.ads.googleads.v19.services.IGetIdentityVerificationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('getIdentityVerification response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.getIdentityVerification(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGetIdentityVerificationResponse, + protos.google.ads.googleads.v19.services.IGetIdentityVerificationRequest|undefined, + {}|undefined + ]) => { + this._log.info('getIdentityVerification response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8489,10 +8528,11 @@ export class IdentityVerificationServiceClient { close(): Promise { if (this.identityVerificationServiceStub && !this._terminated) { return this.identityVerificationServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/identity_verification_service_proto_list.json b/package/googleads-nodejs/src/v19/identity_verification_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/identity_verification_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/identity_verification_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/invoice_service_client.ts b/package/googleads-nodejs/src/v19/invoice_service_client.ts index 87422ff3..6418d979 100644 --- a/package/googleads-nodejs/src/v19/invoice_service_client.ts +++ b/package/googleads-nodejs/src/v19/invoice_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class InvoiceServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class InvoiceServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -917,8 +920,26 @@ export class InvoiceServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.listInvoices(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listInvoices request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListInvoicesResponse, + protos.google.ads.googleads.v19.services.IListInvoicesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listInvoices response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listInvoices(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListInvoicesResponse, + protos.google.ads.googleads.v19.services.IListInvoicesRequest|undefined, + {}|undefined + ]) => { + this._log.info('listInvoices response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8416,10 +8437,11 @@ export class InvoiceServiceClient { close(): Promise { if (this.invoiceServiceStub && !this._terminated) { return this.invoiceServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/invoice_service_proto_list.json b/package/googleads-nodejs/src/v19/invoice_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/invoice_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/invoice_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_client.ts b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_client.ts index 861cdfb5..7f704bff 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -50,6 +51,8 @@ export class KeywordPlanAdGroupKeywordServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -84,7 +87,7 @@ export class KeywordPlanAdGroupKeywordServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -929,8 +932,26 @@ export class KeywordPlanAdGroupKeywordServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateKeywordPlanAdGroupKeywords(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateKeywordPlanAdGroupKeywords request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupKeywordsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupKeywordsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateKeywordPlanAdGroupKeywords response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateKeywordPlanAdGroupKeywords(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupKeywordsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupKeywordsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateKeywordPlanAdGroupKeywords response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8428,10 +8449,11 @@ export class KeywordPlanAdGroupKeywordServiceClient { close(): Promise { if (this.keywordPlanAdGroupKeywordServiceStub && !this._terminated) { return this.keywordPlanAdGroupKeywordServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_keyword_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_client.ts b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_client.ts index ef70a5c2..cd0d1513 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class KeywordPlanAdGroupServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class KeywordPlanAdGroupServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -927,8 +930,26 @@ export class KeywordPlanAdGroupServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateKeywordPlanAdGroups(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateKeywordPlanAdGroups request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateKeywordPlanAdGroups response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateKeywordPlanAdGroups(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanAdGroupsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateKeywordPlanAdGroups response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8426,10 +8447,11 @@ export class KeywordPlanAdGroupServiceClient { close(): Promise { if (this.keywordPlanAdGroupServiceStub && !this._terminated) { return this.keywordPlanAdGroupServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_plan_ad_group_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_client.ts b/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_client.ts index 96d74739..dbcf9fdc 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -49,6 +50,8 @@ export class KeywordPlanCampaignKeywordServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -83,7 +86,7 @@ export class KeywordPlanCampaignKeywordServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -927,8 +930,26 @@ export class KeywordPlanCampaignKeywordServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateKeywordPlanCampaignKeywords(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateKeywordPlanCampaignKeywords request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignKeywordsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignKeywordsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateKeywordPlanCampaignKeywords response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateKeywordPlanCampaignKeywords(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignKeywordsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignKeywordsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateKeywordPlanCampaignKeywords response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8426,10 +8447,11 @@ export class KeywordPlanCampaignKeywordServiceClient { close(): Promise { if (this.keywordPlanCampaignKeywordServiceStub && !this._terminated) { return this.keywordPlanCampaignKeywordServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_plan_campaign_keyword_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_client.ts b/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_client.ts index fa9e29ac..29b57b02 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class KeywordPlanCampaignServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class KeywordPlanCampaignServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -928,8 +931,26 @@ export class KeywordPlanCampaignServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateKeywordPlanCampaigns(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateKeywordPlanCampaigns request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateKeywordPlanCampaigns response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateKeywordPlanCampaigns(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignsResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlanCampaignsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateKeywordPlanCampaigns response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8427,10 +8448,11 @@ export class KeywordPlanCampaignServiceClient { close(): Promise { if (this.keywordPlanCampaignServiceStub && !this._terminated) { return this.keywordPlanCampaignServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_plan_campaign_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_plan_idea_service_client.ts b/package/googleads-nodejs/src/v19/keyword_plan_idea_service_client.ts index 190a16b6..c13ff147 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_idea_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_plan_idea_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallba import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class KeywordPlanIdeaServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class KeywordPlanIdeaServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -940,8 +943,26 @@ export class KeywordPlanIdeaServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateKeywordHistoricalMetrics(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateKeywordHistoricalMetrics request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateKeywordHistoricalMetricsResponse, + protos.google.ads.googleads.v19.services.IGenerateKeywordHistoricalMetricsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateKeywordHistoricalMetrics response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateKeywordHistoricalMetrics(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateKeywordHistoricalMetricsResponse, + protos.google.ads.googleads.v19.services.IGenerateKeywordHistoricalMetricsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateKeywordHistoricalMetrics response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns a list of suggested AdGroups and suggested modifications @@ -1025,8 +1046,26 @@ export class KeywordPlanIdeaServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateAdGroupThemes(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateAdGroupThemes request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateAdGroupThemesResponse, + protos.google.ads.googleads.v19.services.IGenerateAdGroupThemesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateAdGroupThemes response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateAdGroupThemes(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateAdGroupThemesResponse, + protos.google.ads.googleads.v19.services.IGenerateAdGroupThemesRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateAdGroupThemes response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns metrics (such as impressions, clicks, total cost) of a keyword @@ -1118,8 +1157,26 @@ export class KeywordPlanIdeaServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateKeywordForecastMetrics(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateKeywordForecastMetrics request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateKeywordForecastMetricsResponse, + protos.google.ads.googleads.v19.services.IGenerateKeywordForecastMetricsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateKeywordForecastMetrics response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateKeywordForecastMetrics(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateKeywordForecastMetricsResponse, + protos.google.ads.googleads.v19.services.IGenerateKeywordForecastMetricsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateKeywordForecastMetrics response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1246,8 +1303,27 @@ export class KeywordPlanIdeaServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateKeywordIdeas(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: PaginationCallback< + protos.google.ads.googleads.v19.services.IGenerateKeywordIdeasRequest, + protos.google.ads.googleads.v19.services.IGenerateKeywordIdeaResponse|null|undefined, + protos.google.ads.googleads.v19.services.IGenerateKeywordIdeaResult>|undefined = callback + ? (error, values, nextPageRequest, rawResponse) => { + this._log.info('generateKeywordIdeas values %j', values); + callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. + } + : undefined; + this._log.info('generateKeywordIdeas request %j', request); + return this.innerApiCalls + .generateKeywordIdeas(request, options, wrappedCallback) + ?.then(([response, input, output]: [ + protos.google.ads.googleads.v19.services.IGenerateKeywordIdeaResult[], + protos.google.ads.googleads.v19.services.IGenerateKeywordIdeasRequest|null, + protos.google.ads.googleads.v19.services.IGenerateKeywordIdeaResponse + ]) => { + this._log.info('generateKeywordIdeas values %j', response); + return [response, input, output]; + }); } /** @@ -1324,7 +1400,8 @@ export class KeywordPlanIdeaServiceClient { }); const defaultCallSettings = this._defaults['generateKeywordIdeas']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('generateKeywordIdeas stream %j', request); return this.descriptors.page.generateKeywordIdeas.createStream( this.innerApiCalls.generateKeywordIdeas as GaxCall, request, @@ -1409,7 +1486,8 @@ export class KeywordPlanIdeaServiceClient { }); const defaultCallSettings = this._defaults['generateKeywordIdeas']; const callSettings = defaultCallSettings.merge(options); - this.initialize(); + this.initialize().catch(err => {throw err}); + this._log.info('generateKeywordIdeas iterate %j', request); return this.descriptors.page.generateKeywordIdeas.asyncIterate( this.innerApiCalls['generateKeywordIdeas'] as GaxCall, request as {}, @@ -8911,10 +8989,11 @@ export class KeywordPlanIdeaServiceClient { close(): Promise { if (this.keywordPlanIdeaServiceStub && !this._terminated) { return this.keywordPlanIdeaServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_plan_idea_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_plan_idea_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_idea_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_plan_idea_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_plan_service_client.ts b/package/googleads-nodejs/src/v19/keyword_plan_service_client.ts index 68f512bf..3afed7f1 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_plan_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class KeywordPlanServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class KeywordPlanServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -924,8 +927,26 @@ export class KeywordPlanServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateKeywordPlans(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateKeywordPlans request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateKeywordPlansResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlansRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateKeywordPlans response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateKeywordPlans(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateKeywordPlansResponse, + protos.google.ads.googleads.v19.services.IMutateKeywordPlansRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateKeywordPlans response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8423,10 +8444,11 @@ export class KeywordPlanServiceClient { close(): Promise { if (this.keywordPlanServiceStub && !this._terminated) { return this.keywordPlanServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_plan_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_plan_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_plan_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_plan_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/keyword_theme_constant_service_client.ts b/package/googleads-nodejs/src/v19/keyword_theme_constant_service_client.ts index 553423df..10031f22 100644 --- a/package/googleads-nodejs/src/v19/keyword_theme_constant_service_client.ts +++ b/package/googleads-nodejs/src/v19/keyword_theme_constant_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class KeywordThemeConstantServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class KeywordThemeConstantServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -908,8 +911,26 @@ export class KeywordThemeConstantServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.suggestKeywordThemeConstants(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestKeywordThemeConstants request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestKeywordThemeConstantsResponse, + protos.google.ads.googleads.v19.services.ISuggestKeywordThemeConstantsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestKeywordThemeConstants response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestKeywordThemeConstants(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestKeywordThemeConstantsResponse, + protos.google.ads.googleads.v19.services.ISuggestKeywordThemeConstantsRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestKeywordThemeConstants response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8407,10 +8428,11 @@ export class KeywordThemeConstantServiceClient { close(): Promise { if (this.keywordThemeConstantServiceStub && !this._terminated) { return this.keywordThemeConstantServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/keyword_theme_constant_service_proto_list.json b/package/googleads-nodejs/src/v19/keyword_theme_constant_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/keyword_theme_constant_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/keyword_theme_constant_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/label_service_client.ts b/package/googleads-nodejs/src/v19/label_service_client.ts index 67f928d3..87f0d102 100644 --- a/package/googleads-nodejs/src/v19/label_service_client.ts +++ b/package/googleads-nodejs/src/v19/label_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class LabelServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class LabelServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -936,8 +939,26 @@ export class LabelServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateLabels(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateLabels request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateLabelsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateLabels response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateLabels(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateLabelsResponse, + protos.google.ads.googleads.v19.services.IMutateLabelsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateLabels response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8435,10 +8456,11 @@ export class LabelServiceClient { close(): Promise { if (this.labelServiceStub && !this._terminated) { return this.labelServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/label_service_proto_list.json b/package/googleads-nodejs/src/v19/label_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/label_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/label_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/local_services_lead_service_client.ts b/package/googleads-nodejs/src/v19/local_services_lead_service_client.ts index 1a0c2b9f..20380f2c 100644 --- a/package/googleads-nodejs/src/v19/local_services_lead_service_client.ts +++ b/package/googleads-nodejs/src/v19/local_services_lead_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class LocalServicesLeadServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class LocalServicesLeadServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -729,7 +732,7 @@ export class LocalServicesLeadServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const localServicesLeadServiceStubMethods = - ['appendLeadConversation']; + ['appendLeadConversation', 'provideLeadFeedback']; for (const methodName of localServicesLeadServiceStubMethods) { const callPromise = this.localServicesLeadServiceStub.then( stub => (...args: Array<{}>) => { @@ -902,8 +905,121 @@ export class LocalServicesLeadServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.appendLeadConversation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('appendLeadConversation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IAppendLeadConversationResponse, + protos.google.ads.googleads.v19.services.IAppendLeadConversationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('appendLeadConversation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.appendLeadConversation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IAppendLeadConversationResponse, + protos.google.ads.googleads.v19.services.IAppendLeadConversationRequest|undefined, + {}|undefined + ]) => { + this._log.info('appendLeadConversation response %j', response); + return [response, options, rawResponse]; + }); + } +/** + * RPC to provide feedback on Local Services Lead resources. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource_name + * Required. The resource name of the local services lead that for which the + * feedback is being provided. + * @param {google.ads.googleads.v19.enums.LocalServicesLeadSurveyAnswerEnum.SurveyAnswer} request.surveyAnswer + * Required. Survey answer for Local Services Ads Lead. + * @param {google.ads.googleads.v19.services.SurveySatisfied} request.surveySatisfied + * Details about various factors for being satisfied with the lead. + * @param {google.ads.googleads.v19.services.SurveyDissatisfied} request.surveyDissatisfied + * Details about various factors for not being satisfied with the lead. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.ads.googleads.v19.services.ProvideLeadFeedbackResponse|ProvideLeadFeedbackResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v19/local_services_lead_service.provide_lead_feedback.js + * region_tag:googleads_v19_generated_LocalServicesLeadService_ProvideLeadFeedback_async + */ + provideLeadFeedback( + request?: protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, + options?: CallOptions): + Promise<[ + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|undefined, {}|undefined + ]>; + provideLeadFeedback( + request: protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, + options: CallOptions, + callback: Callback< + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|null|undefined, + {}|null|undefined>): void; + provideLeadFeedback( + request: protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, + callback: Callback< + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|null|undefined, + {}|null|undefined>): void; + provideLeadFeedback( + request?: protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource_name': request.resource_name ?? '', + }); + this.initialize().catch(err => {throw err}); + this._log.info('provideLeadFeedback request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('provideLeadFeedback response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.provideLeadFeedback(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackResponse, + protos.google.ads.googleads.v19.services.IProvideLeadFeedbackRequest|undefined, + {}|undefined + ]) => { + this._log.info('provideLeadFeedback response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8401,10 +8517,11 @@ export class LocalServicesLeadServiceClient { close(): Promise { if (this.localServicesLeadServiceStub && !this._terminated) { return this.localServicesLeadServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/local_services_lead_service_client_config.json b/package/googleads-nodejs/src/v19/local_services_lead_service_client_config.json index 26361a2d..3ea3a43c 100644 --- a/package/googleads-nodejs/src/v19/local_services_lead_service_client_config.json +++ b/package/googleads-nodejs/src/v19/local_services_lead_service_client_config.json @@ -33,6 +33,11 @@ "timeout_millis": 14400000, "retry_codes_name": "idempotent", "retry_params_name": "f508f5a5db0dc3b293e7e92574a982742bb7988c" + }, + "ProvideLeadFeedback": { + "timeout_millis": 14400000, + "retry_codes_name": "idempotent", + "retry_params_name": "f508f5a5db0dc3b293e7e92574a982742bb7988c" } } } diff --git a/package/googleads-nodejs/src/v19/local_services_lead_service_proto_list.json b/package/googleads-nodejs/src/v19/local_services_lead_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/local_services_lead_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/local_services_lead_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/offline_user_data_job_service_client.ts b/package/googleads-nodejs/src/v19/offline_user_data_job_service_client.ts index 40a78200..a8304640 100644 --- a/package/googleads-nodejs/src/v19/offline_user_data_job_service_client.ts +++ b/package/googleads-nodejs/src/v19/offline_user_data_job_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOption import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class OfflineUserDataJobServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class OfflineUserDataJobServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -946,8 +949,26 @@ export class OfflineUserDataJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.createOfflineUserDataJob(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('createOfflineUserDataJob request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ICreateOfflineUserDataJobResponse, + protos.google.ads.googleads.v19.services.ICreateOfflineUserDataJobRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('createOfflineUserDataJob response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.createOfflineUserDataJob(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ICreateOfflineUserDataJobResponse, + protos.google.ads.googleads.v19.services.ICreateOfflineUserDataJobRequest|undefined, + {}|undefined + ]) => { + this._log.info('createOfflineUserDataJob response %j', response); + return [response, options, rawResponse]; + }); } /** * Adds operations to the offline user data job. @@ -1039,8 +1060,26 @@ export class OfflineUserDataJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.addOfflineUserDataJobOperations(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('addOfflineUserDataJobOperations request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IAddOfflineUserDataJobOperationsResponse, + protos.google.ads.googleads.v19.services.IAddOfflineUserDataJobOperationsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('addOfflineUserDataJobOperations response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.addOfflineUserDataJobOperations(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IAddOfflineUserDataJobOperationsResponse, + protos.google.ads.googleads.v19.services.IAddOfflineUserDataJobOperationsRequest|undefined, + {}|undefined + ]) => { + this._log.info('addOfflineUserDataJobOperations response %j', response); + return [response, options, rawResponse]; + }); } /** @@ -1128,8 +1167,25 @@ export class OfflineUserDataJobServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.runOfflineUserDataJob(request, options, callback); + this.initialize().catch(err => {throw err}); + const wrappedCallback: Callback< + LROperation, + protos.google.longrunning.IOperation|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, rawResponse, _) => { + this._log.info('runOfflineUserDataJob response %j', rawResponse); + callback!(error, response, rawResponse, _); // We verified callback above. + } + : undefined; + this._log.info('runOfflineUserDataJob request %j', request); + return this.innerApiCalls.runOfflineUserDataJob(request, options, wrappedCallback) + ?.then(([response, rawResponse, _]: [ + LROperation, + protos.google.longrunning.IOperation|undefined, {}|undefined + ]) => { + this._log.info('runOfflineUserDataJob response %j', rawResponse); + return [response, rawResponse, _]; + }); } /** * Check the status of the long running operation returned by `runOfflineUserDataJob()`. @@ -1143,6 +1199,7 @@ export class OfflineUserDataJobServiceClient { * region_tag:googleads_v19_generated_OfflineUserDataJobService_RunOfflineUserDataJob_async */ async checkRunOfflineUserDataJobProgress(name: string): Promise>{ + this._log.info('runOfflineUserDataJob long-running'); const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({name}); const [operation] = await this.operationsClient.getOperation(request); const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.runOfflineUserDataJob, this._gaxModule.createDefaultBackoffSettings()); @@ -8643,11 +8700,12 @@ export class OfflineUserDataJobServiceClient { close(): Promise { if (this.offlineUserDataJobServiceStub && !this._terminated) { return this.offlineUserDataJobServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.operationsClient.close(); + void this.operationsClient.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/offline_user_data_job_service_proto_list.json b/package/googleads-nodejs/src/v19/offline_user_data_job_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/offline_user_data_job_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/offline_user_data_job_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/payments_account_service_client.ts b/package/googleads-nodejs/src/v19/payments_account_service_client.ts index beaeff6e..aea06a6b 100644 --- a/package/googleads-nodejs/src/v19/payments_account_service_client.ts +++ b/package/googleads-nodejs/src/v19/payments_account_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class PaymentsAccountServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class PaymentsAccountServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -911,8 +914,26 @@ export class PaymentsAccountServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.listPaymentsAccounts(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listPaymentsAccounts request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListPaymentsAccountsResponse, + protos.google.ads.googleads.v19.services.IListPaymentsAccountsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listPaymentsAccounts response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listPaymentsAccounts(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListPaymentsAccountsResponse, + protos.google.ads.googleads.v19.services.IListPaymentsAccountsRequest|undefined, + {}|undefined + ]) => { + this._log.info('listPaymentsAccounts response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8410,10 +8431,11 @@ export class PaymentsAccountServiceClient { close(): Promise { if (this.paymentsAccountServiceStub && !this._terminated) { return this.paymentsAccountServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/payments_account_service_proto_list.json b/package/googleads-nodejs/src/v19/payments_account_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/payments_account_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/payments_account_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/product_link_invitation_service_client.ts b/package/googleads-nodejs/src/v19/product_link_invitation_service_client.ts index 2732f5a3..1c66e00d 100644 --- a/package/googleads-nodejs/src/v19/product_link_invitation_service_client.ts +++ b/package/googleads-nodejs/src/v19/product_link_invitation_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class ProductLinkInvitationServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class ProductLinkInvitationServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -901,8 +904,26 @@ export class ProductLinkInvitationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.createProductLinkInvitation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('createProductLinkInvitation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ICreateProductLinkInvitationResponse, + protos.google.ads.googleads.v19.services.ICreateProductLinkInvitationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('createProductLinkInvitation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.createProductLinkInvitation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ICreateProductLinkInvitationResponse, + protos.google.ads.googleads.v19.services.ICreateProductLinkInvitationRequest|undefined, + {}|undefined + ]) => { + this._log.info('createProductLinkInvitation response %j', response); + return [response, options, rawResponse]; + }); } /** * Update a product link invitation. @@ -975,8 +996,26 @@ export class ProductLinkInvitationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.updateProductLinkInvitation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('updateProductLinkInvitation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IUpdateProductLinkInvitationResponse, + protos.google.ads.googleads.v19.services.IUpdateProductLinkInvitationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('updateProductLinkInvitation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.updateProductLinkInvitation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IUpdateProductLinkInvitationResponse, + protos.google.ads.googleads.v19.services.IUpdateProductLinkInvitationRequest|undefined, + {}|undefined + ]) => { + this._log.info('updateProductLinkInvitation response %j', response); + return [response, options, rawResponse]; + }); } /** * Remove a product link invitation. @@ -1050,8 +1089,26 @@ export class ProductLinkInvitationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.removeProductLinkInvitation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('removeProductLinkInvitation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IRemoveProductLinkInvitationResponse, + protos.google.ads.googleads.v19.services.IRemoveProductLinkInvitationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('removeProductLinkInvitation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.removeProductLinkInvitation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IRemoveProductLinkInvitationResponse, + protos.google.ads.googleads.v19.services.IRemoveProductLinkInvitationRequest|undefined, + {}|undefined + ]) => { + this._log.info('removeProductLinkInvitation response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8549,10 +8606,11 @@ export class ProductLinkInvitationServiceClient { close(): Promise { if (this.productLinkInvitationServiceStub && !this._terminated) { return this.productLinkInvitationServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/product_link_invitation_service_proto_list.json b/package/googleads-nodejs/src/v19/product_link_invitation_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/product_link_invitation_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/product_link_invitation_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/product_link_service_client.ts b/package/googleads-nodejs/src/v19/product_link_service_client.ts index ed4b3380..b94aecca 100644 --- a/package/googleads-nodejs/src/v19/product_link_service_client.ts +++ b/package/googleads-nodejs/src/v19/product_link_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class ProductLinkServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class ProductLinkServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -912,8 +915,26 @@ export class ProductLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.createProductLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('createProductLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ICreateProductLinkResponse, + protos.google.ads.googleads.v19.services.ICreateProductLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('createProductLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.createProductLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ICreateProductLinkResponse, + protos.google.ads.googleads.v19.services.ICreateProductLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('createProductLink response %j', response); + return [response, options, rawResponse]; + }); } /** * Removes a product link. @@ -1000,8 +1021,26 @@ export class ProductLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.removeProductLink(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('removeProductLink request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IRemoveProductLinkResponse, + protos.google.ads.googleads.v19.services.IRemoveProductLinkRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('removeProductLink response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.removeProductLink(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IRemoveProductLinkResponse, + protos.google.ads.googleads.v19.services.IRemoveProductLinkRequest|undefined, + {}|undefined + ]) => { + this._log.info('removeProductLink response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8499,10 +8538,11 @@ export class ProductLinkServiceClient { close(): Promise { if (this.productLinkServiceStub && !this._terminated) { return this.productLinkServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/product_link_service_proto_list.json b/package/googleads-nodejs/src/v19/product_link_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/product_link_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/product_link_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/reach_plan_service_client.ts b/package/googleads-nodejs/src/v19/reach_plan_service_client.ts index f82ef261..e7319a46 100644 --- a/package/googleads-nodejs/src/v19/reach_plan_service_client.ts +++ b/package/googleads-nodejs/src/v19/reach_plan_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -50,6 +51,8 @@ export class ReachPlanServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -84,7 +87,7 @@ export class ReachPlanServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -733,7 +736,7 @@ export class ReachPlanServiceClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const reachPlanServiceStubMethods = - ['listPlannableLocations', 'listPlannableProducts', 'generateReachForecast']; + ['generateConversionRates', 'listPlannableLocations', 'listPlannableProducts', 'generateReachForecast']; for (const methodName of reachPlanServiceStubMethods) { const callPromise = this.reachPlanServiceStub.then( stub => (...args: Array<{}>) => { @@ -835,6 +838,101 @@ export class ReachPlanServiceClient { // ------------------- // -- Service calls -- // ------------------- +/** + * Returns a collection of conversion rate suggestions for supported plannable + * products. + * + * List of thrown errors: + * [AuthenticationError]() + * [AuthorizationError]() + * [HeaderError]() + * [InternalError]() + * [QuotaError]() + * [RequestError]() + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.customer_id + * Required. The ID of the customer. A conversion rate based on the historical + * data of this customer may be suggested. + * @param {string} request.customerReachGroup + * The name of the customer being planned for. This is a user-defined value. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.ads.googleads.v19.services.GenerateConversionRatesResponse|GenerateConversionRatesResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v19/reach_plan_service.generate_conversion_rates.js + * region_tag:googleads_v19_generated_ReachPlanService_GenerateConversionRates_async + */ + generateConversionRates( + request?: protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest, + options?: CallOptions): + Promise<[ + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|undefined, {}|undefined + ]>; + generateConversionRates( + request: protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest, + options: CallOptions, + callback: Callback< + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|null|undefined, + {}|null|undefined>): void; + generateConversionRates( + request: protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest, + callback: Callback< + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|null|undefined, + {}|null|undefined>): void; + generateConversionRates( + request?: protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + this.initialize().catch(err => {throw err}); + this._log.info('generateConversionRates request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateConversionRates response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateConversionRates(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateConversionRatesResponse, + protos.google.ads.googleads.v19.services.IGenerateConversionRatesRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateConversionRates response %j', response); + return [response, options, rawResponse]; + }); + } /** * Returns the list of plannable locations (for example, countries). * @@ -903,8 +1001,26 @@ export class ReachPlanServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.listPlannableLocations(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listPlannableLocations request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListPlannableLocationsResponse, + protos.google.ads.googleads.v19.services.IListPlannableLocationsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listPlannableLocations response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listPlannableLocations(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListPlannableLocationsResponse, + protos.google.ads.googleads.v19.services.IListPlannableLocationsRequest|undefined, + {}|undefined + ]) => { + this._log.info('listPlannableLocations response %j', response); + return [response, options, rawResponse]; + }); } /** * Returns the list of per-location plannable YouTube ad formats with allowed @@ -979,8 +1095,26 @@ export class ReachPlanServiceClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - this.initialize(); - return this.innerApiCalls.listPlannableProducts(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('listPlannableProducts request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IListPlannableProductsResponse, + protos.google.ads.googleads.v19.services.IListPlannableProductsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('listPlannableProducts response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.listPlannableProducts(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IListPlannableProductsResponse, + protos.google.ads.googleads.v19.services.IListPlannableProductsRequest|undefined, + {}|undefined + ]) => { + this._log.info('listPlannableProducts response %j', response); + return [response, options, rawResponse]; + }); } /** * Generates a reach forecast for a given targeting / product mix. @@ -1114,8 +1248,26 @@ export class ReachPlanServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateReachForecast(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateReachForecast request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateReachForecastResponse, + protos.google.ads.googleads.v19.services.IGenerateReachForecastRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateReachForecast response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateReachForecast(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateReachForecastResponse, + protos.google.ads.googleads.v19.services.IGenerateReachForecastRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateReachForecast response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8613,10 +8765,11 @@ export class ReachPlanServiceClient { close(): Promise { if (this.reachPlanServiceStub && !this._terminated) { return this.reachPlanServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/reach_plan_service_client_config.json b/package/googleads-nodejs/src/v19/reach_plan_service_client_config.json index bffd5a36..c023a9eb 100644 --- a/package/googleads-nodejs/src/v19/reach_plan_service_client_config.json +++ b/package/googleads-nodejs/src/v19/reach_plan_service_client_config.json @@ -29,6 +29,11 @@ } }, "methods": { + "GenerateConversionRates": { + "timeout_millis": 14400000, + "retry_codes_name": "idempotent", + "retry_params_name": "f508f5a5db0dc3b293e7e92574a982742bb7988c" + }, "ListPlannableLocations": { "timeout_millis": 14400000, "retry_codes_name": "idempotent", diff --git a/package/googleads-nodejs/src/v19/reach_plan_service_proto_list.json b/package/googleads-nodejs/src/v19/reach_plan_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/reach_plan_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/reach_plan_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/recommendation_service_client.ts b/package/googleads-nodejs/src/v19/recommendation_service_client.ts index 8700de05..5969e913 100644 --- a/package/googleads-nodejs/src/v19/recommendation_service_client.ts +++ b/package/googleads-nodejs/src/v19/recommendation_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class RecommendationServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class RecommendationServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -920,8 +923,26 @@ export class RecommendationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.applyRecommendation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('applyRecommendation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IApplyRecommendationResponse, + protos.google.ads.googleads.v19.services.IApplyRecommendationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('applyRecommendation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.applyRecommendation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IApplyRecommendationResponse, + protos.google.ads.googleads.v19.services.IApplyRecommendationRequest|undefined, + {}|undefined + ]) => { + this._log.info('applyRecommendation response %j', response); + return [response, options, rawResponse]; + }); } /** * Dismisses given recommendations. @@ -1008,8 +1029,26 @@ export class RecommendationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.dismissRecommendation(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('dismissRecommendation request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IDismissRecommendationResponse, + protos.google.ads.googleads.v19.services.IDismissRecommendationRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('dismissRecommendation response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.dismissRecommendation(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IDismissRecommendationResponse, + protos.google.ads.googleads.v19.services.IDismissRecommendationRequest|undefined, + {}|undefined + ]) => { + this._log.info('dismissRecommendation response %j', response); + return [response, options, rawResponse]; + }); } /** * Generates Recommendations based off the requested recommendation_types. @@ -1173,8 +1212,26 @@ export class RecommendationServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateRecommendations(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateRecommendations request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateRecommendationsResponse, + protos.google.ads.googleads.v19.services.IGenerateRecommendationsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateRecommendations response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateRecommendations(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateRecommendationsResponse, + protos.google.ads.googleads.v19.services.IGenerateRecommendationsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateRecommendations response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8672,10 +8729,11 @@ export class RecommendationServiceClient { close(): Promise { if (this.recommendationServiceStub && !this._terminated) { return this.recommendationServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/recommendation_service_proto_list.json b/package/googleads-nodejs/src/v19/recommendation_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/recommendation_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/recommendation_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/recommendation_subscription_service_client.ts b/package/googleads-nodejs/src/v19/recommendation_subscription_service_client.ts index d5acdc67..951e45f7 100644 --- a/package/googleads-nodejs/src/v19/recommendation_subscription_service_client.ts +++ b/package/googleads-nodejs/src/v19/recommendation_subscription_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class RecommendationSubscriptionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class RecommendationSubscriptionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -926,8 +929,26 @@ export class RecommendationSubscriptionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateRecommendationSubscription(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateRecommendationSubscription request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateRecommendationSubscriptionResponse, + protos.google.ads.googleads.v19.services.IMutateRecommendationSubscriptionRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateRecommendationSubscription response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateRecommendationSubscription(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateRecommendationSubscriptionResponse, + protos.google.ads.googleads.v19.services.IMutateRecommendationSubscriptionRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateRecommendationSubscription response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8425,10 +8446,11 @@ export class RecommendationSubscriptionServiceClient { close(): Promise { if (this.recommendationSubscriptionServiceStub && !this._terminated) { return this.recommendationSubscriptionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/recommendation_subscription_service_proto_list.json b/package/googleads-nodejs/src/v19/recommendation_subscription_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/recommendation_subscription_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/recommendation_subscription_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/remarketing_action_service_client.ts b/package/googleads-nodejs/src/v19/remarketing_action_service_client.ts index 3ed38a28..25ab8cae 100644 --- a/package/googleads-nodejs/src/v19/remarketing_action_service_client.ts +++ b/package/googleads-nodejs/src/v19/remarketing_action_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class RemarketingActionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class RemarketingActionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -919,8 +922,26 @@ export class RemarketingActionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateRemarketingActions(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateRemarketingActions request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateRemarketingActionsResponse, + protos.google.ads.googleads.v19.services.IMutateRemarketingActionsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateRemarketingActions response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateRemarketingActions(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateRemarketingActionsResponse, + protos.google.ads.googleads.v19.services.IMutateRemarketingActionsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateRemarketingActions response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8418,10 +8439,11 @@ export class RemarketingActionServiceClient { close(): Promise { if (this.remarketingActionServiceStub && !this._terminated) { return this.remarketingActionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/remarketing_action_service_proto_list.json b/package/googleads-nodejs/src/v19/remarketing_action_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/remarketing_action_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/remarketing_action_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/shareable_preview_service_client.ts b/package/googleads-nodejs/src/v19/shareable_preview_service_client.ts index b3090a4f..b8f726f9 100644 --- a/package/googleads-nodejs/src/v19/shareable_preview_service_client.ts +++ b/package/googleads-nodejs/src/v19/shareable_preview_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class ShareablePreviewServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class ShareablePreviewServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -900,8 +903,26 @@ export class ShareablePreviewServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.generateShareablePreviews(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('generateShareablePreviews request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGenerateShareablePreviewsResponse, + protos.google.ads.googleads.v19.services.IGenerateShareablePreviewsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateShareablePreviews response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.generateShareablePreviews(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGenerateShareablePreviewsResponse, + protos.google.ads.googleads.v19.services.IGenerateShareablePreviewsRequest|undefined, + {}|undefined + ]) => { + this._log.info('generateShareablePreviews response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8399,10 +8420,11 @@ export class ShareablePreviewServiceClient { close(): Promise { if (this.shareablePreviewServiceStub && !this._terminated) { return this.shareablePreviewServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/shareable_preview_service_proto_list.json b/package/googleads-nodejs/src/v19/shareable_preview_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/shareable_preview_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/shareable_preview_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/shared_criterion_service_client.ts b/package/googleads-nodejs/src/v19/shared_criterion_service_client.ts index 81f4134a..ff300c7a 100644 --- a/package/googleads-nodejs/src/v19/shared_criterion_service_client.ts +++ b/package/googleads-nodejs/src/v19/shared_criterion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class SharedCriterionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class SharedCriterionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -933,8 +936,26 @@ export class SharedCriterionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateSharedCriteria(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateSharedCriteria request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateSharedCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateSharedCriteriaRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateSharedCriteria response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateSharedCriteria(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateSharedCriteriaResponse, + protos.google.ads.googleads.v19.services.IMutateSharedCriteriaRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateSharedCriteria response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8432,10 +8453,11 @@ export class SharedCriterionServiceClient { close(): Promise { if (this.sharedCriterionServiceStub && !this._terminated) { return this.sharedCriterionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/shared_criterion_service_proto_list.json b/package/googleads-nodejs/src/v19/shared_criterion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/shared_criterion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/shared_criterion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/shared_set_service_client.ts b/package/googleads-nodejs/src/v19/shared_set_service_client.ts index a0699644..29637550 100644 --- a/package/googleads-nodejs/src/v19/shared_set_service_client.ts +++ b/package/googleads-nodejs/src/v19/shared_set_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class SharedSetServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class SharedSetServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -936,8 +939,26 @@ export class SharedSetServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateSharedSets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateSharedSets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateSharedSetsResponse, + protos.google.ads.googleads.v19.services.IMutateSharedSetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateSharedSets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateSharedSets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateSharedSetsResponse, + protos.google.ads.googleads.v19.services.IMutateSharedSetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateSharedSets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8435,10 +8456,11 @@ export class SharedSetServiceClient { close(): Promise { if (this.sharedSetServiceStub && !this._terminated) { return this.sharedSetServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/shared_set_service_proto_list.json b/package/googleads-nodejs/src/v19/shared_set_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/shared_set_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/shared_set_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/smart_campaign_setting_service_client.ts b/package/googleads-nodejs/src/v19/smart_campaign_setting_service_client.ts index 3c9c3249..916f5c1e 100644 --- a/package/googleads-nodejs/src/v19/smart_campaign_setting_service_client.ts +++ b/package/googleads-nodejs/src/v19/smart_campaign_setting_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class SmartCampaignSettingServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class SmartCampaignSettingServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -899,8 +902,26 @@ export class SmartCampaignSettingServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.getSmartCampaignStatus(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('getSmartCampaignStatus request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IGetSmartCampaignStatusResponse, + protos.google.ads.googleads.v19.services.IGetSmartCampaignStatusRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('getSmartCampaignStatus response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.getSmartCampaignStatus(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IGetSmartCampaignStatusResponse, + protos.google.ads.googleads.v19.services.IGetSmartCampaignStatusRequest|undefined, + {}|undefined + ]) => { + this._log.info('getSmartCampaignStatus response %j', response); + return [response, options, rawResponse]; + }); } /** * Updates Smart campaign settings for campaigns. @@ -984,8 +1005,26 @@ export class SmartCampaignSettingServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateSmartCampaignSettings(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateSmartCampaignSettings request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateSmartCampaignSettingsResponse, + protos.google.ads.googleads.v19.services.IMutateSmartCampaignSettingsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateSmartCampaignSettings response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateSmartCampaignSettings(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateSmartCampaignSettingsResponse, + protos.google.ads.googleads.v19.services.IMutateSmartCampaignSettingsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateSmartCampaignSettings response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8483,10 +8522,11 @@ export class SmartCampaignSettingServiceClient { close(): Promise { if (this.smartCampaignSettingServiceStub && !this._terminated) { return this.smartCampaignSettingServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/smart_campaign_setting_service_proto_list.json b/package/googleads-nodejs/src/v19/smart_campaign_setting_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/smart_campaign_setting_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/smart_campaign_setting_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_client.ts b/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_client.ts index ef599be9..e2e5cbca 100644 --- a/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_client.ts +++ b/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class SmartCampaignSuggestServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class SmartCampaignSuggestServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -902,8 +905,26 @@ export class SmartCampaignSuggestServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.suggestSmartCampaignBudgetOptions(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestSmartCampaignBudgetOptions request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignBudgetOptionsResponse, + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignBudgetOptionsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestSmartCampaignBudgetOptions response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestSmartCampaignBudgetOptions(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignBudgetOptionsResponse, + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignBudgetOptionsRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestSmartCampaignBudgetOptions response %j', response); + return [response, options, rawResponse]; + }); } /** * Suggests a Smart campaign ad compatible with the Ad family of resources, @@ -978,8 +999,26 @@ export class SmartCampaignSuggestServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.suggestSmartCampaignAd(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestSmartCampaignAd request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignAdResponse, + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignAdRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestSmartCampaignAd response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestSmartCampaignAd(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignAdResponse, + protos.google.ads.googleads.v19.services.ISuggestSmartCampaignAdRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestSmartCampaignAd response %j', response); + return [response, options, rawResponse]; + }); } /** * Suggests keyword themes to advertise on. @@ -1059,8 +1098,26 @@ export class SmartCampaignSuggestServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.suggestKeywordThemes(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestKeywordThemes request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestKeywordThemesResponse, + protos.google.ads.googleads.v19.services.ISuggestKeywordThemesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestKeywordThemes response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestKeywordThemes(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestKeywordThemesResponse, + protos.google.ads.googleads.v19.services.ISuggestKeywordThemesRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestKeywordThemes response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8558,10 +8615,11 @@ export class SmartCampaignSuggestServiceClient { close(): Promise { if (this.smartCampaignSuggestServiceStub && !this._terminated) { return this.smartCampaignSuggestServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_proto_list.json b/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/smart_campaign_suggest_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_client.ts b/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_client.ts index 40551708..b1a1cb52 100644 --- a/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_client.ts +++ b/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -47,6 +48,8 @@ export class ThirdPartyAppAnalyticsLinkServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -81,7 +84,7 @@ export class ThirdPartyAppAnalyticsLinkServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -908,8 +911,26 @@ export class ThirdPartyAppAnalyticsLinkServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'resource_name': request.resource_name ?? '', }); - this.initialize(); - return this.innerApiCalls.regenerateShareableLinkId(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('regenerateShareableLinkId request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IRegenerateShareableLinkIdResponse, + protos.google.ads.googleads.v19.services.IRegenerateShareableLinkIdRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('regenerateShareableLinkId response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.regenerateShareableLinkId(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IRegenerateShareableLinkIdResponse, + protos.google.ads.googleads.v19.services.IRegenerateShareableLinkIdRequest|undefined, + {}|undefined + ]) => { + this._log.info('regenerateShareableLinkId response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8407,10 +8428,11 @@ export class ThirdPartyAppAnalyticsLinkServiceClient { close(): Promise { if (this.thirdPartyAppAnalyticsLinkServiceStub && !this._terminated) { return this.thirdPartyAppAnalyticsLinkServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_proto_list.json b/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/third_party_app_analytics_link_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_client.ts b/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_client.ts index b322e897..3eb703ac 100644 --- a/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_client.ts +++ b/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class TravelAssetSuggestionServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class TravelAssetSuggestionServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -909,8 +912,26 @@ export class TravelAssetSuggestionServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.suggestTravelAssets(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('suggestTravelAssets request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.ISuggestTravelAssetsResponse, + protos.google.ads.googleads.v19.services.ISuggestTravelAssetsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('suggestTravelAssets response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.suggestTravelAssets(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.ISuggestTravelAssetsResponse, + protos.google.ads.googleads.v19.services.ISuggestTravelAssetsRequest|undefined, + {}|undefined + ]) => { + this._log.info('suggestTravelAssets response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8408,10 +8429,11 @@ export class TravelAssetSuggestionServiceClient { close(): Promise { if (this.travelAssetSuggestionServiceStub && !this._terminated) { return this.travelAssetSuggestionServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_proto_list.json b/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/travel_asset_suggestion_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/user_data_service_client.ts b/package/googleads-nodejs/src/v19/user_data_service_client.ts index a23bf551..07334a9f 100644 --- a/package/googleads-nodejs/src/v19/user_data_service_client.ts +++ b/package/googleads-nodejs/src/v19/user_data_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -51,6 +52,8 @@ export class UserDataServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -85,7 +88,7 @@ export class UserDataServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -920,8 +923,26 @@ export class UserDataServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.uploadUserData(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('uploadUserData request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IUploadUserDataResponse, + protos.google.ads.googleads.v19.services.IUploadUserDataRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('uploadUserData response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.uploadUserData(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IUploadUserDataResponse, + protos.google.ads.googleads.v19.services.IUploadUserDataRequest|undefined, + {}|undefined + ]) => { + this._log.info('uploadUserData response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8419,10 +8440,11 @@ export class UserDataServiceClient { close(): Promise { if (this.userDataServiceStub && !this._terminated) { return this.userDataServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/user_data_service_proto_list.json b/package/googleads-nodejs/src/v19/user_data_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/user_data_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/user_data_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/user_list_customer_type_service_client.ts b/package/googleads-nodejs/src/v19/user_list_customer_type_service_client.ts index c510962f..7a355337 100644 --- a/package/googleads-nodejs/src/v19/user_list_customer_type_service_client.ts +++ b/package/googleads-nodejs/src/v19/user_list_customer_type_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class UserListCustomerTypeServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class UserListCustomerTypeServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -920,8 +923,26 @@ export class UserListCustomerTypeServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateUserListCustomerTypes(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateUserListCustomerTypes request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateUserListCustomerTypesResponse, + protos.google.ads.googleads.v19.services.IMutateUserListCustomerTypesRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateUserListCustomerTypes response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateUserListCustomerTypes(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateUserListCustomerTypesResponse, + protos.google.ads.googleads.v19.services.IMutateUserListCustomerTypesRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateUserListCustomerTypes response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8419,10 +8440,11 @@ export class UserListCustomerTypeServiceClient { close(): Promise { if (this.userListCustomerTypeServiceStub && !this._terminated) { return this.userListCustomerTypeServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/user_list_customer_type_service_proto_list.json b/package/googleads-nodejs/src/v19/user_list_customer_type_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/user_list_customer_type_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/user_list_customer_type_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/src/v19/user_list_service_client.ts b/package/googleads-nodejs/src/v19/user_list_service_client.ts index c95d09e8..6b72b22a 100644 --- a/package/googleads-nodejs/src/v19/user_list_service_client.ts +++ b/package/googleads-nodejs/src/v19/user_list_service_client.ts @@ -22,6 +22,7 @@ import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); +import {loggingUtils as logging} from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -46,6 +47,8 @@ export class UserListServiceClient { private _defaults: {[method: string]: gax.CallSettings}; private _universeDomain: string; private _servicePath: string; + private _log = logging.log('google-ads'); + auth: gax.GoogleAuth; descriptors: Descriptors = { page: {}, @@ -80,7 +83,7 @@ export class UserListServiceClient { * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. @@ -930,8 +933,26 @@ export class UserListServiceClient { ] = this._gaxModule.routingHeader.fromParams({ 'customer_id': request.customer_id ?? '', }); - this.initialize(); - return this.innerApiCalls.mutateUserLists(request, options, callback); + this.initialize().catch(err => {throw err}); + this._log.info('mutateUserLists request %j', request); + const wrappedCallback: Callback< + protos.google.ads.googleads.v19.services.IMutateUserListsResponse, + protos.google.ads.googleads.v19.services.IMutateUserListsRequest|null|undefined, + {}|null|undefined>|undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('mutateUserLists response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls.mutateUserLists(request, options, wrappedCallback) + ?.then(([response, options, rawResponse]: [ + protos.google.ads.googleads.v19.services.IMutateUserListsResponse, + protos.google.ads.googleads.v19.services.IMutateUserListsRequest|undefined, + {}|undefined + ]) => { + this._log.info('mutateUserLists response %j', response); + return [response, options, rawResponse]; + }); } // -------------------- @@ -8429,10 +8450,11 @@ export class UserListServiceClient { close(): Promise { if (this.userListServiceStub && !this._terminated) { return this.userListServiceStub.then(stub => { + this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); }); } return Promise.resolve(); } -} +} \ No newline at end of file diff --git a/package/googleads-nodejs/src/v19/user_list_service_proto_list.json b/package/googleads-nodejs/src/v19/user_list_service_proto_list.json index ef89560d..1ba981db 100644 --- a/package/googleads-nodejs/src/v19/user_list_service_proto_list.json +++ b/package/googleads-nodejs/src/v19/user_list_service_proto_list.json @@ -60,6 +60,7 @@ "../../protos/google/ads/googleads/v19/enums/ad_network_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_serving_optimization_status.proto", "../../protos/google/ads/googleads/v19/enums/ad_strength.proto", + "../../protos/google/ads/googleads/v19/enums/ad_strength_action_item_type.proto", "../../protos/google/ads/googleads/v19/enums/ad_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_sub_type.proto", "../../protos/google/ads/googleads/v19/enums/advertising_channel_type.proto", @@ -73,6 +74,7 @@ "../../protos/google/ads/googleads/v19/enums/app_url_operating_system_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_automation_type.proto", + "../../protos/google/ads/googleads/v19/enums/asset_coverage_video_aspect_ratio_requirement.proto", "../../protos/google/ads/googleads/v19/enums/asset_field_type.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status.proto", "../../protos/google/ads/googleads/v19/enums/asset_group_primary_status_reason.proto", @@ -142,6 +144,7 @@ "../../protos/google/ads/googleads/v19/enums/conversion_adjustment_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_attribution_event_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_custom_variable_status.proto", + "../../protos/google/ads/googleads/v19/enums/conversion_customer_type.proto", "../../protos/google/ads/googleads/v19/enums/conversion_environment_enum.proto", "../../protos/google/ads/googleads/v19/enums/conversion_lag_bucket.proto", "../../protos/google/ads/googleads/v19/enums/conversion_or_adjustment_lag_bucket.proto", @@ -173,6 +176,8 @@ "../../protos/google/ads/googleads/v19/enums/data_link_status.proto", "../../protos/google/ads/googleads/v19/enums/data_link_type.proto", "../../protos/google/ads/googleads/v19/enums/day_of_week.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_config.proto", + "../../protos/google/ads/googleads/v19/enums/demand_gen_channel_strategy.proto", "../../protos/google/ads/googleads/v19/enums/device.proto", "../../protos/google/ads/googleads/v19/enums/display_ad_format_setting.proto", "../../protos/google/ads/googleads/v19/enums/display_upload_product_type.proto", @@ -237,8 +242,12 @@ "../../protos/google/ads/googleads/v19/enums/local_services_employee_status.proto", "../../protos/google/ads/googleads/v19/enums/local_services_employee_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_insurance_rejection_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_issuance_decision.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_credit_state.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_status.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_answer.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_dissatisfied_reason.proto", + "../../protos/google/ads/googleads/v19/enums/local_services_lead_survey_satisfied_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_lead_type.proto", "../../protos/google/ads/googleads/v19/enums/local_services_license_rejection_reason.proto", "../../protos/google/ads/googleads/v19/enums/local_services_participant_type.proto", @@ -296,6 +305,7 @@ "../../protos/google/ads/googleads/v19/enums/proximity_radius_units.proto", "../../protos/google/ads/googleads/v19/enums/quality_score_bucket.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_age_range.proto", + "../../protos/google/ads/googleads/v19/enums/reach_plan_conversion_rate_model.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_network.proto", "../../protos/google/ads/googleads/v19/enums/reach_plan_surface.proto", "../../protos/google/ads/googleads/v19/enums/recommendation_subscription_status.proto", diff --git a/package/googleads-nodejs/tsconfig.json b/package/googleads-nodejs/tsconfig.json index c78f1c88..860d6bf0 100644 --- a/package/googleads-nodejs/tsconfig.json +++ b/package/googleads-nodejs/tsconfig.json @@ -14,6 +14,8 @@ "src/**/*.ts", "test/*.ts", "test/**/*.ts", - "system-test/*.ts" + "system-test/*.ts", + "src/**/*.json", + "protos/protos.json" ] } diff --git a/yarn.lock b/yarn.lock index 2391253a..d7e4b5ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@grpc/grpc-js@^1.10.9": - version "1.11.2" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.11.2.tgz#541a00303e533b5efe9d84ed61b84cdf9dd93ee7" - integrity sha512-DWp92gDD7/Qkj7r8kus6/HCINeo3yPZWZ3paKgDgsbKbSpoxKg1yvN8xe2Q8uE3zOsPe3bX8FQX2+XValq2yTw== +"@grpc/grpc-js@^1.12.6": + version "1.13.4" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.13.4.tgz#922fbc496e229c5fa66802d2369bf181c1df1c5a" + integrity sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg== dependencies: "@grpc/proto-loader" "^0.7.13" "@js-sdsl/ordered-map" "^4.4.2" @@ -88,10 +88,12 @@ resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.5.tgz#db9468cb1b1b5a925b8f34822f1669df0c5472f5" integrity sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg== -"@types/long@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== +"@types/long@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/long/-/long-5.0.0.tgz#daaa7b7f74c919c946ff74889d5ca2afe363b2cd" + integrity sha512-eQs9RsucA/LNjnMoJvWG/nXa7Pot/RbBzilF/QRIU/xRl+0ApxrSUFsV5lmf01SvSlqMzJ7Zwxe440wmz2SJGA== + dependencies: + long "*" "@types/node@*", "@types/node@>=13.7.0": version "22.5.4" @@ -100,7 +102,7 @@ dependencies: undici-types "~6.19.2" -"@types/request@^2.48.8": +"@types/request@^2.48.12": version "2.48.12" resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.12.tgz#0f590f615a10f87da18e9790ac94c29ec4c5ef30" integrity sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw== @@ -196,6 +198,11 @@ combined-stream@^1.0.6: dependencies: delayed-stream "~1.0.0" +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + debug@4, debug@^4.3.4: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" @@ -208,7 +215,7 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -duplexify@^4.0.0: +duplexify@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== @@ -252,6 +259,14 @@ extend@^3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + form-data@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" @@ -261,23 +276,29 @@ form-data@^2.5.0: combined-stream "^1.0.6" mime-types "^2.1.12" -gaxios@^6.0.0, gaxios@^6.1.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-6.7.1.tgz#ebd9f7093ede3ba502685e73390248bb5b7f71fb" - integrity sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ== +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + +gaxios@^7.0.0-rc.1, gaxios@^7.0.0-rc.4: + version "7.0.0-rc.4" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-7.0.0-rc.4.tgz#33c7f98857bc37e43863f15e9f227a6ed4493d18" + integrity sha512-fwQMwbs3o8Odl/nc/rkQJwyHeOXdderOwmybUl0gkyTdZXMK1oSTWj4Em7gSogVJsRWDeHPXLY06+e8Rkr01iw== dependencies: extend "^3.0.2" https-proxy-agent "^7.0.1" - is-stream "^2.0.0" - node-fetch "^2.6.9" - uuid "^9.0.1" + node-fetch "^3.3.2" -gcp-metadata@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-6.1.0.tgz#9b0dd2b2445258e7597f2024332d20611cbd6b8c" - integrity sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg== +gcp-metadata@^7.0.0-rc.1: + version "7.0.0-rc.1" + resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-7.0.0-rc.1.tgz#ddce444cf1ca780e8df0db15d4e5907ca8388cd5" + integrity sha512-E6c+AdIaK1LNA839OyotiTca+B2IG1nDlMjnlcck8JjXn3fVgx57Ib9i6iL1/iqN7bA3EUQdcRRu+HqOCOABIg== dependencies: - gaxios "^6.0.0" + gaxios "^7.0.0-rc.1" + google-logging-utils "^1.0.0" json-bigint "^1.0.0" get-caller-file@^2.0.5: @@ -285,42 +306,48 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -google-auth-library@^9.3.0: - version "9.14.1" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.14.1.tgz#4c6f535f474b01847ea1a60ef1d56dbd6a0aad2f" - integrity sha512-Rj+PMjoNFGFTmtItH7gHfbHpGVSb3vmnGK3nwNBqxQF9NoBpttSZI/rc0WiM63ma2uGDQtYEkMHkK9U6937NiA== +google-auth-library@^10.0.0-rc.1: + version "10.0.0-rc.2" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-10.0.0-rc.2.tgz#da1d82e3d7f29e002d0bcb2e1f01c5f702024265" + integrity sha512-LjkDUtHV8mFFV0pDWpPTjUuAPd6WDBs2y/mTzGSmwQJkDRinOpQyu7e/0pqQoDoanKGwaQJH5729uZ+/5Uz8fw== dependencies: base64-js "^1.3.0" ecdsa-sig-formatter "^1.0.11" - gaxios "^6.1.1" - gcp-metadata "^6.1.0" - gtoken "^7.0.0" + gaxios "^7.0.0-rc.4" + gcp-metadata "^7.0.0-rc.1" + google-logging-utils "^1.0.0" + gtoken "^8.0.0-rc.1" jws "^4.0.0" -google-gax@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-4.4.1.tgz#95a9cf7ee7777ac22d1926a45b5f886dd8beecae" - integrity sha512-Phyp9fMfA00J3sZbJxbbB4jC55b7DBjE3F6poyL3wKMEBVKA79q6BGuHcTiM28yOzVql0NDbRL8MLLh8Iwk9Dg== +google-gax@5.1.0-rc.1: + version "5.1.0-rc.1" + resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-5.1.0-rc.1.tgz#da572d5371894d8203e89195301ce4ea86b8b955" + integrity sha512-+XLPXNLAh5TKcUhDm4k0znlPvQoWkVeXMJr7neRPYC6NwKh2d3cC9FqcjoChhJIUC695eAtDj5Cf8ICXMxt3Qw== dependencies: - "@grpc/grpc-js" "^1.10.9" + "@grpc/grpc-js" "^1.12.6" "@grpc/proto-loader" "^0.7.13" - "@types/long" "^4.0.0" + "@types/long" "^5.0.0" abort-controller "^3.0.0" - duplexify "^4.0.0" - google-auth-library "^9.3.0" - node-fetch "^2.7.0" + duplexify "^4.1.3" + google-auth-library "^10.0.0-rc.1" + google-logging-utils "^1.1.1" + node-fetch "^3.3.2" object-hash "^3.0.0" - proto3-json-serializer "^2.0.2" - protobufjs "^7.3.2" - retry-request "^7.0.0" - uuid "^9.0.1" + proto3-json-serializer "^3.0.0" + protobufjs "^7.5.3" + retry-request "^8.0.0" + +google-logging-utils@^1.0.0, google-logging-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/google-logging-utils/-/google-logging-utils-1.1.1.tgz#4a1f44a69a187eb954629c88c5af89c0dfbca51a" + integrity sha512-rcX58I7nqpu4mbKztFeOAObbomBbHU2oIb/d3tJfF3dizGSApqtSwYJigGCooHdnMyQBIw8BrWyK96w3YXgr6A== -gtoken@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-7.1.0.tgz#d61b4ebd10132222817f7222b1e6064bd463fc26" - integrity sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw== +gtoken@^8.0.0-rc.1: + version "8.0.0-rc.1" + resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-8.0.0-rc.1.tgz#3877f1069f02ae99548f5d285d6c1834b692e22a" + integrity sha512-UjE/egX6ixArdcCKOkheuFQ4XN4/0gX92nd2JPVEYuRU2sWHAWuOVGnowm1fQUdQtaxqn1n8H0hOb2LCaUhJ3A== dependencies: - gaxios "^6.0.0" + gaxios "^7.0.0-rc.1" jws "^4.0.0" http-proxy-agent@^5.0.0: @@ -358,11 +385,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - json-bigint@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" @@ -392,6 +414,11 @@ lodash.camelcase@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== +long@*: + version "5.3.2" + resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" + integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== + long@^5.0.0: version "5.2.3" resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" @@ -419,12 +446,19 @@ ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -node-fetch@^2.6.9, node-fetch@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: - whatwg-url "^5.0.0" + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" object-hash@^3.0.0: version "3.0.0" @@ -443,14 +477,14 @@ prettier@^2.2.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -proto3-json-serializer@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/proto3-json-serializer/-/proto3-json-serializer-2.0.2.tgz#5b705203b4d58f3880596c95fad64902617529dd" - integrity sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ== +proto3-json-serializer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proto3-json-serializer/-/proto3-json-serializer-3.0.0.tgz#9d74849374eac2c12557f8c4ee059d615a30d5b1" + integrity sha512-mHPIc7zaJc26HMpgX5J7vXjliYv4Rnn5ICUyINudz76iY4zFMQHTaQXrTFn0EoHnRsLD6BE+OuHhQHFUU93I9A== dependencies: - protobufjs "^7.2.5" + protobufjs "^7.4.0" -protobufjs@^7.2.5, protobufjs@^7.3.2: +protobufjs@^7.2.5, protobufjs@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== @@ -468,6 +502,24 @@ protobufjs@^7.2.5, protobufjs@^7.3.2: "@types/node" ">=13.7.0" long "^5.0.0" +protobufjs@^7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.3.tgz#13f95a9e3c84669995ec3652db2ac2fb00b89363" + integrity sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + readable-stream@^3.1.1: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" @@ -482,14 +534,14 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -retry-request@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-7.0.2.tgz#60bf48cfb424ec01b03fca6665dee91d06dd95f3" - integrity sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w== +retry-request@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-8.0.0.tgz#91c847cb648a049c14f0cb3322313d091d2445a3" + integrity sha512-dJkZNmyV9C8WKUmbdj1xcvVlXBSvsUQCkg89TCK8rD72RdSn9A2jlXlS2VuYSTHoPJjJEfUHhjNYrlvuksF9cg== dependencies: - "@types/request" "^2.48.8" + "@types/request" "^2.48.12" extend "^3.0.2" - teeny-request "^9.0.0" + teeny-request "^10.0.0" safe-buffer@^5.0.1, safe-buffer@~5.2.0: version "5.2.1" @@ -536,21 +588,15 @@ stubs@^3.0.0: resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" integrity sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw== -teeny-request@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-9.0.0.tgz#18140de2eb6595771b1b02203312dfad79a4716d" - integrity sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g== +teeny-request@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-10.1.0.tgz#02a4e246bd97e508c75342a5d83b64189ed851df" + integrity sha512-3ZnLvgWF29jikg1sAQ1g0o+lr5JX6sVgYvfUJazn7ZjJroDBUTWp44/+cFVX0bULjv4vci+rBD+oGVAkWqhUbw== dependencies: http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" - node-fetch "^2.6.9" + node-fetch "^3.3.2" stream-events "^1.0.5" - uuid "^9.0.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== typescript@^5.5.4: version "5.5.4" @@ -567,23 +613,10 @@ util-deprecate@^1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@^9.0.0, uuid@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" +web-streams-polyfill@^3.0.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== wrap-ansi@^7.0.0: version "7.0.0" From 26e8e383d45e7c3340182a97c8da899797a1c1b3 Mon Sep 17 00:00:00 2001 From: Lewis Clayton Date: Fri, 30 May 2025 17:04:21 +0100 Subject: [PATCH 3/3] 18.x for github --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b96327e5..6bd28d27 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,14 +7,14 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x] + node-version: [18.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # setup node - name: Use Node ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }}