@@ -28,14 +28,28 @@ import {
2828 PLATFORM_MESSAGE ,
2929} from '../constants'
3030
31- const SDK_URL = 'https://playgama.com/platform-sdk/v1.js'
32-
3331class PlaygamaPlatformBridge extends PlatformBridgeBase {
3432 // platform
3533 get platformId ( ) {
3634 return PLATFORM_ID . PLAYGAMA
3735 }
3836
37+ get sdkUrl ( ) {
38+ return 'https://playgama.com/platform-sdk/v1.js'
39+ }
40+
41+ get sdkGlobalName ( ) {
42+ return 'PLAYGAMA_SDK'
43+ }
44+
45+ get platformSdk ( ) {
46+ return window [ this . sdkGlobalName ]
47+ }
48+
49+ get platformLanguage ( ) {
50+ return this . _platformSdk ?. platformService ?. getLanguage ?. ( ) || super . platformLanguage
51+ }
52+
3953 // advertisement
4054 get isInterstitialSupported ( ) {
4155 return true
@@ -60,10 +74,6 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
6074 return this . #isPaymentsSupported
6175 }
6276
63- get platformLanguage ( ) {
64- return this . _platformSdk . platformService . getLanguage ( ) || super . platformLanguage
65- }
66-
6777 _isAdvancedBannersSupported = true
6878
6979 #isPaymentsSupported = true
@@ -76,9 +86,9 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
7686 if ( ! promiseDecorator ) {
7787 promiseDecorator = this . _createPromiseDecorator ( ACTION_NAME . INITIALIZE )
7888
79- addJavaScript ( SDK_URL ) . then ( ( ) => {
80- waitFor ( 'PLAYGAMA_SDK' ) . then ( ( ) => {
81- this . _platformSdk = window . PLAYGAMA_SDK
89+ addJavaScript ( this . sdkUrl ) . then ( ( ) => {
90+ waitFor ( this . sdkGlobalName ) . then ( ( ) => {
91+ this . _platformSdk = this . platformSdk
8292
8393 this . _platformSdk . advService . subscribeToAdStateChanges ( ( adType , state ) => {
8494 if ( adType === 'interstitial' ) {
@@ -134,7 +144,7 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
134144
135145 Promise . all ( [
136146 this . #getPlayer( ) ,
137- this . _platformSdk . platformService ?. isReady ,
147+ this . _platformSdk . platformService ?. isReady ?? Promise . resolve ( ) ,
138148 ] ) . then ( ( ) => {
139149 if ( this . _platformSdk . platformService ?. getIsPaymentsSupported ) {
140150 this . #isPaymentsSupported = this . _platformSdk . platformService . getIsPaymentsSupported ( )
@@ -143,7 +153,7 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
143153 this . _resolvePromiseDecorator ( ACTION_NAME . INITIALIZE )
144154 } )
145155
146- if ( this . _platformSdk . platformService . getAdditionalParams ) {
156+ if ( this . _platformSdk . platformService ? .getAdditionalParams ) {
147157 this . _additionalData = this . _platformSdk . platformService . getAdditionalParams ( ) || { }
148158 }
149159 } )
@@ -157,7 +167,7 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
157167 sendMessage ( message ) {
158168 switch ( message ) {
159169 case PLATFORM_MESSAGE . GAME_READY : {
160- this . _platformSdk . gameService . gameReady ( )
170+ this . _platformSdk . gameService ? .gameReady ?. ( )
161171 return Promise . resolve ( )
162172 }
163173 default : {
@@ -235,7 +245,7 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
235245 data [ key ] = ( typeof value !== 'string' ) ? JSON . stringify ( value ) : value
236246 }
237247
238- this . _platformSdk . storageApi . setItems ( data )
248+ this . _platformSdk . storageApi ? .setItems ?. ( data )
239249 return super . setDataToStorage ( key , value , storageType )
240250 }
241251 default : {
@@ -271,7 +281,7 @@ class PlaygamaPlatformBridge extends PlatformBridgeBase {
271281 } )
272282 }
273283 case STORAGE_TYPE . LOCAL_STORAGE : {
274- this . _platformSdk . storageApi . deleteItems ( Array . isArray ( key ) ? key : [ key ] )
284+ this . _platformSdk . storageApi ? .deleteItems ?. ( Array . isArray ( key ) ? key : [ key ] )
275285 return super . deleteDataFromStorage ( key , storageType )
276286 }
277287 default : {
0 commit comments