Package com.castlabs.android.adverts
Class HlsInterstitialAdLoader
java.lang.Object
com.castlabs.android.adverts.HlsInterstitialAdLoader
- All Implemented Interfaces:
AdLoader
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.castlabs.android.adverts.AdLoader
AdLoader.Listener
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
createMediaSource
(PlayerConfig playerConfig, PlayerPlugin playerPlugin, AdLoader.Listener listener) Asynchronously createMediaSource
to playgetAdApi()
Get anAdApi
to issue custom operations to the ad providerReturns ad UI containerGet the currently loaded and prepared for playing Adcom.google.android.exoplayer2.source.MediaSource
maybeWrapMediaSource
(com.google.android.exoplayer2.source.MediaSource mediaSource, PlayerConfig playerConfig) void
onPlayerStateChanged
(boolean playWhenReady, int playbackState) Called when the player state is changedvoid
onPositionDiscontinuity
(int reason) Called when the playback discontinuity occurslong
onSetPosition
(long newPositionUs) Called just before thePlayerController
start seeking or setting a new position.void
release()
Release any unused resourcesvoid
scheduleAd
(AdRequest adRequest) Start loading anAdRequest
.void
setPlayerController
(PlayerController playerController) Set the activePlayerController
instance ornull
if there is no activePlayerController
or it is about to be released
-
Constructor Details
-
HlsInterstitialAdLoader
public HlsInterstitialAdLoader()
-
-
Method Details
-
getCurrentAd
Description copied from interface:AdLoader
Get the currently loaded and prepared for playing Ad- Specified by:
getCurrentAd
in interfaceAdLoader
- Returns:
- The current Ad or
null
-
getAdContainer
Description copied from interface:AdLoader
Returns ad UI container- Specified by:
getAdContainer
in interfaceAdLoader
- Returns:
- ad UI container
-
setPlayerController
Description copied from interface:AdLoader
Set the activePlayerController
instance ornull
if there is no activePlayerController
or it is about to be released- Specified by:
setPlayerController
in interfaceAdLoader
- Parameters:
playerController
- ThePlayerController
instance ornull
-
release
public void release()Description copied from interface:AdLoader
Release any unused resources -
createMediaSource
public void createMediaSource(@NonNull PlayerConfig playerConfig, @NonNull PlayerPlugin playerPlugin, @NonNull AdLoader.Listener listener) Description copied from interface:AdLoader
Asynchronously createMediaSource
to play- Specified by:
createMediaSource
in interfaceAdLoader
- Parameters:
playerConfig
- ThePlayerConfig
playerPlugin
- ThePlayerPlugin
listener
- The listener callback to provide the createdMediaSource
-
onSetPosition
public long onSetPosition(long newPositionUs) Description copied from interface:AdLoader
Called just before thePlayerController
start seeking or setting a new position. Can be used when the new position has to be adjusted by theAdLoader
implementation e.g. to do ads snap back. If the adjustment is not needed then the provided position can simply be returned.- Specified by:
onSetPosition
in interfaceAdLoader
- Parameters:
newPositionUs
- The new position in microseconds- Returns:
- The adjusted position in microseconds
-
onPlayerStateChanged
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) Description copied from interface:AdLoader
Called when the player state is changed- Specified by:
onPlayerStateChanged
in interfaceAdLoader
- Parameters:
playWhenReady
- Play when ready flagplaybackState
- Playback state
-
onPositionDiscontinuity
public void onPositionDiscontinuity(int reason) Description copied from interface:AdLoader
Called when the playback discontinuity occurs- Specified by:
onPositionDiscontinuity
in interfaceAdLoader
- Parameters:
reason
- The reason for discontinuity
-
scheduleAd
Description copied from interface:AdLoader
Start loading anAdRequest
. This may be also called during playback. Support for on-request ad scheduling depends on the AdLoader implementation.- Specified by:
scheduleAd
in interfaceAdLoader
- Parameters:
adRequest
- The ad request to perform.
-
getAdApi
Description copied from interface:AdLoader
Get anAdApi
to issue custom operations to the ad provider -
maybeWrapMediaSource
public com.google.android.exoplayer2.source.MediaSource maybeWrapMediaSource(com.google.android.exoplayer2.source.MediaSource mediaSource, PlayerConfig playerConfig) - Specified by:
maybeWrapMediaSource
in interfaceAdLoader
-