Package com.castlabs.android.adverts
Interface AdLoader
- All Known Implementing Classes:
HlsInterstitialAdLoader
public interface AdLoader
The interface to provide SDK with the
Ad
properties
The implementations are used by AdProvider.createAdLoader(AdRequest)
- Since:
- 4.2.0
-
Nested Class Summary
Nested Classes -
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 Addefault com.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
-
Method Details
-
getCurrentAd
Get the currently loaded and prepared for playing Ad- Returns:
- The current Ad or
null
-
getAdContainer
Returns ad UI container- Returns:
- ad UI container
-
setPlayerController
Set the activePlayerController
instance ornull
if there is no activePlayerController
or it is about to be released- Parameters:
playerController
- ThePlayerController
instance ornull
-
release
void release()Release any unused resources -
createMediaSource
void createMediaSource(@NonNull PlayerConfig playerConfig, @NonNull PlayerPlugin playerPlugin, @NonNull AdLoader.Listener listener) Asynchronously createMediaSource
to play- Parameters:
playerConfig
- ThePlayerConfig
playerPlugin
- ThePlayerPlugin
listener
- The listener callback to provide the createdMediaSource
-
onSetPosition
long onSetPosition(long newPositionUs) 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.- Parameters:
newPositionUs
- The new position in microseconds- Returns:
- The adjusted position in microseconds
-
onPlayerStateChanged
void onPlayerStateChanged(boolean playWhenReady, int playbackState) Called when the player state is changed- Parameters:
playWhenReady
- Play when ready flagplaybackState
- Playback state
-
onPositionDiscontinuity
void onPositionDiscontinuity(@DiscontinuityReason int reason) Called when the playback discontinuity occurs- Parameters:
reason
- The reason for discontinuity
-
scheduleAd
Start loading anAdRequest
. This may be also called during playback. Support for on-request ad scheduling depends on the AdLoader implementation.- Parameters:
adRequest
- The ad request to perform.
-
getAdApi
Get anAdApi
to issue custom operations to the ad provider- Returns:
- the
AdApi
-
maybeWrapMediaSource
default com.google.android.exoplayer2.source.MediaSource maybeWrapMediaSource(com.google.android.exoplayer2.source.MediaSource mediaSource, PlayerConfig playerConfig)
-