1
1
import { Application , Utils } from '@nativescript/core' ;
2
2
import lazy from '@nativescript/core/utils/lazy' ;
3
- import { firebase , FirebaseApp , FirebaseError } from '@nativescript/firebase-core' ;
4
3
import { IAdmob , AdEventListener , RequestConfiguration , AdShowOptions , IInterstitialAd , RequestOptions , IRewardedAd , IRewardedInterstitialAd , IRewardedItem , ServerSideVerificationOptions , AdapterStatus } from '.' ;
5
4
import { AdEventType , BannerAdBase , RewardedAdEventType , MaxAdContentRating , unitIdProperty , BannerAdSizeBase , sizeProperty } from './common' ;
6
5
@@ -9,11 +8,30 @@ export { MaxAdContentRating, AdEventType };
9
8
export * from './adsconsent' ;
10
9
export * from './nativead' ;
11
10
11
+ export class AdmobError extends Error {
12
+ #native: java . lang . Exception ;
13
+ static fromNative ( native : java . lang . Exception , message ?: string ) {
14
+ const error = new AdmobError ( message || native ?. getMessage ?.( ) ) ;
15
+ error . #native = native ;
16
+ return error ;
17
+ }
18
+
19
+ get native ( ) {
20
+ return this . #native;
21
+ }
22
+
23
+ intoNative ( ) {
24
+ if ( ! this . #native) {
25
+ return new java . lang . Exception ( this . message ) ;
26
+ }
27
+ return this . #native;
28
+ }
29
+ }
30
+
12
31
let defaultAdmob : Admob ;
13
32
14
- const fb = firebase ( ) ;
15
- if ( ! fb . admob ) {
16
- Object . defineProperty ( fb , 'admob' , {
33
+ if ( ! global . __admob ) {
34
+ Object . defineProperty ( global , '__admob' , {
17
35
value : ( ) => {
18
36
if ( ! defaultAdmob ) {
19
37
defaultAdmob = new Admob ( ) ;
@@ -52,7 +70,7 @@ class AdListener extends com.google.android.gms.ads.AdListener {
52
70
this . _owner ?. get ?.( ) . notify ( {
53
71
eventName : BannerAd . onAdFailedToLoadEvent ,
54
72
object : this . _owner ?. get ?.( ) ,
55
- error : FirebaseError . fromNative ( error ) ,
73
+ error : AdmobError . fromNative ( error as any ) ,
56
74
} ) ;
57
75
}
58
76
@@ -179,7 +197,7 @@ export class InterstitialAd implements IInterstitialAd {
179
197
owner ?. _setLoaded ( false ) ;
180
198
break ;
181
199
case AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT :
182
- owner ?. _onAdEvent ( AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT , FirebaseError . fromNative ( dataOrError ) , owner ) ;
200
+ owner ?. _onAdEvent ( AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT , AdmobError . fromNative ( dataOrError ) , owner ) ;
183
201
break ;
184
202
case AdEventType . IMPRESSION :
185
203
owner ?. _onAdEvent ( AdEventType . IMPRESSION , null , owner ) ;
@@ -188,7 +206,7 @@ export class InterstitialAd implements IInterstitialAd {
188
206
owner ?. _onAdEvent ( AdEventType . OPENED , null , owner ) ;
189
207
break ;
190
208
case AdEventType . FAILED_TO_LOAD_EVENT :
191
- owner ?. _onAdEvent ( AdEventType . FAILED_TO_LOAD_EVENT , FirebaseError . fromNative ( dataOrError ) , owner ) ;
209
+ owner ?. _onAdEvent ( AdEventType . FAILED_TO_LOAD_EVENT , AdmobError . fromNative ( dataOrError ) , owner ) ;
192
210
break ;
193
211
}
194
212
} ,
@@ -270,7 +288,7 @@ export class RewardedInterstitialAd implements IRewardedInterstitialAd {
270
288
owner ?. _setLoaded ( false ) ;
271
289
break ;
272
290
case AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT :
273
- owner ?. _onAdEvent ( AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT , FirebaseError . fromNative ( dataOrError ) , owner ) ;
291
+ owner ?. _onAdEvent ( AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT , AdmobError . fromNative ( dataOrError ) , owner ) ;
274
292
break ;
275
293
case AdEventType . IMPRESSION :
276
294
owner ?. _onAdEvent ( AdEventType . IMPRESSION , null , owner ) ;
@@ -279,7 +297,7 @@ export class RewardedInterstitialAd implements IRewardedInterstitialAd {
279
297
owner ?. _onAdEvent ( AdEventType . OPENED , null , owner ) ;
280
298
break ;
281
299
case AdEventType . FAILED_TO_LOAD_EVENT :
282
- owner ?. _onAdEvent ( AdEventType . FAILED_TO_LOAD_EVENT , FirebaseError . fromNative ( dataOrError ) , owner ) ;
300
+ owner ?. _onAdEvent ( AdEventType . FAILED_TO_LOAD_EVENT , AdmobError . fromNative ( dataOrError ) , owner ) ;
283
301
break ;
284
302
}
285
303
} ,
@@ -386,7 +404,7 @@ export class RewardedAd implements IRewardedAd {
386
404
owner ?. _setLoaded ( false ) ;
387
405
break ;
388
406
case AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT :
389
- owner ?. _onAdEvent ( AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT , FirebaseError . fromNative ( dataOrError ) , owner ) ;
407
+ owner ?. _onAdEvent ( AdEventType . FAILED_TO_SHOW_FULL_SCREEN_CONTENT , AdmobError . fromNative ( dataOrError ) , owner ) ;
390
408
break ;
391
409
case AdEventType . IMPRESSION :
392
410
owner ?. _onAdEvent ( AdEventType . IMPRESSION , null , owner ) ;
@@ -395,7 +413,7 @@ export class RewardedAd implements IRewardedAd {
395
413
owner ?. _onAdEvent ( AdEventType . OPENED , null , owner ) ;
396
414
break ;
397
415
case AdEventType . FAILED_TO_LOAD_EVENT :
398
- owner ?. _onAdEvent ( AdEventType . FAILED_TO_LOAD_EVENT , FirebaseError . fromNative ( dataOrError ) , owner ) ;
416
+ owner ?. _onAdEvent ( AdEventType . FAILED_TO_LOAD_EVENT , AdmobError . fromNative ( dataOrError ) , owner ) ;
399
417
break ;
400
418
}
401
419
} ,
@@ -627,8 +645,6 @@ export class BannerAd extends BannerAdBase {
627
645
}
628
646
629
647
export class Admob implements IAdmob {
630
- #app: FirebaseApp ;
631
-
632
648
constructor ( ) {
633
649
if ( defaultAdmob ) {
634
650
return defaultAdmob ;
@@ -653,6 +669,10 @@ export class Admob implements IAdmob {
653
669
} ) ;
654
670
}
655
671
672
+ static getInstance ( ) : Admob {
673
+ return new Admob ( ) ;
674
+ }
675
+
656
676
set requestConfiguration ( requestConfiguration : RequestConfiguration ) {
657
677
try {
658
678
const parsedConfiguration : any = { ...requestConfiguration } ;
@@ -736,11 +756,7 @@ export class Admob implements IAdmob {
736
756
return this . requestConfiguration ;
737
757
}
738
758
739
- get app ( ) : FirebaseApp {
740
- if ( ! this . #app) {
741
- // @ts -ignore
742
- this . #app = FirebaseApp . fromNative ( com . google . firebase . FirebaseApp . getInstance ( ) ) ;
743
- }
744
- return this . #app;
759
+ get app ( ) {
760
+ return global ?. __defaultFirebaseApp ;
745
761
}
746
762
}
0 commit comments