Skip to content

Commit

Permalink
Max 12.1 Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
scottrules44 committed Jan 6, 2024
1 parent 02750cc commit f81b3cd
Show file tree
Hide file tree
Showing 72 changed files with 89,239 additions and 1,815 deletions.
2 changes: 1 addition & 1 deletion plugins/2018.3326/android/corona.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ repositories {
mavenCentral()
}
dependencies {
implementation 'com.applovin.mediation:vungle-adapter:6.12.1.1'
implementation 'com.applovin.mediation:vungle-adapter:7.1.0.0'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
//
// OMIDAdEvents.h
// AppVerificationLibrary
//
// Created by Daria Sukhonosova on 22/06/2017.
//

#import <Foundation/Foundation.h>
#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 OMIDVungleAdEvents : 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 OMIDVungleAdSession *)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:(OMIDVungleVASTProperties *_Nonnull)vastProperties
error:(NSError *_Nullable *_Nullable)error;
@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
//
// OMIDAdSession.h
// AppVerificationLibrary
//
// Created by Daria on 06/06/2017.
//

#import <UIKit/UIKit.h>
#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 OMIDVungleAdSession : NSObject

/**
* The AdSession configuration is used for check owners.
*/
@property(nonatomic, readonly) OMIDVungleAdSessionConfiguration *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:(OMIDVungleAdSessionConfiguration *)configuration
adSessionContext:(OMIDVungleAdSessionContext *)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
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
//
// OMIDAdSessionConfiguration.h
// AppVerificationLibrary
//
// Created by Saraev Vyacheslav on 15/09/2017.
//

#import <UIKit/UIKit.h>

/**
* 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 OMIDVungleAdSessionConfiguration : 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

Loading

0 comments on commit f81b3cd

Please sign in to comment.