diff --git a/EventHandlers/EventHandlers.xcodeproj/project.pbxproj b/EventHandlers/EventHandlers.xcodeproj/project.pbxproj index b74e11002..ac6e82008 100644 --- a/EventHandlers/EventHandlers.xcodeproj/project.pbxproj +++ b/EventHandlers/EventHandlers.xcodeproj/project.pbxproj @@ -1229,8 +1229,6 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - "EXCLUDED_ARCHS[sdk=iphoneos*]" = "i386 x86_64"; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 arm64e armv7 armv7s"; INFOPLIST_FILE = PrebidMobileGAMEventHandlers/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; @@ -1265,8 +1263,6 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - "EXCLUDED_ARCHS[sdk=iphoneos*]" = "i386 x86_64"; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 arm64e armv7 armv7s"; INFOPLIST_FILE = PrebidMobileGAMEventHandlers/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; @@ -1412,8 +1408,6 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - "EXCLUDED_ARCHS[sdk=iphoneos*]" = "i386 x86_64"; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 arm64e armv7 armv7s"; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Prebid. All rights reserved."; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1449,8 +1443,6 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - "EXCLUDED_ARCHS[sdk=*]" = "i386 x86_64"; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 arm64e armv7 armv7s"; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 Prebid. All rights reserved."; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/EventHandlers/EventHandlers.xcodeproj/xcshareddata/xcschemes/PrebidMobileGAMEventHandlers.xcscheme b/EventHandlers/EventHandlers.xcodeproj/xcshareddata/xcschemes/PrebidMobileGAMEventHandlers.xcscheme deleted file mode 100644 index 3ae8d77d6..000000000 --- a/EventHandlers/EventHandlers.xcodeproj/xcshareddata/xcschemes/PrebidMobileGAMEventHandlers.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Frameworks/OMSDK_Prebidorg.framework/Headers b/Frameworks/OMSDK_Prebidorg.framework/Headers deleted file mode 120000 index a177d2a6b..000000000 --- a/Frameworks/OMSDK_Prebidorg.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Frameworks/OMSDK_Prebidorg.framework/OMSDK_Prebidorg b/Frameworks/OMSDK_Prebidorg.framework/OMSDK_Prebidorg deleted file mode 120000 index dec22c4bf..000000000 --- a/Frameworks/OMSDK_Prebidorg.framework/OMSDK_Prebidorg +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OMSDK_Prebidorg \ No newline at end of file diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/OMSDK_Prebidorg b/Frameworks/OMSDK_Prebidorg.framework/Versions/A/OMSDK_Prebidorg deleted file mode 100644 index 024d77365..000000000 Binary files a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/OMSDK_Prebidorg and /dev/null differ diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/Current b/Frameworks/OMSDK_Prebidorg.framework/Versions/Current deleted file mode 120000 index 8c7e5a667..000000000 --- a/Frameworks/OMSDK_Prebidorg.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/Info.plist b/Frameworks/OMSDK_Prebidorg.xcframework/Info.plist new file mode 100644 index 000000000..2760898af --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/Info.plist @@ -0,0 +1,42 @@ + + + + + AvailableLibraries + + + LibraryIdentifier + ios-arm64_armv7 + LibraryPath + OMSDK_Prebidorg.framework + SupportedArchitectures + + arm64 + armv7 + + SupportedPlatform + ios + + + LibraryIdentifier + ios-arm64_i386_x86_64-simulator + LibraryPath + OMSDK_Prebidorg.framework + SupportedArchitectures + + arm64 + i386 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdEvents.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdEvents.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdEvents.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdEvents.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdSession.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdSession.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdSession.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdSession.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdSessionConfiguration.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionConfiguration.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdSessionConfiguration.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionConfiguration.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdSessionContext.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionContext.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDAdSessionContext.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionContext.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDFriendlyObstructionType.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDFriendlyObstructionType.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDFriendlyObstructionType.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDFriendlyObstructionType.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDImports.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDImports.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDImports.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDImports.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDMediaEvents.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDMediaEvents.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDMediaEvents.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDMediaEvents.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDPartner.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDPartner.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDPartner.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDPartner.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDSDK.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDSDK.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDSDK.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDSDK.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDScriptInjector.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDScriptInjector.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDScriptInjector.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDScriptInjector.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDVASTProperties.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDVASTProperties.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDVASTProperties.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDVASTProperties.h diff --git a/Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDVerificationScriptResource.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDVerificationScriptResource.h similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Versions/A/Headers/OMIDVerificationScriptResource.h rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMIDVerificationScriptResource.h diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMSDK.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMSDK.h new file mode 100644 index 000000000..bc3714adb --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Headers/OMSDK.h @@ -0,0 +1,18 @@ +// +// OMSDK.h +// OMSDK +// +// Created by Nathanael Hardy on 10/16/20. +// + +#import + +//! Project version number for OMSDK. +FOUNDATION_EXPORT double OMSDKVersionNumber; + +//! Project version string for OMSDK. +FOUNDATION_EXPORT const unsigned char OMSDKVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Info.plist b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Info.plist new file mode 100644 index 000000000..d548cbcee Binary files /dev/null and b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Info.plist differ diff --git a/Frameworks/OMSDK_Prebidorg.framework/Modules/module.modulemap b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Modules/module.modulemap similarity index 100% rename from Frameworks/OMSDK_Prebidorg.framework/Modules/module.modulemap rename to Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/Modules/module.modulemap diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/OMSDK_Prebidorg b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/OMSDK_Prebidorg new file mode 100755 index 000000000..41e98a964 Binary files /dev/null and b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_armv7/OMSDK_Prebidorg.framework/OMSDK_Prebidorg differ diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdEvents.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdEvents.h new file mode 100644 index 000000000..2d3e2d8c3 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdEvents.h @@ -0,0 +1,50 @@ +// +// OMIDAdEvents.h +// AppVerificationLibrary +// +// Created by Daria Sukhonosova on 22/06/2017. +// + +#import +#import "OMIDAdSession.h" +#import "OMIDVASTProperties.h" + +/** + * Ad event API enabling the integration partner to signal to all verification providers when key events have occurred. + * Only one ad events implementation can be associated with the ad session and any attempt to create multiple instances will result in an error. + */ +@interface OMIDPrebidorgAdEvents : NSObject + +/** + * Initializes ad events instance associated with the supplied ad session. + * + * @param session The ad session associated with the ad events. + * @return A new ad events instance associated with the supplied ad session. Returns nil if the supplied ad session is nil or if an ad events instance has already been registered with the ad session. + */ +- (nullable instancetype)initWithAdSession:(nonnull OMIDPrebidorgAdSession *)session error:(NSError * _Nullable * _Nullable)error; + +/** + * Notifies the ad session that an impression event has occurred. + * + * When triggered all registered verification providers will be notified of this event. + * + * NOTE: the ad session will be automatically started if this method has been called first. + */ +- (BOOL)impressionOccurredWithError:(NSError *_Nullable *_Nullable)error; + +/** + * Notifies the ad session that display loaded event has occurred. + * + * When triggered all registered verification providers will be notified of this event. + */ +- (BOOL)loadedWithError:(NSError *_Nullable *_Nullable)error; + +/** + * Notifies the ad session that video/audio loaded event has occurred. + * + * When triggered all registered verification providers will be notified of this event. + * @param vastProperties contains static information about the video/audio placement. + */ +- (BOOL)loadedWithVastProperties:(OMIDPrebidorgVASTProperties *_Nonnull)vastProperties + error:(NSError *_Nullable *_Nullable)error; +@end diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSession.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSession.h new file mode 100644 index 000000000..ac5498d0e --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSession.h @@ -0,0 +1,134 @@ +// +// OMIDAdSession.h +// AppVerificationLibrary +// +// Created by Daria on 06/06/2017. +// + +#import +#import "OMIDAdSessionContext.h" +#import "OMIDAdSessionConfiguration.h" +#import "OMIDFriendlyObstructionType.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * List of supported error types. + */ +typedef NS_ENUM(NSUInteger, OMIDErrorType) { + /** + * The integration is publishing a "generic" error to verification scripts. + */ + OMIDErrorGeneric = 1, + /** + * The integration is publishing a "video" error to verification scripts. + */ + OMIDErrorMedia = 2 +}; + +/** + * Ad session API enabling the integration partner to notify OMID of key state relating to viewability calculations. + * In addition to viewability this API will also notify all verification providers of key ad session lifecycle events. + */ +@interface OMIDPrebidorgAdSession : NSObject + +/** + * The AdSession configuration is used for check owners. + */ +@property(nonatomic, readonly) OMIDPrebidorgAdSessionConfiguration *configuration; +/** + * The native view which is used for viewability tracking. + */ +@property(nonatomic, weak, nullable) UIView *mainAdView; + +/** + * Initializes new ad session supplying the context. + * + * Note that creating an OMIDAdSession sends a message to the OM SDK JS Service running in the + * webview. If the OM SDK JS Service has not loaded before the ad session is created, the + * message is lost, and the verification scripts will not receive any events. + * + * To prevent this, the implementation must wait until the webview finishes loading OM SDK + * JavaScript before creating the OMIDAdSession. The easiest way is to create the OMIDAdSession + * in a webview delegate callback (-[WKNavigationDelegate webView:didFinishNavigation:]. Alternatively, + * if an implementation can receive an HTML5 DOMContentLoaded event from the webview, it can create + * the OMIDAdSession in a message handler for that event. + * + * @param context The context that provides the required information for initialising the ad session. + * @return A new OMIDAdSession instance, or nil if the supplied context is nil. + */ +- (nullable instancetype)initWithConfiguration:(OMIDPrebidorgAdSessionConfiguration *)configuration + adSessionContext:(OMIDPrebidorgAdSessionContext *)context + error:(NSError *_Nullable *_Nullable)error; + + +/** + * Notifies all verification providers that the ad session has started and ad view tracking will begin. + * + * This method will have no affect if called after the ad session has finished. + */ +- (void)start; + +/** + * Notifies all verification providers that the ad session has finished and all ad view tracking will stop. + * + * This method will have no affect if called after the ad session has finished. + * + * Note that ending an OMID ad session sends a message to the verification scripts running inside + * the webview supplied by the integration. So that the verification scripts have enough time to + * handle the 'sessionFinish' event, the integration must maintain a strong reference to the webview + * for at least 1.0 seconds after ending the session. + */ +- (void)finish; + +/** + * Adds friendly obstruction which should then be excluded from all ad session viewability calculations. + * It also provides a purpose and detailed reason string to pass forward to the measurement vendors. + * + * This method will have no affect if called after the ad session has finished. + * + * @param friendlyObstruction The view to be excluded from all ad session viewability calculations. + * @param purpose The purpose of why this obstruction was necessary. + * @param detailedReason An explanation for why this obstruction is part of the ad experience if not already + * obvious from the purpose. Can be nil. If not nil, must be 50 characters or less and only contain characers + * `A-z`, `0-9`, or spaces. + * @return Whether this friendly obstruction was successfully added. If the session has finished or the + * friendlyObstruction has already been added for this session, this method will return NO with no associated + * error object. However, if one or more arguments are against requirements, it will return NO with an error + * object assigned. + */ +- (BOOL)addFriendlyObstruction:(UIView *)friendlyObstruction + purpose:(OMIDFriendlyObstructionType)purpose + detailedReason:(nullable NSString *)detailedReason + error:(NSError *_Nullable *_Nullable)error; + +/** + * Removes registered friendly obstruction. + * + * This method will have no affect if called after the ad session has finished. + * + * @param friendlyObstruction The view to be removed from the list of registered friendly obstructions. + */ +- (void)removeFriendlyObstruction:(UIView *)friendlyObstruction; + +/** + * Utility method to remove all registered friendly obstructions. + * + * This method will have no affect if called after the ad session has finished. + */ +- (void)removeAllFriendlyObstructions; + +/** + * Notifies the ad session that an error has occurred. + * + * When triggered all registered verification providers will be notified of this event. + * + * @param errorType The type of error. + * @param message The message containing details of the error. + */ +- (void)logErrorWithType:(OMIDErrorType)errorType message:(NSString *)message +NS_SWIFT_NAME(logError(withType:message:)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionConfiguration.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionConfiguration.h new file mode 100644 index 000000000..1a879bc1c --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionConfiguration.h @@ -0,0 +1,135 @@ +// +// OMIDAdSessionConfiguration.h +// AppVerificationLibrary +// +// Created by Saraev Vyacheslav on 15/09/2017. +// + +#import + +/** + * Identifies which integration layer is responsible for sending certain events. + */ +typedef NS_ENUM(NSUInteger, OMIDOwner) { + /** The integration will send the event from a JavaScript session script. */ + OMIDJavaScriptOwner = 1, + /** The integration will send the event from the native layer. */ + OMIDNativeOwner = 2, + /** The integration will not send the event. */ + OMIDNoneOwner = 3 +}; + + +/** + * List of supported creative types. + */ +typedef NS_ENUM(NSUInteger, OMIDCreativeType) { + /** + * Creative type will be set by JavaScript session script. + * Integrations must also pass `OMIDJavaScriptOwner` for `impressionOwner`. + */ + OMIDCreativeTypeDefinedByJavaScript = 1, + // Remaining values set creative type in native layer. + /** + * Rendered in webview, verification code can be inside creative or in metadata. + */ + OMIDCreativeTypeHtmlDisplay = 2, + /** + * Rendered by native, verification code provided in metadata only. + */ + OMIDCreativeTypeNativeDisplay = 3, + /** + * Rendered instream or as standalone video, verification code provided in metadata. + */ + OMIDCreativeTypeVideo = 4, + /** + * Similar to video but only contains audio media. + */ + OMIDCreativeTypeAudio = 5 +}; + +/** + * The criterion for an ad session's OMID impression event. + * Declaring an impression type makes it easier to understand discrepancies between measurers + * of the ad session, since many metrics depend on impressions. + */ +typedef NS_ENUM(NSUInteger, OMIDImpressionType) { + /** + * ImpressionType will be set by JavaScript session script. + * Integrations must also pass `OMIDJavaScriptOwner` for `impressionOwner`. + */ + OMIDImpressionTypeDefinedByJavaScript = 1, + // Remaining values set ImpressionType in native layer. + /** + * The integration is not declaring the criteria for the OMID impression. + */ + OMIDImpressionTypeUnspecified = 2, + /** + * The integration is using count-on-download criteria for the OMID impression. + */ + OMIDImpressionTypeLoaded = 3, + /** + * The integration is using begin-to-render criteria for the OMID impression. + */ + OMIDImpressionTypeBeginToRender = 4, + /** + * The integration is using one-pixel criteria (when the creative has at least 1 visible pixel on + * screen) for the OMID impression. + */ + OMIDImpressionTypeOnePixel = 5, + /** + * The integration is using viewable criteria (1 second for display, 2 seconds while playing for + * video, and at least 50% of the creative is visible) for the OMID impression. + */ + OMIDImpressionTypeViewable = 6, + /** + * The integration is using audible criteria (2 continuous second of media playback with non-zero + * volume) for the OMID impression. + */ + OMIDImpressionTypeAudible = 7, + /** + * The integration's criteria uses none of the above criteria for the OMID impression. + */ + OMIDImpressionTypeOther = 8 +}; + +/** + * The ad session configuration supplies the owner for both the impression and video events. + * The OM SDK JS service will use this information to help identify where the source of these + * events is expected to be received. + */ +@interface OMIDPrebidorgAdSessionConfiguration : NSObject + +@property OMIDCreativeType creativeType; +@property OMIDImpressionType impressionType; +@property OMIDOwner impressionOwner; +@property OMIDOwner mediaEventsOwner; +@property BOOL isolateVerificationScripts; + +/** + * Create new ad session configuration supplying the owner for both the impression and media + * events along with the type of creative being rendered/measured. + * The OM SDK JS service will use this information to help identify where the source of these + * events is expected to be received. + * @param creativeType the type of creative to be rendered in this session. + * @param impressionType the type of impression to be triggered in this session. + * @param impressionOwner whether the native or JavaScript layer should be responsible for supplying + * the impression event. + * @param mediaEventsOwner whether the native or JavaScript layer should be responsible for + * supplying media events. This needs to be set only for non-display ad sessions and can be set to + * `OMIDNoneOwner` for display. When the creativeType is `OMIDCreativeTypeDefinedByJavaScript` then + * this should be set to `OMIDJavaScriptOwner` + * @param isolateVerificationScripts determines whether verification scripts will be placed in a + * sandboxed environment. This will not have any effect for native sessions. + * @return A new session configuration instance. Returns nil and sets error if OM SDK isn't active + * or arguments are invalid. + */ +- (nullable instancetype)initWithCreativeType:(OMIDCreativeType)creativeType + impressionType:(OMIDImpressionType)impressionType + impressionOwner:(OMIDOwner)impressionOwner + mediaEventsOwner:(OMIDOwner)mediaEventsOwner + isolateVerificationScripts:(BOOL)isolateVerificationScripts + error:(NSError *_Nullable *_Nullable)error; + +@end + diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionContext.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionContext.h new file mode 100644 index 000000000..141dd3cc9 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDAdSessionContext.h @@ -0,0 +1,89 @@ +// +// Created by Daria Sukhonosova on 19/04/16. +// + +#import +#import +#import "OMIDPartner.h" +#import "OMIDVerificationScriptResource.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Provides the ad session with details of the partner and whether to an HTML, + * JavaScript, or native session. + */ +@interface OMIDPrebidorgAdSessionContext : NSObject + +- (null_unspecified instancetype)init NS_UNAVAILABLE; + +/** + * Initializes a new ad session context providing reference to partner and web view where + * the OM SDK JavaScript service has been injected. + * + * Calling this method will set the ad session type to `html`. + *

