#Region Service Attributes
#StartAtBoot: False
#End Region
Sub Process_Globals
'GENERAL
Private StartAppSDK As JavaObject
Private ctxt As JavaObject
Private appKey As String
Private testMode As Boolean = True
Private retryTime As Int = 30000
'INTER
Private StartAppAd As JavaObject
Public isInterstitialReady As Boolean = False
Private AdListenerInterstitial As Object
Private AdDisplayListener As Object
'BANNER
Private BannerAdListener As Object
Public isBannerReady As Boolean = False
Private bannerAd As JavaObject
Public bannerHeight As Int = 51dip
Public bannerView As JavaObject
End Sub
Sub Service_Create
'INITIALIZE CONTEXT
ctxt.InitializeContext
'GET APP KEY ID
appKey = Get_Key("com.startapp.sdk.APPLICATION_ID")
'INITIALIZE SDK
StartAppSDK.InitializeStatic("com.startapp.sdk.adsbase.StartAppSDK")
StartAppSDK.RunMethod("init", Array(ctxt,appKey,True))
StartAppSDK.RunMethod("setTestAdsEnabled", Array(testMode)) 'TEST MODE ON
'INTER
StartAppAd.InitializeNewInstance("com.startapp.sdk.adsbase.StartAppAd", Array(ctxt))
AdListenerInterstitial = StartAppAd.CreateEventFromUI("com.startapp.sdk.adsbase.adlisteners.AdEventListener", "AdListenerInterstitial", Null)
AdDisplayListener = StartAppAd.CreateEventFromUI("com.startapp.sdk.adsbase.adlisteners.AdDisplayListener", "AdDisplayListener", Null)
Load_Inter
'BANNER
bannerAd.InitializeNewInstance("com.startapp.sdk.ads.banner.Banner", Array(ctxt))
BannerAdListener = bannerAd.CreateEventFromUI("com.startapp.sdk.ads.banner.BannerListener", "BannerAdListener", Null)
bannerAd.RunMethod("setBannerListener", Array(BannerAdListener))
Load_Banner
End Sub
Sub Service_Start (StartingIntent As Intent)
Service.StopAutomaticForeground
End Sub
Sub Service_Destroy
End Sub
#Region INTER
Private Sub AdListenerInterstitial_Event (MethodName As String, Args() As Object) As Object 'INTER EVENTS
Select MethodName
Case "onReceiveAd"
LogColor("onReceiveAd Inter StartApp", Colors.Green)
isInterstitialReady = True
Case "onFailedToReceiveAd"
LogColor("onFailedToReceiveAd Inter StartApp", Colors.Green)
isInterstitialReady = False
Retry_Inter
End Select
Return Null
End Sub
Private Sub AdDisplayListener_Event (MethodName As String, Args() As Object) As Object
Select MethodName
Case "adHidden"
isInterstitialReady = False
LogColor("adHidden Inter StartApp", Colors.Green)
Case "adDisplayed"
isInterstitialReady = False
LogColor("adDisplayed Inter StartApp", Colors.Green)
Case "adClicked"
isInterstitialReady = False
LogColor("adClicked Inter StartApp", Colors.Green)
Case "adNotDisplayed"
LogColor("adNotDisplayed Inter StartApp", Colors.Green)
isInterstitialReady = False
Retry_Inter
End Select
Return Null
End Sub
Sub Load_Inter
Try
StartAppAd.RunMethod("loadAd", Array(AdListenerInterstitial))
Catch
If LastException.IsInitialized Then Log(LastException)
Retry_Inter
End Try
End Sub
Sub Retry_Inter
isInterstitialReady = False
Sleep(retryTime)
Load_Inter
End Sub
Sub Show_Inter
StartAppAd.RunMethod("showAd", Array(AdDisplayListener))
End Sub
#End Region
#Region BANNER
Private Sub BannerAdListener_Event (MethodName As String, Args() As Object) As Object
Select MethodName
Case "onReceiveAd"
LogColor("onReceiveAd Banner StartApp", Colors.Green)
isBannerReady = True
bannerView = Args(0)
Case "onFailedToReceiveAd"
LogColor("onFailedToReceiveAd Banner StartApp", Colors.Green)
isBannerReady = False
Retry_Banner
Case "onClick"
LogColor("onClick Banner StartApp", Colors.Green)
End Select
Return Null
End Sub
Sub Load_Banner
Try
bannerAd.RunMethod("loadAd", Array(320,50))
Catch
If LastException.IsInitialized Then Log(LastException)
Retry_Banner
End Try
End Sub
Sub Retry_Banner
isBannerReady = False
Sleep(retryTime)
Load_Banner
End Sub
#End Region
Private Sub Get_Key(key As String) As String
Dim ApplicationInfo As JavaObject = ctxt.RunMethodJO("getPackageManager", Null).RunMethod("getApplicationInfo", Array(Application.PackageName, 0x00000080))
Dim bundle As JavaObject = ApplicationInfo.GetField("metaData")
Return bundle.RunMethod("getInt", Array(key))
End Sub