# firebase::gma::AdView


`#include <ad_view.h>`

Loads and displays Google Mobile Ads [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) ads.

## Summary

Each [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) object corresponds to a single GMA ad placement of a specified size. There are methods to load an ad, move it, show it and hide it, and retrieve the bounds of the ad onscreen.

[AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) objects provide information about their current state through Futures. Methods like [Initialize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a86bc67a9a5885b6d800a16d881b963b9), [LoadAd](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad3161b6bd86bb92718ed4e99bb146562), and [Hide](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a55c8afd7f247b437ddce2625a3ff9243) each have a corresponding [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) from which the result of the last call can be determined. The two variants of [SetPosition](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a21b9a94625287a90e59545ce52865c20) share a single result [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future), since they're essentially the same action.

For example, you could initialize, load, and show an [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) while checking the result of the previous action at each step as follows:


```c++
namespace gma = ::firebase::gma;
gma::AdView* ad_view = new gma::AdView();
ad_view->Initialize(ad_parent, "YOUR_AD_UNIT_ID", desired_ad_size)
```

<br />

Then, later:


```c++
if (ad_view->InitializeLastResult().status() ==
    ::firebase::kFutureStatusComplete &&
    ad_view->InitializeLastResult().error() ==
    firebase::gma::kAdErrorCodeNone) {
  ad_view->LoadAd(your_ad_request);
}
```

<br />

**[Deprecated.](https://developers.google.com/admob/cpp/reference/deprecated/deprecated)** The Google Mobile Ads C++ SDK is now deprecated. Please see <https://developers.google.com/admob/cpp/reference/namespace/firebase/gma> for more information.

| ### Constructors and Destructors ||
|---|---|
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a42f58debec2e7442a43ebfa1569ab7df()` Creates an uninitialized [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) object. ||
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab821e50589ff0dcf7875d6ddab4cc8d4()` ||

| ### Public types ||
|---|---|
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09b{ https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09baedf48fe4f19515ba8d0b4fb38b053dfe = -1, https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09ba92b1f34107c910b3f5d7095d3a7a231e = 0, https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09ba68094cd46ee314997899d5b4d1f69760, https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09ba39fca6160c5771e239d67c12e4f9d2be, https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09ba8b476ee59671bad46bbb63371ad4f997, https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09baa50f38d9b6a82b155f203d8423e0d734, https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09baf81eefb070d9471e961e7053502730fa }` | enumThe possible screen positions for a [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view), configured via [SetPosition](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a21b9a94625287a90e59545ce52865c20). |

| ### Protected attributes ||
|---|---|
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a37d6332dc983b01e5f37c8c9f04fd8c1` | `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener *` Pointer to a listener for [AdListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener) events. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a57f5070ad26a266ea072e62f133685be` | `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view-bounding-box-listener#classfirebase_1_1gma_1_1_ad_view_bounding_box_listener *` Pointer to a listener for [BoundingBox](https://developers.google.com/admob/cpp/reference/struct/firebase/gma/bounding-box#structfirebase_1_1gma_1_1_bounding_box) events. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a7d1e7a2674a5d30a8b077388e57ff26b` | `https://developers.google.com/admob/cpp/reference/class/firebase/gma/paid-event-listener#classfirebase_1_1gma_1_1_paid_event_listener *` Pointer to a listener for paid events. |

| ### Public functions ||
|---|---|
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1abba79840893cdeb855caaba505d0a3df()` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Cleans up and deallocates any resources used by the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a728dd10329be18a9c10f53ebb8bbadbb() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Destroy](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1abba79840893cdeb855caaba505d0a3df). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a55c8afd7f247b437ddce2625a3ff9243()` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Hides the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad50c61180d270f52f027bbcc86cfdb5e() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Hide](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a55c8afd7f247b437ddce2625a3ff9243). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a86bc67a9a5885b6d800a16d881b963b9(https://developers.google.com/admob/cpp/reference/namespace/firebase/gma#namespacefirebase_1_1gma_1a1ed4b6a8f045afeb8aea12e47884ca9c parent, const char *ad_unit_id, const https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-size#classfirebase_1_1gma_1_1_ad_size & size)` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Initializes the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) object. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a63a6781d189a32d991c01692cc4667b0() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) that has the status of the last call to [Initialize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a86bc67a9a5885b6d800a16d881b963b9). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad3161b6bd86bb92718ed4e99bb146562(const https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-request#classfirebase_1_1gma_1_1_ad_request & request)` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-result#classfirebase_1_1gma_1_1_ad_result >` Begins an asynchronous request for an ad. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a710dfdb9be067fdb2ed991a4c7e4b2af() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-result#classfirebase_1_1gma_1_1_ad_result >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [LoadAd](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad3161b6bd86bb92718ed4e99bb146562). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1afa86ebdef8488a2ab2aa44b4fbb4c810()` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Pauses the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a73159ef7e22e2995e58cbbd3eb7f1b8f() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Pause](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1afa86ebdef8488a2ab2aa44b4fbb4c810). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad0c2c8f71f542b54fa125aa559f092cd()` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Resumes the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) after pausing. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad2cd71c15e6910cea2e22f2ee578f3b0() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Resume](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad0c2c8f71f542b54fa125aa559f092cd). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab337140147edf4d430a7139840f4663e(https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener *listener)` | `void` Sets an [AdListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener) for this ad view. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1acb82158262dd0edd340383ba184c1a94(https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view-bounding-box-listener#classfirebase_1_1gma_1_1_ad_view_bounding_box_listener *listener)` | `void` Sets a listener to be invoked when the Ad's bounding box changes size or location. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1af8e60309387dfb0d6f296cb0369551ba(https://developers.google.com/admob/cpp/reference/class/firebase/gma/paid-event-listener#classfirebase_1_1gma_1_1_paid_event_listener *listener)` | `void` Sets a listener to be invoked when this ad is estimated to have earned money. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a21b9a94625287a90e59545ce52865c20(int x, int y)` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Moves the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) so that its top-left corner is located at (x, y). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a24a41d18a2d64a176edbcf4c5d22b0a6(https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ab962353200f02b196b4230c3ac01c09b position)` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Moves the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) so that it's located at the given predefined position. |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a1eb4558acf6892f77665fa725c533f9f() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to either version of [SetPosition](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a21b9a94625287a90e59545ce52865c20). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a6fd6d3a4fc8c79a01fe723ccabeb350e()` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Shows the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a97e684387702ead78fe66ae886012891() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future< void >` Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Show](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a6fd6d3a4fc8c79a01fe723ccabeb350e). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ae6e63939d1496e45365a4204e63dff02() const ` | `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-size#classfirebase_1_1gma_1_1_ad_size` Returns the [AdSize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-size#classfirebase_1_1gma_1_1_ad_size) of the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view). |
| `https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a8fa02fdbb8c72418d4306cdd4cb1fc48() const ` | `https://developers.google.com/admob/cpp/reference/struct/firebase/gma/bounding-box#structfirebase_1_1gma_1_1_bounding_box` Retrieves the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view)'s current onscreen size and location. |