+ * NOTE: any attempt to create a new ad session will fail if OM SDK has not been + * activated (see {@link OMIDSDK} class for more information). + * + * @param partner Details of the integration partner responsible for the ad session. + * @param webView The WKWebView responsible for serving the ad content. The receiver holds a weak reference only. + * @param contentUrl contains the universal link to the ad's screen. + * @return A new HTML context instance. Returns nil if OM SDK has not been activated or if + * any of the parameters are nil. + * @see OMIDSDK + */ +- (nullable instancetype)initWithPartner:(OMIDPrebidorgPartner *)partner + webView:(WKWebView *)webView + contentUrl:(nullable NSString *)contentUrl + customReferenceIdentifier:(nullable NSString *)customReferenceIdentifier + error:(NSError *_Nullable *_Nullable)error; +/** + * Initializes a new ad session context providing reference to partner and a list of + * script resources which should be managed by OMID. + * + * Calling this method will set the ad session type to `native`. + *

+ * NOTE: any attempt to create a new ad session will fail if OMID has not been activated + * (see {@link OMIDSDK} class for more information). + * + * @param partner Details of the integration partner responsible for the ad session. + * @param resources The array of all verification providers who expect to receive OMID + * event data. Must contain at least one verification script. The receiver creates a + * deep copy of the array. + * @param contentUrl contains the universal link to the ad's screen. + * @return A new native context instance. Returns nil if OMID has not been activated or if any of the parameters are invalid. + * @see OMIDSDK + */ +- (nullable instancetype)initWithPartner:(OMIDPrebidorgPartner *)partner + script:(NSString *)script + resources:(NSArray *)resources + contentUrl:(nullable NSString *)contentUrl + customReferenceIdentifier:(nullable NSString *)customReferenceIdentifier + error:(NSError *_Nullable *_Nullable)error; + +/** + * Initializes a new ad session context providing reference to partner and web view where + * OM SDK JavaScript service has been injected. + * + * Calling this method will set the ad session type to `javascript`. + *

