AdsApp.​MobileAppBuilder

Builder for MobileApp objects.

Example usage:

// Create a mobile app builder.
var mobileAppBuilder = AdsApp.extensions().newMobileAppBuilder();

// Create a mobile app operation.
var mobileAppOperation = mobileAppBuilder
  .withAppId("store specific app id")                 // required
  .withStore("Android")                               // required
  .withLinkText("Download Android App Here")          // required
  .withFinalUrl("http://wwww.example.com/androidApp") // required
  .withStartDate({day: 12, month: 9, year: 2013})     // optional
  .build();

// Optional: examine the outcome. The call to isSuccessful()
// will block until the operation completes.
if (mobileAppOperation.isSuccessful()) {
  // Get the result.
  var mobileApp = mobileAppOperation.getResult();
} else {
  // Handle the errors.
  var errors = mobileAppOperation.getErrors();
}

Methods:

MemberTypeDescription
build AdsApp.MobileAppOperation Creates a MobileApp.
withAppId AdsApp.MobileAppBuilder Sets the mobile app's app ID.
withCustomParameters AdsApp.MobileAppBuilder Sets the custom parameters of the new mobile app to the specified value.
withEndDate AdsApp.MobileAppBuilder Sets the mobile app's end date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format.
withFinalUrl AdsApp.MobileAppBuilder Sets the final URL of the new mobile app to the specified value.
withFinalUrlSuffix AdsApp.MobileAppBuilder Sets the final URL suffix of the new mobile app to the specified value.
withLinkText AdsApp.MobileAppBuilder Sets the link text of the mobile app.
withMobileFinalUrl AdsApp.MobileAppBuilder Sets the mobile final URL of the new mobile app to the specified value.
withMobilePreferred AdsApp.MobileAppBuilder Sets the mobile app's device preference to mobile or clears it.
withSchedules AdsApp.MobileAppBuilder Sets the mobile app scheduling.
withStartDate AdsApp.MobileAppBuilder Sets the mobile app's start date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format.
withStore AdsApp.MobileAppBuilder Sets the application store that this application belongs to.
withTrackingTemplate AdsApp.MobileAppBuilder Sets the tracking template of the new mobile app to the specified value.

build(buildLegacy)

Creates a MobileApp. Returns a MobileAppOperation that can be used to get the new mobile app (or access any associated errors if creation failed).

Defaults to building the type of mobile app that is currently serving. If there are upgraded mobile apps, then an upgraded mobile app will be built by default. If there are only legacy mobile apps, then a legacy mobile app will be built by default. If there are neither, then an upgraded mobile app will be built by default.

Arguments:

NameTypeDescription
buildLegacy boolean If true, builds a legacy mobile app. If false, builds an upgraded mobile app. If unspecified, defaults to building whichever type is currently serving.

Return values:

TypeDescription
AdsApp.MobileAppOperation The associated mobile app operation.

withAppId(appId)

Sets the mobile app's app ID. Takes a string representing the store-specific ID for the target application. This field is required.

Arguments:

NameTypeDescription
appId String The mobile app's app ID.

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified app ID.

withCustomParameters(customParameters)

Sets the custom parameters of the new mobile app to the specified value.

Custom parameters enable you to create your own ValueTrack parameters that you can assign your own IDs to.

The name of a custom parameter can contain only alphanumeric characters, and custom parameter values may not contain white space. When referring to the custom parameter in final URLs and tracking template, you should surround the custom parameter in braces, and prefix an underscore to its name, e.g. {_param}.

You can have up to 8 custom parameters for an entity. The key and value must not exceed 16 and 200 bytes respectively.

Custom parameters specified at a lower level entity will override the setting specified at a higher level entity, e.g., setting custom parameters at the ad group level overrides the setting at the campaign level, and custom parameters specified at the ad level override the setting at the ad group level.

See Using Upgraded URLs for more information.

Arguments:

NameTypeDescription
customParameters Object The custom parameters of the mobile app as a map of the following form: {key1: 'value1', key2: 'value2', key3: 'value3'}.

Return values:

TypeDescription
AdsApp.MobileAppBuilder The mobile app builder with the specified custom parameters.

withEndDate(date)

Sets the mobile app's end date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format. This field is optional.

For instance, mobileAppBuilder.withEndDate("20130503"); is equivalent to mobileAppBuilder.withEndDate({year: 2013, month: 5, day: 3});.

The change will fail and report an error if:

  • the given date is invalid (e.g., {year: 2013, month: 5, day: 55}),
  • the start date now comes after the end date, or
  • it's a date in the past

