An open API service indexing awesome lists of open source software.

https://github.com/cap-go/capacitor-admob

Capacitor plugin to bridge AdMob SDKs for iOS and Android
https://github.com/cap-go/capacitor-admob

capacitor capacitor-plugin

Last synced: 2 months ago
JSON representation

Capacitor plugin to bridge AdMob SDKs for iOS and Android

Awesome Lists containing this project

README

          

# @capgo/capacitor-admob
Capgo - Instant updates for capacitor


➡️ Get Instant updates for your App with Capgo


Missing a feature? We’ll build the plugin for you 💪



AdMob SDK bridge for Capacitor apps

## Documentation

The most complete doc is available here: https://capgo.app/docs/plugins/admob/

## Compatibility

| Plugin version | Capacitor compatibility | Maintained |
| -------------- | ----------------------- | ---------- |
| v8.\*.\* | v8.\*.\* | ✅ |
| v7.\*.\* | v7.\*.\* | On demand |
| v6.\*.\* | v6.\*.\* | ❌ |
| v5.\*.\* | v5.\*.\* | ❌ |

> **Note:** The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.

## Install

```bash
npm install @capgo/capacitor-admob
npx cap sync
```

## API

* [`start()`](#start)
* [`configure(...)`](#configure)
* [`configRequest(...)`](#configrequest)
* [`adCreate(...)`](#adcreate)
* [`adIsLoaded(...)`](#adisloaded)
* [`adLoad(...)`](#adload)
* [`adShow(...)`](#adshow)
* [`adHide(...)`](#adhide)
* [`trackingAuthorizationStatus()`](#trackingauthorizationstatus)
* [`requestTrackingAuthorization()`](#requesttrackingauthorization)
* [`addListener(string, ...)`](#addlistenerstring-)
* [`getPluginVersion()`](#getpluginversion)
* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)
* [Enums](#enums)

AdMob Plus Plugin interface for displaying Google AdMob ads in Capacitor apps.

### start()

```typescript
start() => Promise
```

Initialize and start the AdMob SDK.

**Since:** 1.0.0

--------------------

### configure(...)

```typescript
configure(config: AdMobConfig) => Promise
```

Configure AdMob settings.

| Param | Type | Description |
| ------------ | --------------------------------------------------- | --------------------------------- |
| **`config`** | AdMobConfig | - Configuration options for AdMob |

**Since:** 1.0.0

--------------------

### configRequest(...)

```typescript
configRequest(requestConfig: RequestConfig) => Promise
```

Configure ad request settings.

| Param | Type | Description |
| ------------------- | ------------------------------------------------------- | ------------------------------- |
| **`requestConfig`** | RequestConfig | - Request configuration options |

**Since:** 1.0.0

--------------------

### adCreate(...)

```typescript
adCreate(opts: O) => Promise
```

Create a new ad instance.

| Param | Type | Description |
| ---------- | -------------- | --------------------------------------------------- |
| **`opts`** | O | - Options for creating the ad, including ad unit ID |

**Since:** 1.0.0

--------------------

### adIsLoaded(...)

```typescript
adIsLoaded(opts: { id: number; }) => Promise
```

Check if an ad is loaded and ready to be shown.

| Param | Type | Description |
| ---------- | ---------------------------- | ----------------------------- |
| **`opts`** | { id: number; } | - Object containing the ad ID |

**Returns:** Promise<boolean>

**Since:** 1.0.0

--------------------

### adLoad(...)

```typescript
adLoad(opts: { id: number; }) => Promise
```

Load an ad.

| Param | Type | Description |
| ---------- | ---------------------------- | ----------------------------- |
| **`opts`** | { id: number; } | - Object containing the ad ID |

**Since:** 1.0.0

--------------------

### adShow(...)

```typescript
adShow(opts: { id: number; }) => Promise
```

Show a loaded ad.

| Param | Type | Description |
| ---------- | ---------------------------- | ----------------------------- |
| **`opts`** | { id: number; } | - Object containing the ad ID |

**Since:** 1.0.0

--------------------

### adHide(...)

```typescript
adHide(opts: { id: number; }) => Promise
```

Hide a currently displayed ad.

| Param | Type | Description |
| ---------- | ---------------------------- | ----------------------------- |
| **`opts`** | { id: number; } | - Object containing the ad ID |

**Since:** 1.0.0

--------------------

### trackingAuthorizationStatus()

```typescript
trackingAuthorizationStatus() => Promise<{ status: TrackingAuthorizationStatus | false; }>
```

Get the current tracking authorization status (iOS only).

**Returns:** Promise<{ status: false | TrackingAuthorizationStatus; }>

**Since:** 1.0.0

--------------------

### requestTrackingAuthorization()

```typescript
requestTrackingAuthorization() => Promise<{ status: TrackingAuthorizationStatus | false; }>
```

Request tracking authorization from the user (iOS only).

**Returns:** Promise<{ status: false | TrackingAuthorizationStatus; }>

**Since:** 1.0.0

--------------------

### addListener(string, ...)

```typescript
addListener(eventName: string, listenerFunc: (event: any) => void) => Promise & PluginListenerHandle
```

Add a listener for ad events.

| Param | Type | Description |
| ------------------ | ------------------------------------ | -------------------------------------------- |
| **`eventName`** | string | - The name of the event to listen for |
| **`listenerFunc`** | (event: any) => void | - The function to call when the event occurs |

**Returns:** Promise<PluginListenerHandle> & PluginListenerHandle

**Since:** 1.0.0

--------------------

### getPluginVersion()

```typescript
getPluginVersion() => Promise<{ version: string; }>
```

Get the native Capacitor plugin version.

**Returns:** Promise<{ version: string; }>

**Since:** 1.0.0

--------------------

### Interfaces

#### PluginListenerHandle

| Prop | Type |
| ------------ | ----------------------------------------- |
| **`remove`** | () => Promise<void> |

### Type Aliases

#### AdMobConfig

Configuration options for AdMob.

{ /** Whether the app should be muted */ appMuted?: boolean; /** The app volume (0.0 to 1.0) */ appVolume?: number; }

#### RequestConfig

Configuration for ad requests.

{ /** Maximum ad content rating */ maxAdContentRating?: MaxAdContentRating; /** Whether to use the same app key */ sameAppKey?: boolean; /** Tag for child-directed treatment (true, false, or null for unspecified) */ tagForChildDirectedTreatment?: boolean | null; /** Tag for under age of consent (true, false, or null for unspecified) */ tagForUnderAgeOfConsent?: boolean | null; /** Array of test device IDs */ testDeviceIds?: string[]; }

#### MobileAdOptions

Base options for mobile ads.

{ /** The ad unit ID from AdMob */ adUnitId: string; }

### Enums

#### MaxAdContentRating

| Members | Value | Description |
| ----------------- | ----------------- | ------------------ |
| **`G`** | 'G' | General Audiences |
| **`MA`** | 'MA' | Mature Audiences |
| **`PG`** | 'PG' | Parental Guidance |
| **`T`** | 'T' | Teen |
| **`UNSPECIFIED`** | '' | Unspecified rating |

#### TrackingAuthorizationStatus

| Members | Value | Description |
| ------------------- | -------------- | ---------------------------------------------------------- |
| **`notDetermined`** | 0 | User has not yet received an authorization request |
| **`restricted`** | 1 | User restricted, device is unable to provide authorization |
| **`denied`** | 2 | User denied authorization |
| **`authorized`** | 3 | User authorized access |