cordova-admob-tomitank 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/admob.js +0 -18
- package/esm/admob.js.map +1 -1
- package/esm/api.d.ts +8 -7
- package/esm/api.js +37 -29
- package/esm/api.js.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +23 -2
- package/esm/index.js.map +1 -1
- package/lib/admob.js +0 -44
- package/lib/admob.js.map +1 -1
- package/lib/api.d.ts +8 -7
- package/lib/api.js +38 -31
- package/lib/api.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +22 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/plugin.xml +1 -1
- package/src/www/admob.ts +0 -21
- package/src/www/api.ts +31 -19
- package/src/www/index.ts +31 -19
- package/www/admob.js +58 -66
package/esm/admob.js
CHANGED
|
@@ -1,22 +1,4 @@
|
|
|
1
1
|
import { AdMob } from '.';
|
|
2
|
-
import exec from 'cordova/exec';
|
|
3
|
-
import * as cordova from 'cordova';
|
|
4
|
-
import channel from 'cordova/channel';
|
|
5
|
-
import { MobileAd, NativeActions } from './shared';
|
|
6
2
|
var admob = new AdMob();
|
|
7
|
-
function onMessageFromNative(event) {
|
|
8
|
-
var data = event.data;
|
|
9
|
-
if (data && data.adId) {
|
|
10
|
-
data.ad = MobileAd.getAdById(data.adId);
|
|
11
|
-
}
|
|
12
|
-
cordova.fireDocumentEvent(event.type, data);
|
|
13
|
-
}
|
|
14
|
-
var feature = 'onAdMobPlusReady';
|
|
15
|
-
channel.createSticky(feature);
|
|
16
|
-
channel.waitForInitialization(feature);
|
|
17
|
-
channel.onCordovaReady.subscribe(function () {
|
|
18
|
-
exec(onMessageFromNative, console.error, 'AdMob', NativeActions.ready, []);
|
|
19
|
-
channel.initializationComplete(feature);
|
|
20
|
-
});
|
|
21
3
|
export default admob;
|
|
22
4
|
//# sourceMappingURL=admob.js.map
|
package/esm/admob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admob.js","sourceRoot":"","sources":["../src/www/admob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"admob.js","sourceRoot":"","sources":["../src/www/admob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AAE1B,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAE1B,eAAe,KAAK,CAAC"}
|
package/esm/api.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import BannerAd from './banner';
|
|
2
2
|
import { Events } from './generated';
|
|
3
3
|
export { execAsync, AdSizeType, Events, NativeActions } from './generated';
|
|
4
|
-
/** @internal */
|
|
5
4
|
export declare type MobileAdOptions = {
|
|
6
5
|
id?: string;
|
|
7
6
|
adUnitId: string;
|
|
@@ -12,20 +11,22 @@ export declare type MobileAdOptions = {
|
|
|
12
11
|
declare type AdEventNames = Exclude<keyof typeof Events, 'ready'> extends infer K ? K extends keyof typeof Events ? typeof Events[K] extends `admob.${string}.${infer EventName}` ? EventName : never : never : never;
|
|
13
12
|
declare type AdEventNamesByType<T extends MobileAd<any>> = T extends BannerAd ? Omit<AdEventNames, 'size' | 'sizechange'> : AdEventNames;
|
|
14
13
|
/** @internal */
|
|
15
|
-
export declare function start(): Promise<{
|
|
16
|
-
version: string;
|
|
17
|
-
}>;
|
|
18
|
-
/** @internal */
|
|
19
14
|
export declare class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
20
|
-
static
|
|
15
|
+
private static startPromise;
|
|
21
16
|
private static allAds;
|
|
17
|
+
private static started;
|
|
18
|
+
private eventRemovers;
|
|
19
|
+
private _init;
|
|
22
20
|
readonly id: string;
|
|
23
21
|
protected readonly opts: T;
|
|
24
22
|
private _created;
|
|
25
|
-
private _init;
|
|
26
23
|
constructor(opts: T);
|
|
27
24
|
static getAdById(id: string): MobileAd<MobileAdOptions>;
|
|
28
25
|
get adUnitId(): string;
|
|
26
|
+
static start(): Promise<{
|
|
27
|
+
version: string;
|
|
28
|
+
}>;
|
|
29
|
+
static cleanup(): void;
|
|
29
30
|
on<EventNames extends AdEventNamesByType<this>>(eventName: EventNames, callback: (ev: Event) => any, useCapture?: boolean): () => void;
|
|
30
31
|
protected isLoaded(): Promise<boolean>;
|
|
31
32
|
protected load(): Promise<void>;
|
package/esm/api.js
CHANGED
|
@@ -47,31 +47,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
47
47
|
};
|
|
48
48
|
import { execAsync, NativeActions } from './generated';
|
|
49
49
|
export { execAsync, AdSizeType, Events, NativeActions } from './generated';
|
|
50
|
-
var started = false;
|
|
51
|
-
var startPromise = null;
|
|
52
|
-
/** @internal */
|
|
53
|
-
export function start() {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
-
var result;
|
|
56
|
-
return __generator(this, function (_a) {
|
|
57
|
-
switch (_a.label) {
|
|
58
|
-
case 0:
|
|
59
|
-
startPromise = execAsync(NativeActions.start);
|
|
60
|
-
return [4 /*yield*/, startPromise];
|
|
61
|
-
case 1:
|
|
62
|
-
result = _a.sent();
|
|
63
|
-
started = true;
|
|
64
|
-
return [2 /*return*/, result];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
50
|
/** @internal */
|
|
70
51
|
var MobileAd = /** @class */ (function () {
|
|
71
52
|
function MobileAd(opts) {
|
|
72
53
|
var _a;
|
|
73
|
-
this.
|
|
54
|
+
this.eventRemovers = [];
|
|
74
55
|
this._init = null;
|
|
56
|
+
this._created = false;
|
|
75
57
|
this.opts = opts;
|
|
76
58
|
this.id = (_a = opts.id) !== null && _a !== void 0 ? _a : opts.adUnitId;
|
|
77
59
|
MobileAd.allAds[this.id] = this;
|
|
@@ -86,6 +68,30 @@ var MobileAd = /** @class */ (function () {
|
|
|
86
68
|
enumerable: false,
|
|
87
69
|
configurable: true
|
|
88
70
|
});
|
|
71
|
+
MobileAd.start = function () {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
+
var result;
|
|
74
|
+
return __generator(this, function (_a) {
|
|
75
|
+
switch (_a.label) {
|
|
76
|
+
case 0:
|
|
77
|
+
if (!!this.startPromise) return [3 /*break*/, 2];
|
|
78
|
+
this.startPromise = execAsync(NativeActions.start);
|
|
79
|
+
return [4 /*yield*/, this.startPromise];
|
|
80
|
+
case 1:
|
|
81
|
+
result = _a.sent();
|
|
82
|
+
this.started = true;
|
|
83
|
+
return [2 /*return*/, result];
|
|
84
|
+
case 2: return [2 /*return*/, this.startPromise];
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
MobileAd.cleanup = function () {
|
|
90
|
+
Object.values(this.allAds).forEach(function (ad) { return ad.eventRemovers.forEach(function (remover) { return remover(); }); });
|
|
91
|
+
this.allAds = {};
|
|
92
|
+
this.started = false;
|
|
93
|
+
this.startPromise = null;
|
|
94
|
+
};
|
|
89
95
|
MobileAd.prototype.on = function (eventName, callback, useCapture) {
|
|
90
96
|
var _this = this;
|
|
91
97
|
var type = "admob.ad.".concat(eventName.toLowerCase());
|
|
@@ -95,9 +101,14 @@ var MobileAd = /** @class */ (function () {
|
|
|
95
101
|
}
|
|
96
102
|
};
|
|
97
103
|
document.addEventListener(type, listener, useCapture);
|
|
98
|
-
|
|
104
|
+
var removeFn = function () {
|
|
99
105
|
document.removeEventListener(type, listener, useCapture);
|
|
106
|
+
var index = _this.eventRemovers.indexOf(removeFn);
|
|
107
|
+
if (index !== -1)
|
|
108
|
+
_this.eventRemovers.splice(index, 1);
|
|
100
109
|
};
|
|
110
|
+
this.eventRemovers.push(removeFn);
|
|
111
|
+
return removeFn;
|
|
101
112
|
};
|
|
102
113
|
MobileAd.prototype.isLoaded = function () {
|
|
103
114
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -115,9 +126,7 @@ var MobileAd = /** @class */ (function () {
|
|
|
115
126
|
return __awaiter(this, void 0, void 0, function () {
|
|
116
127
|
return __generator(this, function (_a) {
|
|
117
128
|
switch (_a.label) {
|
|
118
|
-
case 0: return [4 /*yield*/, this.init()
|
|
119
|
-
// TODO read `opts` in native code?
|
|
120
|
-
];
|
|
129
|
+
case 0: return [4 /*yield*/, this.init()];
|
|
121
130
|
case 1:
|
|
122
131
|
_a.sent();
|
|
123
132
|
// TODO read `opts` in native code?
|
|
@@ -158,10 +167,8 @@ var MobileAd = /** @class */ (function () {
|
|
|
158
167
|
case 0:
|
|
159
168
|
if (this._created)
|
|
160
169
|
return [2 /*return*/];
|
|
161
|
-
if (!!started) return [3 /*break*/, 2];
|
|
162
|
-
|
|
163
|
-
start();
|
|
164
|
-
return [4 /*yield*/, startPromise];
|
|
170
|
+
if (!!MobileAd.started) return [3 /*break*/, 2];
|
|
171
|
+
return [4 /*yield*/, MobileAd.start()];
|
|
165
172
|
case 1:
|
|
166
173
|
_b.sent();
|
|
167
174
|
_b.label = 2;
|
|
@@ -181,8 +188,9 @@ var MobileAd = /** @class */ (function () {
|
|
|
181
188
|
});
|
|
182
189
|
});
|
|
183
190
|
};
|
|
184
|
-
MobileAd.
|
|
191
|
+
MobileAd.startPromise = null;
|
|
185
192
|
MobileAd.allAds = {};
|
|
193
|
+
MobileAd.started = false;
|
|
186
194
|
return MobileAd;
|
|
187
195
|
}());
|
|
188
196
|
export { MobileAd };
|
package/esm/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/www/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAU,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/www/api.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export declare class AdMob {
|
|
|
17
17
|
readonly AdSizeType: typeof AdSizeType;
|
|
18
18
|
readonly Events: typeof Events;
|
|
19
19
|
readonly TrackingAuthorizationStatus: typeof TrackingAuthorizationStatus;
|
|
20
|
+
constructor();
|
|
21
|
+
cleanup(): void;
|
|
20
22
|
configure(config: AdMobConfig): Promise<unknown>;
|
|
21
23
|
configRequest(requestConfig: RequestConfig): Promise<unknown>;
|
|
22
24
|
setAppMuted(value: boolean): Promise<unknown>;
|
package/esm/index.js
CHANGED
|
@@ -34,15 +34,31 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
import { exec } from 'cordova';
|
|
37
38
|
import AppOpenAd from './app-open';
|
|
39
|
+
import channel from 'cordova/channel';
|
|
38
40
|
import InterstitialAd from './interstitial';
|
|
39
41
|
import BannerAd from './banner';
|
|
40
42
|
import NativeAd from './native';
|
|
41
43
|
import RewardedAd from './rewarded';
|
|
42
44
|
import RewardedInterstitialAd from './rewarded-interstitial';
|
|
43
|
-
import { Events, execAsync, NativeActions,
|
|
45
|
+
import { Events, execAsync, NativeActions, AdSizeType, TrackingAuthorizationStatus, MobileAd } from './shared';
|
|
44
46
|
export * from './api';
|
|
45
47
|
export { AppOpenAd, BannerAd, InterstitialAd, NativeAd, RewardedAd, RewardedInterstitialAd, };
|
|
48
|
+
function onMessageFromNative(event) {
|
|
49
|
+
var data = event.data;
|
|
50
|
+
if (data && data.adId) {
|
|
51
|
+
data.ad = MobileAd.getAdById(data.adId);
|
|
52
|
+
}
|
|
53
|
+
cordova.fireDocumentEvent(event.type, data);
|
|
54
|
+
}
|
|
55
|
+
function cordovaEventListener() {
|
|
56
|
+
var feature = 'onAdMobPlusReady';
|
|
57
|
+
channel.createSticky(feature);
|
|
58
|
+
channel.waitForInitialization(feature);
|
|
59
|
+
exec(onMessageFromNative, console.error, 'AdMob', NativeActions.ready, []);
|
|
60
|
+
channel.initializationComplete(feature);
|
|
61
|
+
}
|
|
46
62
|
var AdMob = /** @class */ (function () {
|
|
47
63
|
function AdMob() {
|
|
48
64
|
this.AppOpenAd = AppOpenAd;
|
|
@@ -54,7 +70,12 @@ var AdMob = /** @class */ (function () {
|
|
|
54
70
|
this.AdSizeType = AdSizeType;
|
|
55
71
|
this.Events = Events;
|
|
56
72
|
this.TrackingAuthorizationStatus = TrackingAuthorizationStatus;
|
|
73
|
+
channel.onCordovaReady.subscribe(cordovaEventListener);
|
|
57
74
|
}
|
|
75
|
+
AdMob.prototype.cleanup = function () {
|
|
76
|
+
MobileAd.cleanup();
|
|
77
|
+
channel.onCordovaReady.unsubscribe(cordovaEventListener);
|
|
78
|
+
};
|
|
58
79
|
AdMob.prototype.configure = function (config) {
|
|
59
80
|
return execAsync(NativeActions.configure, [config]);
|
|
60
81
|
};
|
|
@@ -68,7 +89,7 @@ var AdMob = /** @class */ (function () {
|
|
|
68
89
|
return execAsync(NativeActions.setAppVolume, [value]);
|
|
69
90
|
};
|
|
70
91
|
AdMob.prototype.start = function () {
|
|
71
|
-
return start();
|
|
92
|
+
return MobileAd.start();
|
|
72
93
|
};
|
|
73
94
|
AdMob.prototype.requestTrackingAuthorization = function () {
|
|
74
95
|
return __awaiter(this, void 0, void 0, function () {
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/www/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,QAA6B,MAAM,UAAU,CAAC;AACrD,OAAO,QAA6B,MAAM,UAAU,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/www/index.ts"],"names":[],"mappings":"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"}
|
package/lib/admob.js
CHANGED
|
@@ -1,50 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
3
|
var _1 = require(".");
|
|
30
|
-
var exec_1 = __importDefault(require("cordova/exec"));
|
|
31
|
-
var cordova = __importStar(require("cordova"));
|
|
32
|
-
var channel_1 = __importDefault(require("cordova/channel"));
|
|
33
|
-
var shared_1 = require("./shared");
|
|
34
4
|
var admob = new _1.AdMob();
|
|
35
|
-
function onMessageFromNative(event) {
|
|
36
|
-
var data = event.data;
|
|
37
|
-
if (data && data.adId) {
|
|
38
|
-
data.ad = shared_1.MobileAd.getAdById(data.adId);
|
|
39
|
-
}
|
|
40
|
-
cordova.fireDocumentEvent(event.type, data);
|
|
41
|
-
}
|
|
42
|
-
var feature = 'onAdMobPlusReady';
|
|
43
|
-
channel_1.default.createSticky(feature);
|
|
44
|
-
channel_1.default.waitForInitialization(feature);
|
|
45
|
-
channel_1.default.onCordovaReady.subscribe(function () {
|
|
46
|
-
(0, exec_1.default)(onMessageFromNative, console.error, 'AdMob', shared_1.NativeActions.ready, []);
|
|
47
|
-
channel_1.default.initializationComplete(feature);
|
|
48
|
-
});
|
|
49
5
|
exports.default = admob;
|
|
50
6
|
//# sourceMappingURL=admob.js.map
|
package/lib/admob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admob.js","sourceRoot":"","sources":["../src/www/admob.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"admob.js","sourceRoot":"","sources":["../src/www/admob.ts"],"names":[],"mappings":";;AAAA,sBAA0B;AAE1B,IAAM,KAAK,GAAG,IAAI,QAAK,EAAE,CAAC;AAE1B,kBAAe,KAAK,CAAC"}
|
package/lib/api.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import BannerAd from './banner';
|
|
2
2
|
import { Events } from './generated';
|
|
3
3
|
export { execAsync, AdSizeType, Events, NativeActions } from './generated';
|
|
4
|
-
/** @internal */
|
|
5
4
|
export declare type MobileAdOptions = {
|
|
6
5
|
id?: string;
|
|
7
6
|
adUnitId: string;
|
|
@@ -12,20 +11,22 @@ export declare type MobileAdOptions = {
|
|
|
12
11
|
declare type AdEventNames = Exclude<keyof typeof Events, 'ready'> extends infer K ? K extends keyof typeof Events ? typeof Events[K] extends `admob.${string}.${infer EventName}` ? EventName : never : never : never;
|
|
13
12
|
declare type AdEventNamesByType<T extends MobileAd<any>> = T extends BannerAd ? Omit<AdEventNames, 'size' | 'sizechange'> : AdEventNames;
|
|
14
13
|
/** @internal */
|
|
15
|
-
export declare function start(): Promise<{
|
|
16
|
-
version: string;
|
|
17
|
-
}>;
|
|
18
|
-
/** @internal */
|
|
19
14
|
export declare class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
20
|
-
static
|
|
15
|
+
private static startPromise;
|
|
21
16
|
private static allAds;
|
|
17
|
+
private static started;
|
|
18
|
+
private eventRemovers;
|
|
19
|
+
private _init;
|
|
22
20
|
readonly id: string;
|
|
23
21
|
protected readonly opts: T;
|
|
24
22
|
private _created;
|
|
25
|
-
private _init;
|
|
26
23
|
constructor(opts: T);
|
|
27
24
|
static getAdById(id: string): MobileAd<MobileAdOptions>;
|
|
28
25
|
get adUnitId(): string;
|
|
26
|
+
static start(): Promise<{
|
|
27
|
+
version: string;
|
|
28
|
+
}>;
|
|
29
|
+
static cleanup(): void;
|
|
29
30
|
on<EventNames extends AdEventNamesByType<this>>(eventName: EventNames, callback: (ev: Event) => any, useCapture?: boolean): () => void;
|
|
30
31
|
protected isLoaded(): Promise<boolean>;
|
|
31
32
|
protected load(): Promise<void>;
|
package/lib/api.js
CHANGED
|
@@ -47,39 +47,20 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.TrackingAuthorizationStatus = exports.MaxAdContentRating = exports.MobileAd = exports.
|
|
50
|
+
exports.TrackingAuthorizationStatus = exports.MaxAdContentRating = exports.MobileAd = exports.NativeActions = exports.Events = exports.AdSizeType = exports.execAsync = void 0;
|
|
51
51
|
var generated_1 = require("./generated");
|
|
52
52
|
var generated_2 = require("./generated");
|
|
53
53
|
Object.defineProperty(exports, "execAsync", { enumerable: true, get: function () { return generated_2.execAsync; } });
|
|
54
54
|
Object.defineProperty(exports, "AdSizeType", { enumerable: true, get: function () { return generated_2.AdSizeType; } });
|
|
55
55
|
Object.defineProperty(exports, "Events", { enumerable: true, get: function () { return generated_2.Events; } });
|
|
56
56
|
Object.defineProperty(exports, "NativeActions", { enumerable: true, get: function () { return generated_2.NativeActions; } });
|
|
57
|
-
var started = false;
|
|
58
|
-
var startPromise = null;
|
|
59
|
-
/** @internal */
|
|
60
|
-
function start() {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
62
|
-
var result;
|
|
63
|
-
return __generator(this, function (_a) {
|
|
64
|
-
switch (_a.label) {
|
|
65
|
-
case 0:
|
|
66
|
-
startPromise = (0, generated_1.execAsync)(generated_1.NativeActions.start);
|
|
67
|
-
return [4 /*yield*/, startPromise];
|
|
68
|
-
case 1:
|
|
69
|
-
result = _a.sent();
|
|
70
|
-
started = true;
|
|
71
|
-
return [2 /*return*/, result];
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
exports.start = start;
|
|
77
57
|
/** @internal */
|
|
78
58
|
var MobileAd = /** @class */ (function () {
|
|
79
59
|
function MobileAd(opts) {
|
|
80
60
|
var _a;
|
|
81
|
-
this.
|
|
61
|
+
this.eventRemovers = [];
|
|
82
62
|
this._init = null;
|
|
63
|
+
this._created = false;
|
|
83
64
|
this.opts = opts;
|
|
84
65
|
this.id = (_a = opts.id) !== null && _a !== void 0 ? _a : opts.adUnitId;
|
|
85
66
|
MobileAd.allAds[this.id] = this;
|
|
@@ -94,6 +75,30 @@ var MobileAd = /** @class */ (function () {
|
|
|
94
75
|
enumerable: false,
|
|
95
76
|
configurable: true
|
|
96
77
|
});
|
|
78
|
+
MobileAd.start = function () {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
+
var result;
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0:
|
|
84
|
+
if (!!this.startPromise) return [3 /*break*/, 2];
|
|
85
|
+
this.startPromise = (0, generated_1.execAsync)(generated_1.NativeActions.start);
|
|
86
|
+
return [4 /*yield*/, this.startPromise];
|
|
87
|
+
case 1:
|
|
88
|
+
result = _a.sent();
|
|
89
|
+
this.started = true;
|
|
90
|
+
return [2 /*return*/, result];
|
|
91
|
+
case 2: return [2 /*return*/, this.startPromise];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
MobileAd.cleanup = function () {
|
|
97
|
+
Object.values(this.allAds).forEach(function (ad) { return ad.eventRemovers.forEach(function (remover) { return remover(); }); });
|
|
98
|
+
this.allAds = {};
|
|
99
|
+
this.started = false;
|
|
100
|
+
this.startPromise = null;
|
|
101
|
+
};
|
|
97
102
|
MobileAd.prototype.on = function (eventName, callback, useCapture) {
|
|
98
103
|
var _this = this;
|
|
99
104
|
var type = "admob.ad.".concat(eventName.toLowerCase());
|
|
@@ -103,9 +108,14 @@ var MobileAd = /** @class */ (function () {
|
|
|
103
108
|
}
|
|
104
109
|
};
|
|
105
110
|
document.addEventListener(type, listener, useCapture);
|
|
106
|
-
|
|
111
|
+
var removeFn = function () {
|
|
107
112
|
document.removeEventListener(type, listener, useCapture);
|
|
113
|
+
var index = _this.eventRemovers.indexOf(removeFn);
|
|
114
|
+
if (index !== -1)
|
|
115
|
+
_this.eventRemovers.splice(index, 1);
|
|
108
116
|
};
|
|
117
|
+
this.eventRemovers.push(removeFn);
|
|
118
|
+
return removeFn;
|
|
109
119
|
};
|
|
110
120
|
MobileAd.prototype.isLoaded = function () {
|
|
111
121
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -123,9 +133,7 @@ var MobileAd = /** @class */ (function () {
|
|
|
123
133
|
return __awaiter(this, void 0, void 0, function () {
|
|
124
134
|
return __generator(this, function (_a) {
|
|
125
135
|
switch (_a.label) {
|
|
126
|
-
case 0: return [4 /*yield*/, this.init()
|
|
127
|
-
// TODO read `opts` in native code?
|
|
128
|
-
];
|
|
136
|
+
case 0: return [4 /*yield*/, this.init()];
|
|
129
137
|
case 1:
|
|
130
138
|
_a.sent();
|
|
131
139
|
// TODO read `opts` in native code?
|
|
@@ -166,10 +174,8 @@ var MobileAd = /** @class */ (function () {
|
|
|
166
174
|
case 0:
|
|
167
175
|
if (this._created)
|
|
168
176
|
return [2 /*return*/];
|
|
169
|
-
if (!!started) return [3 /*break*/, 2];
|
|
170
|
-
|
|
171
|
-
start();
|
|
172
|
-
return [4 /*yield*/, startPromise];
|
|
177
|
+
if (!!MobileAd.started) return [3 /*break*/, 2];
|
|
178
|
+
return [4 /*yield*/, MobileAd.start()];
|
|
173
179
|
case 1:
|
|
174
180
|
_b.sent();
|
|
175
181
|
_b.label = 2;
|
|
@@ -189,8 +195,9 @@ var MobileAd = /** @class */ (function () {
|
|
|
189
195
|
});
|
|
190
196
|
});
|
|
191
197
|
};
|
|
192
|
-
MobileAd.
|
|
198
|
+
MobileAd.startPromise = null;
|
|
193
199
|
MobileAd.allAds = {};
|
|
200
|
+
MobileAd.started = false;
|
|
194
201
|
return MobileAd;
|
|
195
202
|
}());
|
|
196
203
|
exports.MobileAd = MobileAd;
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/www/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAA+D;AAC/D,yCAA2E;AAAlE,sGAAA,SAAS,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,0GAAA,aAAa,OAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/www/api.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export declare class AdMob {
|
|
|
17
17
|
readonly AdSizeType: typeof AdSizeType;
|
|
18
18
|
readonly Events: typeof Events;
|
|
19
19
|
readonly TrackingAuthorizationStatus: typeof TrackingAuthorizationStatus;
|
|
20
|
+
constructor();
|
|
21
|
+
cleanup(): void;
|
|
20
22
|
configure(config: AdMobConfig): Promise<unknown>;
|
|
21
23
|
configRequest(requestConfig: RequestConfig): Promise<unknown>;
|
|
22
24
|
setAppMuted(value: boolean): Promise<unknown>;
|
package/lib/index.js
CHANGED
|
@@ -54,8 +54,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
54
54
|
};
|
|
55
55
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
56
|
exports.AdMob = exports.RewardedInterstitialAd = exports.RewardedAd = exports.NativeAd = exports.InterstitialAd = exports.BannerAd = exports.AppOpenAd = void 0;
|
|
57
|
+
var cordova_1 = require("cordova");
|
|
57
58
|
var app_open_1 = __importDefault(require("./app-open"));
|
|
58
59
|
exports.AppOpenAd = app_open_1.default;
|
|
60
|
+
var channel_1 = __importDefault(require("cordova/channel"));
|
|
59
61
|
var interstitial_1 = __importDefault(require("./interstitial"));
|
|
60
62
|
exports.InterstitialAd = interstitial_1.default;
|
|
61
63
|
var banner_1 = __importDefault(require("./banner"));
|
|
@@ -68,6 +70,20 @@ var rewarded_interstitial_1 = __importDefault(require("./rewarded-interstitial")
|
|
|
68
70
|
exports.RewardedInterstitialAd = rewarded_interstitial_1.default;
|
|
69
71
|
var shared_1 = require("./shared");
|
|
70
72
|
__exportStar(require("./api"), exports);
|
|
73
|
+
function onMessageFromNative(event) {
|
|
74
|
+
var data = event.data;
|
|
75
|
+
if (data && data.adId) {
|
|
76
|
+
data.ad = shared_1.MobileAd.getAdById(data.adId);
|
|
77
|
+
}
|
|
78
|
+
cordova.fireDocumentEvent(event.type, data);
|
|
79
|
+
}
|
|
80
|
+
function cordovaEventListener() {
|
|
81
|
+
var feature = 'onAdMobPlusReady';
|
|
82
|
+
channel_1.default.createSticky(feature);
|
|
83
|
+
channel_1.default.waitForInitialization(feature);
|
|
84
|
+
(0, cordova_1.exec)(onMessageFromNative, console.error, 'AdMob', shared_1.NativeActions.ready, []);
|
|
85
|
+
channel_1.default.initializationComplete(feature);
|
|
86
|
+
}
|
|
71
87
|
var AdMob = /** @class */ (function () {
|
|
72
88
|
function AdMob() {
|
|
73
89
|
this.AppOpenAd = app_open_1.default;
|
|
@@ -79,7 +95,12 @@ var AdMob = /** @class */ (function () {
|
|
|
79
95
|
this.AdSizeType = shared_1.AdSizeType;
|
|
80
96
|
this.Events = shared_1.Events;
|
|
81
97
|
this.TrackingAuthorizationStatus = shared_1.TrackingAuthorizationStatus;
|
|
98
|
+
channel_1.default.onCordovaReady.subscribe(cordovaEventListener);
|
|
82
99
|
}
|
|
100
|
+
AdMob.prototype.cleanup = function () {
|
|
101
|
+
shared_1.MobileAd.cleanup();
|
|
102
|
+
channel_1.default.onCordovaReady.unsubscribe(cordovaEventListener);
|
|
103
|
+
};
|
|
83
104
|
AdMob.prototype.configure = function (config) {
|
|
84
105
|
return (0, shared_1.execAsync)(shared_1.NativeActions.configure, [config]);
|
|
85
106
|
};
|
|
@@ -93,7 +114,7 @@ var AdMob = /** @class */ (function () {
|
|
|
93
114
|
return (0, shared_1.execAsync)(shared_1.NativeActions.setAppVolume, [value]);
|
|
94
115
|
};
|
|
95
116
|
AdMob.prototype.start = function () {
|
|
96
|
-
return
|
|
117
|
+
return shared_1.MobileAd.start();
|
|
97
118
|
};
|
|
98
119
|
AdMob.prototype.requestTrackingAuthorization = function () {
|
|
99
120
|
return __awaiter(this, void 0, void 0, function () {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/www/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAmC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/www/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/plugin.xml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<?xml version='1.0' encoding='utf-8'?>
|
|
2
|
-
<plugin id="cordova-admob-tomitank" version="1.2.
|
|
2
|
+
<plugin id="cordova-admob-tomitank" version="1.2.8"
|
|
3
3
|
xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
|
4
4
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
|
5
5
|
<name>cordova-admob-tomitank</name>
|
package/src/www/admob.ts
CHANGED
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import { AdMob } from '.';
|
|
2
|
-
import exec from 'cordova/exec';
|
|
3
|
-
import * as cordova from 'cordova';
|
|
4
|
-
import channel from 'cordova/channel';
|
|
5
|
-
import { MobileAd, NativeActions } from './shared';
|
|
6
2
|
|
|
7
3
|
const admob = new AdMob();
|
|
8
4
|
|
|
9
|
-
function onMessageFromNative(event: any) {
|
|
10
|
-
const { data } = event;
|
|
11
|
-
if (data && data.adId) {
|
|
12
|
-
data.ad = MobileAd.getAdById(data.adId);
|
|
13
|
-
}
|
|
14
|
-
cordova.fireDocumentEvent(event.type, data);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const feature = 'onAdMobPlusReady';
|
|
18
|
-
channel.createSticky(feature);
|
|
19
|
-
channel.waitForInitialization(feature);
|
|
20
|
-
|
|
21
|
-
channel.onCordovaReady.subscribe(() => {
|
|
22
|
-
exec(onMessageFromNative, console.error, 'AdMob', NativeActions.ready, []);
|
|
23
|
-
channel.initializationComplete(feature);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
5
|
export default admob;
|
package/src/www/api.ts
CHANGED
|
@@ -2,7 +2,6 @@ import BannerAd from './banner';
|
|
|
2
2
|
import { execAsync, Events, NativeActions } from './generated';
|
|
3
3
|
export { execAsync, AdSizeType, Events, NativeActions } from './generated';
|
|
4
4
|
|
|
5
|
-
/** @internal */
|
|
6
5
|
export type MobileAdOptions = {
|
|
7
6
|
id?: string
|
|
8
7
|
adUnitId: string
|
|
@@ -11,8 +10,6 @@ export type MobileAdOptions = {
|
|
|
11
10
|
npa?: '1'
|
|
12
11
|
};
|
|
13
12
|
|
|
14
|
-
let started = false;
|
|
15
|
-
let startPromise: Promise<{ version: string }> | null = null;
|
|
16
13
|
type AdEventNames = Exclude<keyof typeof Events, 'ready'> extends infer K
|
|
17
14
|
? K extends keyof typeof Events
|
|
18
15
|
? typeof Events[K] extends `admob.${string}.${infer EventName}`
|
|
@@ -24,22 +21,16 @@ type AdEventNames = Exclude<keyof typeof Events, 'ready'> extends infer K
|
|
|
24
21
|
// Size and dimension currently only apply to the banner
|
|
25
22
|
type AdEventNamesByType<T extends MobileAd<any>> = T extends BannerAd ? Omit<AdEventNames, 'size'|'sizechange'> : AdEventNames;
|
|
26
23
|
|
|
27
|
-
/** @internal */
|
|
28
|
-
export async function start() {
|
|
29
|
-
startPromise = execAsync(NativeActions.start) as Promise<{ version: string }>;
|
|
30
|
-
const result = await startPromise;
|
|
31
|
-
started = true;
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
24
|
/** @internal */
|
|
36
25
|
export class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
37
|
-
|
|
26
|
+
private static startPromise: Promise<{ version: string }> | null = null;
|
|
38
27
|
private static allAds: { [s: string]: MobileAd } = {};
|
|
28
|
+
private static started: boolean = false;
|
|
29
|
+
private eventRemovers: Array<Function> = [];
|
|
30
|
+
private _init: Promise<any> | null = null;
|
|
39
31
|
public readonly id: string;
|
|
40
32
|
protected readonly opts: T;
|
|
41
33
|
private _created = false;
|
|
42
|
-
private _init: Promise<any> | null = null;
|
|
43
34
|
|
|
44
35
|
constructor(opts: T) {
|
|
45
36
|
this.opts = opts;
|
|
@@ -55,6 +46,23 @@ export class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
|
55
46
|
return this.opts.adUnitId;
|
|
56
47
|
}
|
|
57
48
|
|
|
49
|
+
public static async start() {
|
|
50
|
+
if (!this.startPromise) {
|
|
51
|
+
this.startPromise = execAsync(NativeActions.start) as Promise<{ version: string }>;
|
|
52
|
+
const result = await this.startPromise;
|
|
53
|
+
this.started = true;
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
return this.startPromise;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public static cleanup() {
|
|
60
|
+
Object.values(this.allAds).forEach(ad => ad.eventRemovers.forEach(remover => remover()));
|
|
61
|
+
this.allAds = {};
|
|
62
|
+
this.started = false;
|
|
63
|
+
this.startPromise = null;
|
|
64
|
+
}
|
|
65
|
+
|
|
58
66
|
public on<EventNames extends AdEventNamesByType<this>>(eventName: EventNames, callback: (ev: Event) => any, useCapture?: boolean): () => void {
|
|
59
67
|
const type = `admob.ad.${eventName.toLowerCase()}`;
|
|
60
68
|
const listener = (evt: Event & { ad?: MobileAd }) => {
|
|
@@ -64,9 +72,14 @@ export class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
|
64
72
|
};
|
|
65
73
|
document.addEventListener(type, listener, useCapture);
|
|
66
74
|
|
|
67
|
-
|
|
75
|
+
const removeFn = () => {
|
|
68
76
|
document.removeEventListener(type, listener, useCapture);
|
|
77
|
+
const index = this.eventRemovers.indexOf(removeFn);
|
|
78
|
+
if (index !== -1) this.eventRemovers.splice(index, 1);
|
|
69
79
|
};
|
|
80
|
+
|
|
81
|
+
this.eventRemovers.push(removeFn);
|
|
82
|
+
return removeFn;
|
|
70
83
|
}
|
|
71
84
|
|
|
72
85
|
protected async isLoaded() {
|
|
@@ -75,13 +88,13 @@ export class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
|
75
88
|
}
|
|
76
89
|
|
|
77
90
|
protected async load() {
|
|
78
|
-
await this.init()
|
|
91
|
+
await this.init();
|
|
79
92
|
// TODO read `opts` in native code?
|
|
80
93
|
await execAsync(NativeActions.adLoad, [{ ...this.opts, id: this.id }]);
|
|
81
94
|
}
|
|
82
95
|
|
|
83
96
|
protected async show(opts?: Record<string, any>) {
|
|
84
|
-
await this.init()
|
|
97
|
+
await this.init();
|
|
85
98
|
return execAsync(NativeActions.adShow, [{ ...opts, id: this.id }]);
|
|
86
99
|
}
|
|
87
100
|
|
|
@@ -92,9 +105,8 @@ export class MobileAd<T extends MobileAdOptions = MobileAdOptions> {
|
|
|
92
105
|
protected async init() {
|
|
93
106
|
if (this._created) return;
|
|
94
107
|
|
|
95
|
-
if (!started) {
|
|
96
|
-
|
|
97
|
-
await startPromise;
|
|
108
|
+
if (!MobileAd.started) {
|
|
109
|
+
await MobileAd.start();
|
|
98
110
|
}
|
|
99
111
|
|
|
100
112
|
if (this._init === null) {
|
package/src/www/index.ts
CHANGED
|
@@ -1,25 +1,12 @@
|
|
|
1
|
+
import { exec } from 'cordova';
|
|
1
2
|
import AppOpenAd from './app-open';
|
|
3
|
+
import channel from 'cordova/channel';
|
|
2
4
|
import InterstitialAd from './interstitial';
|
|
3
5
|
import BannerAd, { BannerAdOptions } from './banner';
|
|
4
6
|
import NativeAd, { NativeAdOptions } from './native';
|
|
5
|
-
import RewardedAd, {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from './rewarded';
|
|
9
|
-
import RewardedInterstitialAd, {
|
|
10
|
-
RewardedInterstitialAdOptions,
|
|
11
|
-
} from './rewarded-interstitial';
|
|
12
|
-
import {
|
|
13
|
-
AdMobConfig,
|
|
14
|
-
Events,
|
|
15
|
-
execAsync,
|
|
16
|
-
NativeActions,
|
|
17
|
-
Platforms,
|
|
18
|
-
RequestConfig,
|
|
19
|
-
start,
|
|
20
|
-
AdSizeType,
|
|
21
|
-
TrackingAuthorizationStatus,
|
|
22
|
-
} from './shared';
|
|
7
|
+
import RewardedAd, { RewardedAdOptions, ServerSideVerificationOptions } from './rewarded';
|
|
8
|
+
import RewardedInterstitialAd, { RewardedInterstitialAdOptions } from './rewarded-interstitial';
|
|
9
|
+
import { AdMobConfig, Events, execAsync, NativeActions, Platforms, RequestConfig, AdSizeType, TrackingAuthorizationStatus, MobileAd } from './shared';
|
|
23
10
|
|
|
24
11
|
export * from './api';
|
|
25
12
|
export {
|
|
@@ -36,6 +23,22 @@ export {
|
|
|
36
23
|
ServerSideVerificationOptions,
|
|
37
24
|
};
|
|
38
25
|
|
|
26
|
+
function onMessageFromNative(event: any) {
|
|
27
|
+
const { data } = event;
|
|
28
|
+
if (data && data.adId) {
|
|
29
|
+
data.ad = MobileAd.getAdById(data.adId);
|
|
30
|
+
}
|
|
31
|
+
cordova.fireDocumentEvent(event.type, data);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function cordovaEventListener() {
|
|
35
|
+
const feature = 'onAdMobPlusReady';
|
|
36
|
+
channel.createSticky(feature);
|
|
37
|
+
channel.waitForInitialization(feature);
|
|
38
|
+
exec(onMessageFromNative, console.error, 'AdMob', NativeActions.ready, []);
|
|
39
|
+
channel.initializationComplete(feature);
|
|
40
|
+
}
|
|
41
|
+
|
|
39
42
|
export class AdMob {
|
|
40
43
|
public readonly AppOpenAd = AppOpenAd;
|
|
41
44
|
public readonly BannerAd = BannerAd;
|
|
@@ -47,6 +50,15 @@ export class AdMob {
|
|
|
47
50
|
public readonly Events = Events;
|
|
48
51
|
public readonly TrackingAuthorizationStatus = TrackingAuthorizationStatus;
|
|
49
52
|
|
|
53
|
+
constructor() {
|
|
54
|
+
channel.onCordovaReady.subscribe(cordovaEventListener);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public cleanup() {
|
|
58
|
+
MobileAd.cleanup();
|
|
59
|
+
channel.onCordovaReady.unsubscribe(cordovaEventListener);
|
|
60
|
+
}
|
|
61
|
+
|
|
50
62
|
public configure(config: AdMobConfig) {
|
|
51
63
|
return execAsync(NativeActions.configure, [config]);
|
|
52
64
|
}
|
|
@@ -64,7 +76,7 @@ export class AdMob {
|
|
|
64
76
|
}
|
|
65
77
|
|
|
66
78
|
public start() {
|
|
67
|
-
return start();
|
|
79
|
+
return MobileAd.start();
|
|
68
80
|
}
|
|
69
81
|
|
|
70
82
|
public async requestTrackingAuthorization(): Promise<
|
package/www/admob.js
CHANGED
|
@@ -1,31 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var exec = require('cordova/exec');
|
|
4
3
|
var cordova$1 = require('cordova');
|
|
5
4
|
var channel = require('cordova/channel');
|
|
6
5
|
|
|
7
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
7
|
|
|
9
|
-
function _interopNamespace(e) {
|
|
10
|
-
if (e && e.__esModule) return e;
|
|
11
|
-
var n = Object.create(null);
|
|
12
|
-
if (e) {
|
|
13
|
-
Object.keys(e).forEach(function (k) {
|
|
14
|
-
if (k !== 'default') {
|
|
15
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () { return e[k]; }
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
n["default"] = e;
|
|
24
|
-
return Object.freeze(n);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
var exec__default = /*#__PURE__*/_interopDefaultLegacy(exec);
|
|
28
|
-
var cordova__namespace = /*#__PURE__*/_interopNamespace(cordova$1);
|
|
29
8
|
var channel__default = /*#__PURE__*/_interopDefaultLegacy(channel);
|
|
30
9
|
|
|
31
10
|
/******************************************************************************
|
|
@@ -159,31 +138,13 @@ var execAsync = function (action, args) {
|
|
|
159
138
|
});
|
|
160
139
|
};
|
|
161
140
|
|
|
162
|
-
var started = false;
|
|
163
|
-
var startPromise = null;
|
|
164
|
-
/** @internal */
|
|
165
|
-
function start() {
|
|
166
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
167
|
-
var result;
|
|
168
|
-
return __generator(this, function (_a) {
|
|
169
|
-
switch (_a.label) {
|
|
170
|
-
case 0:
|
|
171
|
-
startPromise = execAsync(NativeActions.start);
|
|
172
|
-
return [4 /*yield*/, startPromise];
|
|
173
|
-
case 1:
|
|
174
|
-
result = _a.sent();
|
|
175
|
-
started = true;
|
|
176
|
-
return [2 /*return*/, result];
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
141
|
/** @internal */
|
|
182
142
|
var MobileAd = /** @class */ (function () {
|
|
183
143
|
function MobileAd(opts) {
|
|
184
144
|
var _a;
|
|
185
|
-
this.
|
|
145
|
+
this.eventRemovers = [];
|
|
186
146
|
this._init = null;
|
|
147
|
+
this._created = false;
|
|
187
148
|
this.opts = opts;
|
|
188
149
|
this.id = (_a = opts.id) !== null && _a !== void 0 ? _a : opts.adUnitId;
|
|
189
150
|
MobileAd.allAds[this.id] = this;
|
|
@@ -198,6 +159,30 @@ var MobileAd = /** @class */ (function () {
|
|
|
198
159
|
enumerable: false,
|
|
199
160
|
configurable: true
|
|
200
161
|
});
|
|
162
|
+
MobileAd.start = function () {
|
|
163
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
164
|
+
var result;
|
|
165
|
+
return __generator(this, function (_a) {
|
|
166
|
+
switch (_a.label) {
|
|
167
|
+
case 0:
|
|
168
|
+
if (!!this.startPromise) return [3 /*break*/, 2];
|
|
169
|
+
this.startPromise = execAsync(NativeActions.start);
|
|
170
|
+
return [4 /*yield*/, this.startPromise];
|
|
171
|
+
case 1:
|
|
172
|
+
result = _a.sent();
|
|
173
|
+
this.started = true;
|
|
174
|
+
return [2 /*return*/, result];
|
|
175
|
+
case 2: return [2 /*return*/, this.startPromise];
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
MobileAd.cleanup = function () {
|
|
181
|
+
Object.values(this.allAds).forEach(function (ad) { return ad.eventRemovers.forEach(function (remover) { return remover(); }); });
|
|
182
|
+
this.allAds = {};
|
|
183
|
+
this.started = false;
|
|
184
|
+
this.startPromise = null;
|
|
185
|
+
};
|
|
201
186
|
MobileAd.prototype.on = function (eventName, callback, useCapture) {
|
|
202
187
|
var _this = this;
|
|
203
188
|
var type = "admob.ad.".concat(eventName.toLowerCase());
|
|
@@ -207,9 +192,14 @@ var MobileAd = /** @class */ (function () {
|
|
|
207
192
|
}
|
|
208
193
|
};
|
|
209
194
|
document.addEventListener(type, listener, useCapture);
|
|
210
|
-
|
|
195
|
+
var removeFn = function () {
|
|
211
196
|
document.removeEventListener(type, listener, useCapture);
|
|
197
|
+
var index = _this.eventRemovers.indexOf(removeFn);
|
|
198
|
+
if (index !== -1)
|
|
199
|
+
_this.eventRemovers.splice(index, 1);
|
|
212
200
|
};
|
|
201
|
+
this.eventRemovers.push(removeFn);
|
|
202
|
+
return removeFn;
|
|
213
203
|
};
|
|
214
204
|
MobileAd.prototype.isLoaded = function () {
|
|
215
205
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -227,9 +217,7 @@ var MobileAd = /** @class */ (function () {
|
|
|
227
217
|
return __awaiter(this, void 0, void 0, function () {
|
|
228
218
|
return __generator(this, function (_a) {
|
|
229
219
|
switch (_a.label) {
|
|
230
|
-
case 0: return [4 /*yield*/, this.init()
|
|
231
|
-
// TODO read `opts` in native code?
|
|
232
|
-
];
|
|
220
|
+
case 0: return [4 /*yield*/, this.init()];
|
|
233
221
|
case 1:
|
|
234
222
|
_a.sent();
|
|
235
223
|
// TODO read `opts` in native code?
|
|
@@ -270,10 +258,8 @@ var MobileAd = /** @class */ (function () {
|
|
|
270
258
|
case 0:
|
|
271
259
|
if (this._created)
|
|
272
260
|
return [2 /*return*/];
|
|
273
|
-
if (!!started) return [3 /*break*/, 2];
|
|
274
|
-
|
|
275
|
-
start();
|
|
276
|
-
return [4 /*yield*/, startPromise];
|
|
261
|
+
if (!!MobileAd.started) return [3 /*break*/, 2];
|
|
262
|
+
return [4 /*yield*/, MobileAd.start()];
|
|
277
263
|
case 1:
|
|
278
264
|
_b.sent();
|
|
279
265
|
_b.label = 2;
|
|
@@ -293,8 +279,9 @@ var MobileAd = /** @class */ (function () {
|
|
|
293
279
|
});
|
|
294
280
|
});
|
|
295
281
|
};
|
|
296
|
-
MobileAd.
|
|
282
|
+
MobileAd.startPromise = null;
|
|
297
283
|
MobileAd.allAds = {};
|
|
284
|
+
MobileAd.started = false;
|
|
298
285
|
return MobileAd;
|
|
299
286
|
}());
|
|
300
287
|
var MaxAdContentRating;
|
|
@@ -552,6 +539,20 @@ var RewardedInterstitialAd = /** @class */ (function (_super) {
|
|
|
552
539
|
return RewardedInterstitialAd;
|
|
553
540
|
}(MobileAd));
|
|
554
541
|
|
|
542
|
+
function onMessageFromNative(event) {
|
|
543
|
+
var data = event.data;
|
|
544
|
+
if (data && data.adId) {
|
|
545
|
+
data.ad = MobileAd.getAdById(data.adId);
|
|
546
|
+
}
|
|
547
|
+
cordova.fireDocumentEvent(event.type, data);
|
|
548
|
+
}
|
|
549
|
+
function cordovaEventListener() {
|
|
550
|
+
var feature = 'onAdMobPlusReady';
|
|
551
|
+
channel__default["default"].createSticky(feature);
|
|
552
|
+
channel__default["default"].waitForInitialization(feature);
|
|
553
|
+
cordova$1.exec(onMessageFromNative, console.error, 'AdMob', NativeActions.ready, []);
|
|
554
|
+
channel__default["default"].initializationComplete(feature);
|
|
555
|
+
}
|
|
555
556
|
var AdMob = /** @class */ (function () {
|
|
556
557
|
function AdMob() {
|
|
557
558
|
this.AppOpenAd = AppOpenAd;
|
|
@@ -563,7 +564,12 @@ var AdMob = /** @class */ (function () {
|
|
|
563
564
|
this.AdSizeType = AdSizeType;
|
|
564
565
|
this.Events = Events;
|
|
565
566
|
this.TrackingAuthorizationStatus = TrackingAuthorizationStatus;
|
|
567
|
+
channel__default["default"].onCordovaReady.subscribe(cordovaEventListener);
|
|
566
568
|
}
|
|
569
|
+
AdMob.prototype.cleanup = function () {
|
|
570
|
+
MobileAd.cleanup();
|
|
571
|
+
channel__default["default"].onCordovaReady.unsubscribe(cordovaEventListener);
|
|
572
|
+
};
|
|
567
573
|
AdMob.prototype.configure = function (config) {
|
|
568
574
|
return execAsync(NativeActions.configure, [config]);
|
|
569
575
|
};
|
|
@@ -577,7 +583,7 @@ var AdMob = /** @class */ (function () {
|
|
|
577
583
|
return execAsync(NativeActions.setAppVolume, [value]);
|
|
578
584
|
};
|
|
579
585
|
AdMob.prototype.start = function () {
|
|
580
|
-
return start();
|
|
586
|
+
return MobileAd.start();
|
|
581
587
|
};
|
|
582
588
|
AdMob.prototype.requestTrackingAuthorization = function () {
|
|
583
589
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -601,20 +607,6 @@ var AdMob = /** @class */ (function () {
|
|
|
601
607
|
return AdMob;
|
|
602
608
|
}());
|
|
603
609
|
|
|
604
|
-
var admob = new AdMob();
|
|
605
|
-
function onMessageFromNative(event) {
|
|
606
|
-
var data = event.data;
|
|
607
|
-
if (data && data.adId) {
|
|
608
|
-
data.ad = MobileAd.getAdById(data.adId);
|
|
609
|
-
}
|
|
610
|
-
cordova__namespace.fireDocumentEvent(event.type, data);
|
|
611
|
-
}
|
|
612
|
-
var feature = 'onAdMobPlusReady';
|
|
613
|
-
channel__default["default"].createSticky(feature);
|
|
614
|
-
channel__default["default"].waitForInitialization(feature);
|
|
615
|
-
channel__default["default"].onCordovaReady.subscribe(function () {
|
|
616
|
-
exec__default["default"](onMessageFromNative, console.error, 'AdMob', NativeActions.ready, []);
|
|
617
|
-
channel__default["default"].initializationComplete(feature);
|
|
618
|
-
});
|
|
610
|
+
var admob = new AdMob();
|
|
619
611
|
|
|
620
612
|
module.exports = admob;
|