Releases: kaltura/playkit-android-ima
v4.8.1
Changes from v4.8.0
Plugin Playkit Support
v4.8.1
Bug Fixes
-
FEC-10214 | fixed forceSinglePlayerEngine logic
-
FEC-10201 | Add currentAdPosition (sec) playload to AD_PROGRESS event
-
FEC-10126 | FriendlyView is not allowed to be empty string so adding default description which is not empty string if it was passed in correctly
gradle
- implementation 'com.kaltura.playkit:imaplugin:4.8.1'
v4.8.0
Changes from v4.7.0
Plugin Playkit Support
v4.8.0
Upgrades
- FEC-9699 | IMA SDK Upgrade 3.11.2 -> 3.18.1
BREAKING CHANGES
setControlsOverlayList
which receives list of views is not being used anymore
instead:
setFriendlyObstructions(pkFriendlyObstructionList)
should used both in plugin creation and change media
Where PKFriendlyObstruction is SDK's object that wraps FriendlyObstruction of IMA SDK
Relevant both for IMA and IMADAI
Note: PKFriendlyObstruction
object that will be passed to the config with null View will be ignored
Example IMA:
Before:
List<View> controlsOverlayList = new ArrayList<>();
controlsOverlayList.add(view1);
controlsOverlayList.add(view2);
controlsOverlayList.add(view3);
return new IMAConfig().setAdTagUrl(adTagUrl).setControlsOverlayList(controlsOverlayList).setVideoMimeTypes(videoMimeTypes).setAlwaysStartWithPreroll(true).setAdLoadTimeOut(8);
After:
PKFriendlyObstruction friendlyObstructionView1 = new PKFriendlyObstruction(view1, FriendlyObstructionPurpose.VIDEO_CONTROLS, "description1");
PKFriendlyObstruction friendlyObstructionView2 = new PKFriendlyObstruction(view2, FriendlyObstructionPurpose.NOT_VISIBLE, "description2");
PKFriendlyObstruction friendlyObstructionView3 = new PKFriendlyObstruction(view3, FriendlyObstructionPurpose.OTHER, "description3");
List<PKFriendlyObstruction> pkFriendlyObstructionList = new ArrayList<>();
pkFriendlyObstructionList.add(friendlyObstructionView1);
pkFriendlyObstructionList.add(friendlyObstructionView2);
pkFriendlyObstructionList.add(friendlyObstructionView3);
return new IMAConfig().setAdTagUrl(adTagUrl).setFriendlyObstructions(pkFriendlyObstructionList).setVideoMimeTypes(videoMimeTypes).setAlwaysStartWithPreroll(true).setAdLoadTimeOut(8);
Example IMADAI
Before:
IMADAIConfig liveDAICOnfig = IMADAIConfig.getLiveIMADAIConfig(assetTitle,
assetKey,
apiKey,
streamFormat,
licenseUrl).setAlwaysStartWithPreroll(true);
List<View> controlsOverlayList = new ArrayList<>();
controlsOverlayList.add(view1);
controlsOverlayList.add(view2);
controlsOverlayList.add(view3);
liveDAICOnfig.setControlsOverlayList(controlsOverlayList);
return liveDAICOnfig;
After
IMADAIConfig liveDAICOnfig = IMADAIConfig.getLiveIMADAIConfig(assetTitle,
assetKey,
apiKey,
streamFormat,
licenseUrl).setAlwaysStartWithPreroll(true);
PKFriendlyObstruction friendlyObstructionView1 = new PKFriendlyObstruction(view1, FriendlyObstructionPurpose.VIDEO_CONTROLS, "description1");
PKFriendlyObstruction friendlyObstructionView2 = new PKFriendlyObstruction(view2, FriendlyObstructionPurpose.NOT_VISIBLE, "description2");
PKFriendlyObstruction friendlyObstructionView3 = new PKFriendlyObstruction(view3, FriendlyObstructionPurpose.OTHER, "description3");
List<PKFriendlyObstruction> pkFriendlyObstructionList = new ArrayList<>();
pkFriendlyObstructionList.add(friendlyObstructionView1);
pkFriendlyObstructionList.add(friendlyObstructionView2);
pkFriendlyObstructionList.add(friendlyObstructionView3);
liveDAICOnfig.setFriendlyObstructions(pkFriendlyObstructionList);
Bug Fixes
- FEC-10061 | Null protection for mediaFormat while setting mediaFormat for PKMediaSource
gradle
- implementation 'com.kaltura.playkit:imaplugin:4.8.0'
v4.7.0
Changes from v4.6.0
Plugin Playkit Support
v4.7.0
- FEC-2765 Add support in ExoPlayer 2.11.3
Bug Fixes
-
FEC-9954 Add missing
enableFocusSkipButton
TV configuration in AdsRenderingSettings in IMA and IMADAI , add playerType & playerVersion configuration toIMADAIConfig
-
FEC-9956 - autoplay does not work in case of IMA Plugin ad failure
-
FEC-9944 Audio was playing with content audio/video on skipping ad.
-
FEC-9697 Add Missing IMADAI Parameters
Application can use the newly added optional apis in the following way. That's why these are not the part of constructor or factory method.
Map<String, String> adTagParamsMap = new HashMap<>();
adTagParamsMap.put("iu","1234"); // Example
return IMADAIConfig.getVodIMADAIConfig(assetTitle,
contentSourceId,
videoId,
apiKey,
streamFormat,
licenseUrl)
.setAdTagParams(adTagParamsMap)
.setAuthToken("AuthToken")
.setStreamActivityMonitorId("MonitorId");
-
FEC-9933 | SendAdClickedEvent - add npe protection in case ad object is null
-
FEC-9733 | Add protection for for adConfig object for isLiveDAI()
gradle
- implementation 'com.kaltura.playkit:imaplugin:4.7.0'
v4.6.1
v4.6.0
v4.5.0
v4.4.1
v4.4.0
v4.3.1
v4.3.0
Changes from v4.2.0
Plugin Playkit Support
v4.3.0
New Features
-
FEM-2677 | Add IMA companion ad support
Now Apps can add companion ad view and it's dimensions to IMA config and the IMA plugin will display it as long the video is displayed and will remove if in next media if there is no ad for it or no companion ad defined in the adtag.
The app is responsible to manage this slot viability.
Note that the width and .height are values that should be defined in the adtag url in the companion ads section
Example
new IMAConfig().setAdTagUrl(adTagUrl).
setCompanionAdConfig(companionAdSlot, 728, 90);
Bug Fixes
- FEM-2690 | Added SKIPPABLE_STATE_CHANGED event in Ads event map
gradle
- implementation 'com.kaltura.playkit:imaplugin:4.3.0'