## Public types

### Position

```c++
 Position
```
The possible screen positions for a [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view), configured via [SetPosition](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a21b9a94625287a90e59545ce52865c20).

| Properties ||
|---|---|
| `kPositionBottom` | Bottom of the screen, horizontally centered. |
| `kPositionBottomLeft` | Bottom-left corner of the screen. |
| `kPositionBottomRight` | Bottom-right corner of the screen. |
| `kPositionTop` | Top of the screen, horizontally centered. |
| `kPositionTopLeft` | Top-left corner of the screen. |
| `kPositionTopRight` | Top-right corner of the screen. |
| `kPositionUndefined` | The position isn't one of the predefined screen locations. |

## Protected attributes

### ad_listener_

```c++
AdListener * ad_listener_
```
Pointer to a listener for [AdListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener) events.

### ad_view_bounding_box_listener_

```c++
AdViewBoundingBoxListener * ad_view_bounding_box_listener_
```
Pointer to a listener for [BoundingBox](https://developers.google.com/admob/cpp/reference/struct/firebase/gma/bounding-box#structfirebase_1_1gma_1_1_bounding_box) events.

### paid_event_listener_

```c++
PaidEventListener * paid_event_listener_
```
Pointer to a listener for paid events.

## Public functions

### AdView

```c++
 AdView()
```
Creates an uninitialized [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) object.

[Initialize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a86bc67a9a5885b6d800a16d881b963b9) must be called before the object is used.

### Destroy

```c++
Future< void > Destroy()
```
Cleans up and deallocates any resources used by the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).

You must call this asynchronous operation before this object's destructor is invoked or risk leaking device resources.

### DestroyLastResult

```c++
Future< void > DestroyLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Destroy](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1abba79840893cdeb855caaba505d0a3df).

### Hide

```c++
Future< void > Hide()
```
Hides the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).

### HideLastResult

```c++
Future< void > HideLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Hide](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a55c8afd7f247b437ddce2625a3ff9243).

### Initialize

```c++
Future< void > Initialize(
  AdParent parent,
  const char *ad_unit_id,
  const AdSize & size
)
```
Initializes the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) object.

<br />

