Reference documentation and code samples for the Google Ads Ad Manager V1 Client class ForecastServiceClient.
Service Description: Provides methods for handling forecasting actions.
This class provides the ability to make remote calls to the backing service through method
calls that map to API methods.
Many parameters require resource names to be formatted in a particular way. To
assist with these names, this class includes a format method for each type of
name, and additionally a parseName method to extract the individual identifiers
contained within formatted names that are returned by the API.
Namespace
Google \ Ads \ AdManager \ V1 \ Client
Methods
__construct
| Parameters |
| Name |
Description |
options |
array|Google\ApiCore\Options\ClientOptions
Optional. Options for configuring the service API wrapper.
|
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
Google\Auth\FetchAuthTokenInterface|Google\ApiCore\CredentialsWrapper
This option should only be used with a pre-constructed Google\Auth\FetchAuthTokenInterface or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. Important: If you are providing a path to a credentials file, or a decoded credentials file as a PHP array, this usage is now DEPRECATED. Providing an unvalidated credential configuration to Google APIs can compromise the security of your systems and data. It is recommended to create the credentials explicitly use Google\Auth\Credentials\ServiceAccountCredentials; use Google\Ads\AdManager\V1\ForecastServiceClient; $creds = new ServiceAccountCredentials($scopes, $json); $options = new ForecastServiceClient(['credentials' => $creds]); https://cloud.google.com/docs/authentication/external/externally-sourced-credentials
|
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() .
|
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to false.
|
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder.
|
↳ transport |
string|Google\ApiCore\Transport\TransportInterface
The transport used for executing network requests. At the moment, supports only rest. Advanced usage: Additionally, it is possible to pass in an already instantiated Google\ApiCore\Transport\TransportInterface object. Note that when this object is provided, any settings in $transportConfig, and any $apiEndpoint setting, will be ignored.
|
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'rest' => [...], ]; See the Google\ApiCore\Transport\RestTransport::build() method for the supported options.
|
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS.
|
↳ logger |
false|Psr\Log\LoggerInterface
A PSR-3 compliant logger. If set to false, logging is disabled, ignoring the 'GOOGLE_SDK_PHP_LOGGING' environment flag
|
↳ universeDomain |
string
The service domain for the client. Defaults to 'googleapis.com'.
|
runAvailabilityForecast
Gets the availability forecast for a ProposalLineItem or
LineItem. An availability forecast
reports the maximum number of available units that the line item can book,
and the total number of units matching the line item's targeting.
The async variant is
ForecastServiceClient::runAvailabilityForecastAsync() .
Example
use Google\Ads\AdManager\V1\AvailabilityForecastOptions;
use Google\Ads\AdManager\V1\Client\ForecastServiceClient;
use Google\Ads\AdManager\V1\RunAvailabilityForecastRequest;
use Google\Ads\AdManager\V1\RunAvailabilityForecastResponse;
use Google\ApiCore\ApiException;
/**
* @param string $formattedParent Format: `networks/{network_code}`
* Please see {@see ForecastServiceClient::networkName()} for help formatting this field.
*/
function run_availability_forecast_sample(string $formattedParent): void
{
// Create a client.
$forecastServiceClient = new ForecastServiceClient();
// Prepare the request message.
$availabilityForecastOptions = new AvailabilityForecastOptions();
$request = (new RunAvailabilityForecastRequest())
->setParent($formattedParent)
->setAvailabilityForecastOptions($availabilityForecastOptions);
// Call the API and handle any network failures.
try {
/** @var RunAvailabilityForecastResponse $response */
$response = $forecastServiceClient->runAvailabilityForecast($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample 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.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = ForecastServiceClient::networkName('[NETWORK_CODE]');
run_availability_forecast_sample($formattedParent);
}
runDeliveryForecast
Runs a delivery simulation forecast for existing or prospective line items.
A delivery forecast reports the number of units that will be delivered to
each line item given the line item goals. The simulation considers
contentions from other line items, including the other prospective line
items in the request.
The async variant is ForecastServiceClient::runDeliveryForecastAsync() .
Example
use Google\Ads\AdManager\V1\Client\ForecastServiceClient;
use Google\Ads\AdManager\V1\DeliveryForecastOptions;
use Google\Ads\AdManager\V1\RunDeliveryForecastRequest;
use Google\Ads\AdManager\V1\RunDeliveryForecastResponse;
use Google\ApiCore\ApiException;
/**
* @param string $formattedParent Format: `networks/{network_code}`
* Please see {@see ForecastServiceClient::networkName()} for help formatting this field.
*/
function run_delivery_forecast_sample(string $formattedParent): void
{
// Create a client.
$forecastServiceClient = new ForecastServiceClient();
// Prepare the request message.
$deliveryForecastOptions = new DeliveryForecastOptions();
$request = (new RunDeliveryForecastRequest())
->setParent($formattedParent)
->setDeliveryForecastOptions($deliveryForecastOptions);
// Call the API and handle any network failures.
try {
/** @var RunDeliveryForecastResponse $response */
$response = $forecastServiceClient->runDeliveryForecast($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample 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.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = ForecastServiceClient::networkName('[NETWORK_CODE]');
run_delivery_forecast_sample($formattedParent);
}
runTrafficData
Example
use Google\Ads\AdManager\V1\Client\ForecastServiceClient;
use Google\Ads\AdManager\V1\DateRange;
use Google\Ads\AdManager\V1\RunTrafficDataRequest;
use Google\Ads\AdManager\V1\RunTrafficDataResponse;
use Google\Ads\AdManager\V1\Targeting;
use Google\ApiCore\ApiException;
/**
* @param string $formattedParent Format: `networks/{network_code}`
* Please see {@see ForecastServiceClient::networkName()} for help formatting this field.
*/
function run_traffic_data_sample(string $formattedParent): void
{
// Create a client.
$forecastServiceClient = new ForecastServiceClient();
// Prepare the request message.
$targeting = new Targeting();
$requestedDateRange = new DateRange();
$request = (new RunTrafficDataRequest())
->setParent($formattedParent)
->setTargeting($targeting)
->setRequestedDateRange($requestedDateRange);
// Call the API and handle any network failures.
try {
/** @var RunTrafficDataResponse $response */
$response = $forecastServiceClient->runTrafficData($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample 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.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = ForecastServiceClient::networkName('[NETWORK_CODE]');
run_traffic_data_sample($formattedParent);
}
runAvailabilityForecastAsync
runDeliveryForecastAsync
runTrafficDataAsync
static::adUnitName
Formats a string containing the fully-qualified path to represent a ad_unit
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
adUnit |
string
|
| Returns |
| Type |
Description |
string |
The formatted ad_unit resource. |
static::applicationName
Formats a string containing the fully-qualified path to represent a application
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
application |
string
|
| Returns |
| Type |
Description |
string |
The formatted application resource. |
static::audienceSegmentName
Formats a string containing the fully-qualified path to represent a
audience_segment resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
audienceSegment |
string
|
| Returns |
| Type |
Description |
string |
The formatted audience_segment resource. |
static::bandwidthGroupName
Formats a string containing the fully-qualified path to represent a
bandwidth_group resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
bandwidthGroup |
string
|
| Returns |
| Type |
Description |
string |
The formatted bandwidth_group resource. |
static::browserName
Formats a string containing the fully-qualified path to represent a browser
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
browser |
string
|
| Returns |
| Type |
Description |
string |
The formatted browser resource. |
static::browserLanguageName
Formats a string containing the fully-qualified path to represent a
browser_language resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
browserLanguage |
string
|
| Returns |
| Type |
Description |
string |
The formatted browser_language resource. |
Formats a string containing the fully-qualified path to represent a
cms_metadata_value resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
cmsMetadataValue |
string
|
| Returns |
| Type |
Description |
string |
The formatted cms_metadata_value resource. |
static::contentName
Formats a string containing the fully-qualified path to represent a content
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
content |
string
|
| Returns |
| Type |
Description |
string |
The formatted content resource. |
static::contentBundleName
Formats a string containing the fully-qualified path to represent a
content_bundle resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
contentBundle |
string
|
| Returns |
| Type |
Description |
string |
The formatted content_bundle resource. |
static::customTargetingKeyName
Formats a string containing the fully-qualified path to represent a
custom_targeting_key resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
customTargetingKey |
string
|
| Returns |
| Type |
Description |
string |
The formatted custom_targeting_key resource. |
static::customTargetingValueName
Formats a string containing the fully-qualified path to represent a
custom_targeting_value resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
customTargetingValue |
string
|
| Returns |
| Type |
Description |
string |
The formatted custom_targeting_value resource. |
static::deviceCapabilityName
Formats a string containing the fully-qualified path to represent a
device_capability resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
deviceCapability |
string
|
| Returns |
| Type |
Description |
string |
The formatted device_capability resource. |
static::deviceCategoryName
Formats a string containing the fully-qualified path to represent a
device_category resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
deviceCategory |
string
|
| Returns |
| Type |
Description |
string |
The formatted device_category resource. |
static::deviceManufacturerName
Formats a string containing the fully-qualified path to represent a
device_manufacturer resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
deviceManufacturer |
string
|
| Returns |
| Type |
Description |
string |
The formatted device_manufacturer resource. |
static::geoTargetName
Formats a string containing the fully-qualified path to represent a geo_target
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
geoTarget |
string
|
| Returns |
| Type |
Description |
string |
The formatted geo_target resource. |
static::labelName
Formats a string containing the fully-qualified path to represent a label
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
label |
string
|
| Returns |
| Type |
Description |
string |
The formatted label resource. |
static::lineItemName
Formats a string containing the fully-qualified path to represent a line_item
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
lineItem |
string
|
| Returns |
| Type |
Description |
string |
The formatted line_item resource. |
static::mobileCarrierName
Formats a string containing the fully-qualified path to represent a
mobile_carrier resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
mobileCarrier |
string
|
| Returns |
| Type |
Description |
string |
The formatted mobile_carrier resource. |
static::mobileDeviceName
Formats a string containing the fully-qualified path to represent a
mobile_device resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
mobileDevice |
string
|
| Returns |
| Type |
Description |
string |
The formatted mobile_device resource. |
static::mobileDeviceSubmodelName
Formats a string containing the fully-qualified path to represent a
mobile_device_submodel resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
mobileDeviceSubmodel |
string
|
| Returns |
| Type |
Description |
string |
The formatted mobile_device_submodel resource. |
static::networkName
Formats a string containing the fully-qualified path to represent a network
resource.
| Parameter |
| Name |
Description |
networkCode |
string
|
| Returns |
| Type |
Description |
string |
The formatted network resource. |
static::operatingSystemName
Formats a string containing the fully-qualified path to represent a
operating_system resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
operatingSystem |
string
|
| Returns |
| Type |
Description |
string |
The formatted operating_system resource. |
static::operatingSystemVersionName
Formats a string containing the fully-qualified path to represent a
operating_system_version resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
operatingSystemVersion |
string
|
| Returns |
| Type |
Description |
string |
The formatted operating_system_version resource. |
static::placementName
Formats a string containing the fully-qualified path to represent a placement
resource.
| Parameters |
| Name |
Description |
networkCode |
string
|
placement |
string
|
| Returns |
| Type |
Description |
string |
The formatted placement resource. |
static::parseName
Parses a formatted name string and returns an associative array of the components in the name.
The following name formats are supported:
Template: Pattern
- adUnit: networks/{network_code}/adUnits/{ad_unit}
- application: networks/{network_code}/applications/{application}
- audienceSegment: networks/{network_code}/audienceSegments/{audience_segment}
- bandwidthGroup: networks/{network_code}/bandwidthGroups/{bandwidth_group}
- browser: networks/{network_code}/browsers/{browser}
- browserLanguage: networks/{network_code}/browserLanguages/{browser_language}
- cmsMetadataValue: networks/{network_code}/cmsMetadataValues/{cms_metadata_value}
- content: networks/{network_code}/content/{content}
- contentBundle: networks/{network_code}/contentBundles/{content_bundle}
- customTargetingKey: networks/{network_code}/customTargetingKeys/{custom_targeting_key}
- customTargetingValue: networks/{network_code}/customTargetingValues/{custom_targeting_value}
- deviceCapability: networks/{network_code}/deviceCapabilities/{device_capability}
- deviceCategory: networks/{network_code}/deviceCategories/{device_category}
- deviceManufacturer: networks/{network_code}/deviceManufacturers/{device_manufacturer}
- geoTarget: networks/{network_code}/geoTargets/{geo_target}
- label: networks/{network_code}/labels/{label}
- lineItem: networks/{network_code}/lineItems/{line_item}
- mobileCarrier: networks/{network_code}/mobileCarriers/{mobile_carrier}
- mobileDevice: networks/{network_code}/mobileDevices/{mobile_device}
- mobileDeviceSubmodel: networks/{network_code}/mobileDeviceSubmodels/{mobile_device_submodel}
- network: networks/{network_code}
- operatingSystem: networks/{network_code}/operatingSystems/{operating_system}
- operatingSystemVersion: networks/{network_code}/operatingSystemVersions/{operating_system_version}
- placement: networks/{network_code}/placements/{placement}
The optional $template argument can be supplied to specify a particular pattern,
and must match one of the templates listed above. If no $template argument is
provided, or if the $template argument does not match one of the templates
listed, then parseName will check each of the supported templates, and return
the first match.
| Parameters |
| Name |
Description |
formattedName |
string
The formatted name string
|
template |
?string
Optional name of template to match
|
| Returns |
| Type |
Description |
array |
An associative array from name component IDs to component values. |