mirror of
https://github.com/androidx/media.git
synced 2025-05-06 15:10:34 +08:00
Allow apps to add a VideoAdPlayerCallback
Issue: #7944 PiperOrigin-RevId: 335012643
This commit is contained in:
parent
13d8860221
commit
88abe26ec3
@ -36,6 +36,8 @@
|
||||
* IMA extension:
|
||||
* Fix position reporting after fetch errors
|
||||
([#7956](https://github.com/google/ExoPlayer/issues/7956)).
|
||||
* Allow apps to specify a `VideoAdPlayerCallback`
|
||||
([#7944](https://github.com/google/ExoPlayer/issues/7944)).
|
||||
|
||||
### 2.12.0 (2020-09-11) ###
|
||||
|
||||
|
@ -125,6 +125,7 @@ public final class ImaAdsLoader
|
||||
@Nullable private ImaSdkSettings imaSdkSettings;
|
||||
@Nullable private AdErrorListener adErrorListener;
|
||||
@Nullable private AdEventListener adEventListener;
|
||||
@Nullable private VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback;
|
||||
@Nullable private Set<UiElement> adUiElements;
|
||||
@Nullable private Collection<CompanionAdSlot> companionAdSlots;
|
||||
private long adPreloadTimeoutMs;
|
||||
@ -190,6 +191,22 @@ public final class ImaAdsLoader
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a callback to receive video ad player events. Note that these events are handled
|
||||
* internally by the IMA SDK and this ads loader. For analytics and diagnostics, new
|
||||
* implementations should generally use events from the top-level {@link Player} listeners
|
||||
* instead of setting a callback via this method.
|
||||
*
|
||||
* @param videoAdPlayerCallback The callback to receive video ad player events.
|
||||
* @return This builder, for convenience.
|
||||
* @see com.google.ads.interactivemedia.v3.api.player.VideoAdPlayer.VideoAdPlayerCallback
|
||||
*/
|
||||
public Builder setVideoAdPlayerCallback(
|
||||
VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback) {
|
||||
this.videoAdPlayerCallback = checkNotNull(videoAdPlayerCallback);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the ad UI elements to be rendered by the IMA SDK.
|
||||
*
|
||||
@ -524,6 +541,9 @@ public final class ImaAdsLoader
|
||||
handler = Util.createHandler(getImaLooper(), /* callback= */ null);
|
||||
componentListener = new ComponentListener();
|
||||
adCallbacks = new ArrayList<>(/* initialCapacity= */ 1);
|
||||
if (builder.videoAdPlayerCallback != null) {
|
||||
adCallbacks.add(builder.videoAdPlayerCallback);
|
||||
}
|
||||
updateAdProgressRunnable = this::updateAdProgress;
|
||||
adInfoByAdMediaInfo = HashBiMap.create();
|
||||
supportedMimeTypes = Collections.emptyList();
|
||||
|
Loading…
x
Reference in New Issue
Block a user