Google Ads Ad Manager V1 Client - Class ForecastServiceClient (0.15.0)

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

Constructor.

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() .

Parameters
Name Description
request Google\Ads\AdManager\V1\RunAvailabilityForecastRequest

A request to house fields associated with the call.

callOptions array

Optional.

↳ retrySettings Google\ApiCore\RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Ads\AdManager\V1\RunAvailabilityForecastResponse
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() .

Parameters
Name Description
request Google\Ads\AdManager\V1\RunDeliveryForecastRequest

A request to house fields associated with the call.

callOptions array

Optional.

↳ retrySettings Google\ApiCore\RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Ads\AdManager\V1\RunDeliveryForecastResponse
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

Gets forecasted and historical traffic data for the segment of traffic specified by the provided request.

The async variant is ForecastServiceClient::runTrafficDataAsync() .

Parameters
Name Description
request Google\Ads\AdManager\V1\RunTrafficDataRequest

A request to house fields associated with the call.

callOptions array

Optional.

↳ retrySettings Google\ApiCore\RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Ads\AdManager\V1\RunTrafficDataResponse
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

Parameters
Name Description
request Google\Ads\AdManager\V1\RunAvailabilityForecastRequest
optionalArgs array
Returns
Type Description
GuzzleHttp\Promise\PromiseInterface<Google\Ads\AdManager\V1\RunAvailabilityForecastResponse>

runDeliveryForecastAsync

Parameters
Name Description
request Google\Ads\AdManager\V1\RunDeliveryForecastRequest
optionalArgs array
Returns
Type Description
GuzzleHttp\Promise\PromiseInterface<Google\Ads\AdManager\V1\RunDeliveryForecastResponse>

runTrafficDataAsync

Parameters
Name Description
request Google\Ads\AdManager\V1\RunTrafficDataRequest
optionalArgs array
Returns
Type Description
GuzzleHttp\Promise\PromiseInterface<Google\Ads\AdManager\V1\RunTrafficDataResponse>

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.

static::cmsMetadataValueName

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.