Arguments:

NameTypeDescription
date Object The new mobile app end date.

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified end date.

withFinalUrl(finalUrl)

Sets the final URL of the new mobile app to the specified value.

The final URL represents the actual landing page for your mobile app. The final URL must be the URL of the page that the user ends up on after clicking on your ad, once all the redirects have taken place.

See Using Upgraded URLs for more information. Final URLs are required.

Arguments:

NameTypeDescription
finalUrl String The final URL for the mobile app.

Return values:

TypeDescription
AdsApp.MobileAppBuilder The mobile app builder with the specified final URL.

withFinalUrlSuffix(suffix)

Sets the final URL suffix of the new mobile app to the specified value.

When parallel tracking is enabled, the final URL suffix gets appended to the final URL.

Arguments:

NameTypeDescription
suffix String The final URL suffix to set on the mobile app.

Return values:

TypeDescription
AdsApp.MobileAppBuilder The mobile app builder with the specified final URL suffix.

withLinkText(linkText)

Sets the link text of the mobile app. This field is required.

Arguments:

NameTypeDescription
linkText String The link text.

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified link text.

withMobileFinalUrl(mobileFinalUrl)

Sets the mobile final URL of the new mobile app to the specified value.

The mobile final URL represents the actual landing page for your mobile app on a mobile device. The final mobile URL must be the URL of the page that the user ends up on after clicking on your ad on a mobile device, once all the redirects have taken place.

See Using Upgraded URLs for more information.

Arguments:

NameTypeDescription
mobileFinalUrl String The mobile final URL for the mobile app.

Return values:

TypeDescription
AdsApp.MobileAppBuilder The mobile app builder with the specified final URL.

withMobilePreferred(isMobilePreferred)

Sets the mobile app's device preference to mobile or clears it. This field is optional and defaults to false.

Arguments:

NameTypeDescription
isMobilePreferred boolean Whether or not this mobile app should be mobile preferred. If true is passed in, device preference will be set to mobile. If false is passed in, device preference will be set to none.

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified mobile preference.

withSchedules(schedules)

Sets the mobile app scheduling. Scheduling of a mobile app allows you to control the days of week and times of day during which the mobile app will show alongside your ads.

Passing in an empty array clears the scheduling field, causing the mobile app to run at all times.

The following example sets the mobile app to run on Mondays and Tuesday from 8:00 to 11:00.

 var mondayMorning = {
   dayOfWeek: "MONDAY",
   startHour: 8,
   startMinute: 0,
   endHour: 11,
   endMinute: 0
 };
 var tuesdayMorning = {
   dayOfWeek: "TUESDAY",
   startHour: 8,
   startMinute: 0,
   endHour: 11,
   endMinute: 0
 };

mobileAppBuilder.withSchedules([mondayMorning, tuesdayMorning]);

Arguments:

NameTypeDescription
schedules AdsApp.ExtensionSchedule[] The new mobile app schedules.

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified schedules.

withStartDate(date)

Sets the mobile app's start date from either an object containing year, month, and day fields, or an 8-digit string in YYYYMMDD format. This field is optional.

For instance, mobileAppBuilder.withStartDate("20130503"); is equivalent to mobileAppBuilder.withStartDate({year: 2013, month: 5, day: 3});.

The change will fail and report an error if:

  • the given date is invalid (e.g., {year: 2013, month: 5, day: 55}),
  • the given date is after the mobile app's end date,

Arguments:

NameTypeDescription
date Object The new mobile app start date.

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified start date.

withStore(store)

Sets the application store that this application belongs to. This accepts either "iOS" or "Android". This field is required.

Arguments:

NameTypeDescription
store String The application store, "iOS" or "Android".

Return values:

TypeDescription
AdsApp.MobileAppBuilder A mobile app builder with the specified application store.

withTrackingTemplate(trackingTemplate)

Sets the tracking template of the new mobile app to the specified value.

You can optionally use the tracking template to specify additional tracking parameters or redirects. Google Ads will use this template to assemble the actual destination URL to associate with the ad.

A tracking template specified at a lower level entity will override the setting specified at a higher level entity, e.g., a tracking template set at the ad group level overrides the setting at the campaign level, and a tracking template specified at the ad level overrides the setting at the ad group level.

See Using Upgraded URLs for more information. If tracking template is not set, then tracking template will default to "{lpurl}" (no tracking).

Arguments:

NameTypeDescription
trackingTemplate String The tracking template for the mobile app.

Return values:

TypeDescription
AdsApp.MobileAppBuilder The mobile app builder with the specified tracking template.