Skip to content

Commit 7bb337c

Browse files
AnkaAnka
authored andcommitted
Release new version: 5.2.0
1 parent b1194cc commit 7bb337c

File tree

56 files changed

+1373
-316
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1373
-316
lines changed

Frameworks/OMSDK_Teadstv.xcframework/Info.plist

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,57 +6,57 @@
66
<array>
77
<dict>
88
<key>LibraryIdentifier</key>
9-
<string>tvos-arm64_x86_64-simulator</string>
9+
<string>tvos-arm64</string>
1010
<key>LibraryPath</key>
1111
<string>OMSDK_Teadstv.framework</string>
1212
<key>SupportedArchitectures</key>
1313
<array>
1414
<string>arm64</string>
15-
<string>x86_64</string>
1615
</array>
1716
<key>SupportedPlatform</key>
1817
<string>tvos</string>
19-
<key>SupportedPlatformVariant</key>
20-
<string>simulator</string>
2118
</dict>
2219
<dict>
2320
<key>LibraryIdentifier</key>
24-
<string>ios-arm64_x86_64-simulator</string>
21+
<string>ios-arm64</string>
2522
<key>LibraryPath</key>
2623
<string>OMSDK_Teadstv.framework</string>
2724
<key>SupportedArchitectures</key>
2825
<array>
2926
<string>arm64</string>
30-
<string>x86_64</string>
3127
</array>
3228
<key>SupportedPlatform</key>
3329
<string>ios</string>
34-
<key>SupportedPlatformVariant</key>
35-
<string>simulator</string>
3630
</dict>
3731
<dict>
3832
<key>LibraryIdentifier</key>
39-
<string>ios-arm64</string>
33+
<string>ios-arm64_x86_64-simulator</string>
4034
<key>LibraryPath</key>
4135
<string>OMSDK_Teadstv.framework</string>
4236
<key>SupportedArchitectures</key>
4337
<array>
4438
<string>arm64</string>
39+
<string>x86_64</string>
4540
</array>
4641
<key>SupportedPlatform</key>
4742
<string>ios</string>
43+
<key>SupportedPlatformVariant</key>
44+
<string>simulator</string>
4845
</dict>
4946
<dict>
5047
<key>LibraryIdentifier</key>
51-
<string>tvos-arm64</string>
48+
<string>tvos-arm64_x86_64-simulator</string>
5249
<key>LibraryPath</key>
5350
<string>OMSDK_Teadstv.framework</string>
5451
<key>SupportedArchitectures</key>
5552
<array>
5653
<string>arm64</string>
54+
<string>x86_64</string>
5755
</array>
5856
<key>SupportedPlatform</key>
5957
<string>tvos</string>
58+
<key>SupportedPlatformVariant</key>
59+
<string>simulator</string>
6060
</dict>
6161
</array>
6262
<key>CFBundlePackageType</key>

