Skip to content

Commit

Permalink
feat(admob-plus): Add admob-plus (#2753)
Browse files Browse the repository at this point in the history
  • Loading branch information
paulstelzer authored and danielsogl committed Oct 17, 2018
1 parent a167bd8 commit 6c99ec8
Showing 1 changed file with 93 additions and 0 deletions.
93 changes: 93 additions & 0 deletions src/@ionic-native/plugins/admob-plus/index.ts
@@ -0,0 +1,93 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable } from 'rxjs/Observable';
import { fromEvent } from 'rxjs/observable/fromEvent';

export type AdUnitIDOption = string | {
android: string;
ios: string;
};

/**
* @name AdMob Free
* @description
* AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
*/
@Plugin({
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob.banner',
})
export class Banner {
@Cordova({ otherPromise: true })
hide(): Promise<any> {
return Promise.resolve();
}

@Cordova({ otherPromise: true })
show(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve();
}
}

@Plugin({
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob.interstitial',
})
export class Interstitial {
@Cordova({ otherPromise: true })
load(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve();
}

@Cordova({ otherPromise: true })
show(): Promise<any> {
return Promise.resolve();
}
}

@Plugin({
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob.rewardVideo',
})
export class RewardVideo {
@Cordova({ otherPromise: true })
load(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve();
}

@Cordova({ otherPromise: true })
show(): Promise<any> {
return Promise.resolve();
}
}

@Plugin({
platforms: ['Android', 'iOS'],
plugin: 'cordova-admob-plus',
pluginName: 'AdMob',
pluginRef: 'admob',
repo: 'https://github.com/admob-plus/admob-plus',
})
@Injectable()
export class AdMob extends IonicNativePlugin {
banner = new Banner();
interstitial = new Interstitial();
rewardVideo = new RewardVideo();

@Cordova({ otherPromise: true })
setAppMuted(value: boolean): Promise<any> {
return Promise.resolve();
}

@Cordova({ otherPromise: true })
setAppVolume(value: number): Promise<any> {
return Promise.resolve();
}

on(event: string): Observable<any> {
return fromEvent(document, event);
}
}

0 comments on commit 6c99ec8

Please sign in to comment.