+ * NOTE: any attempt to create a new ad session will fail if OMID has not been activated + * (see {@link OMIDSDK} class for more information). + * + * @param partner Details of the integration partner responsible for the ad session. + * @param webView The WKWebView responsible for serving the ad content. The receiver holds a weak reference only. + * @param contentUrl contains the universal link to the ad's screen. + * @return A new JavaScript context instance. Returns nil if OM SDK has not been + * activated or if any of the parameters are invalid. + * @see OMIDSDK + */ +- (nullable instancetype)initWithPartner:(OMIDPrebidorgPartner *)partner + javaScriptWebView:(WKWebView *)webView + contentUrl:(nullable NSString *)contentUrl + customReferenceIdentifier:(nullable NSString *)customReferenceIdentifier + error:(NSError *_Nullable *_Nullable)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDFriendlyObstructionType.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDFriendlyObstructionType.h new file mode 100644 index 000000000..ee7bc6aca --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDFriendlyObstructionType.h @@ -0,0 +1,30 @@ +// +// OMIDFriendlyObstructionType.h +// AppVerificationLibrary +// +// Created by Andrew Whitcomb on 4/3/19. +// Copyright © 2019 Integral Ad Science, Inc. All rights reserved. +// + +/** + * List of allowed friendly obstruction purposes. + */ +typedef NS_ENUM(NSUInteger, OMIDFriendlyObstructionType) { + /** + * The friendly obstruction relates to interacting with a video (such as play/pause buttons). + */ + OMIDFriendlyObstructionMediaControls, + /** + * The friendly obstruction relates to closing an ad (such as a close button). + */ + OMIDFriendlyObstructionCloseAd, + /** + * The friendly obstruction is not visibly obstructing the ad but may seem so due to technical + * limitations. + */ + OMIDFriendlyObstructionNotVisible, + /** + * The friendly obstruction is obstructing for any purpose not already described. + */ + OMIDFriendlyObstructionOther +}; diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDImports.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDImports.h new file mode 100644 index 000000000..2649b5345 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDImports.h @@ -0,0 +1,9 @@ +#import "OMIDSDK.h" +#import "OMIDScriptInjector.h" +#import "OMIDPartner.h" +#import "OMIDVerificationScriptResource.h" +#import "OMIDAdSessionContext.h" +#import "OMIDAdSession.h" +#import "OMIDAdEvents.h" +#import "OMIDVASTProperties.h" +#import "OMIDMediaEvents.h" diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDMediaEvents.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDMediaEvents.h new file mode 100644 index 000000000..a291d9b9a --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDMediaEvents.h @@ -0,0 +1,155 @@ +// +// OMIDMediaEvents.h +// AppVerificationLibrary +// +// Created by Justin Hines on 6/13/19. +// + +#import +#import "OMIDAdSession.h" +#import "OMIDVASTProperties.h" + +/** + * List of supported media event player states. + */ +typedef NS_ENUM(NSUInteger, OMIDPlayerState) { + /** + * The player is collapsed in such a way that the video is hidden. + * The video may or may not still be progressing in this state, and sound may be audible. + * This refers specifically to the video player state on the page, and not the state of + * the browser window. + */ + OMIDPlayerStateMinimized, + /** + * The player has been reduced from its original size. + * The video is still potentially visible. + */ + OMIDPlayerStateCollapsed, + /** + * The player's default playback size. + */ + OMIDPlayerStateNormal, + /** + * The player has expanded from its original size. + */ + OMIDPlayerStateExpanded, + /** + * The player has entered fullscreen mode. + */ + OMIDPlayerStateFullscreen +}; + +/** + * List of supported media event user interaction types. + */ +typedef NS_ENUM(NSUInteger, OMIDInteractionType) { + /** + * The user clicked to load the ad's landing page. + */ + OMIDInteractionTypeClick, + /** + * The user engaged with ad content to load a separate experience. + */ + OMIDInteractionTypeAcceptInvitation +}; + +/** + * This provides a complete list of native media events supported by OMID. + * Using this event API assumes the media player is fully responsible for communicating all media events at the appropriate times. + * Only one media events implementation can be associated with the ad session and any attempt to create multiple instances will result in an error. + */ +@interface OMIDPrebidorgMediaEvents : NSObject + +/** + * Initializes media events instance for the associated ad session. + * Any attempt to create a media events instance will fail if the supplied ad session has already started. + * + * @param session The ad session associated with the ad events. + * @return A new media events instance. Returns nil if the supplied ad session is nil or if a media events instance has already been registered with the ad session or if a media events instance has been created after the ad session has started. + * @see OMIDAdSession + */ +- (nullable instancetype)initWithAdSession:(nonnull OMIDPrebidorgAdSession *)session error:(NSError *_Nullable *_Nullable)error; + +/** + * Notifies all media listeners that media content has started playing. + * + * @param duration The duration of the selected media (in seconds). + * @param mediaPlayerVolume The volume from the native media player with a range between 0 and 1. + */ +- (void)startWithDuration:(CGFloat)duration + mediaPlayerVolume:(CGFloat)mediaPlayerVolume; + +/** + * Notifies all media listeners that media playback has reached the first quartile. + */ +- (void)firstQuartile; + +/** + * Notifies all media listeners that media playback has reached the midpoint. + */ +- (void)midpoint; + +/** + * Notifies all media listeners that media playback has reached the third quartile. + */ +- (void)thirdQuartile; + +/** + * Notifies all media listeners that media playback is complete. + */ +- (void)complete; + +/** + * Notifies all media listeners that media playback has paused after a user interaction. + */ +- (void)pause; + +/** + * Notifies all media listeners that media playback has resumed after being paused. + */ +- (void)resume; + +/** + * Notifies all media listeners that media playback has stopped as a user skip interaction. + * Once skipped, it should not be possible for the media to resume playing content. + */ +- (void)skipped; + +/** + * Notifies all media listeners that media playback has stopped and started buffering. + */ +- (void)bufferStart; + +/** + * Notifies all media listeners that buffering has finished and media playback has resumed. + */ +- (void)bufferFinish; + +/** + * Notifies all media listeners that the media player volume has changed. + * + * @param playerVolume The volume from the native media player with a range between 0 and 1. + */ +- (void)volumeChangeTo:(CGFloat)playerVolume; + +/** + * Notifies all media listeners that media player state has changed. + * See `OMIDPlayerState` for list of supported states. + * + * @param playerState The latest media player state. + * @see OMIDPlayerState + */ +- (void)playerStateChangeTo:(OMIDPlayerState)playerState; + +/** + * Notifies all media listeners that the user has performed an ad interaction. + * See `OMIDInteractionType` for a list of supported types. + * + * @param interactionType The latest user integration. + * @see OMIDInteractionType + */ +- (void)adUserInteractionWithType:(OMIDInteractionType)interactionType +NS_SWIFT_NAME(adUserInteraction(withType:)); + +@end + diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDPartner.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDPartner.h new file mode 100644 index 000000000..375100b83 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDPartner.h @@ -0,0 +1,32 @@ +// +// OMIDPartner.h +// AppVerificationLibrary +// +// Created by Daria on 06/06/2017. +// + +#import + +/** + * Details about the integration partner which will be supplied to the ad session. + */ +@interface OMIDPrebidorgPartner : NSObject + +@property(nonatomic, readonly, nonnull) NSString *name; +@property(nonatomic, readonly, nonnull) NSString *versionString; + +/** + * Initializes new partner instance providing both name and versionString. + * + * Both name and version are mandatory. + * + * @param name It is used to uniquely identify the integration partner. + * @param versionString It is used to uniquely identify the integration partner. + * @return A new partner instance, or nil if any of the parameters are either null or blank + */ +- (nullable instancetype)initWithName:(nonnull NSString *)name + versionString:(nonnull NSString *)versionString; + +- (null_unspecified instancetype)init NS_UNAVAILABLE; + +@end diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDSDK.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDSDK.h new file mode 100644 index 000000000..a20b1e462 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDSDK.h @@ -0,0 +1,44 @@ +// +// OMIDSDK.h +// AppVerificationLibrary +// +// Created by Daria on 05/06/2017. +// + +#import + +/** + * This application level class will be called by all integration partners to ensure OM SDK has been activated before calling any other API methods. + * Any attempt to use other API methods prior to activation will result in an error. + * + * Note that OM SDK may only be used on the main UI thread. + * Make sure you are on the main thread when you initialize the SDK, create its + * objects, and invoke its methods. + */ +@interface OMIDPrebidorgSDK : NSObject + +/** + * The current semantic version of the integrated OMID library. + */ ++ (nonnull NSString *)versionString; + +/** + * Shared OMIDSDK instance. + */ +@property(class, readonly, nonnull) OMIDPrebidorgSDK *sharedInstance +NS_SWIFT_NAME(shared); + +/** + * A Boolean value indicating whether the OMID library has been activated. + * + * The value of this property is YES if the OMID library has already been activated. Allows the integration partner to check that they are compatible with the running OMID library version. + */ +@property(atomic, readonly, getter = isActive) BOOL active; + +/** + * Enables the integration partner to activate OMID. + */ +- (BOOL)activate; + +@end + diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDScriptInjector.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDScriptInjector.h new file mode 100644 index 000000000..016951320 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDScriptInjector.h @@ -0,0 +1,26 @@ +// +// OMIDScriptInjector.h +// AppVerificationLibrary +// +// Created by Daria on 21/06/2017. +// + +#import + +/** + * Utility class which enables integration partners to use a standard approach for injecting OM SDK JS into the served tag HTML content. + */ +@interface OMIDPrebidorgScriptInjector : NSObject + +/* + Injects the downloaded OMID JS content into the served HTML. + @param scriptContent containing the OMID JS service content to be injected into the hidden tracking web view. + @param html of the tag content which should be modified to include the downloaded OMID JS content. + @param error If an error occurs, contains an NSError object. + @return modified HTML including OMID JS or nil if an error occurs. + */ ++ (nullable NSString *)injectScriptContent:(nonnull NSString *)scriptContent + intoHTML:(nonnull NSString *)html + error:(NSError *_Nullable *_Nullable)error; + +@end diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDVASTProperties.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDVASTProperties.h new file mode 100644 index 000000000..bab340c41 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDVASTProperties.h @@ -0,0 +1,71 @@ +// +// OMIDVASTProperties.h +// AppVerificationLibrary +// +// Created by Daria Sukhonosova on 30/06/2017. +// + +#import + +/** + * List of supported media player positions. + */ +typedef NS_ENUM(NSUInteger, OMIDPosition) { + /** + * The ad plays preceding video content. + */ + OMIDPositionPreroll, + /** + * The ad plays in the middle of video content, or between two separate content videos. + */ + OMIDPositionMidroll, + /** + * The ad plays following video content. + */ + OMIDPositionPostroll, + /** + * The ad plays independently of any video content. + */ + OMIDPositionStandalone +}; + +/** + * This object is used to capture key VAST properties so this can be shared with all registered verification providers. + */ +@interface OMIDPrebidorgVASTProperties : NSObject + +@property(nonatomic, readonly, getter = isSkippable) BOOL skippable; +@property(nonatomic, readonly) CGFloat skipOffset; +@property(nonatomic, readonly, getter = isAutoPlay) BOOL autoPlay; +@property(nonatomic, readonly) OMIDPosition position; + +/** + * This method enables the media player to create a new VAST properties instance for skippable media ad placement. + * + * @param skipOffset The number of seconds before the skip button is presented. + * @param autoPlay Determines whether the media will auto-play content. + * @param position The position of the media in relation to other content. + * @return A new instance of VAST properties. + */ +- (nonnull instancetype)initWithSkipOffset:(CGFloat)skipOffset + autoPlay:(BOOL)autoPlay + position:(OMIDPosition)position; + +/** + * This method enables the media player to create a new VAST properties instance for non-skippable media ad placement. + * + * @param autoPlay Determines whether the media will auto-play content. + * @param position The position of the media in relation to other content. + * @return A new instance of VAST properties. + */ +- (nonnull instancetype)initWithAutoPlay:(BOOL)autoPlay + position:(OMIDPosition)position; + +- (null_unspecified instancetype)init NS_UNAVAILABLE; + +/** + * For OM SDK internal use only. + */ +- (NSDictionary *_Nonnull)toJSON; + +@end diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDVerificationScriptResource.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDVerificationScriptResource.h new file mode 100644 index 000000000..a2ce834a6 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMIDVerificationScriptResource.h @@ -0,0 +1,45 @@ +// +// OMIDVerificationScriptResource.h +// AppVerificationLibrary +// +// Created by Daria on 06/06/2017. +// + +#import + +/** + * Details about the verification provider which will be supplied to the ad session. + */ +@interface OMIDPrebidorgVerificationScriptResource : NSObject + +@property(nonatomic, readonly, nonnull) NSURL *URL; +@property(nonatomic, readonly, nullable) NSString *vendorKey; +@property(nonatomic, readonly, nullable) NSString *parameters; + +/** + * Initializes new verification script resource instance which requires vendor specific verification parameters. + * + * When calling this method all arguments are mandatory. + * + * @param vendorKey It is used to uniquely identify the verification provider. + * @param URL The URL to be injected into the OMID managed JavaScript execution environment. + * @param parameters The parameters which the verification provider script is expecting for the ad session. + * @return A new verification script resource instance, or nil if any of the parameters are either null or blank. + */ +- (nullable instancetype)initWithURL:(nonnull NSURL *)URL + vendorKey:(nonnull NSString *)vendorKey + parameters:(nonnull NSString *)parameters; + +/** + * Initializes new verification script resource instance which does not require any vendor specific verification parameters. + * + * When calling this method all arguments are mandatory. + * + * @param URL The URL to be injected into the OMID managed JavaScript execution environment. + * @return A new verification script resource instance, or nil if URL is nil or blank. + */ +- (nullable instancetype)initWithURL:(nonnull NSURL *)URL; + +- (null_unspecified instancetype)init NS_UNAVAILABLE; + +@end diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMSDK.h b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMSDK.h new file mode 100644 index 000000000..bc3714adb --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Headers/OMSDK.h @@ -0,0 +1,18 @@ +// +// OMSDK.h +// OMSDK +// +// Created by Nathanael Hardy on 10/16/20. +// + +#import + +//! Project version number for OMSDK. +FOUNDATION_EXPORT double OMSDKVersionNumber; + +//! Project version string for OMSDK. +FOUNDATION_EXPORT const unsigned char OMSDKVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Info.plist b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Info.plist new file mode 100644 index 000000000..c9d3c7c0e Binary files /dev/null and b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Info.plist differ diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Modules/module.modulemap b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Modules/module.modulemap new file mode 100644 index 000000000..2cfb6981e --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/Modules/module.modulemap @@ -0,0 +1,4 @@ +module OMSDK_Prebidorg { + header "Headers/OMIDImports.h" + export * +} diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/OMSDK_Prebidorg b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/OMSDK_Prebidorg new file mode 100755 index 000000000..4659926a1 Binary files /dev/null and b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/OMSDK_Prebidorg differ diff --git a/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/_CodeSignature/CodeResources b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/_CodeSignature/CodeResources new file mode 100644 index 000000000..8bf92c847 --- /dev/null +++ b/Frameworks/OMSDK_Prebidorg.xcframework/ios-arm64_i386_x86_64-simulator/OMSDK_Prebidorg.framework/_CodeSignature/CodeResources @@ -0,0 +1,312 @@ + + + + + files + + Headers/OMIDAdEvents.h + + WL+i0CVe4DyR75hGVHCS8ntS8bI= + + Headers/OMIDAdSession.h + + fcrZjS8K1XowIeSNhZTzpQU8W8w= + + Headers/OMIDAdSessionConfiguration.h + + zn2xHb3hkrFtt8NjmLcahFfru7o= + + Headers/OMIDAdSessionContext.h + + K4q8gQpt/HD1ZRnxoqbtaT2dhog= + + Headers/OMIDFriendlyObstructionType.h + + ymPA8TI4PL8pK0zhc5ilyQj/SsA= + + Headers/OMIDImports.h + + kklBQQiiHyi6ArUe1OOfy92xxX4= + + Headers/OMIDMediaEvents.h + + 6vBBDJ3kh4miSsNkZXDl/kCRqN4= + + Headers/OMIDPartner.h + + H5bAR3fn1dPaMB5/Db7kTp8FEwY= + + Headers/OMIDSDK.h + + iTTj30pct8qnwmyv0c2NCIrJK6g= + + Headers/OMIDScriptInjector.h + + FIriwfmX3CRcMaQhGdJZchgT54c= + + Headers/OMIDVASTProperties.h + + cmPCccS1OEvjy+33MaiW7St0Z3s= + + Headers/OMIDVerificationScriptResource.h + + cbIpjYE6zhEsN3RKuOqawxSsd3E= + + Headers/OMSDK.h + + SwK6aatAfFlLHnP2+J8eYoZyaqs= + + Info.plist + + 2vKXMoBLz21/J43Vrk917sKHOaY= + + Modules/module.modulemap + + lZzWCqJnb4iFhevA4Oj89tMj2mU= + + + files2 + + Headers/OMIDAdEvents.h + + hash + + WL+i0CVe4DyR75hGVHCS8ntS8bI= + + hash2 + + vkHFqUD8aSNzQAv8pI0DKg+Z5yBmggRaDoJepW3Py5A= + + + Headers/OMIDAdSession.h + + hash + + fcrZjS8K1XowIeSNhZTzpQU8W8w= + + hash2 + + /BQ8Xidal5ht43an8bHHO3jexkRF5FOPLwfno439b7I= + + + Headers/OMIDAdSessionConfiguration.h + + hash + + zn2xHb3hkrFtt8NjmLcahFfru7o= + + hash2 + + xU+4IUgfyZnIJ3UCP5dmWZ+M+w/Zchzr/eWvVTE3Iek= + + + Headers/OMIDAdSessionContext.h + + hash + + K4q8gQpt/HD1ZRnxoqbtaT2dhog= + + hash2 + + IVcpCQr7h/AfHCneHZLLPMccki64QaBBtGZBw94AMCQ= + + + Headers/OMIDFriendlyObstructionType.h + + hash + + ymPA8TI4PL8pK0zhc5ilyQj/SsA= + + hash2 + + /ZmBFlTK7mS0fZy4WqxCTpfhwDAEA4qlDHoed4FawBg= + + + Headers/OMIDImports.h + + hash + + kklBQQiiHyi6ArUe1OOfy92xxX4= + + hash2 + + WWfw+Z3RNrtOfWYdio9jyxKjmeVbPXzWNH7Pa7ErD0U= + + + Headers/OMIDMediaEvents.h + + hash + + 6vBBDJ3kh4miSsNkZXDl/kCRqN4= + + hash2 + + S25KyasS4MdytLvoFfdLG3vLT/CcGYxGS5xXnngcx+0= + + + Headers/OMIDPartner.h + + hash + + H5bAR3fn1dPaMB5/Db7kTp8FEwY= + + hash2 + + u2u77husIJvmuQWG0lwDpkLFdN3jaP6qM4O5N8mMo/Q= + + + Headers/OMIDSDK.h + + hash + + iTTj30pct8qnwmyv0c2NCIrJK6g= + + hash2 + + 6vHNykyxCTUsFYIRpzoxG2TBQT0u9tdpGRppj0s8Flw= + + + Headers/OMIDScriptInjector.h + + hash + + FIriwfmX3CRcMaQhGdJZchgT54c= + + hash2 + + fcguujztejv7pUWmtPH1JBsMKrCBxZoedW5ds7xFauM= + + + Headers/OMIDVASTProperties.h + + hash + + cmPCccS1OEvjy+33MaiW7St0Z3s= + + hash2 + + vbN9YCvrKcrSo7h/nO+IqM/bZECxgLd7zfxyZvHSZhI= + + + Headers/OMIDVerificationScriptResource.h + + hash + + cbIpjYE6zhEsN3RKuOqawxSsd3E= + + hash2 + + XQZCkq7zWn2tKhxCAIntEo2ZQ178TvRdbO5mcIDpEQ0= + + + Headers/OMSDK.h + + hash + + SwK6aatAfFlLHnP2+J8eYoZyaqs= + + hash2 + + RMvQNEJLOImLem6a8DtHWs08tFMncdsWXtF/QfYUIvQ= + + + Modules/module.modulemap + + hash + + lZzWCqJnb4iFhevA4Oj89tMj2mU= + + hash2 + + 2EO2mqkiP/1xjI2y++ibMHIbc2PqEpgcJVvsPSLjdnQ= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/InternalTestApp/InternalTestApp.xcodeproj/project.pbxproj b/InternalTestApp/InternalTestApp.xcodeproj/project.pbxproj index cde0a50a9..e2e8d1035 100644 --- a/InternalTestApp/InternalTestApp.xcodeproj/project.pbxproj +++ b/InternalTestApp/InternalTestApp.xcodeproj/project.pbxproj @@ -198,7 +198,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 009D2244759DF445A2768BAE /* Pods-InternalTestAppTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestAppTests.release.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-InternalTestAppTests/Pods-InternalTestAppTests.release.xcconfig"; sourceTree = ""; }; + 009D2244759DF445A2768BAE /* Pods-InternalTestAppTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestAppTests.release.xcconfig"; path = "../prebid-mobile-ios/Pods/Target Support Files/Pods-InternalTestAppTests/Pods-InternalTestAppTests.release.xcconfig"; sourceTree = ""; }; 2F097F6238E0EB831B507463 /* Pods_OpenXMockServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OpenXMockServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 341CC3132562C9D000186F29 /* FormViewController+RowBuildHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormViewController+RowBuildHelpers.swift"; sourceTree = ""; }; 34215B0E25C4598E00C74A09 /* ProcessArgumentsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProcessArgumentsParser.swift; sourceTree = ""; }; @@ -225,7 +225,7 @@ 35F94D131F93F85D00CF46DB /* InternalTestAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = InternalTestAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 35F94D171F93F85D00CF46DB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 44946A466398075CBE626334 /* Pods-PrebidMobileDemoRendering.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PrebidMobileDemoRendering.debug.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-PrebidMobileDemoRendering/Pods-PrebidMobileDemoRendering.debug.xcconfig"; sourceTree = ""; }; - 4C7A852B654320BAA3CF129A /* Pods-InternalTestApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestApp.release.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-InternalTestApp/Pods-InternalTestApp.release.xcconfig"; sourceTree = ""; }; + 4C7A852B654320BAA3CF129A /* Pods-InternalTestApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestApp.release.xcconfig"; path = "../prebid-mobile-ios/Pods/Target Support Files/Pods-InternalTestApp/Pods-InternalTestApp.release.xcconfig"; sourceTree = ""; }; 56A0AE8843DFB9BBB0CF1492 /* Pods-PrebidMobileDemoRendering.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PrebidMobileDemoRendering.release.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-PrebidMobileDemoRendering/Pods-PrebidMobileDemoRendering.release.xcconfig"; sourceTree = ""; }; 5B03D44524F5455F002F2B35 /* PBMGAMBannerEventHandlerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PBMGAMBannerEventHandlerTests.swift; sourceTree = ""; }; 5B1BDB792100D59000B46B43 /* PrebidMobileDemoRendering-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PrebidMobileDemoRendering-Bridging-Header.h"; sourceTree = ""; }; @@ -274,8 +274,8 @@ 5BCCF23C2734207A0046CCFC /* PrebidMobileMoPubAdapters.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PrebidMobileMoPubAdapters.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5BD84734252F23E70092AF74 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; 5C11D97034E668BBFDD0DDCA /* Pods_InternalTestApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_InternalTestApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6400E1CF82B20C2CD2343158 /* Pods-OpenXMockServer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenXMockServer.debug.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-OpenXMockServer/Pods-OpenXMockServer.debug.xcconfig"; sourceTree = ""; }; - 7A70CB4CE2A2D31CA1B2C357 /* Pods-InternalTestAppTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestAppTests.debug.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-InternalTestAppTests/Pods-InternalTestAppTests.debug.xcconfig"; sourceTree = ""; }; + 6400E1CF82B20C2CD2343158 /* Pods-OpenXMockServer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenXMockServer.debug.xcconfig"; path = "../prebid-mobile-ios/Pods/Target Support Files/Pods-OpenXMockServer/Pods-OpenXMockServer.debug.xcconfig"; sourceTree = ""; }; + 7A70CB4CE2A2D31CA1B2C357 /* Pods-InternalTestAppTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestAppTests.debug.xcconfig"; path = "../prebid-mobile-ios/Pods/Target Support Files/Pods-InternalTestAppTests/Pods-InternalTestAppTests.debug.xcconfig"; sourceTree = ""; }; 92221CE02804AF5B005DF671 /* PrebidMAXInterstitialController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidMAXInterstitialController.swift; sourceTree = ""; }; 92221CE42804BBB6005DF671 /* PrebidMAXRewardedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidMAXRewardedController.swift; sourceTree = ""; }; 924F662E27FECD9000C8DAF7 /* PrebidMobileMAXAdapters.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PrebidMobileMAXAdapters.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -332,7 +332,7 @@ ACE6E80C264D121A009324AC /* NativeAsset+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NativeAsset+Extensions.swift"; sourceTree = ""; }; ACF3557F25CD8C3000B9C8E5 /* PrebidNativeAdFeedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidNativeAdFeedController.swift; sourceTree = ""; }; ACF7155625B08A80008A0186 /* TestCaseManagerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestCaseManagerTest.swift; sourceTree = ""; }; - BEA57206B9513930E41DB0CD /* Pods-OpenXMockServer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenXMockServer.release.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-OpenXMockServer/Pods-OpenXMockServer.release.xcconfig"; sourceTree = ""; }; + BEA57206B9513930E41DB0CD /* Pods-OpenXMockServer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenXMockServer.release.xcconfig"; path = "../prebid-mobile-ios/Pods/Target Support Files/Pods-OpenXMockServer/Pods-OpenXMockServer.release.xcconfig"; sourceTree = ""; }; D086806B2398088A00E70E60 /* OpenXMockServer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenXMockServer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D086806D2398088A00E70E60 /* OpenXMockServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenXMockServer.h; sourceTree = ""; }; D086806E2398088A00E70E60 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -348,7 +348,7 @@ D08680A223980B7300E70E60 /* Result.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Result.swift; sourceTree = ""; }; D551B96E21491AAA00FFF51D /* AppConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppConfiguration.swift; sourceTree = ""; }; D551B9702149207500FFF51D /* TabNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabNavigationController.swift; sourceTree = ""; }; - EEBA94FAB2164756D7D6788C /* Pods-InternalTestApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestApp.debug.xcconfig"; path = "../PREBID_IOS/Pods/Target Support Files/Pods-InternalTestApp/Pods-InternalTestApp.debug.xcconfig"; sourceTree = ""; }; + EEBA94FAB2164756D7D6788C /* Pods-InternalTestApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-InternalTestApp.debug.xcconfig"; path = "../prebid-mobile-ios/Pods/Target Support Files/Pods-InternalTestApp/Pods-InternalTestApp.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ diff --git a/EventHandlers/EventHandlers.xcodeproj/xcshareddata/xcschemes/PrebidMobileMAXAdapters.xcscheme b/InternalTestApp/InternalTestApp.xcodeproj/xcshareddata/xcschemes/OpenXMockServer.xcscheme similarity index 65% rename from EventHandlers/EventHandlers.xcodeproj/xcshareddata/xcschemes/PrebidMobileMAXAdapters.xcscheme rename to InternalTestApp/InternalTestApp.xcodeproj/xcshareddata/xcschemes/OpenXMockServer.xcscheme index 2a98d0cd3..cb73c803a 100644 --- a/EventHandlers/EventHandlers.xcodeproj/xcshareddata/xcschemes/PrebidMobileMAXAdapters.xcscheme +++ b/InternalTestApp/InternalTestApp.xcodeproj/xcshareddata/xcschemes/OpenXMockServer.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "D086806A2398088A00E70E60" + BuildableName = "OpenXMockServer.framework" + BlueprintName = "OpenXMockServer" + ReferencedContainer = "container:InternalTestApp.xcodeproj"> @@ -28,16 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + BlueprintIdentifier = "D086806A2398088A00E70E60" + BuildableName = "OpenXMockServer.framework" + BlueprintName = "OpenXMockServer" + ReferencedContainer = "container:InternalTestApp.xcodeproj"> diff --git a/PrebidMobile.podspec b/PrebidMobile.podspec index f751ad068..b8afc929e 100644 --- a/PrebidMobile.podspec +++ b/PrebidMobile.podspec @@ -27,7 +27,7 @@ Pod::Spec.new do |s| LICENSE } - s.author = { "Prebid.org, Inc." => "info@prebid.org" } + s.author = { "Prebid.org, Inc." => "info@prebid.org" } s.platform = :ios, "10.0" s.swift_version = '5.0' s.source = { :git => "https://github.com/prebid/prebid-mobile-ios.git", :tag => "#{s.version}" } @@ -49,12 +49,11 @@ Pod::Spec.new do |s| 'CoreLocation', 'CoreTelephony', 'CoreMedia', - 'QuartzCore' + 'QuartzCore', + 'OMSDK_Prebidorg' ] s.weak_frameworks = [ 'AdSupport', 'StoreKit', 'WebKit' ] - s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64 arm64e armv7 armv7s'} - s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64 arm64e armv7 armv7s'} s.module_map = 'PrebidMobile/BuildFiles/PrebidMobile.modulemap' # Support previous intagration @@ -64,7 +63,7 @@ Pod::Spec.new do |s| core.source_files = 'PrebidMobile/**/*.{h,m,swift}' core.resources = 'PrebidMobile/PrebidMobileRendering/Assets/**/*.{json,png,js,html,xib}' - core.vendored_frameworks = 'Frameworks/OMSDK_Prebidorg.framework' + core.vendored_frameworks = 'Frameworks/OMSDK_Prebidorg.xcframework' end end diff --git a/PrebidMobile.xcodeproj/project.pbxproj b/PrebidMobile.xcodeproj/project.pbxproj index ba6e8bab0..3d36bd081 100644 --- a/PrebidMobile.xcodeproj/project.pbxproj +++ b/PrebidMobile.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -65,18 +65,20 @@ 47D9AFFB2F592206309C5FF0 /* ACJInterstitial.json in Resources */ = {isa = PBXBuildFile; fileRef = 47D9ADF3B4DA145410B2AFF6 /* ACJInterstitial.json */; }; 53019E6127E9E40700D509C1 /* LogTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53019E6027E9E40700D509C1 /* LogTest.swift */; }; 530382F2283197E100B2B111 /* ServerResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 530382F1283197E100B2B111 /* ServerResponse.swift */; }; + 53061A3A2848B97000AF07C3 /* OMSDK_Prebidorg.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 537B669A283DFCCB008AE9D1 /* OMSDK_Prebidorg.xcframework */; }; + 53061A3B2848B97000AF07C3 /* OMSDK_Prebidorg.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 537B669A283DFCCB008AE9D1 /* OMSDK_Prebidorg.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 531CF21927E8FC1B005E5ABE /* LogLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 531CF21827E8FC1B005E5ABE /* LogLevel.swift */; }; 53269D55282E6D0F0098550D /* ServerEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53269D54282E6D0F0098550D /* ServerEvent.swift */; }; 533135C6282A869800AA1E4D /* BidTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 533135C5282A869800AA1E4D /* BidTest.swift */; }; 53322AA3282D45EE0049229D /* PrebidServerEventTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53322AA2282D45EE0049229D /* PrebidServerEventTracker.swift */; }; 53322AA8282E29910049229D /* EventManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53322AA7282E29910049229D /* EventManager.swift */; }; + 5339554F283E23BA00DA1DCD /* omsdk.js in Resources */ = {isa = PBXBuildFile; fileRef = 5339554E283E23BA00DA1DCD /* omsdk.js */; }; + 5365697E283E00CB0052DB88 /* OMSDK_Prebidorg.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 537B669A283DFCCB008AE9D1 /* OMSDK_Prebidorg.xcframework */; }; 536A427F282D11DA0069E9B2 /* ServerConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536A427E282D11DA0069E9B2 /* ServerConnection.swift */; }; 536A4283282D12E80069E9B2 /* ServerConnectionProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536A4282282D12E80069E9B2 /* ServerConnectionProtocol.swift */; }; + 537B6518283372FD008AE9D1 /* PathBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537B6517283372FD008AE9D1 /* PathBuilder.swift */; }; 537B651E2833A3DA008AE9D1 /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537B651D2833A3DA008AE9D1 /* Reachability.swift */; }; 537B65402833C091008AE9D1 /* NetworkType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537B653F2833C091008AE9D1 /* NetworkType.swift */; }; - 536A427F282D11DA0069E9B2 /* ServerConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536A427E282D11DA0069E9B2 /* ServerConnection.swift */; }; - 536A4283282D12E80069E9B2 /* ServerConnectionProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536A4282282D12E80069E9B2 /* ServerConnectionProtocol.swift */; }; - 537B6518283372FD008AE9D1 /* PathBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537B6517283372FD008AE9D1 /* PathBuilder.swift */; }; 537B6581283524BB008AE9D1 /* PrebidInitializationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 537B6580283524BB008AE9D1 /* PrebidInitializationStatus.swift */; }; 5388F32627F46A7F00319FE4 /* AdViewButtonDecorator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5388F32527F46A7F00319FE4 /* AdViewButtonDecorator.swift */; }; 539B0D93282A66B800513501 /* PBMORTBExtPrebidEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 539B0D92282A66B800513501 /* PBMORTBExtPrebidEvents.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -492,7 +494,6 @@ 5BC37AB7271F1D0000444D5E /* PBMOpenMeasurementWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC3787A271F1CFF00444D5E /* PBMOpenMeasurementWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5BC37AB8271F1D0000444D5E /* PBMOpenMeasurementEventTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC3787B271F1CFF00444D5E /* PBMOpenMeasurementEventTracker.h */; }; 5BC37AB9271F1D0000444D5E /* PBMOpenMeasurementWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BC3787C271F1CFF00444D5E /* PBMOpenMeasurementWrapper.m */; }; - 5BC37ABA271F1D0000444D5E /* omsdk.js in Resources */ = {isa = PBXBuildFile; fileRef = 5BC3787E271F1CFF00444D5E /* omsdk.js */; }; 5BC37ABB271F1D0000444D5E /* PBMOpenMeasurementFriendlyObstructionTypeBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC3787F271F1CFF00444D5E /* PBMOpenMeasurementFriendlyObstructionTypeBridge.h */; }; 5BC37ABC271F1D0000444D5E /* PBMOpenMeasurementSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC37880271F1CFF00444D5E /* PBMOpenMeasurementSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5BC37ABD271F1D0000444D5E /* PBMOpenMeasurementEventTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BC37881271F1CFF00444D5E /* PBMOpenMeasurementEventTracker.m */; }; @@ -711,8 +712,6 @@ 925D5E782737F60100A8A2B5 /* VastEventTrackingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 925D5E772737F60100A8A2B5 /* VastEventTrackingTest.swift */; }; 925D5E7A2737F62500A8A2B5 /* VideoFileTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 925D5E792737F62500A8A2B5 /* VideoFileTypeTest.swift */; }; 925D5E7C2737F66000A8A2B5 /* PBMVASTFailToLoadTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 925D5E7B2737F66000A8A2B5 /* PBMVASTFailToLoadTest.swift */; }; - 925D5EB6273914AA00A8A2B5 /* OMSDK_Prebidorg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BC37B01271FF8C400444D5E /* OMSDK_Prebidorg.framework */; }; - 925D5EB92739158E00A8A2B5 /* OMSDK_Prebidorg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BC37B01271FF8C400444D5E /* OMSDK_Prebidorg.framework */; }; 92664565272AB5BB0064F7BD /* PBMORTBSkadnFidelity.h in Headers */ = {isa = PBXBuildFile; fileRef = 92664564272AB5BB0064F7BD /* PBMORTBSkadnFidelity.h */; settings = {ATTRIBUTES = (Public, ); }; }; 92664567272AB5DD0064F7BD /* PBMORTBSkadnFidelity.m in Sources */ = {isa = PBXBuildFile; fileRef = 92664566272AB5DD0064F7BD /* PBMORTBSkadnFidelity.m */; }; 92664569272AB9120064F7BD /* SkadnEventTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92664568272AB9120064F7BD /* SkadnEventTracker.swift */; }; @@ -831,6 +830,20 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 53061A3C2848B97000AF07C3 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 53061A3B2848B97000AF07C3 /* OMSDK_Prebidorg.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 38F03B262576421400E026A2 /* CacheManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CacheManagerTests.swift; sourceTree = ""; }; 38F03B322576624C00E026A2 /* TrackerManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackerManagerTests.swift; sourceTree = ""; }; @@ -899,14 +912,14 @@ 533135C5282A869800AA1E4D /* BidTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BidTest.swift; sourceTree = ""; }; 53322AA2282D45EE0049229D /* PrebidServerEventTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidServerEventTracker.swift; sourceTree = ""; }; 53322AA7282E29910049229D /* EventManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventManager.swift; sourceTree = ""; }; + 5339554E283E23BA00DA1DCD /* omsdk.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = omsdk.js; sourceTree = ""; }; 536A427E282D11DA0069E9B2 /* ServerConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConnection.swift; sourceTree = ""; }; 536A4282282D12E80069E9B2 /* ServerConnectionProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConnectionProtocol.swift; sourceTree = ""; }; + 537B6517283372FD008AE9D1 /* PathBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathBuilder.swift; sourceTree = ""; }; 537B651D2833A3DA008AE9D1 /* Reachability.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reachability.swift; sourceTree = ""; }; 537B653F2833C091008AE9D1 /* NetworkType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkType.swift; sourceTree = ""; }; - 536A427E282D11DA0069E9B2 /* ServerConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConnection.swift; sourceTree = ""; }; - 536A4282282D12E80069E9B2 /* ServerConnectionProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConnectionProtocol.swift; sourceTree = ""; }; - 537B6517283372FD008AE9D1 /* PathBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathBuilder.swift; sourceTree = ""; }; 537B6580283524BB008AE9D1 /* PrebidInitializationStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrebidInitializationStatus.swift; sourceTree = ""; }; + 537B669A283DFCCB008AE9D1 /* OMSDK_Prebidorg.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = OMSDK_Prebidorg.xcframework; path = Frameworks/OMSDK_Prebidorg.xcframework; sourceTree = ""; }; 5388F32527F46A7F00319FE4 /* AdViewButtonDecorator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdViewButtonDecorator.swift; sourceTree = ""; }; 539B0D92282A66B800513501 /* PBMORTBExtPrebidEvents.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PBMORTBExtPrebidEvents.h; sourceTree = ""; }; 539B0D94282A675E00513501 /* PBMORTBExtPrebidEvents.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PBMORTBExtPrebidEvents.m; sourceTree = ""; }; @@ -1324,7 +1337,6 @@ 5BC3787A271F1CFF00444D5E /* PBMOpenMeasurementWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBMOpenMeasurementWrapper.h; sourceTree = ""; }; 5BC3787B271F1CFF00444D5E /* PBMOpenMeasurementEventTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBMOpenMeasurementEventTracker.h; sourceTree = ""; }; 5BC3787C271F1CFF00444D5E /* PBMOpenMeasurementWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBMOpenMeasurementWrapper.m; sourceTree = ""; }; - 5BC3787E271F1CFF00444D5E /* omsdk.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = omsdk.js; sourceTree = ""; }; 5BC3787F271F1CFF00444D5E /* PBMOpenMeasurementFriendlyObstructionTypeBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBMOpenMeasurementFriendlyObstructionTypeBridge.h; sourceTree = ""; }; 5BC37880271F1CFF00444D5E /* PBMOpenMeasurementSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBMOpenMeasurementSession.h; sourceTree = ""; }; 5BC37881271F1CFF00444D5E /* PBMOpenMeasurementEventTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBMOpenMeasurementEventTracker.m; sourceTree = ""; }; @@ -1357,7 +1369,6 @@ 5BC378A9271F1CFF00444D5E /* PBMInterstitialLayoutConfigurator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBMInterstitialLayoutConfigurator.h; sourceTree = ""; }; 5BC378AA271F1CFF00444D5E /* PBMInterstitialLayoutConfigurator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBMInterstitialLayoutConfigurator.m; sourceTree = ""; }; 5BC37AE3271F1D4500444D5E /* PrebidMobileSwiftHeaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrebidMobileSwiftHeaders.h; sourceTree = ""; }; - 5BC37B01271FF8C400444D5E /* OMSDK_Prebidorg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OMSDK_Prebidorg.framework; path = Frameworks/OMSDK_Prebidorg.framework; sourceTree = ""; }; 5BD67815271DF9E5004D334E /* PrebidMobile.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = PrebidMobile.modulemap; sourceTree = ""; }; 600CF06F2208963500C95176 /* UtilsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UtilsTests.swift; sourceTree = ""; }; 6013E3F72215C82900FEE2B1 /* CLLocationManager+Swizzle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CLLocationManager+Swizzle.swift"; sourceTree = ""; }; @@ -1674,7 +1685,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 925D5EB92739158E00A8A2B5 /* OMSDK_Prebidorg.framework in Frameworks */, + 5365697E283E00CB0052DB88 /* OMSDK_Prebidorg.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1682,7 +1693,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 925D5EB6273914AA00A8A2B5 /* OMSDK_Prebidorg.framework in Frameworks */, + 53061A3A2848B97000AF07C3 /* OMSDK_Prebidorg.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2055,7 +2066,7 @@ 5BC376E9271F1CFE00444D5E /* Assets */ = { isa = PBXGroup; children = ( - 5BC3787E271F1CFF00444D5E /* omsdk.js */, + 5339554E283E23BA00DA1DCD /* omsdk.js */, 5BC376EA271F1CFE00444D5E /* companion.html */, 5BC376EB271F1CFE00444D5E /* mraid.js */, 5BC376EC271F1CFE00444D5E /* ClickthroughBrowserView.xib */, @@ -2655,7 +2666,7 @@ 6062B19A218243FA00CE1BA3 /* Frameworks */ = { isa = PBXGroup; children = ( - 5BC37B01271FF8C400444D5E /* OMSDK_Prebidorg.framework */, + 537B669A283DFCCB008AE9D1 /* OMSDK_Prebidorg.xcframework */, 6062B19B218243FA00CE1BA3 /* CoreLocation.framework */, ); name = Frameworks; @@ -3505,6 +3516,7 @@ FAAA00B92322733E009DC7D6 /* Sources */, FAAA00BA2322733E009DC7D6 /* Frameworks */, FAAA00BB2322733E009DC7D6 /* Resources */, + 53061A3C2848B97000AF07C3 /* Embed Frameworks */, ); buildRules = ( ); @@ -3620,9 +3632,9 @@ files = ( 5BC37947271F1D0000444D5E /* mraid.js in Resources */, 5BC37949271F1D0000444D5E /* images.xcassets in Resources */, - 5BC37ABA271F1D0000444D5E /* omsdk.js in Resources */, 5BC37946271F1D0000444D5E /* companion.html in Resources */, 5BC37948271F1D0000444D5E /* ClickthroughBrowserView.xib in Resources */, + 5339554F283E23BA00DA1DCD /* omsdk.js in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/PrebidMobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/PrebidMobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index f9b0d7c5e..a6f6fb21d 100644 --- a/PrebidMobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/PrebidMobile.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -2,6 +2,8 @@ + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + PreviewsEnabled diff --git a/PrebidMobile/PrebidMobileRendering/Assets/omsdk.js b/PrebidMobile/PrebidMobileRendering/Assets/omsdk.js index c32171706..18deb341f 100644 --- a/PrebidMobile/PrebidMobileRendering/Assets/omsdk.js +++ b/PrebidMobile/PrebidMobileRendering/Assets/omsdk.js @@ -1,79 +1,79 @@ ;(function(omidGlobal) { 'use strict';var n;function aa(a){var b=0;return function(){return bc&&(c=Math.max(c+e,0));ch&&K.yv){x=!0;break}}x&&(e+=Math.round(k)*Math.round(B))}}c-=e;b=Math.round(c/b*100);a.o=Math.max(b,0);a.v=Math.max(c,0)}} -function Ja(a,b){if(0!==b.width&&0!==b.height&&a.b){a=wa(a.b);var c=a.y,d=a.endX,e=a.endY;b=!(b.endX<=a.x||b.x>=d||b.endY<=c||b.y>=e)}else b=!1;return b}function D(a,b){for(var c=!1,d=0;dd.time&&(d=b[e]);c=d;a.g=Lb(c.rootBounds);a.a=Lb(c.boundingClientRect);a.v=Lb(c.intersectionRect);a.H=!!c.isIntersecting;wb(a)}}catch(g){a.m(),db(a.G,'generic','Problem handling IntersectionObserver callback: '+g.message)}},{root:null,rootMargin:'0px',threshold:[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1]})} -function Kb(a){a.f.ResizeObserver?a.l||(a.l=Mb(a,function(){return Ob(a)}),a.l.observe(a.b)):(a.o||(a.o=function(){return Ob(a)},(0,a.f.addEventListener)('resize',a.o)),a.j||(a.j=new MutationObserver(function(){return Ob(a)}),a.j.observe(a.b,{childList:!1,attributes:!0,subtree:!1})))}function Ob(a){a.b&&!Jb(a.b)&&(Ib(a),Gb(a))}function Mb(a,b){return new a.f.ResizeObserver(b)}function Lb(a){if(a&&null!==a.x&&null!==a.y&&null!==a.width&&null!==a.height)return new A(a,!1)};function Pb(a){return a&&N(a)?Object.entries(a).reduce(function(b,c){var d=p(c);c=d.next().value;d=d.next().value;return b&&O(c)&&null!=d&&N(d)&&O(d.resourceUrl)},!0):!1};function U(a,b,c,d){this.b=a;this.method=b;this.version=c;this.a=d}function Qb(a){return!!a&&void 0!==a.omid_message_guid&&void 0!==a.omid_message_method&&void 0!==a.omid_message_version&&'string'===typeof a.omid_message_guid&&'string'===typeof a.omid_message_method&&'string'===typeof a.omid_message_version&&(void 0===a.omid_message_args||void 0!==a.omid_message_args)}function Rb(a){return new U(a.omid_message_guid,a.omid_message_method,a.omid_message_version,a.omid_message_args)} -function Sb(a){var b={};b=(b.omid_message_guid=a.b,b.omid_message_method=a.method,b.omid_message_version=a.version,b);void 0!==a.a&&(b.omid_message_args=a.a);return b};function Tb(a){this.c=a};function V(a){this.c=a;this.handleExportedMessage=V.prototype.f.bind(this)}r(V,Tb);V.prototype.b=function(a,b){b=void 0===b?this.c:b;if(!b)throw Error('Message destination must be defined at construction time or when sending the message.');b.handleExportedMessage(Sb(a),this)};V.prototype.f=function(a,b){Qb(a)&&this.a&&this.a(Rb(a),b)};function Ub(a,b){this.c=b=void 0===b?I:b;var c=this;a.addEventListener('message',function(d){if('object'===typeof d.data){var e=d.data;Qb(e)&&d.source&&c.a&&c.a(Rb(e),d.source)}})}r(Ub,Tb);Ub.prototype.b=function(a,b){b=void 0===b?this.c:b;if(!b)throw Error('Message destination must be defined at construction time or when sending the message.');b.postMessage(Sb(a),'*')};function Vb(){return'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(a){var b=16*Math.random()|0;return'y'===a?(b&3|8).toString(16):b.toString(16)})};function Wb(a){if(!a.a||!a.a.document)throw Error('OMID Service Script is not running within a window.');var b=a.b;a.b=[];b.forEach(function(c){try{var d=a.c.C?'limited':'full',e=P(c.accessMode,sa)?c.accessMode:null;var g=e?'full'==e&&'limited'==d?d:'domain'==e?'limited':e:d;c.accessMode=g;a:{var l=c.resourceUrl,f=a.a.location.origin;try{var h=new URL(l,f);break a}catch(F){}try{h=new URL(l);break a}catch(F){}h=null}if(d=h){var k=Vb(),m=a.a.document,v=m.createElement('iframe');v.id='omid-verification-script-frame-'+ -k;v.style.display='none';['full','limited'].includes(g)?v.srcdoc="\n