-
-
Notifications
You must be signed in to change notification settings - Fork 150
/
index.ts
90 lines (79 loc) · 2.1 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import AppOpenAd from './app-open'
import BannerAd, { BannerAdOptions } from './banner'
import InterstitialAd from './interstitial'
import NativeAd, { NativeAdOptions } from './native'
import RewardedAd, {
RewardedAdOptions,
ServerSideVerificationOptions,
} from './rewarded'
import RewardedInterstitialAd, {
RewardedInterstitialAdOptions,
} from './rewarded-interstitial'
import {
AdMobConfig,
Events,
execAsync,
fireDocumentEvent,
MobileAd,
NativeActions,
Platforms,
RequestConfig,
start,
TrackingAuthorizationStatus,
} from './shared'
export * from './api'
export {
AppOpenAd,
BannerAd,
BannerAdOptions,
InterstitialAd,
NativeAd,
NativeAdOptions,
RewardedAd,
RewardedAdOptions,
RewardedInterstitialAd,
RewardedInterstitialAdOptions,
ServerSideVerificationOptions,
}
export class AdMob {
public readonly AppOpenAd = AppOpenAd
public readonly BannerAd = BannerAd
public readonly InterstitialAd = InterstitialAd
public readonly NativeAd = NativeAd
public readonly RewardedAd = RewardedAd
public readonly RewardedInterstitialAd = RewardedInterstitialAd
public readonly Events = Events
public readonly TrackingAuthorizationStatus = TrackingAuthorizationStatus
configure(config: AdMobConfig) {
return execAsync(NativeActions.configure, [config])
}
public configRequest(requestConfig: RequestConfig) {
return execAsync(NativeActions.configRequest, [requestConfig])
}
public setAppMuted(value: boolean) {
return execAsync(NativeActions.setAppMuted, [value])
}
public setAppVolume(value: number) {
return execAsync(NativeActions.setAppVolume, [value])
}
public start() {
return start()
}
public async requestTrackingAuthorization(): Promise<
TrackingAuthorizationStatus | false
> {
if (cordova.platformId === Platforms.ios) {
const n = await execAsync(NativeActions.requestTrackingAuthorization)
if (n !== false) {
return TrackingAuthorizationStatus[
TrackingAuthorizationStatus[n as number]
]
}
}
return false
}
}
declare global {
const admob: AdMob
}
export default AdMob