Frameworks/OMSDK_Teadstv.xcframework/ios-arm64/OMSDK_Teadstv.framework/Headers/OMIDImports.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
#import "OMIDAdEvents.h"
88
#import "OMIDVASTProperties.h"
99
#import "OMIDMediaEvents.h"
10+
#import "OMIDJavaScriptSessionService.h"
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
#include <TargetConditionals.h>
2+
#if !(TARGET_OS_TV)
3+
4+
#import <UIKit/UIKit.h>
5+
#import <WebKit/WebKit.h>
6+
#import "OMIDFriendlyObstructionType.h"
7+
#import "OMIDPartner.h"
8+
9+
NS_ASSUME_NONNULL_BEGIN
10+
11+
/**
12+
* Service supporting ad sessions managed (started/finished) via JavaScript Session Client APIs
13+
* by providing native-layer measurement signals.
14+
* If the JS Session Client is running in a web view, an instance of this service must be
15+
* initialized with the web view before starting or finishing ad sessions using JS APIs.
16+
* Only one instance of this service may be initialized at a time for a given web view; to reuse a
17+
* web view the current instance must be torn down (see `tearDownWithCompletion`).
18+
*/
19+
@interface OMIDTeadstvJavaScriptSessionService : NSObject <WKScriptMessageHandler>
20+
21+
/**
22+
* Initializes an instance of the service.
23+
*
24+
* @param partner Details of the integration partner responsible for ad sessions.
25+
* @param webView The web view responsible for starting/finishing ad sessions via the JS Session
26+
* Client.
27+
* @param isHTMLAdView Whether the ad is rendered in HTML inside of the provided web view.
28+
* If true, all ad sessions will be of type "html" and calling `setAdView` is
29+
* not required.
30+
* If false, all ad sessions will be of type "javascript" and `setAdView` must
31+
* be called after initialization.
32+
*/
33+
- (nullable instancetype)initWithPartner:(OMIDTeadstvPartner *)partner
34+
webView:(WKWebView *)webView
35+
isHTMLAdView:(BOOL)isHTMLAdView
36+
error:(NSError *_Nullable *_Nullable)error;
37+
38+
/**
39+
* Tears down this instance of the service.
40+
* Calling this method will cause OM SDK to begin a teardown process including finishing all currently
41+
* active ad sessions measured by this service instance and tearing down communication with the OM
42+
* SDK's JavaScript layer running in the web view.
43+
* This may require up to one second, for example in order to allow verification scripts time to process
44+
* the `sessionFinish` event.
45+
* Once this process has completed, the web view may be torn down or reused for another instance of
46+
* the service without any adverse effects. If there is no need to tear down or reuse the web view, this
47+
* method is not required.
48+
* @param completionBlock Invoked by OM SDK after the teardown process has completed,
49+
* or one second, whichever comes sooner.
50+
*/
51+
- (void)tearDownWithCompletion:(void (^)(BOOL success, NSError *_Nullable error))completionBlock;
52+
53+
/**
54+
* The native view containing the ad.
55+
* This property is readonly and must be set using `setAdView`.
56+
* If `isHTMLAdView` was passed as true in `initWithPartner`, this will equal
57+
* the web view by default.
58+
*/
59+
@property(readonly, nonatomic, weak) UIView *adView;
60+
61+
/**
62+
* Sets the native view that contains the ad and is used for viewability tracking.
63+
* If `isHTMLAdView` was passed as true in `initWithPartner`, this method is
64+
* not required since the ad view will be set to the web view by default.
65+
* @param adView The native view.
66+
* @return Whether the ad view was successfully set.
67+
*/
68+
- (BOOL)setAdView:(nullable UIView *)adView
69+
error:(NSError **)error;
70+
71+
/**
72+
* Adds a friendly obstruction which should then be excluded from all ad session viewability
73+
* calculations. While this instance of OMIDJavaScriptSessionService is running, this friendly
74+
* obstruction will be added to each ad session started by the integrator via the JS Session Client
75+
* until the obstruction is removed by calling `removeFriendlyObstruction` or
76+
* `removeAllFriendlyObstructions`.
77+
*
78+
* @param friendlyObstruction The view to be excluded from all ad session viewability calculations.
79+
* @param purpose The purpose of why this obstruction was necessary.
80+
* @param detailedReason An explanation for why this obstruction is part of the ad experience if not
81+
* already obvious from the purpose. Can be nil. If not nil, must be 50 characters or less and only
82+
* contain characters `A-z`, `0-9`, or spaces.
83+
* @return Whether this friendly obstruction was successfully added. If the friendlyObstruction has
84+
* already been added for this session, this method will return NO with no associated error object.
85+
* However, if one or more arguments are against requirements, it will return NO with an error
86+
* object assigned.
87+
*/
88+
- (BOOL)addFriendlyObstruction:(UIView *)friendlyObstruction
89+
purpose:(OMIDFriendlyObstructionType)purpose
90+
detailedReason:(nullable NSString *)detailedReason
91+
error:(NSError *_Nullable *_Nullable)error;
92+
93+
/**
94+
* Removes a registered friendly obstruction from any currently running and future ad sessions
95+
* measured by this instance of OMIDJavaScriptSessionService.
96+
*/
97+
- (void)removeFriendlyObstruction:(UIView *)friendlyObstruction;
98+
99+
/**
100+
* Removes all registered friendly obstructions from any currently running and future ad sessions
101+
* measured by this instance of OMIDJavaScriptSessionService.
102+
*/
103+
- (void)removeAllFriendlyObstructions;
104+
105+
@end
106+
107+
NS_ASSUME_NONNULL_END
108+
109+
#endif
0 Bytes
Binary file not shown.
-935 KB
Binary file not shown.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<!--
4+
PrivacyInfo.xcprivacy
5+
AppVerificationLibrary
6+
7+
Created by Arun Sharma on 12/12/23.
8+
Copyright (c) 2023 IAB Techlab. All rights reserved.
9+
-->
10+
<plist version="1.0">
11+
<dict>
12+
<key>NSPrivacyCollectedDataTypes</key>
13+
<array>
14+
<dict>
15+
<key>NSPrivacyCollectedDataType</key>
16+
<string>NSPrivacyCollectedDataTypeProductInteraction</string>
17+
<key>NSPrivacyCollectedDataTypeLinked</key>
18+
<false/>
19+
<key>NSPrivacyCollectedDataTypeTracking</key>
20+
<false/>
21+
<key>NSPrivacyCollectedDataTypePurposes</key>
22+
<array>
23+
<string>NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising</string>
24+
<string>NSPrivacyCollectedDataTypePurposeDeveloperAdvertising</string>
25+
</array>
26+
</dict>
27+
<dict>
28+
<key>NSPrivacyCollectedDataType</key>
29+
<string>NSPrivacyCollectedDataTypeAdvertisingData</string>
30+
<key>NSPrivacyCollectedDataTypeLinked</key>
31+
<false/>
32+
<key>NSPrivacyCollectedDataTypeTracking</key>
33+
<false/>
34+
<key>NSPrivacyCollectedDataTypePurposes</key>
35+
<array>
36+
<string>NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising</string>
37+
<string>NSPrivacyCollectedDataTypePurposeDeveloperAdvertising</string>
38+
</array>
39+
</dict>
40+
</array>
41+
</dict>
42+
</plist>

