react-native-theoplayer 7.5.0 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/android/build.gradle +1 -1
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/7.6.1/ads-wrapper-7.6.1.aar +0 -0
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/{7.6.0/ads-wrapper-7.6.0.pom → 7.6.1/ads-wrapper-7.6.1.pom} +2 -2
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml +4 -4
- package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +8 -9
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerView.kt +1 -3
- package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.kt +20 -39
- package/package.json +1 -1
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/7.6.0/ads-wrapper-7.6.0.aar +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.1.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [7.5.1] - 24-06-20
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added ad event support for custom SSAI integrations.
|
|
13
|
+
|
|
8
14
|
## [7.5.0] - 24-06-18
|
|
9
15
|
|
|
10
16
|
### Fixed
|
package/android/build.gradle
CHANGED
|
@@ -118,7 +118,7 @@ dependencies {
|
|
|
118
118
|
|
|
119
119
|
println("Using THEOplayer (${versionString(theoplayer_sdk_version)})")
|
|
120
120
|
implementation "com.theoplayer.theoplayer-sdk-android:core:${theoplayer_sdk_version}"
|
|
121
|
-
implementation "com.theoplayer.theoplayer-sdk-android:ads-wrapper:7.6.
|
|
121
|
+
implementation "com.theoplayer.theoplayer-sdk-android:ads-wrapper:7.6.1"
|
|
122
122
|
implementation "com.theoplayer.android-connector:mediasession:${theoplayer_mediasession_version}"
|
|
123
123
|
|
|
124
124
|
if (enabledGoogleIMA) {
|
package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/7.6.1/ads-wrapper-7.6.1.aar
ADDED
|
Binary file
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
3
3
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
4
|
-
<modelVersion>7.6.
|
|
4
|
+
<modelVersion>7.6.1</modelVersion>
|
|
5
5
|
<groupId>com.theoplayer.theoplayer-sdk-android</groupId>
|
|
6
6
|
<artifactId>ads-wrapper</artifactId>
|
|
7
|
-
<version>7.6.
|
|
7
|
+
<version>7.6.1</version>
|
|
8
8
|
<packaging>aar</packaging>
|
|
9
9
|
</project>
|
package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>com.theoplayer.theoplayer-sdk-android</groupId>
|
|
4
4
|
<artifactId>ads-wrapper</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>7.6.
|
|
7
|
-
<release>7.6.
|
|
6
|
+
<latest>7.6.1</latest>
|
|
7
|
+
<release>7.6.1</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>7.6.
|
|
9
|
+
<version>7.6.1</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20240620111503</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -652,15 +652,14 @@ class PlayerEventEmitter internal constructor(
|
|
|
652
652
|
)
|
|
653
653
|
}
|
|
654
654
|
|
|
655
|
-
// Attach
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
}
|
|
655
|
+
// Attach ad event adapter
|
|
656
|
+
adEventAdapter = AdEventAdapter(playerView.adsApi,
|
|
657
|
+
object : AdEventEmitter {
|
|
658
|
+
override fun emit(payload: WritableMap?) {
|
|
659
|
+
receiveEvent(EVENT_AD_EVENT, payload)
|
|
660
|
+
}
|
|
661
|
+
})
|
|
662
|
+
|
|
664
663
|
if (BuildConfig.EXTENSION_CAST) {
|
|
665
664
|
castEventAdapter = playerView.castApi?.let {
|
|
666
665
|
CastEventAdapter(it, object : CastEventAdapter.Emitter {
|
|
@@ -54,9 +54,7 @@ class ReactTHEOplayerView(private val reactContext: ThemedReactContext) :
|
|
|
54
54
|
reactContext,
|
|
55
55
|
PlayerConfigAdapter(configProps)
|
|
56
56
|
).apply {
|
|
57
|
-
|
|
58
|
-
adsApi.initialize(player, imaIntegration, daiIntegration)
|
|
59
|
-
}
|
|
57
|
+
adsApi.initialize(player, imaIntegration, daiIntegration)
|
|
60
58
|
val layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)
|
|
61
59
|
playerView.layoutParams = layoutParams
|
|
62
60
|
(playerView.parent as? ViewGroup)?.removeView(playerView)
|
|
@@ -13,33 +13,13 @@ import com.theoplayer.android.api.ads.ima.GoogleImaAdEventType
|
|
|
13
13
|
import com.theoplayer.android.api.ads.wrapper.AdEventListener
|
|
14
14
|
import com.theoplayer.android.api.event.EventType
|
|
15
15
|
import com.theoplayer.android.api.event.ads.AdEvent
|
|
16
|
+
import com.theoplayer.android.api.event.ads.AdsEventTypes
|
|
16
17
|
import java.util.*
|
|
17
18
|
|
|
18
19
|
private const val EVENT_PROP_AD = "ad"
|
|
19
20
|
private const val EVENT_PROP_TYPE = "type"
|
|
20
21
|
private const val EVENT_PROP_SUBTYPE = "subType"
|
|
21
22
|
|
|
22
|
-
private val ALL_AD_EVENTS = arrayOf(
|
|
23
|
-
GoogleImaAdEventType.LOADED,
|
|
24
|
-
GoogleImaAdEventType.AD_BREAK_STARTED,
|
|
25
|
-
GoogleImaAdEventType.STARTED,
|
|
26
|
-
GoogleImaAdEventType.FIRST_QUARTILE,
|
|
27
|
-
GoogleImaAdEventType.MIDPOINT,
|
|
28
|
-
GoogleImaAdEventType.THIRD_QUARTILE,
|
|
29
|
-
GoogleImaAdEventType.COMPLETED,
|
|
30
|
-
GoogleImaAdEventType.AD_BREAK_ENDED,
|
|
31
|
-
GoogleImaAdEventType.SKIPPED,
|
|
32
|
-
GoogleImaAdEventType.AD_ERROR,
|
|
33
|
-
GoogleImaAdEventType.AD_BUFFERING,
|
|
34
|
-
GoogleImaAdEventType.AD_BREAK_FETCH_ERROR,
|
|
35
|
-
GoogleImaAdEventType.CONTENT_PAUSE_REQUESTED,
|
|
36
|
-
GoogleImaAdEventType.CONTENT_RESUME_REQUESTED,
|
|
37
|
-
GoogleImaAdEventType.CLICKED,
|
|
38
|
-
GoogleImaAdEventType.TAPPED,
|
|
39
|
-
GoogleImaAdEventType.ICON_TAPPED,
|
|
40
|
-
GoogleImaAdEventType.ICON_FALLBACK_IMAGE_CLOSED,
|
|
41
|
-
)
|
|
42
|
-
|
|
43
23
|
class AdEventAdapter(private val adsApi: AdsApiWrapper, eventEmitter: AdEventEmitter) {
|
|
44
24
|
private val eventListener: AdEventListener
|
|
45
25
|
|
|
@@ -71,9 +51,7 @@ class AdEventAdapter(private val adsApi: AdsApiWrapper, eventEmitter: AdEventEmi
|
|
|
71
51
|
eventEmitter.emit(payload)
|
|
72
52
|
}
|
|
73
53
|
}
|
|
74
|
-
|
|
75
|
-
adsApi.addEventListener(eventType, eventListener)
|
|
76
|
-
}
|
|
54
|
+
adsApi.addAllEventsListener(eventListener)
|
|
77
55
|
}
|
|
78
56
|
|
|
79
57
|
companion object {
|
|
@@ -123,33 +101,36 @@ class AdEventAdapter(private val adsApi: AdsApiWrapper, eventEmitter: AdEventEmi
|
|
|
123
101
|
}
|
|
124
102
|
|
|
125
103
|
private fun mapAdType(eventType: EventType<*>): String {
|
|
126
|
-
return when (eventType
|
|
127
|
-
GoogleImaAdEventType.LOADED -> "adloaded"
|
|
128
|
-
GoogleImaAdEventType.STARTED -> "adbegin"
|
|
129
|
-
GoogleImaAdEventType.FIRST_QUARTILE -> "adfirstquartile"
|
|
130
|
-
GoogleImaAdEventType.MIDPOINT -> "admidpoint"
|
|
131
|
-
GoogleImaAdEventType.THIRD_QUARTILE -> "adthirdquartile"
|
|
132
|
-
GoogleImaAdEventType.COMPLETED -> "adend"
|
|
133
|
-
GoogleImaAdEventType.SKIPPED -> "adskip"
|
|
134
|
-
GoogleImaAdEventType.AD_ERROR -> "aderror"
|
|
104
|
+
return when (eventType) {
|
|
105
|
+
GoogleImaAdEventType.LOADED, AdsEventTypes.AD_LOADED -> "adloaded"
|
|
106
|
+
GoogleImaAdEventType.STARTED, AdsEventTypes.AD_BEGIN -> "adbegin"
|
|
107
|
+
GoogleImaAdEventType.FIRST_QUARTILE, AdsEventTypes.AD_FIRST_QUARTILE -> "adfirstquartile"
|
|
108
|
+
GoogleImaAdEventType.MIDPOINT, AdsEventTypes.AD_MIDPOINT -> "admidpoint"
|
|
109
|
+
GoogleImaAdEventType.THIRD_QUARTILE, AdsEventTypes.AD_THIRD_QUARTILE -> "adthirdquartile"
|
|
110
|
+
GoogleImaAdEventType.COMPLETED, AdsEventTypes.AD_END -> "adend"
|
|
111
|
+
GoogleImaAdEventType.SKIPPED, AdsEventTypes.AD_SKIP -> "adskip"
|
|
112
|
+
GoogleImaAdEventType.AD_ERROR, AdsEventTypes.AD_ERROR -> "aderror"
|
|
135
113
|
GoogleImaAdEventType.AD_BUFFERING -> "adbuffering"
|
|
136
114
|
GoogleImaAdEventType.CONTENT_PAUSE_REQUESTED -> "adbreakbegin"
|
|
137
115
|
GoogleImaAdEventType.CONTENT_RESUME_REQUESTED -> "adbreakend"
|
|
138
|
-
GoogleImaAdEventType.AD_BREAK_STARTED -> "adbreakbegin"
|
|
139
|
-
GoogleImaAdEventType.AD_BREAK_ENDED -> "adbreakend"
|
|
116
|
+
GoogleImaAdEventType.AD_BREAK_STARTED, AdsEventTypes.AD_BREAK_BEGIN -> "adbreakbegin"
|
|
117
|
+
GoogleImaAdEventType.AD_BREAK_ENDED, AdsEventTypes.AD_BREAK_END -> "adbreakend"
|
|
140
118
|
GoogleImaAdEventType.AD_BREAK_FETCH_ERROR -> "aderror"
|
|
141
119
|
GoogleImaAdEventType.CLICKED -> "adclicked"
|
|
142
120
|
GoogleImaAdEventType.TAPPED -> "adtapped"
|
|
143
121
|
GoogleImaAdEventType.ICON_TAPPED -> "adicontapped"
|
|
144
122
|
GoogleImaAdEventType.ICON_FALLBACK_IMAGE_CLOSED -> "adiconfallbackimageclosed"
|
|
145
|
-
|
|
123
|
+
AdsEventTypes.ADD_AD -> "addad"
|
|
124
|
+
AdsEventTypes.AD_IMPRESSION -> "adimpression"
|
|
125
|
+
AdsEventTypes.ADD_AD_BREAK -> "addadbreak"
|
|
126
|
+
AdsEventTypes.REMOVE_AD_BREAK -> "removeadbreak"
|
|
127
|
+
AdsEventTypes.AD_BREAK_CHANGE -> "adbreakchange"
|
|
128
|
+
else -> eventType.name.lowercase(Locale.getDefault())
|
|
146
129
|
}
|
|
147
130
|
}
|
|
148
131
|
}
|
|
149
132
|
|
|
150
133
|
fun destroy() {
|
|
151
|
-
|
|
152
|
-
adsApi.removeEventListener(eventType, eventListener)
|
|
153
|
-
}
|
|
134
|
+
adsApi.removeAllEventsListener(eventListener)
|
|
154
135
|
}
|
|
155
136
|
}
|
package/package.json
CHANGED