Details Parameters `parent` The platform-specific UI element that will host the ad. `ad_unit_id` The ad unit ID to use when requesting ads. `size` The desired ad size for the ad.

### InitializeLastResult

```c++
Future< void > InitializeLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) that has the status of the last call to [Initialize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a86bc67a9a5885b6d800a16d881b963b9).

### LoadAd

```c++
Future< AdResult > LoadAd(
  const AdRequest & request
)
```
Begins an asynchronous request for an ad.

If successful, the ad will automatically be displayed in the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).
Details Parameters `request` An [AdRequest](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-request#classfirebase_1_1gma_1_1_ad_request) struct with information about the request to be made (such as targeting info).

### LoadAdLastResult

```c++
Future< AdResult > LoadAdLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [LoadAd](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad3161b6bd86bb92718ed4e99bb146562).

### Pause

```c++
Future< void > Pause()
```
Pauses the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).

Should be called whenever the C++ engine pauses or the application loses focus.

### PauseLastResult

```c++
Future< void > PauseLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Pause](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1afa86ebdef8488a2ab2aa44b4fbb4c810).

### Resume

```c++
Future< void > Resume()
```
Resumes the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) after pausing.

### ResumeLastResult

```c++
Future< void > ResumeLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Resume](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1ad0c2c8f71f542b54fa125aa559f092cd).

### SetAdListener

```c++
void SetAdListener(
  AdListener *listener
)
```
Sets an [AdListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener) for this ad view.

<br />

Details Parameters `listener` An [AdListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-listener#classfirebase_1_1gma_1_1_ad_listener) object which will be invoked when lifecycle events occur on this [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).

### SetBoundingBoxListener

```c++
void SetBoundingBoxListener(
  AdViewBoundingBoxListener *listener
)
```
Sets a listener to be invoked when the Ad's bounding box changes size or location.

<br />

Details Parameters `listener` A [AdViewBoundingBoxListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view-bounding-box-listener#classfirebase_1_1gma_1_1_ad_view_bounding_box_listener) object which will be invoked when the ad changes size, shape, or position.

### SetPaidEventListener

```c++
void SetPaidEventListener(
  PaidEventListener *listener
)
```
Sets a listener to be invoked when this ad is estimated to have earned money.

<br />

Details Parameters `listener` A [PaidEventListener](https://developers.google.com/admob/cpp/reference/class/firebase/gma/paid-event-listener#classfirebase_1_1gma_1_1_paid_event_listener) object to be invoked when a paid event occurs on the ad.

### SetPosition

```c++
Future< void > SetPosition(
  int x,
  int y
)
```
Moves the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) so that its top-left corner is located at (x, y).

Coordinates are in pixels from the top-left corner of the screen.

When built for Android, the library will not display an ad on top of or beneath an `Activity`'s status bar. If a call to SetPosition would result in an overlap, the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) is placed just below the status bar, so no overlap occurs.
Details Parameters `x` The desired horizontal coordinate. `y` The desired vertical coordinate. **Returns** a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) which will be completed when this move operation completes.

### SetPosition

```c++
Future< void > SetPosition(
  Position position
)
```
Moves the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view) so that it's located at the given predefined position.

<br />

Details Parameters `position` The predefined position to which to move the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view). **Returns** a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) which will be completed when this move operation completes.

### SetPositionLastResult

```c++
Future< void > SetPositionLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to either version of [SetPosition](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a21b9a94625287a90e59545ce52865c20).

### Show

```c++
Future< void > Show()
```
Shows the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).

### ShowLastResult

```c++
Future< void > ShowLastResult() const 
```
Returns a [Future](https://developers.google.com/admob/cpp/reference/class/firebase/future#classfirebase_1_1_future) containing the status of the last call to [Show](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view_1a6fd6d3a4fc8c79a01fe723ccabeb350e).

### ad_size

```c++
AdSize ad_size() const 
```
Returns the [AdSize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-size#classfirebase_1_1gma_1_1_ad_size) of the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view).

<br />

| Details ||
|---|---|
| **Returns** | An [AdSize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-size#classfirebase_1_1gma_1_1_ad_size) object representing the size of the ad. If this view has not been initialized then the [AdSize](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-size#classfirebase_1_1gma_1_1_ad_size) will be 0,0. |

### bounding_box

```c++
BoundingBox bounding_box() const 
```
Retrieves the [AdView](https://developers.google.com/admob/cpp/reference/class/firebase/gma/ad-view#classfirebase_1_1gma_1_1_ad_view)'s current onscreen size and location.

<br />

| Details ||
|---|---|
| **Returns** | The current size and location. Values are in pixels, and location coordinates originate from the top-left corner of the screen. |

### \~AdView

```c++
 ~AdView()
```