<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/ads/googleads/v25/resources/recommendation.proto

namespace Google\Ads\GoogleAds\V25\Resources\Recommendation;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;

/**
 * The campaign-specific app goal recommendation.
 * Recommendation to add app conversion goals to a campaign.
 * LINT: LEGACY_NAMES
 *
 * Generated from protobuf message <code>google.ads.googleads.v25.resources.Recommendation.CampaignSpecificAppGoalRecommendation</code>
 */
class CampaignSpecificAppGoalRecommendation extends \Google\Protobuf\Internal\Message
{
    /**
     * Output only. Campaign cost in micros for the last 15 days.
     *
     * Generated from protobuf field <code>int64 campaign_cost_micros_last_fifteen_days = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $campaign_cost_micros_last_fifteen_days = 0;
    /**
     * Output only. Campaign conversion count for the last 15 days.
     *
     * Generated from protobuf field <code>double campaign_conversions_last_fifteen_days = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $campaign_conversions_last_fifteen_days = 0.0;
    /**
     * Output only. Campaign conversion value for the last 15 days.
     *
     * Generated from protobuf field <code>double campaign_conversion_value_last_fifteen_days = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $campaign_conversion_value_last_fifteen_days = 0.0;
    /**
     * Output only. Projected conversions over the last 15 days if the
     * recommendation is applied.
     *
     * Generated from protobuf field <code>double projected_conversions_last_fifteen_days = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $projected_conversions_last_fifteen_days = 0.0;
    /**
     * Output only. Projected conversion value over the last 15 days if the
     * recommendation is applied.
     *
     * Generated from protobuf field <code>double projected_conversion_value_last_fifteen_days = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $projected_conversion_value_last_fifteen_days = 0.0;
    /**
     * Output only. Deprecated: Use suggested_conversion_goals instead.
     * Suggested auto conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.enums.ConversionActionCategoryEnum.ConversionActionCategory app_conversion_goals = 6 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @deprecated
     */
    private $app_conversion_goals;
    /**
     * Output only. Deprecated: Use current_conversion_goals instead.
     * Current automatic conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.common.EffectiveAutomaticGoal current_auto_goals = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @deprecated
     */
    private $current_auto_goals;
    /**
     * Output only. Deprecated: Use current_custom_conversion_goal instead.
     * Current custom goal for the campaign.
     *
     * Generated from protobuf field <code>string current_custom_goal = 8 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {</code>
     * @deprecated
     */
    protected $current_custom_goal = '';
    /**
     * Output only. Suggested conversion goals for the campaign which optimize
     * towards app conversions.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.enums.ConversionActionCategoryEnum.ConversionActionCategory suggested_conversion_goals = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    private $suggested_conversion_goals;
    /**
     * Output only. Current conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.common.EffectiveAutomaticGoal current_conversion_goals = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    private $current_conversion_goals;
    /**
     * Output only. Current custom conversion goal for the campaign.
     * This is the resource name of the CustomConversionGoal.
     *
     * Generated from protobuf field <code>string current_custom_conversion_goal = 11 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {</code>
     */
    protected $current_custom_conversion_goal = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int|string $campaign_cost_micros_last_fifteen_days
     *           Output only. Campaign cost in micros for the last 15 days.
     *     @type float $campaign_conversions_last_fifteen_days
     *           Output only. Campaign conversion count for the last 15 days.
     *     @type float $campaign_conversion_value_last_fifteen_days
     *           Output only. Campaign conversion value for the last 15 days.
     *     @type float $projected_conversions_last_fifteen_days
     *           Output only. Projected conversions over the last 15 days if the
     *           recommendation is applied.
     *     @type float $projected_conversion_value_last_fifteen_days
     *           Output only. Projected conversion value over the last 15 days if the
     *           recommendation is applied.
     *     @type int[] $app_conversion_goals
     *           Output only. Deprecated: Use suggested_conversion_goals instead.
     *           Suggested auto conversion goals for the campaign.
     *     @type \Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal[] $current_auto_goals
     *           Output only. Deprecated: Use current_conversion_goals instead.
     *           Current automatic conversion goals for the campaign.
     *     @type string $current_custom_goal
     *           Output only. Deprecated: Use current_custom_conversion_goal instead.
     *           Current custom goal for the campaign.
     *     @type int[] $suggested_conversion_goals
     *           Output only. Suggested conversion goals for the campaign which optimize
     *           towards app conversions.
     *     @type \Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal[] $current_conversion_goals
     *           Output only. Current conversion goals for the campaign.
     *     @type string $current_custom_conversion_goal
     *           Output only. Current custom conversion goal for the campaign.
     *           This is the resource name of the CustomConversionGoal.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Ads\GoogleAds\V25\Resources\Recommendation::initOnce();
        parent::__construct($data);
    }

    /**
     * Output only. Campaign cost in micros for the last 15 days.
     *
     * Generated from protobuf field <code>int64 campaign_cost_micros_last_fifteen_days = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int|string
     */
    public function getCampaignCostMicrosLastFifteenDays()
    {
        return $this->campaign_cost_micros_last_fifteen_days;
    }

    /**
     * Output only. Campaign cost in micros for the last 15 days.
     *
     * Generated from protobuf field <code>int64 campaign_cost_micros_last_fifteen_days = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int|string $var
     * @return $this
     */
    public function setCampaignCostMicrosLastFifteenDays($var)
    {
        GPBUtil::checkInt64($var);
        $this->campaign_cost_micros_last_fifteen_days = $var;

        return $this;
    }

    /**
     * Output only. Campaign conversion count for the last 15 days.
     *
     * Generated from protobuf field <code>double campaign_conversions_last_fifteen_days = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return float
     */
    public function getCampaignConversionsLastFifteenDays()
    {
        return $this->campaign_conversions_last_fifteen_days;
    }

    /**
     * Output only. Campaign conversion count for the last 15 days.
     *
     * Generated from protobuf field <code>double campaign_conversions_last_fifteen_days = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param float $var
     * @return $this
     */
    public function setCampaignConversionsLastFifteenDays($var)
    {
        GPBUtil::checkDouble($var);
        $this->campaign_conversions_last_fifteen_days = $var;

        return $this;
    }

    /**
     * Output only. Campaign conversion value for the last 15 days.
     *
     * Generated from protobuf field <code>double campaign_conversion_value_last_fifteen_days = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return float
     */
    public function getCampaignConversionValueLastFifteenDays()
    {
        return $this->campaign_conversion_value_last_fifteen_days;
    }

    /**
     * Output only. Campaign conversion value for the last 15 days.
     *
     * Generated from protobuf field <code>double campaign_conversion_value_last_fifteen_days = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param float $var
     * @return $this
     */
    public function setCampaignConversionValueLastFifteenDays($var)
    {
        GPBUtil::checkDouble($var);
        $this->campaign_conversion_value_last_fifteen_days = $var;

        return $this;
    }

    /**
     * Output only. Projected conversions over the last 15 days if the
     * recommendation is applied.
     *
     * Generated from protobuf field <code>double projected_conversions_last_fifteen_days = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return float
     */
    public function getProjectedConversionsLastFifteenDays()
    {
        return $this->projected_conversions_last_fifteen_days;
    }

    /**
     * Output only. Projected conversions over the last 15 days if the
     * recommendation is applied.
     *
     * Generated from protobuf field <code>double projected_conversions_last_fifteen_days = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param float $var
     * @return $this
     */
    public function setProjectedConversionsLastFifteenDays($var)
    {
        GPBUtil::checkDouble($var);
        $this->projected_conversions_last_fifteen_days = $var;

        return $this;
    }

    /**
     * Output only. Projected conversion value over the last 15 days if the
     * recommendation is applied.
     *
     * Generated from protobuf field <code>double projected_conversion_value_last_fifteen_days = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return float
     */
    public function getProjectedConversionValueLastFifteenDays()
    {
        return $this->projected_conversion_value_last_fifteen_days;
    }

    /**
     * Output only. Projected conversion value over the last 15 days if the
     * recommendation is applied.
     *
     * Generated from protobuf field <code>double projected_conversion_value_last_fifteen_days = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param float $var
     * @return $this
     */
    public function setProjectedConversionValueLastFifteenDays($var)
    {
        GPBUtil::checkDouble($var);
        $this->projected_conversion_value_last_fifteen_days = $var;

        return $this;
    }

    /**
     * Output only. Deprecated: Use suggested_conversion_goals instead.
     * Suggested auto conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.enums.ConversionActionCategoryEnum.ConversionActionCategory app_conversion_goals = 6 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return RepeatedField<int>
     * @deprecated
     */
    public function getAppConversionGoals()
    {
        if (count($this->app_conversion_goals) !== 0) {
            @trigger_error('app_conversion_goals is deprecated.', E_USER_DEPRECATED);
        }
        return $this->app_conversion_goals;
    }

    /**
     * Output only. Deprecated: Use suggested_conversion_goals instead.
     * Suggested auto conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.enums.ConversionActionCategoryEnum.ConversionActionCategory app_conversion_goals = 6 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int[] $var
     * @return $this
     * @deprecated
     */
    public function setAppConversionGoals($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V25\Enums\ConversionActionCategoryEnum\ConversionActionCategory::class);
        if (count($arr) !== 0) {
            @trigger_error('app_conversion_goals is deprecated.', E_USER_DEPRECATED);
        }
        $this->app_conversion_goals = $arr;

        return $this;
    }

    /**
     * Output only. Deprecated: Use current_conversion_goals instead.
     * Current automatic conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.common.EffectiveAutomaticGoal current_auto_goals = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return RepeatedField<\Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal>
     * @deprecated
     */
    public function getCurrentAutoGoals()
    {
        if (count($this->current_auto_goals) !== 0) {
            @trigger_error('current_auto_goals is deprecated.', E_USER_DEPRECATED);
        }
        return $this->current_auto_goals;
    }

    /**
     * Output only. Deprecated: Use current_conversion_goals instead.
     * Current automatic conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.common.EffectiveAutomaticGoal current_auto_goals = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal[] $var
     * @return $this
     * @deprecated
     */
    public function setCurrentAutoGoals($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal::class);
        if (count($arr) !== 0) {
            @trigger_error('current_auto_goals is deprecated.', E_USER_DEPRECATED);
        }
        $this->current_auto_goals = $arr;

        return $this;
    }

    /**
     * Output only. Deprecated: Use current_custom_conversion_goal instead.
     * Current custom goal for the campaign.
     *
     * Generated from protobuf field <code>string current_custom_goal = 8 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {</code>
     * @return string
     * @deprecated
     */
    public function getCurrentCustomGoal()
    {
        if ($this->current_custom_goal !== '') {
            @trigger_error('current_custom_goal is deprecated.', E_USER_DEPRECATED);
        }
        return $this->current_custom_goal;
    }

    /**
     * Output only. Deprecated: Use current_custom_conversion_goal instead.
     * Current custom goal for the campaign.
     *
     * Generated from protobuf field <code>string current_custom_goal = 8 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {</code>
     * @param string $var
     * @return $this
     * @deprecated
     */
    public function setCurrentCustomGoal($var)
    {
        @trigger_error('current_custom_goal is deprecated.', E_USER_DEPRECATED);
        GPBUtil::checkString($var, True);
        $this->current_custom_goal = $var;

        return $this;
    }

    /**
     * Output only. Suggested conversion goals for the campaign which optimize
     * towards app conversions.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.enums.ConversionActionCategoryEnum.ConversionActionCategory suggested_conversion_goals = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return RepeatedField<int>
     */
    public function getSuggestedConversionGoals()
    {
        return $this->suggested_conversion_goals;
    }

    /**
     * Output only. Suggested conversion goals for the campaign which optimize
     * towards app conversions.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.enums.ConversionActionCategoryEnum.ConversionActionCategory suggested_conversion_goals = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int[] $var
     * @return $this
     */
    public function setSuggestedConversionGoals($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V25\Enums\ConversionActionCategoryEnum\ConversionActionCategory::class);
        $this->suggested_conversion_goals = $arr;

        return $this;
    }

    /**
     * Output only. Current conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.common.EffectiveAutomaticGoal current_conversion_goals = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return RepeatedField<\Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal>
     */
    public function getCurrentConversionGoals()
    {
        return $this->current_conversion_goals;
    }

    /**
     * Output only. Current conversion goals for the campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v25.common.EffectiveAutomaticGoal current_conversion_goals = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal[] $var
     * @return $this
     */
    public function setCurrentConversionGoals($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V25\Common\EffectiveAutomaticGoal::class);
        $this->current_conversion_goals = $arr;

        return $this;
    }

    /**
     * Output only. Current custom conversion goal for the campaign.
     * This is the resource name of the CustomConversionGoal.
     *
     * Generated from protobuf field <code>string current_custom_conversion_goal = 11 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {</code>
     * @return string
     */
    public function getCurrentCustomConversionGoal()
    {
        return $this->current_custom_conversion_goal;
    }

    /**
     * Output only. Current custom conversion goal for the campaign.
     * This is the resource name of the CustomConversionGoal.
     *
     * Generated from protobuf field <code>string current_custom_conversion_goal = 11 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {</code>
     * @param string $var
     * @return $this
     */
    public function setCurrentCustomConversionGoal($var)
    {
        GPBUtil::checkString($var, True);
        $this->current_custom_conversion_goal = $var;

        return $this;
    }

}