Frameworks/OMSDK_Teadstv.xcframework/ios-arm64_x86_64-simulator/OMSDK_Teadstv.framework/Headers/OMIDImports.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
#import "OMIDAdEvents.h"
88
#import "OMIDVASTProperties.h"
99
#import "OMIDMediaEvents.h"
10+
#import "OMIDJavaScriptSessionService.h"
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
#include <TargetConditionals.h>
2+
#if !(TARGET_OS_TV)
3+
4+
#import <UIKit/UIKit.h>
5+
#import <WebKit/WebKit.h>
6+
#import "OMIDFriendlyObstructionType.h"
7+
#import "OMIDPartner.h"
8+
9+
NS_ASSUME_NONNULL_BEGIN
10+
11+
/**
12+
* Service supporting ad sessions managed (started/finished) via JavaScript Session Client APIs
13+
* by providing native-layer measurement signals.
14+
* If the JS Session Client is running in a web view, an instance of this service must be
15+
* initialized with the web view before starting or finishing ad sessions using JS APIs.
16+
* Only one instance of this service may be initialized at a time for a given web view; to reuse a
17+
* web view the current instance must be torn down (see `tearDownWithCompletion`).
18+
*/
19+
@interface OMIDTeadstvJavaScriptSessionService : NSObject <WKScriptMessageHandler>
20+
21+
/**
22+
* Initializes an instance of the service.
23+
*
24+
* @param partner Details of the integration partner responsible for ad sessions.
25+
* @param webView The web view responsible for starting/finishing ad sessions via the JS Session
26+
* Client.
27+
* @param isHTMLAdView Whether the ad is rendered in HTML inside of the provided web view.
28+
* If true, all ad sessions will be of type "html" and calling `setAdView` is
29+
* not required.
30+
* If false, all ad sessions will be of type "javascript" and `setAdView` must
31+
* be called after initialization.
32+
*/
33+
- (nullable instancetype)initWithPartner:(OMIDTeadstvPartner *)partner
34+
webView:(WKWebView *)webView
35+
isHTMLAdView:(BOOL)isHTMLAdView
36+
error:(NSError *_Nullable *_Nullable)error;
37+
38+
/**
39+
* Tears down this instance of the service.
40+
* Calling this method will cause OM SDK to begin a teardown process including finishing all currently
41+
* active ad sessions measured by this service instance and tearing down communication with the OM
42+
* SDK's JavaScript layer running in the web view.
43+
* This may require up to one second, for example in order to allow verification scripts time to process
44+
* the `sessionFinish` event.
45+
* Once this process has completed, the web view may be torn down or reused for another instance of
46+
* the service without any adverse effects. If there is no need to tear down or reuse the web view, this
47+
* method is not required.
48+
* @param completionBlock Invoked by OM SDK after the teardown process has completed,
49+
* or one second, whichever comes sooner.
50+
*/
51+
- (void)tearDownWithCompletion:(void (^)(BOOL success, NSError *_Nullable error))completionBlock;
52+
53+
/**
54+
* The native view containing the ad.
55+
* This property is readonly and must be set using `setAdView`.
56+
* If `isHTMLAdView` was passed as true in `initWithPartner`, this will equal
57+
* the web view by default.
58+
*/
59+
@property(readonly, nonatomic, weak) UIView *adView;
60+
61+
/**
62+
* Sets the native view that contains the ad and is used for viewability tracking.
63+
* If `isHTMLAdView` was passed as true in `initWithPartner`, this method is
64+
* not required since the ad view will be set to the web view by default.
65+
* @param adView The native view.
66+
* @return Whether the ad view was successfully set.
67+
*/
68+
- (BOOL)setAdView:(nullable UIView *)adView
69+
error:(NSError **)error;
70+
71+
/**
72+
* Adds a friendly obstruction which should then be excluded from all ad session viewability
73+
* calculations. While this instance of OMIDJavaScriptSessionService is running, this friendly
74+
* obstruction will be added to each ad session started by the integrator via the JS Session Client
75+
* until the obstruction is removed by calling `removeFriendlyObstruction` or
76+
* `removeAllFriendlyObstructions`.
77+
*
78+
* @param friendlyObstruction The view to be excluded from all ad session viewability calculations.
79+
* @param purpose The purpose of why this obstruction was necessary.
80+
* @param detailedReason An explanation for why this obstruction is part of the ad experience if not
81+
* already obvious from the purpose. Can be nil. If not nil, must be 50 characters or less and only
82+
* contain characters `A-z`, `0-9`, or spaces.
83+
* @return Whether this friendly obstruction was successfully added. If the friendlyObstruction has
84+
* already been added for this session, this method will return NO with no associated error object.
85+
* However, if one or more arguments are against requirements, it will return NO with an error
86+
* object assigned.
87+
*/
88+
- (BOOL)addFriendlyObstruction:(UIView *)friendlyObstruction
89+
purpose:(OMIDFriendlyObstructionType)purpose
90+
detailedReason:(nullable NSString *)detailedReason
91+
error:(NSError *_Nullable *_Nullable)error;
92+
93+
/**
94+
* Removes a registered friendly obstruction from any currently running and future ad sessions
95+
* measured by this instance of OMIDJavaScriptSessionService.
96+
*/
97+
- (void)removeFriendlyObstruction:(UIView *)friendlyObstruction;
98+
99+
/**
100+
* Removes all registered friendly obstructions from any currently running and future ad sessions
101+
* measured by this instance of OMIDJavaScriptSessionService.
102+
*/
103+
- (void)removeAllFriendlyObstructions;
104+
105+
@end
106+
107+
NS_ASSUME_NONNULL_END
108+
109+
#endif
0 Bytes
Binary file not shown.
73.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)