You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## Unreleased
9
9
10
+
### Added
11
+
12
+
- Uplynk
13
+
- Added `orderedPreplayParameters` to `UplynkSSAIConfiguration`, which can be used to maintain the order of preplay parameters when making a request.
14
+
15
+
### Fixed
16
+
17
+
- Uplynk
18
+
- Improved URL encoding for characters such as `%`, `&`, `=`, `+` and `,` to preserve pre-encoded values and prevent server-side double decoding issues.
19
+
20
+
### Changed
21
+
22
+
- Uplynk
23
+
- When ping feature is not configured, the player will now send an empty string instead of `"&ad.pingc=0"` to prevent unsigned parameters that could break signature validation.
24
+
- Deprecated the old `preplayParameters` in favor of the new `orderedPreplayParameters`
@available(*, deprecated, renamed:"orderedPreplayParameters", message:"Passing preplayParameters as a dictionary is no longer supported. Use orderedPreplayParameters instead.")
78
+
varpreplayParameters:[String:String]{
79
+
Dictionary(orderedPreplayParameters){ left, right in left }
XCTAssertFalse(builtPreplayURL.contains(validPingQueryParameter),"built PreplayURL should not contain the ping query parameter \(validPingQueryParameter). url: \(builtPreplayURL)")
Copy file name to clipboardExpand all lines: Code/Uplynk/docs/preplay.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,8 @@ We start by creating an `UplynkSSAIConfiguration` object that describes how to c
33
33
34
34
-`preplayParameters`: The `preplayParameters` object should have string-key-string-value combinations, which will be used as query parameters for the Preplay API call. Nested objects are not supported.
35
35
36
+
-`orderedPreplayParameters`: The `orderedPreplayParameters` object should have string-key-string-value combinations, which will be used as query parameters for the Preplay API call. Nested objects are not supported. Unlike `preplayParameters`, `orderedPreplayParameters` preserves the order of parameters while making a request, which is neccessary to prevent unsigned parameters that could break signature validation.
37
+
36
38
-`contentProtected`: Boolean value which will internally set any necessary content-protection information. No content-protection details have to be specified by the customer.
37
39
38
40
-**A Preplay request must include all parameters defined within the playback request, hence these parameters must be included in the THEOplayer source**. This request must also include a digital signature if the 'Require a token for playback' option is enabled in the back-end on the corresponding live channel. (See also : [Signing a Playback URL Tutorial](https://docs.uplynk.com/docs/sign-playback-url))
@@ -62,7 +64,7 @@ Ad specific parameters can be passed in the `preplayParameters` argument of the
62
64
assetType:...,
63
65
prefix: ...,
64
66
preplayParameters: [
65
-
// Parameters here should specify the necessary ad parameters for the Preplay API
67
+
// Parameters here should specify the necessary ad parameters for the Preplay API. Use `orderedPreplayParameters` instead to pass these in the order given.
0 commit comments