Represents a mobile app that has been added to a campaign as an ad app extension. Visit our [Ad Extensions](https://developers.google.com/google-ads/scripts/docs/features/ad-extensions) page for more information on mobile apps and other types of ad extensions.

### Methods:

| Member | Type | Description |
|---|---|---|
| [clearEndDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#clearEndDate) | `void` | Clears the campaign-level mobile app's end date. |
| [clearLinkUrl()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#clearLinkUrl) | `void` | Clears the link URL of the campaign-level mobile app. |
| [clearStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#clearStartDate) | `void` | Clears the campaign-level mobile app's start date. |
| [getAppId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getAppId) | `String` | Returns the application store-specific ID of the campaign-level mobile app. |
| [getBaseCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getBaseCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the base campaign to which this campaign-level mobile app belongs. |
| [getCampaign()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getCampaign) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | Returns the campaign to which this campaign-level mobile app belongs or `null` if it does not belong to a search or display campaign. |
| [getEndDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getEndDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the end date of the campaign-level mobile app, or `null` if no end date is set. |
| [getEntityType()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getEntityType) | `String` | Returns the type of this entity as a `String`, in this case, `"CampaignMobileApp"`. |
| [getId()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getId) | `String` | Returns the ID of the campaign-level mobile app. |
| [getLinkText()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getLinkText) | `String` | Returns the link text of the campaign-level mobile app. |
| [getLinkUrl()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getLinkUrl) | `String` | Returns the link URL of the campaign-level mobile app. |
| [getResourceName()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getResourceName) | `String` | Returns the resource name of the campaign-level mobile app. |
| [getSchedules()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getSchedules) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | Returns the scheduling of the campaign-level mobile app. |
| [getStartDate()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getStartDate) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | Returns the start date of the campaign-level mobile app, or `null` if no start date is set. |
| [getStatsFor(dateRange)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getStatsFor_dateRange) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified date range. |
| [getStatsFor(dateFrom, dateTo)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getStatsFor_dateFrom-dateTo) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | Returns stats for the specified custom date range. |
| [getStore()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#getStore) | `String` | Returns the application store to which the application belongs. |
| [isMobilePreferred()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#isMobilePreferred) | `boolean` | Returns `true` if the campaign-level mobile app specifies mobile device preference. |
| [setAppId(appId)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setAppId_appId) | `void` | Sets the application store-specific ID of the campaign-level mobile app. |
| [setEndDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setEndDate_date) | `void` | Sets the campaign-level mobile app's end date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format. |
| [setLinkText(linkText)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setLinkText_linkText) | `void` | Sets the link text of the campaign-level mobile app. |
| [setLinkUrl(linkUrl)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setLinkUrl_linkUrl) | `void` | Sets the link URL of the campaign-level mobile app. |
| [setMobilePreferred(isMobilePreferred)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setMobilePreferred_isMobilePreferred) | `void` | Sets the campaign-level mobile app's device preference. |
| [setSchedules(schedules)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setSchedules_schedules) | `void` | Sets the campaign-level mobile app scheduling. |
| [setStartDate(date)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setStartDate_date) | `void` | Sets the campaign-level mobile app's start date from either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` format. |
| [setStore(store)](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#setStore_store) | `void` | Sets the application store to which the application belongs. |
| [urls()](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaignmobileapp#urls) | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_mobileappurls` | Provides access to the URL fields of this campaign-level mobile app. |

## `clearEndDate()`

Clears the campaign-level mobile app's end date.

Returns nothing.

## `clearLinkUrl()`

Clears the link URL of the campaign-level mobile app. To upgrade campaign-level mobile apps to final URL, first clear the link URL, then set the final URL with [MobileAppUrls.setFinalUrl](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_mobileappurls#setFinalUrl_finalUrl).

Returns nothing.

## `clearStartDate()`

Clears the campaign-level mobile app's start date.

Returns nothing.

## `getAppId()`

Returns the application store-specific ID of the campaign-level mobile app.

### Return values:

| Type | Description |
|---|---|
| `String` | The application store-specific ID of the campaign-level mobile app. |

## `getBaseCampaign()`

Returns the base campaign to which this campaign-level mobile app belongs.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | The base campaign to which this campaign-level mobile app belongs. |

## `getCampaign()`

Returns the campaign to which this campaign-level mobile app belongs or `null` if it does not belong to a search or display campaign.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_campaign` | The campaign to which this campaign-level mobile app belongs or `null` if it does not belong to a search or display campaign. |

## `getEndDate()`

Returns the end date of the campaign-level mobile app, or `null` if no end date is set.

For instance, if the end date of the campaign-level mobile app is May 3, 2013,
this would return the following object: `{year: 2013, month: 5, day:
3}`.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | The campaign-level mobile app's end date, or `null` if there's no end date. |

## `getEntityType()`

Returns the type of this entity as a `String`, in this case, `"CampaignMobileApp"`.

### Return values:

| Type | Description |
|---|---|
| `String` | Type of this entity: `"CampaignMobileApp"`. |

## `getId()`

Returns the ID of the campaign-level mobile app.

### Return values:

| Type | Description |
|---|---|
| `String` | The ID of the campaign-level mobile app. |

## `getLinkText()`

Returns the link text of the campaign-level mobile app.

### Return values:

| Type | Description |
|---|---|
| `String` | The link text of the campaign-level mobile app. |

## `getLinkUrl()`

Returns the link URL of the campaign-level mobile app.

> [!WARNING]
> **Deprecated.** This method is deprecated. Link URLs will become read-only on July 1, 2015. We recommend that you upgrade to using final URLs instead. See [Using
> Upgraded URLs](https://support.google.com/google-ads/answer/6049217) for more information.

### Return values:

| Type | Description |
|---|---|
| `String` | The link URL of the campaign-level mobile app. |

## `getResourceName()`

Returns the resource name of the campaign-level mobile app.

### Return values:

| Type | Description |
|---|---|
| `String` | The resource name of the campaign-level mobile app. |

## `getSchedules()`

Returns the scheduling of the campaign-level mobile app.

> [!WARNING]
> **Deprecated.**

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | The scheduling of the campaign-level mobile app. |

## `getStartDate()`

Returns the start date of the campaign-level mobile app, or `null` if no start date is set.

For instance, if the start date of the campaign-level mobile app is May 3,
2013, this would return the following object: `{year: 2013, month: 5,
day: 3}`.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_googleadsdate` | The campaign-level mobile app's start date, or `null` if there's no start date. |

## `getStatsFor(dateRange)`

Returns stats for the specified date range. Supported values:

`TODAY, YESTERDAY, LAST_7_DAYS, THIS_WEEK_SUN_TODAY, LAST_WEEK,
LAST_14_DAYS, LAST_30_DAYS, LAST_BUSINESS_WEEK, LAST_WEEK_SUN_SAT,
THIS_MONTH, LAST_MONTH, ALL_TIME`.

Example:

```
var stats = campaignMobileApp.getStatsFor("THIS_MONTH");
```

### Arguments:

| Name | Type | Description |
|---|---|---|
| dateRange | `String` | Date range for which the stats are requested. |

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | The stats for the specified date range. |

## `getStatsFor(dateFrom, dateTo)`

Returns stats for the specified custom date range. Both parameters can be either an object containing year, month, and day fields, or an 8-digit string in `YYYYMMDD` form. For instance, `March 24th,
2013` is represented as either `{year: 2013, month: 3, day:
24}` or `"20130324"`. The date range is inclusive on both ends, so `forDateRange("20130324", "20130324")` defines a range of a single day.

### Arguments:

| Name | Type | Description |
|---|---|---|
| dateFrom | `Object` | Start date of the date range. Must be either a string in `YYYYMMDD` form, or an object with `year`, `month` and `day` properties. |
| dateTo | `Object` | End date of the date range. Must be either a string in `YYYYMMDD` form, or an object with `year`, `month` and `day` properties. |

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_stats` | The stats for the specified date range. |

## `getStore()`

Returns the application store to which the application belongs. Possible return values: `"iOS", "Android"`.

### Return values:

| Type | Description |
|---|---|
| `String` | The application store to which the application belongs. |

## `isMobilePreferred()`

Returns `true` if the campaign-level mobile app specifies mobile device preference.

> [!WARNING]
> **Deprecated.**

### Return values:

| Type | Description |
|---|---|
| `boolean` | `true` if the campaign-level mobile app specifies mobile device preference. |

## `setAppId(appId)`

Sets the application store-specific ID of the campaign-level mobile app.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| appId | `String` | The application store-specific ID of the campaign-level mobile app. |

## `setEndDate(date)`

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

For instance, `campaignMobileApp.setEndDate("20130503");` is equivalent to `campaignMobileApp.setEndDate({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.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| date | `Object` | The new campaign-level mobile app end date. |

## `setLinkText(linkText)`

Sets the link text of the campaign-level mobile app.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| linkText | `String` | The link text of the campaign-level mobile app. |

## `setLinkUrl(linkUrl)`

Sets the link URL of the campaign-level mobile app.

> [!WARNING]
> **Deprecated.** This method will be sunset when link URLs become read-only on July 1, 2015. Please use [MobileAppUrls.setFinalUrl](https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_mobileappurls#setFinalUrl_finalUrl) instead. See [Using Upgraded
> URLs](https://support.google.com/google-ads/answer/6049217) for more information.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| linkUrl | `String` | The link URL of the campaign-level mobile app. |

## `setMobilePreferred(isMobilePreferred)`

Sets the campaign-level mobile app's device preference.

> [!WARNING]
> **Deprecated.**

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| isMobilePreferred | `boolean` | `true` sets the device preference to mobile. `false` clears the device preference. |

## `setSchedules(schedules)`

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

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

The following example sets the campaign-level 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
};

campaignMobileApp.setSchedules([mondayMorning, tuesdayMorning]);
```

> [!WARNING]
> **Deprecated.**

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| schedules | `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_extensionschedule` | The new campaign-level mobile app schedules. |

## `setStartDate(date)`

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

For instance, `campaignMobileApp.setStartDate("20130503");` is equivalent to `campaignMobileApp.setStartDate({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 campaign-level mobile app's end date.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| date | `Object` | The new campaign-level mobile app start date. |

## `setStore(store)`

Sets the application store to which the application belongs. Possible parameter values: `"iOS", "Android"`.

Returns nothing.

### Arguments:

| Name | Type | Description |
|---|---|---|
| store | `String` | The application store to which the application belongs. |

## `urls()`

Provides access to the URL fields of this campaign-level mobile app. See [Using upgraded
URLs](https://support.google.com/google-ads/answer/6049217) for more information.

### Return values:

| Type | Description |
|---|---|
| `https://developers.google.com/google-ads/scripts/docs/reference/adsapp/adsapp_mobileappurls` | Access to the URL fields of this campaign-level mobile app. |