348 lines
10 KiB
PHP
348 lines
10 KiB
PHP
<?php
|
||
/*
|
||
* Copyright 2014 Google Inc.
|
||
*
|
||
* 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.
|
||
*/
|
||
|
||
namespace Google\Service\ShoppingContent;
|
||
|
||
class CompetitiveVisibility extends \Google\Model
|
||
{
|
||
/**
|
||
* Traffic source is unknown.
|
||
*/
|
||
public const TRAFFIC_SOURCE_UNKNOWN = 'UNKNOWN';
|
||
/**
|
||
* Organic traffic.
|
||
*/
|
||
public const TRAFFIC_SOURCE_ORGANIC = 'ORGANIC';
|
||
/**
|
||
* Traffic from Ads.
|
||
*/
|
||
public const TRAFFIC_SOURCE_ADS = 'ADS';
|
||
/**
|
||
* Organic and Ads traffic.
|
||
*/
|
||
public const TRAFFIC_SOURCE_ALL = 'ALL';
|
||
/**
|
||
* [Ads / organic ratio]
|
||
* (https://support.google.com/merchants/answer/11366442#zippy=%2Cadsfree-
|
||
* ratio) shows how often a merchant receives impressions from Shopping ads
|
||
* compared to organic traffic. The number is rounded and bucketed. Available
|
||
* only in `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var
|
||
*/
|
||
public $adsOrganicRatio;
|
||
/**
|
||
* Change in visibility based on impressions with respect to the start of the
|
||
* selected time range (or first day with non-zero impressions) for a combined
|
||
* set of merchants with highest visibility approximating the market.
|
||
* Available only in `CompetitiveVisibilityBenchmarkView`. Cannot be filtered
|
||
* on in the 'WHERE' clause.
|
||
*
|
||
* @var
|
||
*/
|
||
public $categoryBenchmarkVisibilityTrend;
|
||
/**
|
||
* Google product category ID to calculate the report for, represented in
|
||
* [Google's product
|
||
* taxonomy](https://support.google.com/merchants/answer/6324436). Required in
|
||
* the `SELECT` clause. A `WHERE` condition on
|
||
* `competitive_visibility.category_id` is required in the query.
|
||
*
|
||
* @var string
|
||
*/
|
||
public $categoryId;
|
||
/**
|
||
* The country where impression appeared. Required in the `SELECT` clause. A
|
||
* `WHERE` condition on `competitive_visibility.country_code` is required in
|
||
* the query.
|
||
*
|
||
* @var string
|
||
*/
|
||
public $countryCode;
|
||
protected $dateType = Date::class;
|
||
protected $dateDataType = '';
|
||
/**
|
||
* Domain of your competitor or your domain, if 'is_your_domain' is true.
|
||
* Available only in `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause for
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var string
|
||
*/
|
||
public $domain;
|
||
/**
|
||
* Higher position rate shows how often a competitor’s offer got placed in a
|
||
* higher position on the page than your offer. Available only in
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var
|
||
*/
|
||
public $higherPositionRate;
|
||
/**
|
||
* True if this row contains data for your domain. Available only in
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var bool
|
||
*/
|
||
public $isYourDomain;
|
||
/**
|
||
* Page overlap rate describes how frequently competing retailers’ offers are
|
||
* shown together with your offers on the same page. Available only in
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var
|
||
*/
|
||
public $pageOverlapRate;
|
||
/**
|
||
* Position of the domain in the top merchants ranking for the selected keys
|
||
* (`date`, `category_id`, `country_code`, `listing_type`) based on
|
||
* impressions. 1 is the highest. Available only in
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var string
|
||
*/
|
||
public $rank;
|
||
/**
|
||
* Relative visibility shows how often your competitors’ offers are shown
|
||
* compared to your offers. In other words, this is the number of displayed
|
||
* impressions of a competitor retailer divided by the number of your
|
||
* displayed impressions during a selected time range for a selected product
|
||
* category and country. Available only in
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @var
|
||
*/
|
||
public $relativeVisibility;
|
||
/**
|
||
* Type of impression listing. Required in the `SELECT` clause. Cannot be
|
||
* filtered on in the 'WHERE' clause.
|
||
*
|
||
* @var string
|
||
*/
|
||
public $trafficSource;
|
||
/**
|
||
* Change in visibility based on impressions for your domain with respect to
|
||
* the start of the selected time range (or first day with non-zero
|
||
* impressions). Available only in `CompetitiveVisibilityBenchmarkView`.
|
||
* Cannot be filtered on in the 'WHERE' clause.
|
||
*
|
||
* @var
|
||
*/
|
||
public $yourDomainVisibilityTrend;
|
||
|
||
public function setAdsOrganicRatio($adsOrganicRatio)
|
||
{
|
||
$this->adsOrganicRatio = $adsOrganicRatio;
|
||
}
|
||
public function getAdsOrganicRatio()
|
||
{
|
||
return $this->adsOrganicRatio;
|
||
}
|
||
public function setCategoryBenchmarkVisibilityTrend($categoryBenchmarkVisibilityTrend)
|
||
{
|
||
$this->categoryBenchmarkVisibilityTrend = $categoryBenchmarkVisibilityTrend;
|
||
}
|
||
public function getCategoryBenchmarkVisibilityTrend()
|
||
{
|
||
return $this->categoryBenchmarkVisibilityTrend;
|
||
}
|
||
/**
|
||
* Google product category ID to calculate the report for, represented in
|
||
* [Google's product
|
||
* taxonomy](https://support.google.com/merchants/answer/6324436). Required in
|
||
* the `SELECT` clause. A `WHERE` condition on
|
||
* `competitive_visibility.category_id` is required in the query.
|
||
*
|
||
* @param string $categoryId
|
||
*/
|
||
public function setCategoryId($categoryId)
|
||
{
|
||
$this->categoryId = $categoryId;
|
||
}
|
||
/**
|
||
* @return string
|
||
*/
|
||
public function getCategoryId()
|
||
{
|
||
return $this->categoryId;
|
||
}
|
||
/**
|
||
* The country where impression appeared. Required in the `SELECT` clause. A
|
||
* `WHERE` condition on `competitive_visibility.country_code` is required in
|
||
* the query.
|
||
*
|
||
* @param string $countryCode
|
||
*/
|
||
public function setCountryCode($countryCode)
|
||
{
|
||
$this->countryCode = $countryCode;
|
||
}
|
||
/**
|
||
* @return string
|
||
*/
|
||
public function getCountryCode()
|
||
{
|
||
return $this->countryCode;
|
||
}
|
||
/**
|
||
* Date of this row. Available only in `CompetitiveVisibilityBenchmarkView`
|
||
* and `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause
|
||
* for `CompetitiveVisibilityMarketBenchmarkView`.
|
||
*
|
||
* @param Date $date
|
||
*/
|
||
public function setDate(Date $date)
|
||
{
|
||
$this->date = $date;
|
||
}
|
||
/**
|
||
* @return Date
|
||
*/
|
||
public function getDate()
|
||
{
|
||
return $this->date;
|
||
}
|
||
/**
|
||
* Domain of your competitor or your domain, if 'is_your_domain' is true.
|
||
* Available only in `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Required in the `SELECT` clause for
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @param string $domain
|
||
*/
|
||
public function setDomain($domain)
|
||
{
|
||
$this->domain = $domain;
|
||
}
|
||
/**
|
||
* @return string
|
||
*/
|
||
public function getDomain()
|
||
{
|
||
return $this->domain;
|
||
}
|
||
public function setHigherPositionRate($higherPositionRate)
|
||
{
|
||
$this->higherPositionRate = $higherPositionRate;
|
||
}
|
||
public function getHigherPositionRate()
|
||
{
|
||
return $this->higherPositionRate;
|
||
}
|
||
/**
|
||
* True if this row contains data for your domain. Available only in
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @param bool $isYourDomain
|
||
*/
|
||
public function setIsYourDomain($isYourDomain)
|
||
{
|
||
$this->isYourDomain = $isYourDomain;
|
||
}
|
||
/**
|
||
* @return bool
|
||
*/
|
||
public function getIsYourDomain()
|
||
{
|
||
return $this->isYourDomain;
|
||
}
|
||
public function setPageOverlapRate($pageOverlapRate)
|
||
{
|
||
$this->pageOverlapRate = $pageOverlapRate;
|
||
}
|
||
public function getPageOverlapRate()
|
||
{
|
||
return $this->pageOverlapRate;
|
||
}
|
||
/**
|
||
* Position of the domain in the top merchants ranking for the selected keys
|
||
* (`date`, `category_id`, `country_code`, `listing_type`) based on
|
||
* impressions. 1 is the highest. Available only in
|
||
* `CompetitiveVisibilityTopMerchantView` and
|
||
* `CompetitiveVisibilityCompetitorView`. Cannot be filtered on in the 'WHERE'
|
||
* clause.
|
||
*
|
||
* @param string $rank
|
||
*/
|
||
public function setRank($rank)
|
||
{
|
||
$this->rank = $rank;
|
||
}
|
||
/**
|
||
* @return string
|
||
*/
|
||
public function getRank()
|
||
{
|
||
return $this->rank;
|
||
}
|
||
public function setRelativeVisibility($relativeVisibility)
|
||
{
|
||
$this->relativeVisibility = $relativeVisibility;
|
||
}
|
||
public function getRelativeVisibility()
|
||
{
|
||
return $this->relativeVisibility;
|
||
}
|
||
/**
|
||
* Type of impression listing. Required in the `SELECT` clause. Cannot be
|
||
* filtered on in the 'WHERE' clause.
|
||
*
|
||
* Accepted values: UNKNOWN, ORGANIC, ADS, ALL
|
||
*
|
||
* @param self::TRAFFIC_SOURCE_* $trafficSource
|
||
*/
|
||
public function setTrafficSource($trafficSource)
|
||
{
|
||
$this->trafficSource = $trafficSource;
|
||
}
|
||
/**
|
||
* @return self::TRAFFIC_SOURCE_*
|
||
*/
|
||
public function getTrafficSource()
|
||
{
|
||
return $this->trafficSource;
|
||
}
|
||
public function setYourDomainVisibilityTrend($yourDomainVisibilityTrend)
|
||
{
|
||
$this->yourDomainVisibilityTrend = $yourDomainVisibilityTrend;
|
||
}
|
||
public function getYourDomainVisibilityTrend()
|
||
{
|
||
return $this->yourDomainVisibilityTrend;
|
||
}
|
||
}
|
||
|
||
// Adding a class alias for backwards compatibility with the previous class name.
|
||
class_alias(CompetitiveVisibility::class, 'Google_Service_ShoppingContent_CompetitiveVisibility');
|