diff --git a/README.md b/README.md index 60d4970..f9d958c 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ h. handler ad event ``` ### 3 processing for ios -open project with xcode ,right click project choose menu item "add files to project" to add third-party lib in folder "iosadapters"
+delete unsed platform from iosadapter and then copy iosadapters folder to xcode project folder,open project with xcode ,right click project choose menu item "add files to project" to add third-party lib in folder "iosadapters"
if you are using gdt,need add -lstdc++ to Other Linker Flags under tab "Build Setttings"
### 4 Optimized for android In the android project There are three folders
diff --git a/iosadapters/Admob/GoogleMobileAds.framework/.DS_Store b/iosadapters/Adcolony/.DS_Store similarity index 100% rename from iosadapters/Admob/GoogleMobileAds.framework/.DS_Store rename to iosadapters/Adcolony/.DS_Store diff --git a/iosadapters/Adcolony/AdColony.framework/AdColony b/iosadapters/Adcolony/AdColony.framework/AdColony index 12f4051..c407e83 100644 Binary files a/iosadapters/Adcolony/AdColony.framework/AdColony and b/iosadapters/Adcolony/AdColony.framework/AdColony differ diff --git a/iosadapters/Adcolony/AdColony.framework/Headers/AdColony.h b/iosadapters/Adcolony/AdColony.framework/Headers/AdColony.h index 451a9c0..a9a3aa3 100644 --- a/iosadapters/Adcolony/AdColony.framework/Headers/AdColony.h +++ b/iosadapters/Adcolony/AdColony.framework/Headers/AdColony.h @@ -9,32 +9,31 @@ #import "AdColonyAdInfo.h" -#pragma mark - -#pragma mark Constants +#pragma mark - Constants /** * Enum for zone status */ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { - ADCOLONY_ZONE_STATUS_NO_ZONE = 0, /**< AdColony has not been configured with that zone ID. */ - ADCOLONY_ZONE_STATUS_OFF, /**< The zone has been turned off on the [Control Panel](http://clients.adcolony.com). */ - ADCOLONY_ZONE_STATUS_LOADING, /**< The zone is preparing ads for display. */ - ADCOLONY_ZONE_STATUS_ACTIVE, /**< The zone has completed preparing ads for display. */ - ADCOLONY_ZONE_STATUS_UNKNOWN /**< AdColony has not yet received the zone's configuration from the server. */ + ADCOLONY_ZONE_STATUS_NO_ZONE = 0, /** AdColony has not been configured with that zone ID. */ + ADCOLONY_ZONE_STATUS_OFF, /** The zone has been turned off on the [Control Panel](http://clients.adcolony.com). */ + ADCOLONY_ZONE_STATUS_LOADING, /** The zone is preparing ads for display. */ + ADCOLONY_ZONE_STATUS_ACTIVE, /** The zone has completed preparing ads for display. */ + ADCOLONY_ZONE_STATUS_UNKNOWN /** AdColony has not yet received the zone's configuration from our server. */ }; -#pragma mark - -#pragma mark Forward declarations +#pragma mark - Forward declarations @class AdColonyNativeAdView; @class UIViewController; -#pragma mark - -#pragma mark AdColonyDelegate protocol +NS_ASSUME_NONNULL_BEGIN -/** +#pragma mark - AdColonyDelegate protocol + +/** * Use the AdColonyDelegate to receive callbacks when ad availability changes or when a V4VC transaction has completed. - * This delegate is passed to AdColony during configuration using `+ AdColony configureWithAppID:zoneIDs:delegate:logging:`. + * This delegate is passed to AdColony during configuration using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]`. */ @protocol AdColonyDelegate @optional @@ -49,12 +48,12 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @param available Whether ads became available or unavailable. * @param zoneID The affected zone. */ -- ( void ) onAdColonyAdAvailabilityChange:( BOOL )available inZone:( NSString * )zoneID; +- (void)onAdColonyAdAvailabilityChange:(BOOL)available inZone:(NSString *)zoneID; /** @name Virtual Currency Rewards (V4VC) */ -/** +/** * Notifies your app when a virtual currency transaction has completed as a result of displaying an ad. * In your implementation, check for success and implement any app-specific code that should be run when * AdColony has successfully rewarded. Client-side V4VC implementations should increment the user's currency @@ -65,12 +64,10 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @param amount The amount of currency to reward. * @param zoneID The affected zone. */ -- ( void ) onAdColonyV4VCReward:( BOOL )success currencyName:( NSString * )currencyName currencyAmount:( int )amount inZone:( NSString * )zoneID; - +- (void)onAdColonyV4VCReward:(BOOL)success currencyName:(NSString *)currencyName currencyAmount:(int)amount inZone:(NSString *)zoneID; @end -#pragma mark - -#pragma mark AdColonyAdDelegate protocol +#pragma mark - AdColonyAdDelegate protocol /** * Use the AdColonyAdDelegate to receive callbacks when ads start playing or when an attempt to play an ad has finished (successfully or not). @@ -79,22 +76,23 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { */ @protocol AdColonyAdDelegate @optional -/** + +/** * Notifies your app that an ad will actually play in response to the app's request to play an ad. * This method is called when AdColony has taken control of the device screen and is about to begin * showing an ad. Apps should implement app-specific code such as pausing a game and turning off app music. * @param zoneID The affected zone. */ -- ( void ) onAdColonyAdStartedInZone:( NSString * )zoneID; +- (void)onAdColonyAdStartedInZone:(NSString *)zoneID; -/** +/** * Notifies your app that an ad completed playing (or never played) and control has been returned to the app. * This method is called when AdColony has finished trying to show an ad, either successfully or unsuccessfully. * If an ad was shown, apps should implement app-specific code such as unpausing a game and restarting app music. * @param shown Whether an ad was actually shown. * @param zoneID The affected zone. */ -- ( void ) onAdColonyAdAttemptFinished:(BOOL)shown inZone:( NSString * )zoneID; +- (void)onAdColonyAdAttemptFinished:(BOOL)shown inZone:(NSString *)zoneID; /** * Alternative for `- onAdColonyAdAttemptFinished:inZone` that passes an AdColonyAdInfo object to the delegate. The AdColonyAdInfo object can be queried @@ -105,12 +103,10 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @see onAdColonyAdAttemptFinished:inZone * @see AdColonyAdInfo */ -- ( void ) onAdColonyAdFinishedWithInfo:( AdColonyAdInfo * )info; - +- (void)onAdColonyAdFinishedWithInfo:(AdColonyAdInfo *)info; @end -#pragma mark - -#pragma mark AdColony interface +#pragma mark - AdColony interface /** * The AdColony class provides methods to start AdColony, display ads, and change global settings @@ -125,38 +121,37 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * AdColony does not begin preparing ads for display or performing reporting until after it is configured by your app. * @param appID The AdColony app ID for your app. This can be created and retrieved at the [Control Panel](http://clients.adcolony.com). * @param zoneIDs An array of at least one AdColony zone ID string. AdColony zone IDs can be created and retrieved at the [Control Panel](http://clients.adcolony.com). If `nil`, app will be unable to play ads and AdColony will only provide limited reporting and install tracking functionality. - * @param del The delegate to receive V4VC and ad availability events. Can be `nil` for apps that do not need these events. + * @param del (*optional*) The delegate to receive V4VC and ad availability events. Can be `nil` for apps that do not need these events. * @param log A boolean controlling AdColony verbose logging. */ -+ ( void ) configureWithAppID:( NSString * )appID zoneIDs:( NSArray * )zoneIDs delegate:( id )del logging:( BOOL )log; ++ (void)configureWithAppID:(NSString *)appID zoneIDs:(NSArray *)zoneIDs delegate:(nullable id)del logging:(BOOL)log; /** @name Playing Video Ads */ /** * Plays an AdColony ad. - * This method returns immediately, before the ad completes. If ads are not - * available, an ad may not play as a result of this method call. If you need - * more detailed information about when the ad completes or whether an ad + * This method returns immediately, before the ad completes. If ads are not + * available, an ad may not play as a result of this method call. If you need + * more detailed information about when the ad completes or whether an ad * played, pass in a delegate. * @param zoneID The zone from which the ad should play. - * @param del The delegate to receive ad events. Can be `nil` for apps that do not need these events. + * @param del (*optional*) The delegate to receive ad events. Can be `nil` for apps that do not need these events. */ -+ ( void ) playVideoAdForZone:( NSString * )zoneID withDelegate:( id )del; ++ (void)playVideoAdForZone:(NSString *)zoneID withDelegate:(nullable id)del; /** * Plays an AdColony ad and allows specifying display of the default V4VC instructional popups. - * This method returns immediately, before the ad completes. If ads are not + * This method returns immediately, before the ad completes. If ads are not * available, an ad may not play as a result of this method call. If you need * more detailed information about when the ad completes or whether an ad * played, pass in a delegate. - * @param zoneID The zone from which the ad should play. - * @param del The delegate to receive ad events. Can be `nil` for apps that do not need these events. + * @param zoneID The zone from which the ad should play. + * @param del (*optional*) The delegate to receive ad events. Can be `nil` for apps that do not need these events. * @param showPrePopup Whether AdColony should display an instructional popup before the ad. * @param showPostPopup Whether AdColony should display an instructional popup after the ad. */ -+ ( void ) playVideoAdForZone:( NSString * )zoneID withDelegate:( id )del - withV4VCPrePopup:( BOOL )showPrePopup andV4VCPostPopup:( BOOL )showPostPopup; ++ (void)playVideoAdForZone:(NSString *)zoneID withDelegate:(nullable id)del withV4VCPrePopup:(BOOL)showPrePopup andV4VCPostPopup:(BOOL)showPostPopup; /** * Returns an AdColonyNativeAdView, used to display an ad embedded within a screen of your app. @@ -165,38 +160,38 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @return An AdColonyNativeAdView. May be `nil` if ads are not available. * @see AdColonyNativeAdView */ -+ ( AdColonyNativeAdView * ) getNativeAdForZone:( NSString * )zoneID presentingViewController:( UIViewController * )viewController; ++ (nullable AdColonyNativeAdView *)getNativeAdForZone:(NSString *)zoneID presentingViewController:(UIViewController *)viewController; -/** +/** * Returns the zone status for the specified zone. * @param zoneID The zone in question * @return An ADCOLONY_ZONE_STATUS enum value indicating the zone status. Possible values are: `ADCOLONY_ZONE_STATUS_NO_ZONE` indicating AdColony has not been configured with that zone ID; `ADCOLONY_ZONE_STATUS_OFF` indicating the zone has been turned off on the control panel; `ADCOLONY_ZONE_STATUS_LOADING` indicating zone is preparing ads for display; `ADCOLONY_ZONE_STATUS_ACTIVE` indicating the zone is ready to display ads; `ADCOLONY_ZONE_STATUS_UNKNOWN` indicating AdColony has not yet received the zone's configuration from the server. */ -+ ( ADCOLONY_ZONE_STATUS ) zoneStatusForZone:( NSString * )zoneID; ++ (ADCOLONY_ZONE_STATUS)zoneStatusForZone:(NSString *)zoneID; /** @name Device and User Identifiers */ -/** +/** * Assigns your own custom identifier to the current app user. * Once you've provided an identifier, AdColony will persist it across app * restarts (stored on disk only) until you update it. If using this method, - * call it before `+ configureWithAppID:zoneIDs:delegate:logging:` so that the + * call it before `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` so that the * identifier is used consistently across all server communications. The * identifier will also pass through to server-side V4VC callbacks. * @param customID An arbitrary, application-specific identifier string for the current user. Must be less than 128 characters. * @see getCustomID */ -+ ( void ) setCustomID:( NSString * )customID; ++ (void)setCustomID:(NSString *)customID; -/** +/** * Returns the device's current custom identifier. - * @return The custom identifier string most recently set using `+ setCustomID:`. + * @return The custom identifier string most recently set using `[AdColony setCustomID:]`. * @see setCustomID: */ -+ ( NSString * ) getCustomID; ++ (NSString *)getCustomID; -/** +/** * Returns the device's OpenUDID. * OpenUDID is a community-designed replacement for the Apple UDID. You can * link your own copy of the OpenUDID library if desired, and it should return @@ -206,46 +201,46 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * identifier for new integrations. This method is provided for backwards compatibility. * @return The string representation of the device's OpenUDID. */ -+ ( NSString * ) getOpenUDID; ++ (NSString *)getOpenUDID; -/** +/** * Returns an AdColony-defined device identifier. - * This identifier should remain constant across the lifetime of an iOS device. + * This identifier should remain constant across the lifetime of an iOS device. * The identifier is a SHA-1 hash of the lowercase colon-separated MAC address of the device's WiFi interface. * As of iOS 7, the behavior of this identifier will change. We do not recommend using this * identifier for new integrations. This method is provided for backwards compatibility. * @return The string representation of the device's AdColony identifier. */ -+ ( NSString * ) getUniqueDeviceID; ++ (NSString *)getUniqueDeviceID; -/** +/** * Returns the device's ODIN-1. - * ODIN-1 is a community-designed replacement for the Apple UDID. You can - * link your own copy of the ODIN-1 source if desired, and it should return the same value. + * ODIN-1 is a community-designed replacement for the Apple UDID. You can + * link your own copy of the ODIN-1 source if desired, and it should return the same value. * For details, please see the [ODIN-1 Google Code page](https://code.google.com/p/odinmobile/wiki/ODIN1). * As of iOS 7, the behavior of this identifier will change. We do not recommend using this * identifier for new integrations. This method is provided for backwards compatibility. * @return The string representation of the device's ODIN-1. */ -+ ( NSString * ) getODIN1; ++ (NSString *)getODIN1; -/** +/** * Returns the device's advertising identifier. * This value can change if the user restores their device or resets ad tracking. - * @return The string representation of the device's advertising identifier, introduced in iOS 6. Returns `nil` on iOS 5 or below. + * @return The string representation of the device's advertising identifier, introduced in iOS 6. Returns an empty string on iOS 5 or below. */ -+ ( NSString * ) getAdvertisingIdentifier; ++ (NSString *)getAdvertisingIdentifier; /** * Returns the device's vendor identifier. - * @return As of version 2.3 of our iOS SDK, AdColony no longer collects the vendor identifier and this method will return `nil`. This method is provided for backwards compatibility. + * @return As of version 2.3 of our iOS SDK, AdColony no longer collects the vendor identifier and this method will return an empty string. This method is provided for backwards compatibility. */ -+ ( NSString * ) getVendorIdentifier; ++ (NSString *)getVendorIdentifier; /** @name V4VC Availability and Currency Info */ -/** +/** * Returns if it is possible for the user to receive a virtual currency reward for playing an ad in the zone. * This method takes into account whether V4VC has been configured properly for the zone on the * [AdColony Control Panel](http://clients.adcolony.com), whether the user's daily reward cap has been reached, @@ -253,54 +248,54 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @param zoneID The zone in question. * @return A boolean indicating whether a reward is currently available for the user. */ -+ ( BOOL ) isVirtualCurrencyRewardAvailableForZone:( NSString * )zoneID; ++ (BOOL)isVirtualCurrencyRewardAvailableForZone:(NSString *)zoneID; /** * Returns the number of possible virtual currency rewards currently available for the user. * This method takes into account daily caps, available ads, and other variables. * @param zoneID The zone in question. - * @return An integer number of remaining virtual currency rewards that can possibly occur in the near future. + * @return As of version 2.6 of our iOS SDK, AdColony no longer suports this method. It will always return 0. This method is provided for backwards compatibility. */ -+ ( int ) getVirtualCurrencyRewardsAvailableTodayForZone:( NSString * )zoneID; ++ (int)getVirtualCurrencyRewardsAvailableTodayForZone:(NSString *)zoneID; /** * Returns the name of the virtual currency rewarded by the zone. - * You must first configure AdColony using `+ configureWithAppID:zoneIDs:delegate:logging:` + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. * @param zoneID The zone in question * @return A string name of the virtual currency rewarded by the zone, as configured on the [AdColony Control Panel](http://clients.adcolony.com). */ -+ ( NSString * ) getVirtualCurrencyNameForZone:( NSString * )zoneID; ++ (NSString *)getVirtualCurrencyNameForZone:(NSString *)zoneID; /** * Returns the amount of virtual currency rewarded by the zone. - * You must first configure AdColony using `+ configureWithAppID:zoneIDs:delegate:logging:` + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. * @param zoneID The zone in question * @return An integer indicating the amount of virtual currency rewarded by the zone, as configured on the [AdColony Control Panel](http://clients.adcolony.com). */ -+ ( int ) getVirtualCurrencyRewardAmountForZone:( NSString * )zoneID; ++ (int)getVirtualCurrencyRewardAmountForZone:(NSString *)zoneID; /** @name V4VC Multiple Videos per Reward Info */ /** * Returns the number of ads that the user must play to earn the designated reward. - * You must first configure AdColony using `+ configureWithAppID:zoneIDs:delegate:logging:` + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. * @param currencyName The name of the currency to query * @return An integer number of ads that the user must play per currency reward, as configured on the [AdColony Control Panel](http://clients.adcolony.com). */ -+ ( int ) getVideosPerReward:( NSString * )currencyName; ++ (int)getVideosPerReward:(NSString *)currencyName; /** * Returns the number of ads that the user has seen towards their next reward. - * You must first configure AdColony using `+ configureWithAppID:zoneIDs:delegate:logging:` + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. * @param currencyName The name of the currency to query. * @return An integer number of ads that the user has seen towards their next reward. */ -+ ( int ) getVideoCreditBalance:( NSString * )currencyName; ++ (int)getVideoCreditBalance:(NSString *)currencyName; /** @name Options and Other Functionality */ @@ -312,13 +307,13 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * like a VoIP phone call. This should not be used for standard app interruptions such as * multitasking or regular phone calls. */ -+ ( void ) cancelAd; ++ (void)cancelAd; /** * Whether a full-screen AdColony ad is currently being played. * @return A boolean indicating if AdColony is currently playing an ad. */ -+ ( BOOL ) videoAdCurrentlyRunning; ++ (BOOL)videoAdCurrentlyRunning; /** * This method permanently turns off all AdColony ads for this app on the current device. @@ -326,7 +321,7 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * This method could be used in the implementation of an In-App Purchase to disable ads; * make sure to allow In-App Purchases to be restored by the user in the case of deleting and reinstalling the app. */ -+ ( void ) turnAllAdsOff; ++ (void)turnAllAdsOff; /** @name Optional User Metadata */ @@ -338,7 +333,7 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @param metadataType One of the predefined user metadata keys. * @param value Either a predefined user metadata value, or arbitrary value. */ -+ ( void ) setUserMetadata:( NSString * )metadataType withValue:( NSString * )value; ++ (void)setUserMetadata:(NSString *)metadataType withValue:(NSString *)value; /** * Provide AdColony with real-time feedback about what a user is interested in. @@ -349,7 +344,7 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * the finance section of a news app, a developer should call: `[AdColony userInterestedIn:@"finance"]`. * @param topic An arbitrary topic string. */ -+ ( void ) userInterestedIn:( NSString * )topic; ++ (void)userInterestedIn:(NSString *)topic; /** @name In-app purchase (IAP) Tracking */ @@ -364,40 +359,48 @@ typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { * @param currencyCode (*optional*) An NSString indicating the real-world, three-letter ISO 4217 (e.g. USD) currency code of the transaction. * @see onAdColonyIAPRequest:quantity */ -+ ( void ) notifyIAPComplete:( NSString * )transactionID productID:( NSString * )productID quantity:( int )quantity price:( NSNumber * )price currencyCode:( NSString * )currencyCode; ++ (void)notifyIAPComplete:(NSString *)transactionID productID:(NSString *)productID quantity:(int)quantity price:(nullable NSNumber *)price currencyCode:(nullable NSString *)currencyCode; + +/** @name Options */ + +/** Use this method to set AdColony options. + * @param option An NSString representing the option. + * @param value A BOOL indicating whether or not to enable/disable the option. + */ ++ (void)setOption:(NSString *)option value:(BOOL)value; @end -#pragma mark - -#pragma mark User Metadata Constants +#pragma mark - User Metadata Constants /** * User metadata keys */ -extern NSString *const ADC_SET_USER_AGE; /**< Set the user's age */ -extern NSString *const ADC_SET_USER_INTERESTS; /**< Set the user's interests */ -extern NSString *const ADC_SET_USER_GENDER; /**< Set the user's gender */ -extern NSString *const ADC_SET_USER_LATITUDE; /**< Set the user's current latitude */ -extern NSString *const ADC_SET_USER_LONGITUDE; /**< Set the user's current longitude */ -extern NSString *const ADC_SET_USER_ANNUAL_HOUSEHOLD_INCOME; /**< Set the user's annual house hold income in United States Dollars */ -extern NSString *const ADC_SET_USER_MARITAL_STATUS; /**< Set the user's marital status */ -extern NSString *const ADC_SET_USER_EDUCATION; /**< Set the user's education level */ -extern NSString *const ADC_SET_USER_ZIPCODE; /**< Set the user's known zip code */ +extern NSString *const ADC_SET_USER_AGE; /** Set the user's age */ +extern NSString *const ADC_SET_USER_INTERESTS; /** Set the user's interests */ +extern NSString *const ADC_SET_USER_GENDER; /** Set the user's gender */ +extern NSString *const ADC_SET_USER_LATITUDE; /** Set the user's current latitude */ +extern NSString *const ADC_SET_USER_LONGITUDE; /** Set the user's current longitude */ +extern NSString *const ADC_SET_USER_ANNUAL_HOUSEHOLD_INCOME; /** Set the user's annual house hold income in United States Dollars */ +extern NSString *const ADC_SET_USER_MARITAL_STATUS; /** Set the user's marital status */ +extern NSString *const ADC_SET_USER_EDUCATION; /** Set the user's education level */ +extern NSString *const ADC_SET_USER_ZIPCODE; /** Set the user's known zip code */ /** * User metadata values (for pre-defined values) */ -extern NSString *const ADC_USER_MALE; /**< User is male */ -extern NSString *const ADC_USER_FEMALE; /**< User is female */ +extern NSString *const ADC_USER_MALE; /** User is male */ +extern NSString *const ADC_USER_FEMALE; /** User is female */ -extern NSString *const ADC_USER_SINGLE; /**< User is single */ -extern NSString *const ADC_USER_MARRIED; /**< User is married */ +extern NSString *const ADC_USER_SINGLE; /** User is single */ +extern NSString *const ADC_USER_MARRIED; /** User is married */ -extern NSString *const ADC_USER_EDUCATION_GRADE_SCHOOL; /**< User has a basic grade school education and has not attended high school */ -extern NSString *const ADC_USER_EDUCATION_SOME_HIGH_SCHOOL; /**< User has completed at least some high school but has not received a diploma */ -extern NSString *const ADC_USER_EDUCATION_HIGH_SCHOOL_DIPLOMA; /**< User has received a high school diploma but has not completed any college */ -extern NSString *const ADC_USER_EDUCATION_SOME_COLLEGE; /**< User has completed at least some college but doesn't have a college degree */ -extern NSString *const ADC_USER_EDUCATION_ASSOCIATES_DEGREE; /**< User has been awarded at least 1 associates degree, but doesn't have any higher level degrees */ -extern NSString *const ADC_USER_EDUCATION_BACHELORS_DEGREE; /**< User has been awarded at least 1 bachelors degree, but does not have a graduate level degree */ -extern NSString *const ADC_USER_EDUCATION_GRADUATE_DEGREE; /**< User has been awarded at least 1 masters or doctorate level degree */ +extern NSString *const ADC_USER_EDUCATION_GRADE_SCHOOL; /** User has a basic grade school education and has not attended high school */ +extern NSString *const ADC_USER_EDUCATION_SOME_HIGH_SCHOOL; /** User has completed at least some high school but has not received a diploma */ +extern NSString *const ADC_USER_EDUCATION_HIGH_SCHOOL_DIPLOMA; /** User has received a high school diploma but has not completed any college */ +extern NSString *const ADC_USER_EDUCATION_SOME_COLLEGE; /** User has completed at least some college but doesn't have a college degree */ +extern NSString *const ADC_USER_EDUCATION_ASSOCIATES_DEGREE; /** User has been awarded at least 1 associates degree, but doesn't have any higher level degrees */ +extern NSString *const ADC_USER_EDUCATION_BACHELORS_DEGREE; /** User has been awarded at least 1 bachelors degree, but does not have a graduate level degree */ +extern NSString *const ADC_USER_EDUCATION_GRADUATE_DEGREE; /** User has been awarded at least 1 masters or doctorate level degree */ +NS_ASSUME_NONNULL_END diff --git a/iosadapters/Adcolony/AdColony.framework/Headers/AdColonyAdInfo.h b/iosadapters/Adcolony/AdColony.framework/Headers/AdColonyAdInfo.h index 8d5a3c6..562be95 100644 --- a/iosadapters/Adcolony/AdColony.framework/Headers/AdColonyAdInfo.h +++ b/iosadapters/Adcolony/AdColony.framework/Headers/AdColonyAdInfo.h @@ -10,17 +10,19 @@ /** * Enum for in-app purchase (IAP) engagement types */ -typedef enum { - ADCOLONY_IAP_ENGAGEMENT_NONE = 0, /** delegate; +@property (nonatomic, weak, nullable) id delegate; /** @name Creative Content and User Interface */ @@ -43,11 +45,11 @@ @property (nonatomic, readonly) NSString* advertiserName; /** - * The advertiser's icon for this ad. Typically 200x200 pixels for Retina display at up to 100x100 screen points. + * The advertiser's icon for this ad (may be `nil`). Typically 200x200 pixels for Retina display at up to 100x100 screen points. * Display of this image is optional. * @param advertiserIrcon The icon of this ad's advertiser. */ -@property (nonatomic, readonly) UIImage* advertiserIcon; +@property (nonatomic, readonly, nullable) UIImage* advertiserIcon; /** * A short title for this ad. Approximately 25 characters. @@ -64,11 +66,11 @@ @property (nonatomic, readonly) NSString* adDescription; /** - * The engagement button for this ad (may be nil). This is automatically displayed beneath the video component. + * The engagement button for this ad (may be `nil`). This is automatically displayed beneath the video component. * Use this property to access the UIButton and customize anything about it except its title text and tap action. * @param engagementButton The engagement button that is already embedded within this ad. */ -@property (nonatomic, readonly) UIButton* engagementButton; +@property (nonatomic, nullable) UIButton* engagementButton; /** * Returns the recommended height for the AdColonyNativeAdView if it will be displayed at the specified width. @@ -112,7 +114,6 @@ * This method must be used to undo a previous corresponding call to `pause`. */ -(void)resume; - @end #pragma mark - AdColonyNativeAdDelegate @@ -122,6 +123,7 @@ */ @protocol AdColonyNativeAdDelegate @optional + /** * Notifies your app that a native ad has begun displaying its video content in response to being displayed on screen. * @param ad The affected native ad view. @@ -145,10 +147,10 @@ -(void)onAdColonyNativeAdFinished:(AdColonyNativeAdView*)ad expanded:(BOOL)expanded; /** - * Alternative for `- onAdColonyNativeAdFinished:expanded` that passes an AdColonyAdInfo object to the delegate. The AdColonyAdInfo object can be queried + * Alternative for `[AdColonyNativeAdDelegate onAdColonyNativeAdFinished:expanded]` that passes an AdColonyAdInfo object to the delegate. The AdColonyAdInfo object can be queried * for information about the ad session: whether or not the ad was shown, the associated zone ID, whether or not the video was an In-App Purchase Promo (IAPP), * the type of engagement that triggered an IAP, etc. If your application is showing IAPP advertisements, you will need to implement this callback - * instead of `- onAdColonyNativeAdFinished:expanded` so you can decide what action to take once the ad has completed. + * instead of `[AdColonyNativeAdDelegate onAdColonyNativeAdFinished:expanded]` so you can decide what action to take once the ad has completed. * @param ad The affected native ad view. * @param info An AdColonyAdInfo object containing information about the associated ad. * @see AdColonyAdInfo @@ -168,3 +170,5 @@ */ -(void)onAdColonyNativeAdEngagementPressed:(AdColonyNativeAdView*)ad expanded:(BOOL)expanded; @end + +NS_ASSUME_NONNULL_END diff --git a/iosadapters/Adcolony/AdColony.framework/Versions/A/AdColony b/iosadapters/Adcolony/AdColony.framework/Versions/A/AdColony new file mode 100644 index 0000000..c407e83 Binary files /dev/null and b/iosadapters/Adcolony/AdColony.framework/Versions/A/AdColony differ diff --git a/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColony.h b/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColony.h new file mode 100644 index 0000000..a9a3aa3 --- /dev/null +++ b/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColony.h @@ -0,0 +1,406 @@ +/* + * AdColony.h + * adc-ios-sdk + * + * Created by Ty Heath on 7/17/12. + */ + +#import + +#import "AdColonyAdInfo.h" + +#pragma mark - Constants + +/** + * Enum for zone status + */ +typedef NS_ENUM(NSUInteger, ADCOLONY_ZONE_STATUS) { + ADCOLONY_ZONE_STATUS_NO_ZONE = 0, /** AdColony has not been configured with that zone ID. */ + ADCOLONY_ZONE_STATUS_OFF, /** The zone has been turned off on the [Control Panel](http://clients.adcolony.com). */ + ADCOLONY_ZONE_STATUS_LOADING, /** The zone is preparing ads for display. */ + ADCOLONY_ZONE_STATUS_ACTIVE, /** The zone has completed preparing ads for display. */ + ADCOLONY_ZONE_STATUS_UNKNOWN /** AdColony has not yet received the zone's configuration from our server. */ +}; + +#pragma mark - Forward declarations + +@class AdColonyNativeAdView; +@class UIViewController; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - AdColonyDelegate protocol + +/** + * Use the AdColonyDelegate to receive callbacks when ad availability changes or when a V4VC transaction has completed. + * This delegate is passed to AdColony during configuration using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]`. + */ +@protocol AdColonyDelegate +@optional + +/** @name Video Ad Readiness */ + +/** + * Provides your app with real-time updates about ad availability changes. + * This method is called when a zone's ad availability state changes (when ads become available, or become unavailable). + * Listening to these callbacks allows your app to update its user interface immediately. + * For example, when ads become available in a zone you could immediately show an ad for that zone. + * @param available Whether ads became available or unavailable. + * @param zoneID The affected zone. + */ +- (void)onAdColonyAdAvailabilityChange:(BOOL)available inZone:(NSString *)zoneID; + + +/** @name Virtual Currency Rewards (V4VC) */ + +/** + * Notifies your app when a virtual currency transaction has completed as a result of displaying an ad. + * In your implementation, check for success and implement any app-specific code that should be run when + * AdColony has successfully rewarded. Client-side V4VC implementations should increment the user's currency + * balance in this method. Server-side V4VC implementations should contact the game server to determine + * the current total balance for the virtual currency. + * @param success Whether the transaction succeeded or failed. + * @param currencyName The name of currency to reward. + * @param amount The amount of currency to reward. + * @param zoneID The affected zone. + */ +- (void)onAdColonyV4VCReward:(BOOL)success currencyName:(NSString *)currencyName currencyAmount:(int)amount inZone:(NSString *)zoneID; +@end + +#pragma mark - AdColonyAdDelegate protocol + +/** + * Use the AdColonyAdDelegate to receive callbacks when ads start playing or when an attempt to play an ad has finished (successfully or not). + * This is most frequently used by apps to pause app sound and music during the display of an ad. + * This delegate is passed to AdColony when you call a method to play an ad. + */ +@protocol AdColonyAdDelegate +@optional + +/** + * Notifies your app that an ad will actually play in response to the app's request to play an ad. + * This method is called when AdColony has taken control of the device screen and is about to begin + * showing an ad. Apps should implement app-specific code such as pausing a game and turning off app music. + * @param zoneID The affected zone. + */ +- (void)onAdColonyAdStartedInZone:(NSString *)zoneID; + +/** + * Notifies your app that an ad completed playing (or never played) and control has been returned to the app. + * This method is called when AdColony has finished trying to show an ad, either successfully or unsuccessfully. + * If an ad was shown, apps should implement app-specific code such as unpausing a game and restarting app music. + * @param shown Whether an ad was actually shown. + * @param zoneID The affected zone. + */ +- (void)onAdColonyAdAttemptFinished:(BOOL)shown inZone:(NSString *)zoneID; + +/** + * Alternative for `- onAdColonyAdAttemptFinished:inZone` that passes an AdColonyAdInfo object to the delegate. The AdColonyAdInfo object can be queried + * for information about the ad session: whether or not the ad was shown, the associated zone ID, whether or not the video was an In-App Purchase Promo (IAPP), + * the type of engagement that triggered an IAP, etc. If your application is showing IAPP advertisements, you will need to implement this callback + * instead of `- onAdColonyAdAttemptFinished:inZone` so you can decide what action to take once the ad has completed. + * @param info An AdColonyAdInfo object containing metadata about the associated ad. + * @see onAdColonyAdAttemptFinished:inZone + * @see AdColonyAdInfo + */ +- (void)onAdColonyAdFinishedWithInfo:(AdColonyAdInfo *)info; +@end + +#pragma mark - AdColony interface + +/** + * The AdColony class provides methods to start AdColony, display ads, and change global settings + */ +@interface AdColony : NSObject + +/** @name Starting AdColony */ + +/** + * Configures AdColony specifically for your app; required for usage of the rest of the API. + * This method returns immediately; any long-running work such as network connections are performed in the background. + * AdColony does not begin preparing ads for display or performing reporting until after it is configured by your app. + * @param appID The AdColony app ID for your app. This can be created and retrieved at the [Control Panel](http://clients.adcolony.com). + * @param zoneIDs An array of at least one AdColony zone ID string. AdColony zone IDs can be created and retrieved at the [Control Panel](http://clients.adcolony.com). If `nil`, app will be unable to play ads and AdColony will only provide limited reporting and install tracking functionality. + * @param del (*optional*) The delegate to receive V4VC and ad availability events. Can be `nil` for apps that do not need these events. + * @param log A boolean controlling AdColony verbose logging. + */ ++ (void)configureWithAppID:(NSString *)appID zoneIDs:(NSArray *)zoneIDs delegate:(nullable id)del logging:(BOOL)log; + + +/** @name Playing Video Ads */ + +/** + * Plays an AdColony ad. + * This method returns immediately, before the ad completes. If ads are not + * available, an ad may not play as a result of this method call. If you need + * more detailed information about when the ad completes or whether an ad + * played, pass in a delegate. + * @param zoneID The zone from which the ad should play. + * @param del (*optional*) The delegate to receive ad events. Can be `nil` for apps that do not need these events. + */ ++ (void)playVideoAdForZone:(NSString *)zoneID withDelegate:(nullable id)del; + +/** + * Plays an AdColony ad and allows specifying display of the default V4VC instructional popups. + * This method returns immediately, before the ad completes. If ads are not + * available, an ad may not play as a result of this method call. If you need + * more detailed information about when the ad completes or whether an ad + * played, pass in a delegate. + * @param zoneID The zone from which the ad should play. + * @param del (*optional*) The delegate to receive ad events. Can be `nil` for apps that do not need these events. + * @param showPrePopup Whether AdColony should display an instructional popup before the ad. + * @param showPostPopup Whether AdColony should display an instructional popup after the ad. + */ ++ (void)playVideoAdForZone:(NSString *)zoneID withDelegate:(nullable id)del withV4VCPrePopup:(BOOL)showPrePopup andV4VCPostPopup:(BOOL)showPostPopup; + +/** + * Returns an AdColonyNativeAdView, used to display an ad embedded within a screen of your app. + * @param zoneID The zone from which the ad should play. + * @param viewController The UIViewController in which you will display the AdColonyNativeAdView. Must not be `nil`. This is required so that the ad can present additional view controllers if the user interacts with it. + * @return An AdColonyNativeAdView. May be `nil` if ads are not available. + * @see AdColonyNativeAdView + */ ++ (nullable AdColonyNativeAdView *)getNativeAdForZone:(NSString *)zoneID presentingViewController:(UIViewController *)viewController; + +/** + * Returns the zone status for the specified zone. + * @param zoneID The zone in question + * @return An ADCOLONY_ZONE_STATUS enum value indicating the zone status. Possible values are: `ADCOLONY_ZONE_STATUS_NO_ZONE` indicating AdColony has not been configured with that zone ID; `ADCOLONY_ZONE_STATUS_OFF` indicating the zone has been turned off on the control panel; `ADCOLONY_ZONE_STATUS_LOADING` indicating zone is preparing ads for display; `ADCOLONY_ZONE_STATUS_ACTIVE` indicating the zone is ready to display ads; `ADCOLONY_ZONE_STATUS_UNKNOWN` indicating AdColony has not yet received the zone's configuration from the server. + */ ++ (ADCOLONY_ZONE_STATUS)zoneStatusForZone:(NSString *)zoneID; + + +/** @name Device and User Identifiers */ + +/** + * Assigns your own custom identifier to the current app user. + * Once you've provided an identifier, AdColony will persist it across app + * restarts (stored on disk only) until you update it. If using this method, + * call it before `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` so that the + * identifier is used consistently across all server communications. The + * identifier will also pass through to server-side V4VC callbacks. + * @param customID An arbitrary, application-specific identifier string for the current user. Must be less than 128 characters. + * @see getCustomID + */ ++ (void)setCustomID:(NSString *)customID; + +/** + * Returns the device's current custom identifier. + * @return The custom identifier string most recently set using `[AdColony setCustomID:]`. + * @see setCustomID: + */ ++ (NSString *)getCustomID; + +/** + * Returns the device's OpenUDID. + * OpenUDID is a community-designed replacement for the Apple UDID. You can + * link your own copy of the OpenUDID library if desired, and it should return + * the same value for the OpenUDID. For details, please see the + * [OpenUDID GitHub page](https://github.com/ylechelle/OpenUDID). + * As of iOS 7, the behavior of this identifier will change. We do not recommend using this + * identifier for new integrations. This method is provided for backwards compatibility. + * @return The string representation of the device's OpenUDID. + */ ++ (NSString *)getOpenUDID; + +/** + * Returns an AdColony-defined device identifier. + * This identifier should remain constant across the lifetime of an iOS device. + * The identifier is a SHA-1 hash of the lowercase colon-separated MAC address of the device's WiFi interface. + * As of iOS 7, the behavior of this identifier will change. We do not recommend using this + * identifier for new integrations. This method is provided for backwards compatibility. + * @return The string representation of the device's AdColony identifier. + */ ++ (NSString *)getUniqueDeviceID; + +/** + * Returns the device's ODIN-1. + * ODIN-1 is a community-designed replacement for the Apple UDID. You can + * link your own copy of the ODIN-1 source if desired, and it should return the same value. + * For details, please see the [ODIN-1 Google Code page](https://code.google.com/p/odinmobile/wiki/ODIN1). + * As of iOS 7, the behavior of this identifier will change. We do not recommend using this + * identifier for new integrations. This method is provided for backwards compatibility. + * @return The string representation of the device's ODIN-1. + */ ++ (NSString *)getODIN1; + +/** + * Returns the device's advertising identifier. + * This value can change if the user restores their device or resets ad tracking. + * @return The string representation of the device's advertising identifier, introduced in iOS 6. Returns an empty string on iOS 5 or below. + */ ++ (NSString *)getAdvertisingIdentifier; + +/** + * Returns the device's vendor identifier. + * @return As of version 2.3 of our iOS SDK, AdColony no longer collects the vendor identifier and this method will return an empty string. This method is provided for backwards compatibility. + */ ++ (NSString *)getVendorIdentifier; + + +/** @name V4VC Availability and Currency Info */ + +/** + * Returns if it is possible for the user to receive a virtual currency reward for playing an ad in the zone. + * This method takes into account whether V4VC has been configured properly for the zone on the + * [AdColony Control Panel](http://clients.adcolony.com), whether the user's daily reward cap has been reached, + * and whether there are ads available. + * @param zoneID The zone in question. + * @return A boolean indicating whether a reward is currently available for the user. + */ ++ (BOOL)isVirtualCurrencyRewardAvailableForZone:(NSString *)zoneID; + +/** + * Returns the number of possible virtual currency rewards currently available for the user. + * This method takes into account daily caps, available ads, and other variables. + * @param zoneID The zone in question. + * @return As of version 2.6 of our iOS SDK, AdColony no longer suports this method. It will always return 0. This method is provided for backwards compatibility. + */ ++ (int)getVirtualCurrencyRewardsAvailableTodayForZone:(NSString *)zoneID; + +/** + * Returns the name of the virtual currency rewarded by the zone. + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` + * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. + * @param zoneID The zone in question + * @return A string name of the virtual currency rewarded by the zone, as configured on the [AdColony Control Panel](http://clients.adcolony.com). + */ ++ (NSString *)getVirtualCurrencyNameForZone:(NSString *)zoneID; + +/** + * Returns the amount of virtual currency rewarded by the zone. + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` + * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. + * @param zoneID The zone in question + * @return An integer indicating the amount of virtual currency rewarded by the zone, as configured on the [AdColony Control Panel](http://clients.adcolony.com). + */ ++ (int)getVirtualCurrencyRewardAmountForZone:(NSString *)zoneID; + + +/** @name V4VC Multiple Videos per Reward Info */ + +/** + * Returns the number of ads that the user must play to earn the designated reward. + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` + * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. + * @param currencyName The name of the currency to query + * @return An integer number of ads that the user must play per currency reward, as configured on the [AdColony Control Panel](http://clients.adcolony.com). + */ ++ (int)getVideosPerReward:(NSString *)currencyName; + +/** + * Returns the number of ads that the user has seen towards their next reward. + * You must first configure AdColony using `[AdColony configureWithAppID:zoneIDs:delegate:logging:]` + * and ensure the zone's status is not `ADCOLONY_ZONE_STATUS_UNKNOWN` before this function will return an accurate result. + * @param currencyName The name of the currency to query. + * @return An integer number of ads that the user has seen towards their next reward. + */ ++ (int)getVideoCreditBalance:(NSString *)currencyName; + + +/** @name Options and Other Functionality */ + +/** + * Cancels any full-screen ad that is currently playing and returns control to the app. + * No earnings or V4VC rewards will occur if an ad is canceled programmatically by the app. + * This should only be used by apps that must immediately respond to non-standard incoming events, + * like a VoIP phone call. This should not be used for standard app interruptions such as + * multitasking or regular phone calls. + */ ++ (void)cancelAd; + +/** + * Whether a full-screen AdColony ad is currently being played. + * @return A boolean indicating if AdColony is currently playing an ad. + */ ++ (BOOL)videoAdCurrentlyRunning; + +/** + * This method permanently turns off all AdColony ads for this app on the current device. + * After this method is called, no ads will be played unless the app is deleted and reinstalled. + * This method could be used in the implementation of an In-App Purchase to disable ads; + * make sure to allow In-App Purchases to be restored by the user in the case of deleting and reinstalling the app. + */ ++ (void)turnAllAdsOff; + + +/** @name Optional User Metadata */ + +/** + * Provide AdColony with per-user non personally-identifiable information for ad targeting purposes. + * Providing non personally-identifiable information using this API will improve targeting and unlock + * improved earnings for your app. [This support article](http://support.adcolony.com/customer/portal/articles/700183-sdk-user-metadata-pass-through) contains usage guidelines. + * @param metadataType One of the predefined user metadata keys. + * @param value Either a predefined user metadata value, or arbitrary value. + */ ++ (void)setUserMetadata:(NSString *)metadataType withValue:(NSString *)value; + +/** + * Provide AdColony with real-time feedback about what a user is interested in. + * Providing non personally-identifiable information using this API will improve targeting and unlock + * improved earnings for your app. [This support article](http://support.adcolony.com/customer/portal/articles/700183-sdk-user-metadata-pass-through) contains usage guidelines. + * You can call this as often as you want with various topics that the user has engaged in + * within your app or as the user engages in them. For example, if the user has started browsing + * the finance section of a news app, a developer should call: `[AdColony userInterestedIn:@"finance"]`. + * @param topic An arbitrary topic string. + */ ++ (void)userInterestedIn:(NSString *)topic; + + +/** @name In-app purchase (IAP) Tracking */ + +/** + * Call this method to report IAPs within your application. Note that this API can be leveraged to report standard IAPs + * as well as those triggered by AdColony’s IAP Promo (IAPP) advertisements and will improve overall ad targeting. + * @param transactionID An NSString representing the unique SKPaymentTransaction identifier for the IAP. Must be 128 chars or less. + * @param productID An NSString identifying the purchased product. Must be 128 chars or less. + * @param quantity An int indicating the number of items. + * @param price (*optional*) An NSNumber indicating the total price of the items purchased. + * @param currencyCode (*optional*) An NSString indicating the real-world, three-letter ISO 4217 (e.g. USD) currency code of the transaction. + * @see onAdColonyIAPRequest:quantity + */ ++ (void)notifyIAPComplete:(NSString *)transactionID productID:(NSString *)productID quantity:(int)quantity price:(nullable NSNumber *)price currencyCode:(nullable NSString *)currencyCode; + + +/** @name Options */ + +/** Use this method to set AdColony options. + * @param option An NSString representing the option. + * @param value A BOOL indicating whether or not to enable/disable the option. + */ ++ (void)setOption:(NSString *)option value:(BOOL)value; +@end + +#pragma mark - User Metadata Constants + +/** + * User metadata keys + */ +extern NSString *const ADC_SET_USER_AGE; /** Set the user's age */ +extern NSString *const ADC_SET_USER_INTERESTS; /** Set the user's interests */ +extern NSString *const ADC_SET_USER_GENDER; /** Set the user's gender */ +extern NSString *const ADC_SET_USER_LATITUDE; /** Set the user's current latitude */ +extern NSString *const ADC_SET_USER_LONGITUDE; /** Set the user's current longitude */ +extern NSString *const ADC_SET_USER_ANNUAL_HOUSEHOLD_INCOME; /** Set the user's annual house hold income in United States Dollars */ +extern NSString *const ADC_SET_USER_MARITAL_STATUS; /** Set the user's marital status */ +extern NSString *const ADC_SET_USER_EDUCATION; /** Set the user's education level */ +extern NSString *const ADC_SET_USER_ZIPCODE; /** Set the user's known zip code */ + +/** + * User metadata values (for pre-defined values) + */ +extern NSString *const ADC_USER_MALE; /** User is male */ +extern NSString *const ADC_USER_FEMALE; /** User is female */ + +extern NSString *const ADC_USER_SINGLE; /** User is single */ +extern NSString *const ADC_USER_MARRIED; /** User is married */ + +extern NSString *const ADC_USER_EDUCATION_GRADE_SCHOOL; /** User has a basic grade school education and has not attended high school */ +extern NSString *const ADC_USER_EDUCATION_SOME_HIGH_SCHOOL; /** User has completed at least some high school but has not received a diploma */ +extern NSString *const ADC_USER_EDUCATION_HIGH_SCHOOL_DIPLOMA; /** User has received a high school diploma but has not completed any college */ +extern NSString *const ADC_USER_EDUCATION_SOME_COLLEGE; /** User has completed at least some college but doesn't have a college degree */ +extern NSString *const ADC_USER_EDUCATION_ASSOCIATES_DEGREE; /** User has been awarded at least 1 associates degree, but doesn't have any higher level degrees */ +extern NSString *const ADC_USER_EDUCATION_BACHELORS_DEGREE; /** User has been awarded at least 1 bachelors degree, but does not have a graduate level degree */ +extern NSString *const ADC_USER_EDUCATION_GRADUATE_DEGREE; /** User has been awarded at least 1 masters or doctorate level degree */ + +NS_ASSUME_NONNULL_END diff --git a/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColonyAdInfo.h b/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColonyAdInfo.h new file mode 100644 index 0000000..562be95 --- /dev/null +++ b/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColonyAdInfo.h @@ -0,0 +1,70 @@ +/* + * AdColonyAdInfo.h + * adc-ios-sdk + * + * Created by Owain Moss on 11/25/14. + */ + +#pragma mark - Constants + +/** + * Enum for in-app purchase (IAP) engagement types + */ +typedef NS_ENUM(NSUInteger, ADCOLONY_IAP_ENGAGEMENT) { + ADCOLONY_IAP_ENGAGEMENT_NONE = 0, /** IAPP was not enabled for the associated ad object. */ + ADCOLONY_IAP_ENGAGEMENT_AUTOMATIC, /** IAPP was enabled for the ad; however, there was no user engagement. */ + ADCOLONY_IAP_ENGAGEMENT_END_CARD, /** IAPP was enabled for the ad, and the user engaged via a dynamic end card (DEC). */ + ADCOLONY_IAP_ENGAGEMENT_OVERLAY /** IAPP was enabled for the ad, and the user engaged via an in-vdeo engagement (Overlay). */ +}; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - AdColonyAdInfo interface + +/** + * AdColonyAdInfo objects are passed to the `[AdColonyAdDelegate onAdColonyAdFinishedWithInfo:]` callback of AdColonyAdDelegates. + * These objects can be queried for useful information about the ad such as the associated zone ID, whether or + * not the ad was shown, or any relevant In-App Purchase Promo (IAPP)-related information. + */ +@interface AdColonyAdInfo : NSObject + +/** @name Properties */ + +/** + * Whether or not the associated ad was shown. + * @param shown A BOOL indicating whether or not the ad was actually shown. + */ +@property (nonatomic, readonly) BOOL shown; + +/** + * The associated ad's unique zone identifier. + * @param zoneID An NSString representing the ad's zone ID. + */ +@property (nonatomic, readonly) NSString *zoneID; + +/** + * Whether or not the associated ad was an IAPP. + * @param iapEnabled A BOOL indicating whether or not the ad is an IAPP. + */ +@property (nonatomic, readonly) BOOL iapEnabled; + +/** + * The product identifier for the associated ad's IAP as it is defined in iTunesConnect. + * @param iapProductID An NSString representing the product ID. + */ +@property (nonatomic, readonly) NSString *iapProductID; + +/** + * The number of items to be purchased. + * @param iapQuantity An int denoting the number of items the user wishes to purchase. + */ +@property (nonatomic, readonly) int iapQuantity; + +/** + * If an IAP was triggered in the associated ad, this property will contain the engagement type. + * @param iapEngagementType An `ADCOLONY_IAP_ENGAGEMENT` indicating the engagement mechanism. + */ +@property (nonatomic, readonly) ADCOLONY_IAP_ENGAGEMENT iapEngagementType; +@end + +NS_ASSUME_NONNULL_END diff --git a/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColonyNativeAdView.h b/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColonyNativeAdView.h new file mode 100644 index 0000000..6ca1342 --- /dev/null +++ b/iosadapters/Adcolony/AdColony.framework/Versions/A/Headers/AdColonyNativeAdView.h @@ -0,0 +1,174 @@ +/* + * AdColonyNativeAdView.h + * adc-ios-sdk + * + * Created by John Fernandes-Salling on 11/21/13. + */ + +#import + +#pragma mark - Forward Declarations + +@protocol AdColonyNativeAdDelegate; +@class AdColonyAdInfo; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - AdColonyNativeAdView + +/** + * The AdColonyNativeAdView is used to display non-fullscreen AdColony ads in a fashion that matches the look-and-feel of your application; + * it contains the video and enegagement components of the native ad and manages the display and playback of the video. + * The native ad has an accompanying delegate if you need information about the video starting, finishing, or any user interactions with the ad. + * The object also exposes additional information about the advertisement that is intended to be displayed alongside the video. + * The native ad may include a engagement button which it displays beneath the video; the appearance of this button is customizable. + * Instances of this class should not be initialized directly; instead, use `[AdColony getNativeAdForZone:presentingViewController:]`. + */ +@interface AdColonyNativeAdView : UIView + +/** @name Delegate */ + +/** + * The delegate for the AdColonyNativeAd, which will receive callbacks about the video starting, finishing, and user interactions with the ad. + * Setting this property is optional; in many cases the callbacks provided by the delegate are not required to create a good user experience. + * @param delegate The AdColonyNativeAdDelegate. + */ +@property (nonatomic, weak, nullable) id delegate; + +/** @name Creative Content and User Interface */ + +/** + * The name of the advertiser for this ad. Approximately 25 characters. + * AdColony requires this to be displayed alongside the AdColonyNativeAdView. + * @param advertiserName The name of this ad's advertiser. + */ +@property (nonatomic, readonly) NSString* advertiserName; + +/** + * The advertiser's icon for this ad (may be `nil`). Typically 200x200 pixels for Retina display at up to 100x100 screen points. + * Display of this image is optional. + * @param advertiserIrcon The icon of this ad's advertiser. + */ +@property (nonatomic, readonly, nullable) UIImage* advertiserIcon; + +/** + * A short title for this ad. Approximately 25 characters. + * Display of this string is optional. + * @param adTitle The title of this ad. + */ +@property (nonatomic, readonly) NSString* adTitle; + +/** + * A mid-length description of this ad. Up to approximately 90 characters. + * Display of this string is optional. + * @param adDescription The description of this ad. + */ +@property (nonatomic, readonly) NSString* adDescription; + +/** + * The engagement button for this ad (may be `nil`). This is automatically displayed beneath the video component. + * Use this property to access the UIButton and customize anything about it except its title text and tap action. + * @param engagementButton The engagement button that is already embedded within this ad. + */ +@property (nonatomic, nullable) UIButton* engagementButton; + +/** + * Returns the recommended height for the AdColonyNativeAdView if it will be displayed at the specified width. + * When calculating a frame for the AdColonyNativeAdView, use the recommended height for your chosen width in order to minimize padding space around the video. + * @param width The display width for which this method will return the best display height. + * @return The best display height for the desired width. + */ +-(CGFloat)recommendedHeightForWidth:(CGFloat)width; + +/** @name Audio */ + +/** + * The volume level of the video component of the ad. Defaults to 0.05f. + * @param volume Volume + */ +@property (nonatomic) float volume; + +/** + * Whether or not the video component of the ad is muted. Defaults to NO. + * @param muted Muted + */ +@property (nonatomic) BOOL muted; + +/** @name Playback */ + +/** + * Pauses the video component of the native ad if it is currently playing. + * This should be used when the native ad goes off-screen temporarily: for + * example, when it is contained in a UITableViewCell that has been scrolled + * off-screen; or when the ad is contained in a UIViewController and that view + * controller has called the method `viewWillDisappear`. + * Any use of this method must be paired with a corresponding call to `resume`. + */ +-(void)pause; + +/** + * Resumes the video component of the native ad if it has been paused. + * This should be used when a native ad that was off-screen temporarily has + * come back on-screen: for example, when the ad is contained in a UIViewController + * and that view controller has called the method `viewWillAppear`. + * This method must be used to undo a previous corresponding call to `pause`. + */ +-(void)resume; +@end + +#pragma mark - AdColonyNativeAdDelegate + +/** + * The AdColonyNativeAdDelegate protocol provides callbacks about AdColony's native ad display and user interaction. + */ +@protocol AdColonyNativeAdDelegate +@optional + +/** + * Notifies your app that a native ad has begun displaying its video content in response to being displayed on screen. + * @param ad The affected native ad view. + */ +-(void)onAdColonyNativeAdStarted:(AdColonyNativeAdView*)ad; + +/** + * Notifies your app that a native ad has been interacted with by a user and is expanding to full-screen playback. + * Within the callback, apps should implement app-specific code such as turning off app music. + * @param ad The affected native ad view. + */ +-(void)onAdColonyNativeAdExpanded:(AdColonyNativeAdView*)ad; + +/** + * Notifies your app that a native ad finished displaying its video content. + * If the native ad was expanded to full-screen, this indicates that the full-screen mode has been exited. + * Within the callback, apps should implement app-specific code such as resuming app music if it was turned off. + * @param ad The affected native ad view. + * @param expanded Whether or not the native ad had been expanded to full-screen by the user. + */ +-(void)onAdColonyNativeAdFinished:(AdColonyNativeAdView*)ad expanded:(BOOL)expanded; + +/** + * Alternative for `[AdColonyNativeAdDelegate onAdColonyNativeAdFinished:expanded]` that passes an AdColonyAdInfo object to the delegate. The AdColonyAdInfo object can be queried + * for information about the ad session: whether or not the ad was shown, the associated zone ID, whether or not the video was an In-App Purchase Promo (IAPP), + * the type of engagement that triggered an IAP, etc. If your application is showing IAPP advertisements, you will need to implement this callback + * instead of `[AdColonyNativeAdDelegate onAdColonyNativeAdFinished:expanded]` so you can decide what action to take once the ad has completed. + * @param ad The affected native ad view. + * @param info An AdColonyAdInfo object containing information about the associated ad. + * @see AdColonyAdInfo + */ +-(void)onAdColonyNativeAd:(AdColonyNativeAdView*)ad finishedWithInfo:(AdColonyAdInfo*)info expanded:(BOOL)expanded; + +/** + * Notifies your app that a native ad was muted or unmuted by a user. + * @param ad The affected native ad view. + * @param muted Whether the ad was muted or unmuted. + */ +-(void)onAdColonyNativeAd:(AdColonyNativeAdView*)ad muted:(BOOL)muted; + +/** + * Notifies your app that a user has engaged with the native ad via an in-video engagement mechanism. + * @param ad The affected native ad view. + */ +-(void)onAdColonyNativeAdEngagementPressed:(AdColonyNativeAdView*)ad expanded:(BOOL)expanded; +@end + +NS_ASSUME_NONNULL_END diff --git a/iosadapters/Adcolony/AdColony.framework/Versions/Current b/iosadapters/Adcolony/AdColony.framework/Versions/Current new file mode 100644 index 0000000..8c7e5a6 --- /dev/null +++ b/iosadapters/Adcolony/AdColony.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/iosadapters/Adcolony/libAdcolonyAdapter.a b/iosadapters/Adcolony/libAdcolonyAdapter.a index 1539992..de9acd3 100644 Binary files a/iosadapters/Adcolony/libAdcolonyAdapter.a and b/iosadapters/Adcolony/libAdcolonyAdapter.a differ diff --git a/iosadapters/Admob/GoogleMobileAds.framework/GoogleMobileAds b/iosadapters/Admob/GoogleMobileAds.framework/GoogleMobileAds index f740ba0..5f61114 100644 Binary files a/iosadapters/Admob/GoogleMobileAds.framework/GoogleMobileAds and b/iosadapters/Admob/GoogleMobileAds.framework/GoogleMobileAds differ diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPBannerView.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPBannerView.h index 33c9d72..1e45302 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPBannerView.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPBannerView.h @@ -6,6 +6,8 @@ // #import +#import +#import @protocol DFPCustomRenderedBannerViewDelegate; @protocol GADAdSizeDelegate; @@ -47,6 +49,9 @@ /// \endcode @property(nonatomic, copy) NSArray *validAdSizes; +/// Correlator object for correlating this object to other ad objects. +@property(nonatomic, strong) GADCorrelator *correlator; + /// Indicates that the publisher will record impressions manually when the ad becomes visible to the /// user. @property(nonatomic, assign) BOOL enableManualImpressions; @@ -73,6 +78,6 @@ /// [bannerView setValidAdSizesWithSizes:&size1, &size2, NULL]; /// \endcode - (void)setValidAdSizesWithSizes:(GADAdSize *)firstSize, ... NS_REQUIRES_NIL_TERMINATION - DEPRECATED_MSG_ATTRIBUTE("Use validAdSizes property."); + GAD_DEPRECATED_MSG_ATTRIBUTE("Use validAdSizes property."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPInterstitial.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPInterstitial.h index 64a1c1a..27112eb 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPInterstitial.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPInterstitial.h @@ -5,6 +5,7 @@ // Copyright 2012 Google Inc. All rights reserved. // +#import #import @protocol DFPCustomRenderedInterstitialDelegate; @@ -17,7 +18,10 @@ /// for targeting and stats. /// /// Example DFP ad unit ID: @"/6499/example/interstitial" -@property(nonatomic, copy) NSString *adUnitID; +@property(nonatomic, readonly, copy) NSString *adUnitID; + +/// Correlator object for correlating this object to other ad objects. +@property(nonatomic, strong) GADCorrelator *correlator; /// Optional delegate that is notified when creatives send app events. @property(nonatomic, weak) id appEventDelegate; diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPRequest.h index 248a6cc..5d41aea 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPRequest.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/DFPRequest.h @@ -8,9 +8,10 @@ #import #import +#import /// Add this constant to the testDevices property's array to receive test ads on the simulator. -extern const id kDFPSimulatorID; +GAD_EXTERN const id kDFPSimulatorID; /// Specifies optional parameters for ad requests. @interface DFPRequest : GADRequest @@ -24,8 +25,9 @@ extern const id kDFPSimulatorID; /// Key-value pairs used for custom targeting. @property(nonatomic, copy) NSDictionary *customTargeting; -/// Update the ad correlator. Ad slots with the same correlation value are grouped for roadblocking. -/// After updating the correlator, load new requests in all DFP ads. -+ (void)updateCorrelator; +/// This API is deprecated and a no-op, use an instance of GADCorrelator set on DFPInterstitial or +/// DFPBannerView objects to correlate requests. ++ (void)updateCorrelator GAD_DEPRECATED_MSG_ATTRIBUTE( + "Set GADCorrelator objects on your ads instead. This method longer affects ad correlation."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoader.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoader.h similarity index 94% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoader.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoader.h index 92443db..673fce9 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoader.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoader.h @@ -8,9 +8,9 @@ #import #import -@class GADRequest; -@class GADRequestError; -@protocol GADAdLoaderDelegate; +#import "GADAdLoaderDelegate.h" +#import "GADRequest.h" +#import "GADRequestError.h" /// Loads ads. See GADAdLoaderAdTypes.h for available ad types. @interface GADAdLoader : NSObject diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoaderAdTypes.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoaderAdTypes.h similarity index 65% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoaderAdTypes.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoaderAdTypes.h index aec0371..1b1eaeb 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoaderAdTypes.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoaderAdTypes.h @@ -7,14 +7,16 @@ #import +#import + // For use with GADAdLoader's creation methods. See the constants' respective headers for each ad // type's delegate requirements. /// Native app install ad type. \see GADNativeAppInstallAd.h. -extern NSString *const kGADAdLoaderAdTypeNativeAppInstall; +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeAppInstall; /// Native content ad type. \see GADNativeContentAd.h. -extern NSString *const kGADAdLoaderAdTypeNativeContent; +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeContent; /// Native custom template ad type. \see GADNativeCustomTemplateAd.h. -extern NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoaderDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoaderDelegate.h similarity index 69% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoaderDelegate.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoaderDelegate.h index 5fa5ac0..1be8884 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/GADAdLoaderDelegate.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdLoaderDelegate.h @@ -7,9 +7,12 @@ #import +#import "GADRequestError.h" + @class GADAdLoader; -@class GADRequestError; +/// Base ad loader delegate protocol. Ad types provide extended protocols that declare methods to +/// handle successful ad loads. @protocol GADAdLoaderDelegate /// Called when adLoader fails to load an ad. diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdReward.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdReward.h new file mode 100644 index 0000000..5657a21 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdReward.h @@ -0,0 +1,23 @@ +// +// GADAdReward.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +@interface GADAdReward : NSObject + +/// Type of the reward. +@property(nonatomic, readonly, copy) NSString *type; + +/// Amount rewarded to the user. +@property(nonatomic, readonly, copy) NSDecimalNumber *amount; + +/// Returns an initialized GADAdReward with the provided reward type and reward amount. rewardType +/// and rewardAmount must not be nil. +- (instancetype)initWithRewardType:(NSString *)rewardType + rewardAmount:(NSDecimalNumber *)rewardAmount NS_DESIGNATED_INITIALIZER; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdSize.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdSize.h index 570bc76..32efccd 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdSize.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADAdSize.h @@ -8,6 +8,8 @@ #import #import +#import + /// A valid GADAdSize is considered to be one of the predefined GADAdSize constants or a GADAdSize /// constructed by GADAdSizeFromCGSize, GADAdSizeFullWidthPortraitWithHeight, /// GADAdSizeFullWidthLandscapeWithHeight. @@ -23,35 +25,39 @@ typedef struct GADAdSize { #pragma mark Standard Sizes /// iPhone and iPod Touch ad size. Typically 320x50. -extern GADAdSize const kGADAdSizeBanner; +GAD_EXTERN GADAdSize const kGADAdSizeBanner; /// Taller version of kGADAdSizeBanner. Typically 320x100. -extern GADAdSize const kGADAdSizeLargeBanner; +GAD_EXTERN GADAdSize const kGADAdSizeLargeBanner; /// Medium Rectangle size for the iPad (especially in a UISplitView's left pane). Typically 300x250. -extern GADAdSize const kGADAdSizeMediumRectangle; +GAD_EXTERN GADAdSize const kGADAdSizeMediumRectangle; /// Full Banner size for the iPad (especially in a UIPopoverController or in /// UIModalPresentationFormSheet). Typically 468x60. -extern GADAdSize const kGADAdSizeFullBanner; +GAD_EXTERN GADAdSize const kGADAdSizeFullBanner; /// Leaderboard size for the iPad. Typically 728x90. -extern GADAdSize const kGADAdSizeLeaderboard; +GAD_EXTERN GADAdSize const kGADAdSizeLeaderboard; /// Skyscraper size for the iPad. Mediation only. AdMob/Google does not offer this size. Typically /// 120x600. -extern GADAdSize const kGADAdSizeSkyscraper; +GAD_EXTERN GADAdSize const kGADAdSizeSkyscraper; /// An ad size that spans the full width of the application in portrait orientation. The height is /// typically 50 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI. -extern GADAdSize const kGADAdSizeSmartBannerPortrait; +GAD_EXTERN GADAdSize const kGADAdSizeSmartBannerPortrait; /// An ad size that spans the full width of the application in landscape orientation. The height is /// typically 32 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI. -extern GADAdSize const kGADAdSizeSmartBannerLandscape; +GAD_EXTERN GADAdSize const kGADAdSizeSmartBannerLandscape; + +/// An ad size that spans the full width of its container, with a height dynamically determined by +/// the ad. +GAD_EXTERN GADAdSize const kGADAdSizeFluid; /// Invalid ad size marker. -extern GADAdSize const kGADAdSizeInvalid; +GAD_EXTERN GADAdSize const kGADAdSizeInvalid; #pragma mark Custom Sizes diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerView.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerView.h index e053991..eace109 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerView.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerView.h @@ -12,6 +12,7 @@ #import #import #import +#import #ifndef IBInspectable #define IBInspectable @@ -55,8 +56,7 @@ @property(nonatomic, copy) IBInspectable NSString *adUnitID; /// Required reference to the current root view controller. For example the root view controller in -/// tab-based application would be the UITabViewController. Remember to nil or update this property -/// before deallocating the view controller. +/// tab-based application would be the UITabViewController. @property(nonatomic, weak) IBOutlet UIViewController *rootViewController; /// Required to set this banner view to a proper size. Never create your own GADAdSize directly. Use @@ -67,13 +67,11 @@ @property(nonatomic, assign) GADAdSize adSize; /// Optional delegate object that receives state change notifications from this GADBannerView. -/// Typically this is a UIViewController. Remember to nil this property before deallocating the -/// delegate. +/// Typically this is a UIViewController. @property(nonatomic, weak) IBOutlet id delegate; /// Optional delegate object that receives in-app purchase notifications from this ad. Required for /// the custom in-app purchase flow, but ignored when using the default in-app purchase flow. -/// Remember to nil this property before deallocating the delegate. @property(nonatomic, weak) IBOutlet id inAppPurchaseDelegate; #pragma mark Making an Ad Request @@ -91,18 +89,18 @@ /// is in progress or if the latest ad request failed. For both standard and mediated Google AdMob /// ads, this method returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation custom /// events, this method returns @"GADMAdapterCustomEvents". -@property(nonatomic, readonly, weak) NSString *adNetworkClassName; +@property(nonatomic, readonly, copy) NSString *adNetworkClassName; #pragma mark Deprecated /// Indicates if the currently displayed ad (or most recent failure) was a result of auto refreshing /// as specified on server. This property is set to NO after each loadRequest: method. -@property(nonatomic, readonly, assign) BOOL hasAutoRefreshed __attribute__((deprecated)); +@property(nonatomic, readonly, assign) BOOL hasAutoRefreshed GAD_DEPRECATED_ATTRIBUTE; /// The mediated ad network's underlying ad view. You may use this property to read the ad's actual /// size and adjust this banner view's frame origin. However, modifying the banner view's frame size /// triggers the Mobile Ads SDK to request a new ad. Only update the banner view's frame origin. -@property(nonatomic, readonly, weak) UIView *mediatedAdView - __attribute__((deprecated("Use adNetworkClassName."))); +@property(nonatomic, readonly, weak) + UIView *mediatedAdView GAD_DEPRECATED_MSG_ATTRIBUTE("Use adNetworkClassName."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h index 933967c..bd377bb 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADBannerViewDelegate.h @@ -10,48 +10,38 @@ @class GADBannerView; @class GADRequestError; -/// Delegate for receiving state change messages from a GADBannerView such as ad requests -/// succeeding/failing or when an ad has been clicked. +/// Delegate methods for receiving GADBannerView state change messages such as ad request status +/// and ad click lifecycle. @protocol GADBannerViewDelegate @optional #pragma mark Ad Request Lifecycle Notifications -/// Called when an ad request loaded an ad. This is a good opportunity to add this view to the -/// hierarchy if it has not been added yet. If the ad was received as a part of the server-side auto -/// refreshing, you can examine the hasAutoRefreshed property of the view. -- (void)adViewDidReceiveAd:(GADBannerView *)view; +/// Tells the delegate that an ad request successfully received an ad. The delegate may want to add +/// the banner view to the view hierarchy if it hasn't been added yet. +- (void)adViewDidReceiveAd:(GADBannerView *)bannerView; -/// Called when an ad request failed. Normally this is because no network connection was available -/// or no ads were available (i.e. no fill). If the error was received as a part of the server-side -/// auto refreshing, you can examine the hasAutoRefreshed property of the view. -- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error; +/// Tells the delegate that an ad request failed. The failure is normally due to network +/// connectivity or ad availablility (i.e., no fill). +- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error; #pragma mark Click-Time Lifecycle Notifications -/// Called just before presenting the user a full screen view, such as a browser, in response to -/// clicking on an ad. Use this opportunity to stop animations, time sensitive interactions, etc. -/// -/// Normally the user looks at the ad, dismisses it, and control returns to your application by -/// calling adViewDidDismissScreen:. However if the user hits the Home button or clicks on an App -/// Store link your application will end. On iOS 4.0+ the next method called will be -/// applicationWillResignActive: of your UIViewController -/// (UIApplicationWillResignActiveNotification). Immediately after that adViewWillLeaveApplication: -/// is called. -- (void)adViewWillPresentScreen:(GADBannerView *)adView; - -/// Called just before dismissing a full screen view. -- (void)adViewWillDismissScreen:(GADBannerView *)adView; - -/// Called just after dismissing a full screen view. Use this opportunity to restart anything you -/// may have stopped as part of adViewWillPresentScreen:. -- (void)adViewDidDismissScreen:(GADBannerView *)adView; - -/// Called just before the application will background or terminate because the user clicked on an -/// ad that will launch another application (such as the App Store). The normal -/// UIApplicationDelegate methods, like applicationDidEnterBackground:, will be called immediately -/// before this. -- (void)adViewWillLeaveApplication:(GADBannerView *)adView; +/// Tells the delegate that a full screen view will be presented in response to the user clicking on +/// an ad. The delegate may want to pause animations and time sensitive interactions. +- (void)adViewWillPresentScreen:(GADBannerView *)bannerView; + +/// Tells the delegate that the full screen view will be dismissed. +- (void)adViewWillDismissScreen:(GADBannerView *)bannerView; + +/// Tells the delegate that the full screen view has been dismissed. The delegate should restart +/// anything paused while handling adViewWillPresentScreen:. +- (void)adViewDidDismissScreen:(GADBannerView *)bannerView; + +/// Tells the delegate that the user click will open another app, backgrounding the current +/// application. The standard UIApplicationDelegate methods, like applicationDidEnterBackground:, +/// are called immediately before this method is called. +- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView; @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCorrelator.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCorrelator.h new file mode 100644 index 0000000..268c2ae --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCorrelator.h @@ -0,0 +1,17 @@ +// +// GADCorrelator.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +/// Represents a correlation between multiple ads. Set an instance of this object on multiple ads to +/// indicate they are being used in a common context. +@interface GADCorrelator : NSObject + +/// Resets the correlator to force a new set of correlated ads. +- (void)reset; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCorrelatorAdLoaderOptions.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCorrelatorAdLoaderOptions.h new file mode 100644 index 0000000..65df4e8 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCorrelatorAdLoaderOptions.h @@ -0,0 +1,17 @@ +// +// GADCorrelatorAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Ad loader options for adding a correlator to a native ad request. +@interface GADCorrelatorAdLoaderOptions : GADAdLoaderOptions + +/// Correlator object for correlating ads loaded by an ad loader to other ad objects. +@property(nonatomic, strong) GADCorrelator *correlator; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventBanner.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventBanner.h similarity index 93% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventBanner.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventBanner.h index 3c67f47..e0e28c2 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventBanner.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventBanner.h @@ -8,9 +8,8 @@ #import #import - -#import "GADCustomEventBannerDelegate.h" -#import "GADCustomEventRequest.h" +#import +#import /// The protocol for a Custom Event of the banner type. Your Custom Event handler object for banners /// must implement this protocol. The requestBannerAd method will be called when mediation schedules diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventBannerDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventBannerDelegate.h similarity index 95% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventBannerDelegate.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventBannerDelegate.h index c22c5cf..271489f 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventBannerDelegate.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventBannerDelegate.h @@ -8,6 +8,8 @@ #import #import +#import + @protocol GADCustomEventBanner; /// Call back to this delegate in your custom event. You must call customEventBanner:didReceiveAd: @@ -55,6 +57,6 @@ - (void)customEventBanner:(id)customEvent clickDidOccurInAd:(UIView *)view - __attribute__((deprecated("Use customEventBannerWasClicked:."))); + GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventBannerWasClicked:."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventExtras.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventExtras.h similarity index 100% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventExtras.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventExtras.h diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventInterstitial.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventInterstitial.h similarity index 95% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventInterstitial.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventInterstitial.h index ba974ce..9e2a860 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventInterstitial.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventInterstitial.h @@ -7,8 +7,8 @@ #import -#import "GADCustomEventInterstitialDelegate.h" -#import "GADCustomEventRequest.h" +#import +#import /// The protocol for a Custom Event of the interstitial type. Your Custom Event handler object for /// interstitial must implement this protocol. The requestInterstitialAd method will be called when diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventInterstitialDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventInterstitialDelegate.h similarity index 95% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventInterstitialDelegate.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventInterstitialDelegate.h index 45e9c45..bb6feba 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventInterstitialDelegate.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventInterstitialDelegate.h @@ -7,6 +7,8 @@ #import +#import + @protocol GADCustomEventInterstitial; /// Call back to this delegate in your custom event. You must call @@ -49,6 +51,6 @@ #pragma mark Deprecated - (void)customEventInterstitial:(id)customEvent didReceiveAd:(NSObject *)ad - __attribute__((deprecated("Use customEventInterstitialDidReceiveAd:."))); + GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventInterstitialDidReceiveAd:."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventNativeAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventNativeAd.h new file mode 100644 index 0000000..7f4c83a --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventNativeAd.h @@ -0,0 +1,36 @@ +// +// GADCustomEventNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import "GADCustomEventRequest.h" + +@protocol GADCustomEventNativeAdDelegate; + +/// The protocol for a custom event for a native ad. Your custom event handler object for native ads +/// must implement this protocol. The +/// requestNativeAdWithParameter:request:adTypes:options:rootViewController: method will be called +/// when mediation schedules your custom event to be executed. +@protocol GADCustomEventNativeAd + +/// This method is called by mediation when your custom event is scheduled to be executed. +/// |serverParameter| is the parameter configured in the mediation UI for the custom event. +/// |request| contains ad targeting information. |adTypes| contains the list of native ad types +/// requested. See GADAdLoaderAdTypes.h for available ad types. |options| are any additional options +/// configured by the publisher for requesting a native ad. See GADNativeAdImageAdLoaderOptions.h +/// for available image options. |rootViewController| is the view controller provided by the +/// publisher. +- (void)requestNativeAdWithParameter:(NSString *)serverParameter + request:(GADCustomEventRequest *)request + adTypes:(NSArray *)adTypes + options:(NSArray *)options + rootViewController:(UIViewController *)rootViewController; + +/// The delegate object, used for receiving custom native ad load request progress. +@property(nonatomic, weak) id delegate; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventNativeAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventNativeAdDelegate.h new file mode 100644 index 0000000..4f1f79a --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventNativeAdDelegate.h @@ -0,0 +1,26 @@ +// +// GADCustomEventNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import +#import + +/// The delegate of the GADCustomEventNativeAd object must adopt the GADCustomEventNativeAdDelegate +/// protocol. Methods in this protocol are used for native ad's custom event communication with the +/// Google Mobile Ads SDK. +@protocol GADCustomEventNativeAdDelegate + +/// Tells the delegate that the custom event ad request succeeded and loaded a native ad. +- (void)customEventNativeAd:(id)customEventNativeAd + didReceiveMediatedNativeAd:(id)mediatedNativeAd; + +/// Tells the delegate that the custom event ad request failed. +- (void)customEventNativeAd:(id)customEventNativeAd + didFailToLoadWithError:(NSError *)error; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventRequest.h similarity index 100% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Mediation/GADCustomEventRequest.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADCustomEventRequest.h diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInAppPurchase.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInAppPurchase.h index 7806f29..bd8d922 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInAppPurchase.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInAppPurchase.h @@ -21,8 +21,7 @@ /// Enables the default consumable product in-app purchase flow handled by the Google Mobile Ads /// SDK. The GADDefaultInAppPurchaseDelegate object is retained while the default purchase flow is -/// enabled. This method adds a SKPaymentTransactionObserver to the default SKPaymentQueue. Remove -/// any existing transaction observers before calling this method. +/// enabled. This method adds a SKPaymentTransactionObserver to the default SKPaymentQueue. /// /// Call this method early in your application to handle unfinished transactions from previous /// application sessions. For example, call this method in your application delegate's diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInterstitial.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInterstitial.h index 3edebfd..7e17627 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInterstitial.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADInterstitial.h @@ -11,6 +11,7 @@ #import #import #import +#import /// An interstitial ad. This is a full-screen advertisement shown at natural transition points in /// your application such as between game levels or news stories. @@ -76,10 +77,10 @@ #pragma mark Deprecated /// Deprecated intializer. Use initWithAdUnitID: instead. -- (instancetype)init DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID:."); +- (instancetype)init GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID:."); /// Deprecated setter, use initWithAdUnitID: instead. - (void)setAdUnitID:(NSString *)adUnitID - DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID: instead of setting the ad unit ID."); + GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID: instead of setting the ad unit ID."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAd.h new file mode 100644 index 0000000..868b640 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAd.h @@ -0,0 +1,21 @@ +// +// GADMediatedNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Base protocol for mediated native ads. +@protocol GADMediatedNativeAd + +/// Returns a delegate object that receives state change notifications. +- (id)mediatedNativeAdDelegate; + +/// Returns a dictionary of asset names and object pairs for assets that are not handled by +/// properties of the GADMediatedNativeAd subclass. +- (NSDictionary *)extraAssets; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAdDelegate.h new file mode 100644 index 0000000..716e283 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAdDelegate.h @@ -0,0 +1,32 @@ +// +// GADMediatedNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +@protocol GADMediatedNativeAd; + +/// GADMediatedNativeAdDelegate objects handle mediated native ad events. +@protocol GADMediatedNativeAdDelegate + +@optional + +/// Tells the delegate that the mediated native ad has rendered in |view|. +- (void)mediatedNativeAd:(id)mediatedNativeAd didRenderInView:(UIView *)view; + +/// Tells the delegate that the mediated native ad has recorded an impression. This method is called +/// only once per mediated native ad. +- (void)mediatedNativeAdDidRecordImpression:(id)mediatedNativeAd; + +/// Tells the delegate that the mediated native ad has recorded a user click on the asset named +/// |assetName|. Full screen actions should be presented from |viewController|. +- (void)mediatedNativeAd:(id)mediatedNativeAd + didRecordClickOnAssetWithName:(NSString *)assetName + view:(UIView *)view + viewController:(UIViewController *)viewController; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAdNotificationSource.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAdNotificationSource.h new file mode 100644 index 0000000..6f1aed5 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAdNotificationSource.h @@ -0,0 +1,31 @@ +// +// GADMediatedNativeAdNotificationSource.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Notifies the Google Mobile Ads SDK about the events performed by adapters. Adapters may perform +/// some action (e.g. opening an in app browser or open the iTunes store) when handling callbacks +/// from GADMediatedNativeAdDelegate. Adapters in such case should notify the Google Mobile Ads SDK +/// by calling the relevant methods from this class. +@interface GADMediatedNativeAdNotificationSource : NSObject + +/// Must be called by the adapter just before mediatedNativeAd has opened an in app modal screen. ++ (void)mediatedNativeAdWillPresentScreen:(id)mediatedNativeAd; + +/// Must be called by the adapter just before the in app modal screen opened by mediatedNativeAd is +/// dismissed. ++ (void)mediatedNativeAdWillDismissScreen:(id)mediatedNativeAd; + +/// Must be called by the adapter after the in app modal screen opened by mediatedNativeAd is +/// dismissed. ++ (void)mediatedNativeAdDidDismissScreen:(id)mediatedNativeAd; + +/// Must be called by the adapter just before mediatedNativeAd has left the application. ++ (void)mediatedNativeAdWillLeaveApplication:(id)mediatedNativeAd; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAppInstallAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAppInstallAd.h new file mode 100644 index 0000000..8269c87 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeAppInstallAd.h @@ -0,0 +1,40 @@ +// +// GADMediatedNativeAppInstallAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import +#import + +/// Provides methods used for constructing native app install ads. The adapter must return an object +/// conforming to this protocol for native app install ad requests. +@protocol GADMediatedNativeAppInstallAd + +/// App title. +- (NSString *)headline; + +/// Array of GADNativeAdImage objects related to the advertised application. +- (NSArray *)images; + +/// App description. +- (NSString *)body; + +/// Application icon. +- (GADNativeAdImage *)icon; + +/// Text that encourages user to take some action with the ad. For example "Install". +- (NSString *)callToAction; + +/// App store rating (0 to 5). +- (NSDecimalNumber *)starRating; + +/// The app store name. For example, "App Store". +- (NSString *)store; + +/// String representation of the app's price. +- (NSString *)price; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeContentAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeContentAd.h new file mode 100644 index 0000000..d560063 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMediatedNativeContentAd.h @@ -0,0 +1,33 @@ +// +// GADMediatedNativeContentAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import +#import + +/// Provides methods used for constructing native content ads. +@protocol GADMediatedNativeContentAd + +/// Primary text headline. +- (NSString *)headline; + +/// Secondary text. +- (NSString *)body; + +/// List of large images. Each object is an instance of GADNativeAdImage. +- (NSArray *)images; + +/// Small logo image. +- (GADNativeAdImage *)logo; + +/// Text that encourages user to take some action with the ad. +- (NSString *)callToAction; + +/// Identifies the advertiser. For example, the advertiser’s name or visible URL. +- (NSString *)advertiser; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMobileAds.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMobileAds.h new file mode 100644 index 0000000..c8c2875 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADMobileAds.h @@ -0,0 +1,22 @@ +// +// GADMobileAds.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +@interface GADMobileAds : NSObject + +/// Disables automated in app purchase (IAP) reporting. Must be called before any IAP transaction is +/// initiated. IAP reporting is used to track IAP ad conversions. Do not disable reporting if you +/// use IAP ads. ++ (void)disableAutomatedInAppPurchaseReporting; + +/// Disables automated SDK crash reporting. If not called, the SDK records the original exception +/// handler if available and registers a new exception handler. The new exception handler only +/// reports SDK related exceptions and calls the recorded original exception handler. ++ (void)disableSDKCrashReporting; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAd.h similarity index 54% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAd.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAd.h index a858b91..b493721 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAd.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAd.h @@ -19,4 +19,12 @@ /// Root view controller for handling ad actions. @property(nonatomic, weak) UIViewController *rootViewController; +/// Dictionary of assets which aren't processed by the receiver. +@property(nonatomic, readonly, copy) NSDictionary *extraAssets; + +/// The ad network class name that fetched the current ad. For both standard and mediated Google +/// AdMob ads, this method returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation +/// custom events, this method returns @"GADMAdapterCustomEvents". +@property(nonatomic, readonly, copy) NSString *adNetworkClassName; + @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdDelegate.h similarity index 100% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAdDelegate.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdDelegate.h diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImage+Mediation.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImage+Mediation.h new file mode 100644 index 0000000..b448c4f --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImage+Mediation.h @@ -0,0 +1,18 @@ +// +// GADNativeAdImage+Mediation.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google. All rights reserved. +// + +#import "GADNativeAdImage.h" + +@interface GADNativeAdImage (MediationAdditions) + +/// Initializes and returns a native ad image object with the provided image. +- (instancetype)initWithImage:(UIImage *)image; + +/// Initializes and returns a native ad image object with the provided image URL and image scale. +- (instancetype)initWithURL:(NSURL *)URL scale:(CGFloat)scale; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAdImage.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImage.h similarity index 85% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAdImage.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImage.h index 9596b3d..58da290 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAdImage.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImage.h @@ -17,4 +17,7 @@ /// The image's URL. @property(nonatomic, readonly, strong) NSURL *imageURL; +/// The image's scale. +@property(nonatomic, readonly, assign) CGFloat scale; + @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Options/GADNativeAdImageAdLoaderOptions.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImageAdLoaderOptions.h similarity index 96% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Options/GADNativeAdImageAdLoaderOptions.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImageAdLoaderOptions.h index 4db6f1a..c847e73 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Options/GADNativeAdImageAdLoaderOptions.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAdImageAdLoaderOptions.h @@ -5,7 +5,7 @@ // Copyright 2015 Google Inc. All rights reserved. // -#import "../GADAdLoader.h" +#import /// Native ad image orientation preference. typedef NS_ENUM(NSInteger, GADNativeAdImageAdLoaderOptionsOrientation) { diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAppInstallAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAppInstallAd.h similarity index 83% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAppInstallAd.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAppInstallAd.h index 06ea4fc..6512627 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeAppInstallAd.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeAppInstallAd.h @@ -8,15 +8,16 @@ #import #import -#import "../GADAdLoaderDelegate.h" -#import "GADNativeAd.h" -#import "GADNativeAdImage.h" +#import +#import +#import +#import -// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must -// conform to the GADNativeAppInstallAdRequestDelegate protocol. -// -// See GADNativeAdImageAdLoaderOptions.h for ad loader image options. -extern NSString *const kGADAdLoaderAdTypeNativeAppInstall; +/// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must +/// conform to the GADNativeAppInstallAdRequestDelegate protocol. +/// +/// See GADNativeAdImageAdLoaderOptions.h for ad loader image options. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeAppInstall; /// Native app install ad. @interface GADNativeAppInstallAd : GADNativeAd @@ -42,7 +43,6 @@ extern NSString *const kGADAdLoaderAdTypeNativeAppInstall; @property(nonatomic, readonly, strong) NSArray *images; /// App store rating (0 to 5). @property(nonatomic, readonly, copy) NSDecimalNumber *starRating; - @end #pragma mark - Protocol and constants diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeContentAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeContentAd.h similarity index 81% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeContentAd.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeContentAd.h index 6523335..0e5d999 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeContentAd.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeContentAd.h @@ -8,17 +8,18 @@ #import #import -#import "../GADAdLoaderDelegate.h" -#import "GADNativeAd.h" -#import "GADNativeAdImage.h" +#import +#import +#import +#import #pragma mark - Native Content Ad Assets -// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must -// conform to the GADNativeContentAdRequestDelegate protocol. -// -// See GADNativeAdImageAdLoaderOptions.h for ad loader image options. -extern NSString *const kGADAdLoaderAdTypeNativeContent; +/// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must +/// conform to the GADNativeContentAdRequestDelegate protocol. +/// +/// See GADNativeAdImageAdLoaderOptions.h for ad loader image options. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeContent; /// Native content ad. @interface GADNativeContentAd : GADNativeAd @@ -40,7 +41,6 @@ extern NSString *const kGADAdLoaderAdTypeNativeContent; @property(nonatomic, readonly, copy) NSString *callToAction; /// Identifies the advertiser. For example, the advertiser’s name or visible URL. @property(nonatomic, readonly, copy) NSString *advertiser; - @end #pragma mark - Protocol and constants diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeCustomTemplateAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeCustomTemplateAd.h similarity index 82% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeCustomTemplateAd.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeCustomTemplateAd.h index b6b5d5e..b7dbd23 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Loading/Formats/GADNativeCustomTemplateAd.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADNativeCustomTemplateAd.h @@ -8,13 +8,14 @@ #import #import -#import "../GADAdLoaderDelegate.h" -#import "GADNativeAd.h" -#import "GADNativeAdImage.h" - -// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must -// conform to the GADNativeCustomTemplateAdLoaderDelegate protocol. -extern NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; +#import +#import +#import +#import + +/// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must +/// conform to the GADNativeCustomTemplateAdLoaderDelegate protocol. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; /// Native custom template ad. @interface GADNativeCustomTemplateAd : GADNativeAd diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequest.h index 0b167af..68060d5 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequest.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequest.h @@ -8,8 +8,10 @@ #import #import +#import + /// Add this constant to the testDevices property's array to receive test ads on the simulator. -extern const id kGADSimulatorID; +GAD_EXTERN const id kGADSimulatorID; @protocol GADAdNetworkExtras; @@ -68,11 +70,6 @@ typedef NS_ENUM(NSInteger, GADGender) { longitude:(CGFloat)longitude accuracy:(CGFloat)accuracyInMeters; -/// When Core Location isn't available but the user's location is known supplying it here may -/// deliver more relevant ads. It can be any free-form text such as @"Champs-Elysees Paris" or -/// @"94041 US". -- (void)setLocationWithDescription:(NSString *)locationDescription; - /// [Optional] This method allows you to specify whether you would like your app to be treated as /// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA), /// http:///business.ftc.gov/privacy-and-security/childrens-privacy. @@ -102,7 +99,7 @@ typedef NS_ENUM(NSInteger, GADGender) { /// targeting purposes. @property(nonatomic, copy) NSString *contentURL; -#pragma mark - Request Agent Information +#pragma mark Request Agent Information /// String that identifies the ad request's origin. Third party libraries that reference the Mobile /// Ads SDK should set this property to denote the platform from which the ad request originated. @@ -110,12 +107,18 @@ typedef NS_ENUM(NSInteger, GADGender) { /// Mobile Ads SDK should set this property as "CoolAds". @property(nonatomic, copy) NSString *requestAgent; -#pragma mark - Deprecated Methods +#pragma mark Deprecated Methods /// Provide the user's birthday to increase ad relevancy. - (void)setBirthdayWithMonth:(NSInteger)month day:(NSInteger)day year:(NSInteger)year - __attribute__((deprecated(" use the birthday property."))); + GAD_DEPRECATED_MSG_ATTRIBUTE(" use the birthday property."); + +/// When Core Location isn't available but the user's location is known supplying it here may +/// deliver more relevant ads. It can be any free-form text such as @"Champs-Elysees Paris" or +/// @"94041 US". +- (void)setLocationWithDescription:(NSString *)locationDescription + GAD_DEPRECATED_MSG_ATTRIBUTE(" use setLocationWithLatitude:longitude:accuracy:."); @end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequestError.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequestError.h index 0e10b9f..31175e4 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequestError.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRequestError.h @@ -7,10 +7,12 @@ #import +#import + @class GADRequest; /// Google AdMob Ads error domain. -extern NSString *const kGADErrorDomain; +GAD_EXTERN NSString *const kGADErrorDomain; /// NSError codes for GAD error domain. typedef NS_ENUM(NSInteger, GADErrorCode) { diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRewardBasedVideoAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRewardBasedVideoAd.h new file mode 100644 index 0000000..b70cd24 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRewardBasedVideoAd.h @@ -0,0 +1,34 @@ +// +// GADRewardBasedVideoAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +@class GADRequest; + +@protocol GADRewardBasedVideoAdDelegate; + +@interface GADRewardBasedVideoAd : NSObject + +/// Delegate for receiving video notifications. +@property(nonatomic, weak) id delegate; + +/// Indicates if the receiver is ready to be presented full screen. +@property(nonatomic, readonly, assign, getter=isReady) BOOL ready; + +/// Singleton instance. ++ (GADRewardBasedVideoAd *)sharedInstance; + +/// Initiate the request to fetch the reward based video ad. +- (void)loadRequest:(GADRequest *)request + withAdUnitID:(NSString *)adUnitID + userID:(NSString *)userID; + +/// Present the reward based video ad with provided view controller. +- (void)presentFromRootViewController:(UIViewController *)viewController; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRewardBasedVideoAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRewardBasedVideoAdDelegate.h new file mode 100644 index 0000000..eb0f9d1 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADRewardBasedVideoAdDelegate.h @@ -0,0 +1,41 @@ +// +// GADRewardBasedVideoAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import + +/// Delegate for receiving state change messages from a GADRewardBasedVideoAd such as ad requests +/// succeeding/failing. +@protocol GADRewardBasedVideoAdDelegate + +@optional + +/// Tells the delegate that the reward based video ad has been received. +- (void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad is opened. +- (void)rewardBasedVideoAdDidOpen:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad has started playing. +- (void)rewardBasedVideoAdDidStartPlaying:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad is closed. +- (void)rewardBasedVideoAdDidClose:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad will leave the application. +- (void)rewardBasedVideoAdWillLeaveApplication:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad has rewarded the user. +- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd + didRewardUserWithReward:(GADAdReward *)reward; + +/// Tells the delegate that the reward based video ad has failed to load. +- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd + didFailToLoadwithError:(NSError *)error; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Search/GADSearchBannerView.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADSearchBannerView.h similarity index 92% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Search/GADSearchBannerView.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADSearchBannerView.h index cb6e060..363ad24 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Search/GADSearchBannerView.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADSearchBannerView.h @@ -5,7 +5,7 @@ // Copyright 2011 Google Inc. All rights reserved. // -#import "../GADBannerView.h" +#import // A view that displays search ads. // To show search ads: diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/Search/GADSearchRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GADSearchRequest.h similarity index 100% rename from iosadapters/Admob/GoogleMobileAds.framework/Headers/Search/GADSearchRequest.h rename to iosadapters/Admob/GoogleMobileAds.framework/Headers/GADSearchRequest.h diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAds.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAds.h index 7a3322a..18962ef 100644 --- a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAds.h +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAds.h @@ -14,15 +14,20 @@ //! Project version string for GoogleMobileAds. FOUNDATION_EXPORT const unsigned char GoogleMobileAdsVersionString[]; +#import + #import #import #import #import +#import +#import #import #import #import #import #import +#import #import #import @@ -35,25 +40,37 @@ FOUNDATION_EXPORT const unsigned char GoogleMobileAdsVersionString[]; #import #import -#import -#import -#import +#import +#import +#import + +#import +#import +#import +#import +#import +#import +#import -#import -#import -#import -#import -#import -#import +#import -#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import -#import -#import -#import -#import -#import -#import +#import +#import -#import -#import +#import +#import +#import diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAdsDefines.h b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAdsDefines.h new file mode 100644 index 0000000..ad036c9 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Headers/GoogleMobileAdsDefines.h @@ -0,0 +1,30 @@ +// +// GoogleMobileAdsDefines.h +// Google Mobile Ads SDK +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// + +#if defined(__cplusplus) +#define GAD_EXTERN extern "C" __attribute__((visibility("default"))) +#else +#define GAD_EXTERN extern __attribute__((visibility("default"))) +#endif // defined(__cplusplus) + +#if defined(__has_feature) && defined(__has_attribute) +#if __has_feature(attribute_GAD_DEPRECATED_with_message) +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) +#elif __has_attribute(deprecated) +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated)) +#else +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) +#endif // __has_feature(attribute_GAD_DEPRECATED_with_message) +#if __has_attribute(deprecated) +#define GAD_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#else +#define GAD_DEPRECATED_ATTRIBUTE +#endif // __has_attribute(deprecated) +#else +#define GAD_DEPRECATED_ATTRIBUTE +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) +#endif // defined(__has_feature) && defined(__has_attribute) diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Modules/module.modulemap b/iosadapters/Admob/GoogleMobileAds.framework/Modules/module.modulemap new file mode 100644 index 0000000..8eac697 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Modules/module.modulemap @@ -0,0 +1,20 @@ +framework module GoogleMobileAds { + umbrella header "GoogleMobileAds.h" + + export * + module * { export * } + + link framework "AdSupport" + link framework "AudioToolbox" + link framework "AVFoundation" + link framework "CoreGraphics" + link framework "CoreMedia" + link framework "CoreTelephony" + link framework "EventKit" + link framework "EventKitUI" + link framework "Foundation" + link framework "MessageUI" + link framework "StoreKit" + link framework "SystemConfiguration" + link framework "UIKit" +} diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/GoogleMobileAds b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/GoogleMobileAds new file mode 100644 index 0000000..5f61114 Binary files /dev/null and b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/GoogleMobileAds differ diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPBannerView.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPBannerView.h new file mode 100644 index 0000000..1e45302 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPBannerView.h @@ -0,0 +1,83 @@ +// +// DFPBannerView.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import +#import +#import + +@protocol DFPCustomRenderedBannerViewDelegate; +@protocol GADAdSizeDelegate; +@protocol GADAppEventDelegate; + +/// The view that displays DoubleClick For Publishers banner ads. +@interface DFPBannerView : GADBannerView + +/// Required value created on the DFP website. Create a new ad unit for every unique placement of an +/// ad in your application. Set this to the ID assigned for this placement. Ad units are important +/// for targeting and statistics. +/// +/// Example DFP ad unit ID: @"/6499/example/banner" +@property(nonatomic, copy) NSString *adUnitID; + +/// Optional delegate that is notified when creatives send app events. +@property(nonatomic, weak) IBOutlet id appEventDelegate; + +/// Optional delegate that is notified when creatives cause the banner to change size. To avoid +/// crashing the app, remember to nil this property before releasing the object that implements the +/// GADAdSizeDelegate protocol. +@property(nonatomic, weak) IBOutlet id adSizeDelegate; + +/// Optional array of NSValue encoded GADAdSize structs, specifying all valid sizes that are +/// appropriate for this slot. Never create your own GADAdSize directly. Use one of the predefined +/// standard ad sizes (such as kGADAdSizeBanner), or create one using the GADAdSizeFromCGSize +/// method. +/// +/// \see setValidAdSizesWithSizes: +/// +/// Example: +/// \code +/// NSArray *validSizes = @[ +/// NSValueFromGADAdSize(kGADAdSizeBanner), +/// NSValueFromGADAdSize(kGADAdSizeLargeBanner) +/// ]; +/// +/// bannerView.validAdSizes = validSizes; +/// \endcode +@property(nonatomic, copy) NSArray *validAdSizes; + +/// Correlator object for correlating this object to other ad objects. +@property(nonatomic, strong) GADCorrelator *correlator; + +/// Indicates that the publisher will record impressions manually when the ad becomes visible to the +/// user. +@property(nonatomic, assign) BOOL enableManualImpressions; + +/// Optional delegate object for custom rendered ads. +@property(nonatomic, weak) + IBOutlet id customRenderedBannerViewDelegate; + +/// If you've set enableManualImpressions to YES, call this method when the ad is visible. +- (void)recordImpression; + +/// Use this function to resize the banner view without launching a new ad request. +- (void)resize:(GADAdSize)size; + +#pragma mark Deprecated + +/// Sets the receiver's valid ad sizes to the values pointed to by the provided NULL terminated list +/// of GADAdSize pointers. +/// +/// Example: +/// \code +/// GADAdSize size1 = kGADAdSizeBanner; +/// GADAdSize size2 = kGADAdSizeLargeBanner; +/// [bannerView setValidAdSizesWithSizes:&size1, &size2, NULL]; +/// \endcode +- (void)setValidAdSizesWithSizes:(GADAdSize *)firstSize, ... NS_REQUIRES_NIL_TERMINATION + GAD_DEPRECATED_MSG_ATTRIBUTE("Use validAdSizes property."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedAd.h new file mode 100644 index 0000000..c4543cc --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedAd.h @@ -0,0 +1,28 @@ +// +// DFPCustomRenderedAd.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google Inc. All rights reserved. +// + +#import + +/// Custom rendered ad. Your application renders the ad. +@interface DFPCustomRenderedAd : NSObject + +/// The ad's HTML. +@property(nonatomic, copy, readonly) NSString *adHTML; + +/// The base URL of the ad's HTML. +@property(nonatomic, copy, readonly) NSURL *adBaseURL; + +/// Call this method when the user clicks the ad. +- (void)recordClick; + +/// Call this method when the ad is visible to the user. +- (void)recordImpression; + +/// Call this method after the ad has been rendered in a UIView object. +- (void)finishedRenderingAdView:(UIView *)view; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedBannerViewDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedBannerViewDelegate.h new file mode 100644 index 0000000..59f1965 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedBannerViewDelegate.h @@ -0,0 +1,20 @@ +// +// DFPCustomRenderedBannerViewDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google Inc. All rights reserved. +// + +#import + +@class DFPBannerView; +@class DFPCustomRenderedAd; + +@protocol DFPCustomRenderedBannerViewDelegate + +/// Called after ad data has been received. You must construct a banner from |customRenderedAd| and +/// call the |customRenderedAd| object's finishedRenderingAdView: when the ad is rendered. +- (void)bannerView:(DFPBannerView *)bannerView + didReceiveCustomRenderedAd:(DFPCustomRenderedAd *)customRenderedAd; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedInterstitialDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedInterstitialDelegate.h new file mode 100644 index 0000000..fda75a2 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPCustomRenderedInterstitialDelegate.h @@ -0,0 +1,21 @@ +// +// DFPCustomRenderedInterstitialDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google Inc. All rights reserved. +// + +#import + +@class DFPCustomRenderedAd; +@class DFPInterstitial; + +@protocol DFPCustomRenderedInterstitialDelegate + +/// Called after ad data has been received. You must construct an interstitial from +/// |customRenderedAd| and call the |customRenderedAd| object's finishedRenderingAdView: method when +/// the ad has been rendered. +- (void)interstitial:(DFPInterstitial *)interstitial + didReceiveCustomRenderedAd:(DFPCustomRenderedAd *)customRenderedAd; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPInterstitial.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPInterstitial.h new file mode 100644 index 0000000..27112eb --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPInterstitial.h @@ -0,0 +1,33 @@ +// +// DFPInterstitial.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import +#import + +@protocol DFPCustomRenderedInterstitialDelegate; +@protocol GADAppEventDelegate; + +@interface DFPInterstitial : GADInterstitial + +/// Required value created on the DFP website. Create a new ad unit for every unique placement of an +/// ad in your application. Set this to the ID assigned for this placement. Ad units are important +/// for targeting and stats. +/// +/// Example DFP ad unit ID: @"/6499/example/interstitial" +@property(nonatomic, readonly, copy) NSString *adUnitID; + +/// Correlator object for correlating this object to other ad objects. +@property(nonatomic, strong) GADCorrelator *correlator; + +/// Optional delegate that is notified when creatives send app events. +@property(nonatomic, weak) id appEventDelegate; + +/// Optional delegate object for custom rendered ads. +@property(nonatomic, weak) + id customRenderedInterstitialDelegate; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPRequest.h new file mode 100644 index 0000000..5d41aea --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/DFPRequest.h @@ -0,0 +1,33 @@ +// +// DFPRequest.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google Inc. All rights reserved. +// + +#import + +#import +#import + +/// Add this constant to the testDevices property's array to receive test ads on the simulator. +GAD_EXTERN const id kDFPSimulatorID; + +/// Specifies optional parameters for ad requests. +@interface DFPRequest : GADRequest + +/// Publisher provided user ID. +@property(nonatomic, copy) NSString *publisherProvidedID; + +/// Array of strings used to exclude specified categories in ad results. +@property(nonatomic, copy) NSArray *categoryExclusions; + +/// Key-value pairs used for custom targeting. +@property(nonatomic, copy) NSDictionary *customTargeting; + +/// This API is deprecated and a no-op, use an instance of GADCorrelator set on DFPInterstitial or +/// DFPBannerView objects to correlate requests. ++ (void)updateCorrelator GAD_DEPRECATED_MSG_ATTRIBUTE( + "Set GADCorrelator objects on your ads instead. This method longer affects ad correlation."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoader.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoader.h new file mode 100644 index 0000000..673fce9 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoader.h @@ -0,0 +1,42 @@ +// +// GADAdLoader.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +#import "GADAdLoaderDelegate.h" +#import "GADRequest.h" +#import "GADRequestError.h" + +/// Loads ads. See GADAdLoaderAdTypes.h for available ad types. +@interface GADAdLoader : NSObject + +/// Object notified when an ad request succeeds or fails. Must conform to requested ad types' +/// delegate protocols. +@property(nonatomic, weak) id delegate; + +/// Returns an initialized ad loader configured to load the specified ad types. +/// +/// @param rootViewController The root view controller is used to present ad click actions. Cannot +/// be nil. +/// @param adTypes An array of ad types. See GADAdLoaderAdTypes.h for available ad types. +/// @param options An array of GADAdLoaderOptions objects to configure how ads are loaded, or nil to +/// use default options. See each ad type's header for available GADAdLoaderOptions subclasses. +- (instancetype)initWithAdUnitID:(NSString *)adUnitID + rootViewController:(UIViewController *)rootViewController + adTypes:(NSArray *)adTypes + options:(NSArray *)options; + +/// Loads the ad and informs the delegate of the outcome. +- (void)loadRequest:(GADRequest *)request; + +@end + +/// Ad loader options base class. See each ad type's header for available GADAdLoaderOptions +/// subclasses. +@interface GADAdLoaderOptions : NSObject +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoaderAdTypes.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoaderAdTypes.h new file mode 100644 index 0000000..1b1eaeb --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoaderAdTypes.h @@ -0,0 +1,22 @@ +// +// GADAdLoaderAdTypes.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import + +// For use with GADAdLoader's creation methods. See the constants' respective headers for each ad +// type's delegate requirements. + +/// Native app install ad type. \see GADNativeAppInstallAd.h. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeAppInstall; + +/// Native content ad type. \see GADNativeContentAd.h. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeContent; + +/// Native custom template ad type. \see GADNativeCustomTemplateAd.h. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoaderDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoaderDelegate.h new file mode 100644 index 0000000..1be8884 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdLoaderDelegate.h @@ -0,0 +1,21 @@ +// +// GADAdLoaderDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import "GADRequestError.h" + +@class GADAdLoader; + +/// Base ad loader delegate protocol. Ad types provide extended protocols that declare methods to +/// handle successful ad loads. +@protocol GADAdLoaderDelegate + +/// Called when adLoader fails to load an ad. +- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(GADRequestError *)error; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdNetworkExtras.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdNetworkExtras.h new file mode 100644 index 0000000..d33de74 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdNetworkExtras.h @@ -0,0 +1,16 @@ +// +// GADAdNetworkExtras.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +/// An object implementing this protocol contains information set by the publisher on the client +/// device for a particular ad network. +/// +/// Ad networks should create an 'extras' object implementing this protocol for their publishers to +/// use. +@protocol GADAdNetworkExtras +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdReward.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdReward.h new file mode 100644 index 0000000..5657a21 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdReward.h @@ -0,0 +1,23 @@ +// +// GADAdReward.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +@interface GADAdReward : NSObject + +/// Type of the reward. +@property(nonatomic, readonly, copy) NSString *type; + +/// Amount rewarded to the user. +@property(nonatomic, readonly, copy) NSDecimalNumber *amount; + +/// Returns an initialized GADAdReward with the provided reward type and reward amount. rewardType +/// and rewardAmount must not be nil. +- (instancetype)initWithRewardType:(NSString *)rewardType + rewardAmount:(NSDecimalNumber *)rewardAmount NS_DESIGNATED_INITIALIZER; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdSize.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdSize.h new file mode 100644 index 0000000..32efccd --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdSize.h @@ -0,0 +1,105 @@ +// +// GADAdSize.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import +#import + +#import + +/// A valid GADAdSize is considered to be one of the predefined GADAdSize constants or a GADAdSize +/// constructed by GADAdSizeFromCGSize, GADAdSizeFullWidthPortraitWithHeight, +/// GADAdSizeFullWidthLandscapeWithHeight. +/// +/// Do not create a GADAdSize manually. Use one of the kGADAdSize constants. Treat GADAdSize as an +/// opaque type. Do not access any fields directly. To obtain a concrete CGSize, use the function +/// CGSizeFromGADAdSize(). +typedef struct GADAdSize { + CGSize size; + NSUInteger flags; +} GADAdSize; + +#pragma mark Standard Sizes + +/// iPhone and iPod Touch ad size. Typically 320x50. +GAD_EXTERN GADAdSize const kGADAdSizeBanner; + +/// Taller version of kGADAdSizeBanner. Typically 320x100. +GAD_EXTERN GADAdSize const kGADAdSizeLargeBanner; + +/// Medium Rectangle size for the iPad (especially in a UISplitView's left pane). Typically 300x250. +GAD_EXTERN GADAdSize const kGADAdSizeMediumRectangle; + +/// Full Banner size for the iPad (especially in a UIPopoverController or in +/// UIModalPresentationFormSheet). Typically 468x60. +GAD_EXTERN GADAdSize const kGADAdSizeFullBanner; + +/// Leaderboard size for the iPad. Typically 728x90. +GAD_EXTERN GADAdSize const kGADAdSizeLeaderboard; + +/// Skyscraper size for the iPad. Mediation only. AdMob/Google does not offer this size. Typically +/// 120x600. +GAD_EXTERN GADAdSize const kGADAdSizeSkyscraper; + +/// An ad size that spans the full width of the application in portrait orientation. The height is +/// typically 50 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI. +GAD_EXTERN GADAdSize const kGADAdSizeSmartBannerPortrait; + +/// An ad size that spans the full width of the application in landscape orientation. The height is +/// typically 32 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI. +GAD_EXTERN GADAdSize const kGADAdSizeSmartBannerLandscape; + +/// An ad size that spans the full width of its container, with a height dynamically determined by +/// the ad. +GAD_EXTERN GADAdSize const kGADAdSizeFluid; + +/// Invalid ad size marker. +GAD_EXTERN GADAdSize const kGADAdSizeInvalid; + +#pragma mark Custom Sizes + +/// Returns a custom GADAdSize for the provided CGSize. Use this only if you require a non-standard +/// size. Otherwise, use one of the standard size constants above. +GADAdSize GADAdSizeFromCGSize(CGSize size); + +/// Returns a custom GADAdSize that spans the full width of the application in portrait orientation +/// with the height provided. +GADAdSize GADAdSizeFullWidthPortraitWithHeight(CGFloat height); + +/// Returns a custom GADAdSize that spans the full width of the application in landscape orientation +/// with the height provided. +GADAdSize GADAdSizeFullWidthLandscapeWithHeight(CGFloat height); + +#pragma mark Convenience Functions + +/// Returns YES if the two GADAdSizes are equal, otherwise returns NO. +BOOL GADAdSizeEqualToSize(GADAdSize size1, GADAdSize size2); + +/// Returns a CGSize for the provided a GADAdSize constant. If the GADAdSize is unknown, returns +/// CGSizeZero. +CGSize CGSizeFromGADAdSize(GADAdSize size); + +/// Returns YES if |size| is one of the predefined constants or is a custom GADAdSize generated by +/// GADAdSizeFromCGSize. +BOOL IsGADAdSizeValid(GADAdSize size); + +/// Returns a NSString describing the provided GADAdSize. +NSString *NSStringFromGADAdSize(GADAdSize size); + +/// Returns an NSValue representing the GADAdSize. +NSValue *NSValueFromGADAdSize(GADAdSize size); + +/// Returns a GADAdSize from an NSValue. Returns kGADAdSizeInvalid if the value is not a GADAdSize. +GADAdSize GADAdSizeFromNSValue(NSValue *value); + +#pragma mark Deprecated Macros + +#define GAD_SIZE_320x50 CGSizeFromGADAdSize(kGADAdSizeBanner) +#define GAD_SIZE_320x100 CGSizeFromGADAdSize(kGADAdSizeLargeBanner) +#define GAD_SIZE_300x250 CGSizeFromGADAdSize(kGADAdSizeMediumRectangle) +#define GAD_SIZE_468x60 CGSizeFromGADAdSize(kGADAdSizeFullBanner) +#define GAD_SIZE_728x90 CGSizeFromGADAdSize(kGADAdSizeLeaderboard) +#define GAD_SIZE_120x600 CGSizeFromGADAdSize(kGADAdSizeSkyscraper) diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdSizeDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdSizeDelegate.h new file mode 100644 index 0000000..324a571 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAdSizeDelegate.h @@ -0,0 +1,21 @@ +// +// GADAdSizeDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import + +@class GADBannerView; + +/// The class implementing this protocol will be notified when the DFPBannerView changes ad size. +/// Any views that may be affected by the banner size change will have time to adjust. +@protocol GADAdSizeDelegate + +/// Called before the ad view changes to the new size. +- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAppEventDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAppEventDelegate.h new file mode 100644 index 0000000..34fbcce --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADAppEventDelegate.h @@ -0,0 +1,29 @@ +// +// GADAppEventDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +@class GADBannerView; +@class GADInterstitial; + +/// Implement your app event within these methods. The delegate will be notified when the SDK +/// receives an app event message from the ad. +@protocol GADAppEventDelegate + +@optional + +/// Called when the banner receives an app event. +- (void)adView:(GADBannerView *)banner + didReceiveAppEvent:(NSString *)name + withInfo:(NSString *)info; + +/// Called when the interstitial receives an app event. +- (void)interstitial:(GADInterstitial *)interstitial + didReceiveAppEvent:(NSString *)name + withInfo:(NSString *)info; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADBannerView.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADBannerView.h new file mode 100644 index 0000000..eace109 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADBannerView.h @@ -0,0 +1,106 @@ +// +// GADBannerView.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import + +#import +#import +#import +#import +#import +#import + +#ifndef IBInspectable +#define IBInspectable +#endif + +/// The view that displays banner ads. A minimum implementation to get an ad from within a +/// UIViewController class is: +/// +/// \code +/// // Create and setup the ad view, specifying the size and origin at {0, 0}. +/// GADBannerView *adView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; +/// adView.rootViewController = self; +/// adView.adUnitID = @"ID created when registering your app"; +/// +/// // Place the ad view onto the screen. +/// [self.view addSubview:adView]; +/// +/// // Request an ad without any additional targeting information. +/// [adView loadRequest:[GADRequest request]]; +/// \endcode +/// +@interface GADBannerView : UIView + +#pragma mark Initialization + +/// Initializes a GADBannerView and sets it to the specified size, and specifies its placement +/// within its superview bounds. Returns nil if |adSize| is an invalid ad size. +- (instancetype)initWithAdSize:(GADAdSize)adSize origin:(CGPoint)origin; + +/// Initializes a GADBannerView and sets it to the specified size, and specifies its placement at +/// the top left of its superview. Returns nil if |adSize| is an invalid ad size. +- (instancetype)initWithAdSize:(GADAdSize)adSize; + +#pragma mark Pre-Request + +/// Required value created on the AdMob website. Create a new ad unit for every unique placement of +/// an ad in your application. Set this to the ID assigned for this placement. Ad units are +/// important for targeting and statistics. +/// +/// Example AdMob ad unit ID: @"ca-app-pub-0123456789012345/0123456789" +@property(nonatomic, copy) IBInspectable NSString *adUnitID; + +/// Required reference to the current root view controller. For example the root view controller in +/// tab-based application would be the UITabViewController. +@property(nonatomic, weak) IBOutlet UIViewController *rootViewController; + +/// Required to set this banner view to a proper size. Never create your own GADAdSize directly. Use +/// one of the predefined standard ad sizes (such as kGADAdSizeBanner), or create one using the +/// GADAdSizeFromCGSize method. If not using mediation, then changing the adSize after an ad has +/// been shown will cause a new request (for an ad of the new size) to be sent. If using mediation, +/// then a new request may not be sent. +@property(nonatomic, assign) GADAdSize adSize; + +/// Optional delegate object that receives state change notifications from this GADBannerView. +/// Typically this is a UIViewController. +@property(nonatomic, weak) IBOutlet id delegate; + +/// Optional delegate object that receives in-app purchase notifications from this ad. Required for +/// the custom in-app purchase flow, but ignored when using the default in-app purchase flow. +@property(nonatomic, weak) IBOutlet id inAppPurchaseDelegate; + +#pragma mark Making an Ad Request + +/// Makes an ad request. The request object supplies targeting information. +- (void)loadRequest:(GADRequest *)request; + +/// A Boolean value that determines whether autoloading of ads in the receiver is enabled. If +/// enabled, you do not need to call the loadRequest: method to load ads. +@property(nonatomic, assign, getter=isAutoloadEnabled) IBInspectable BOOL autoloadEnabled; + +#pragma mark Mediation + +/// The ad network class name that fetched the current ad. Returns nil while the latest ad request +/// is in progress or if the latest ad request failed. For both standard and mediated Google AdMob +/// ads, this method returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation custom +/// events, this method returns @"GADMAdapterCustomEvents". +@property(nonatomic, readonly, copy) NSString *adNetworkClassName; + +#pragma mark Deprecated + +/// Indicates if the currently displayed ad (or most recent failure) was a result of auto refreshing +/// as specified on server. This property is set to NO after each loadRequest: method. +@property(nonatomic, readonly, assign) BOOL hasAutoRefreshed GAD_DEPRECATED_ATTRIBUTE; + +/// The mediated ad network's underlying ad view. You may use this property to read the ad's actual +/// size and adjust this banner view's frame origin. However, modifying the banner view's frame size +/// triggers the Mobile Ads SDK to request a new ad. Only update the banner view's frame origin. +@property(nonatomic, readonly, weak) + UIView *mediatedAdView GAD_DEPRECATED_MSG_ATTRIBUTE("Use adNetworkClassName."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADBannerViewDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADBannerViewDelegate.h new file mode 100644 index 0000000..bd377bb --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADBannerViewDelegate.h @@ -0,0 +1,47 @@ +// +// GADBannerViewDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import + +@class GADBannerView; +@class GADRequestError; + +/// Delegate methods for receiving GADBannerView state change messages such as ad request status +/// and ad click lifecycle. +@protocol GADBannerViewDelegate + +@optional + +#pragma mark Ad Request Lifecycle Notifications + +/// Tells the delegate that an ad request successfully received an ad. The delegate may want to add +/// the banner view to the view hierarchy if it hasn't been added yet. +- (void)adViewDidReceiveAd:(GADBannerView *)bannerView; + +/// Tells the delegate that an ad request failed. The failure is normally due to network +/// connectivity or ad availablility (i.e., no fill). +- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error; + +#pragma mark Click-Time Lifecycle Notifications + +/// Tells the delegate that a full screen view will be presented in response to the user clicking on +/// an ad. The delegate may want to pause animations and time sensitive interactions. +- (void)adViewWillPresentScreen:(GADBannerView *)bannerView; + +/// Tells the delegate that the full screen view will be dismissed. +- (void)adViewWillDismissScreen:(GADBannerView *)bannerView; + +/// Tells the delegate that the full screen view has been dismissed. The delegate should restart +/// anything paused while handling adViewWillPresentScreen:. +- (void)adViewDidDismissScreen:(GADBannerView *)bannerView; + +/// Tells the delegate that the user click will open another app, backgrounding the current +/// application. The standard UIApplicationDelegate methods, like applicationDidEnterBackground:, +/// are called immediately before this method is called. +- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCorrelator.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCorrelator.h new file mode 100644 index 0000000..268c2ae --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCorrelator.h @@ -0,0 +1,17 @@ +// +// GADCorrelator.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +/// Represents a correlation between multiple ads. Set an instance of this object on multiple ads to +/// indicate they are being used in a common context. +@interface GADCorrelator : NSObject + +/// Resets the correlator to force a new set of correlated ads. +- (void)reset; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCorrelatorAdLoaderOptions.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCorrelatorAdLoaderOptions.h new file mode 100644 index 0000000..65df4e8 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCorrelatorAdLoaderOptions.h @@ -0,0 +1,17 @@ +// +// GADCorrelatorAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Ad loader options for adding a correlator to a native ad request. +@interface GADCorrelatorAdLoaderOptions : GADAdLoaderOptions + +/// Correlator object for correlating ads loaded by an ad loader to other ad objects. +@property(nonatomic, strong) GADCorrelator *correlator; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventBanner.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventBanner.h new file mode 100644 index 0000000..e0e28c2 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventBanner.h @@ -0,0 +1,38 @@ +// +// GADCustomEventBanner.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import +#import +#import + +/// The protocol for a Custom Event of the banner type. Your Custom Event handler object for banners +/// must implement this protocol. The requestBannerAd method will be called when mediation schedules +/// your Custom Event to be executed. +@protocol GADCustomEventBanner + +/// This method is called by mediation when your Custom Event is scheduled to be executed. Results +/// of the execution should be reported back via the delegate. |adSize| is the size of the ad as +/// configured in the mediation UI for the mediation placement. |serverParameter| and |serverLabel| +/// are the parameter and label configured in the mediation UI for the Custom Event. |request| +/// contains information about the ad request, some of those are from GADRequest. +- (void)requestBannerAd:(GADAdSize)adSize + parameter:(NSString *)serverParameter + label:(NSString *)serverLabel + request:(GADCustomEventRequest *)request; + +/// You should call back to the |delegate| with the results of the execution to ensure mediation +/// behaves correctly. The delegate is weakly referenced to prevent memory leaks caused by circular +/// retention. +/// +/// Define the -delegate and -setDelegate: methods in your class. +/// +/// In your class's -dealloc method, remember to nil out the delegate. +@property(nonatomic, weak) id delegate; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventBannerDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventBannerDelegate.h new file mode 100644 index 0000000..271489f --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventBannerDelegate.h @@ -0,0 +1,62 @@ +// +// GADCustomEventBannerDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import +#import + +#import + +@protocol GADCustomEventBanner; + +/// Call back to this delegate in your custom event. You must call customEventBanner:didReceiveAd: +/// when there is an ad to show, or customEventBanner:didFailAd: when there is no ad to show. +/// Otherwise, if enough time passed (several seconds) after the SDK called the requestBannerAd: +/// method of your custom event, the mediation SDK will consider the request timed out, and move on +/// to the next ad network. +@protocol GADCustomEventBannerDelegate + +/// Your Custom Event object must call this when it receives or creates an ad view. +- (void)customEventBanner:(id)customEvent didReceiveAd:(UIView *)view; + +/// Your Custom Event object must call this when it fails to receive or create the ad view. Pass +/// along any error object sent from the ad network's SDK, or an NSError describing the error. Pass +/// nil if not available. +- (void)customEventBanner:(id)customEvent didFailAd:(NSError *)error; + +/// Your Custom Event object should call this when the user touches or "clicks" the ad to initiate +/// an action. When the SDK receives this callback, it reports the click back to the mediation +/// server. +- (void)customEventBannerWasClicked:(id)customEvent; + +/// The rootViewController that you set in GADBannerView. Use this UIViewController to show a modal +/// view when a user taps on the ad. +@property(nonatomic, readonly) UIViewController *viewControllerForPresentingModalView; + +/// When you call the following methods, the call will be propagated back to the +/// GADBannerViewDelegate that you implemented and passed to GADBannerView. + +/// Your Custom Event should call this when the user taps an ad and a modal view appears. +- (void)customEventBannerWillPresentModal:(id)customEvent; + +/// Your Custom Event should call this when the user dismisses the modal view and the modal view is +/// about to go away. +- (void)customEventBannerWillDismissModal:(id)customEvent; + +/// Your Custom Event should call this when the user dismisses the modal view and the modal view has +/// gone away. +- (void)customEventBannerDidDismissModal:(id)customEvent; + +/// Your Custom Event should call this method when a user action will result in App switching. +- (void)customEventBannerWillLeaveApplication:(id)customEvent; + +#pragma mark Deprecated + +- (void)customEventBanner:(id)customEvent + clickDidOccurInAd:(UIView *)view + GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventBannerWasClicked:."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventExtras.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventExtras.h new file mode 100644 index 0000000..3ebe81e --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventExtras.h @@ -0,0 +1,30 @@ +// +// GADCustomEventExtras.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import + +/// Create an instance of this class to set additional parameters for each custom event object. The +/// additional parameters for a custom event are keyed by the custom event label. These extras are +/// passed to your implementation of GADCustomEventBanner or GADCustomEventInterstitial. +@interface GADCustomEventExtras : NSObject + +/// Set additional parameters for the custom event with label |label|. To remove additional +/// parameters associated with |label|, pass in nil for |extras|. +- (void)setExtras:(NSDictionary *)extras forLabel:(NSString *)label; + +/// Retrieve the extras for |label|. +- (NSDictionary *)extrasForLabel:(NSString *)label; + +/// Removes all the extras set on this instance. +- (void)removeAllExtras; + +/// Returns all the extras set on this instance. +- (NSDictionary *)allExtras; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventInterstitial.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventInterstitial.h new file mode 100644 index 0000000..9e2a860 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventInterstitial.h @@ -0,0 +1,44 @@ +// +// GADCustomEventInterstitial.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import +#import + +/// The protocol for a Custom Event of the interstitial type. Your Custom Event handler object for +/// interstitial must implement this protocol. The requestInterstitialAd method will be called when +/// mediation schedules your Custom Event to be executed. +@protocol GADCustomEventInterstitial + +/// You should call back to the |delegate| with the results of the execution to ensure mediation +/// behaves correctly. The delegate is assigned, not retained, to prevent memory leak caused by +/// circular retention. +/// +/// Define the -delegate and -setDelegate: methods in your class. +/// +/// In your class's -dealloc method, remember to nil out the delegate. +@property(nonatomic, weak) id delegate; + +/// This method is called by mediation when your Custom Event is scheduled to be executed. Your +/// implementation should begin retrieval of the interstitial ad, usually from a backend server, or +/// from an ad network SDK. Results of the execution should be reported back via the delegate. Note +/// that you should wait until -presentFromRootViewController is called before displaying the +/// interstitial ad. Do not automatically display the ad when you receive the ad. Instead, retain +/// the ad and display it when presentFromRootViewController is called. |serverParameter| and +/// |serverLabel| are the parameter and label configured in the AdMob mediation UI for the Custom +/// Event. |request| contains information about the ad request, some of those are from GADRequest. +- (void)requestInterstitialAdWithParameter:(NSString *)serverParameter + label:(NSString *)serverLabel + request:(GADCustomEventRequest *)request; + +/// Present the interstitial ad as a modal view using the provided view controller. This is called +/// only after your Custom Event calls back to the delegate with the message +/// -customEvent:didReceiveAd: . +- (void)presentFromRootViewController:(UIViewController *)rootViewController; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventInterstitialDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventInterstitialDelegate.h new file mode 100644 index 0000000..bb6feba --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventInterstitialDelegate.h @@ -0,0 +1,56 @@ +// +// GADCustomEventInterstitialDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import + +@protocol GADCustomEventInterstitial; + +/// Call back to this delegate in your custom event. You must call +/// customEventInterstitial:didReceiveAd: when there is an ad to show, or +/// customEventInterstitial:didFailAd: when there is no ad to show. Otherwise, if enough time passed +/// (several seconds) after the SDK called the requestInterstitialAdWithParameter: method of your +/// custom event, the mediation SDK will consider the request timed out, and move on to the next ad +/// network. +@protocol GADCustomEventInterstitialDelegate + +/// Your Custom Event object must call this when it receives or creates an interstitial ad. +- (void)customEventInterstitialDidReceiveAd:(id)customEvent; + +/// Your Custom Event object must call this when it fails to receive or create the ad. Pass along +/// any error object sent from the ad network's SDK, or an NSError describing the error. Pass nil if +/// not available. +- (void)customEventInterstitial:(id)customEvent + didFailAd:(NSError *)error; + +/// Your Custom Event object should call this when the user touches or "clicks" the ad to initiate +/// an action. When the SDK receives this callback, it reports the click back to the mediation +/// server. +- (void)customEventInterstitialWasClicked:(id)customEvent; + +/// When you call any of the the following methods, the call will be propagated back to the +/// GADInterstitialDelegate that you implemented and passed to GADInterstitial. + +/// Your Custom Event should call this when the interstitial is being displayed. +- (void)customEventInterstitialWillPresent:(id)customEvent; + +/// Your Custom Event should call this when the interstitial is about to be dismissed. +- (void)customEventInterstitialWillDismiss:(id)customEvent; + +/// Your Custom Event should call this when the interstitial has been dismissed. +- (void)customEventInterstitialDidDismiss:(id)customEvent; + +/// Your Custom Event should call this method when a user action will result in app switching. +- (void)customEventInterstitialWillLeaveApplication:(id)customEvent; + +#pragma mark Deprecated +- (void)customEventInterstitial:(id)customEvent + didReceiveAd:(NSObject *)ad + GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventInterstitialDidReceiveAd:."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventNativeAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventNativeAd.h new file mode 100644 index 0000000..7f4c83a --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventNativeAd.h @@ -0,0 +1,36 @@ +// +// GADCustomEventNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import "GADCustomEventRequest.h" + +@protocol GADCustomEventNativeAdDelegate; + +/// The protocol for a custom event for a native ad. Your custom event handler object for native ads +/// must implement this protocol. The +/// requestNativeAdWithParameter:request:adTypes:options:rootViewController: method will be called +/// when mediation schedules your custom event to be executed. +@protocol GADCustomEventNativeAd + +/// This method is called by mediation when your custom event is scheduled to be executed. +/// |serverParameter| is the parameter configured in the mediation UI for the custom event. +/// |request| contains ad targeting information. |adTypes| contains the list of native ad types +/// requested. See GADAdLoaderAdTypes.h for available ad types. |options| are any additional options +/// configured by the publisher for requesting a native ad. See GADNativeAdImageAdLoaderOptions.h +/// for available image options. |rootViewController| is the view controller provided by the +/// publisher. +- (void)requestNativeAdWithParameter:(NSString *)serverParameter + request:(GADCustomEventRequest *)request + adTypes:(NSArray *)adTypes + options:(NSArray *)options + rootViewController:(UIViewController *)rootViewController; + +/// The delegate object, used for receiving custom native ad load request progress. +@property(nonatomic, weak) id delegate; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventNativeAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventNativeAdDelegate.h new file mode 100644 index 0000000..4f1f79a --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventNativeAdDelegate.h @@ -0,0 +1,26 @@ +// +// GADCustomEventNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import +#import + +/// The delegate of the GADCustomEventNativeAd object must adopt the GADCustomEventNativeAdDelegate +/// protocol. Methods in this protocol are used for native ad's custom event communication with the +/// Google Mobile Ads SDK. +@protocol GADCustomEventNativeAdDelegate + +/// Tells the delegate that the custom event ad request succeeded and loaded a native ad. +- (void)customEventNativeAd:(id)customEventNativeAd + didReceiveMediatedNativeAd:(id)mediatedNativeAd; + +/// Tells the delegate that the custom event ad request failed. +- (void)customEventNativeAd:(id)customEventNativeAd + didFailToLoadWithError:(NSError *)error; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventRequest.h new file mode 100644 index 0000000..75fe69b --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADCustomEventRequest.h @@ -0,0 +1,47 @@ +// +// GADCustomEventRequest.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import + +@class GADCustomEventExtras; + +@interface GADCustomEventRequest : NSObject + +/// The end user's gender set in GADRequest. If not specified, returns kGADGenderUnknown. +@property(nonatomic, readonly, assign) GADGender userGender; + +/// The end user's birthday set in GADRequest. If not specified, returns nil. +@property(nonatomic, readonly, copy) NSDate *userBirthday; + +/// The end user's latitude, longitude, and accuracy, set in GADRequest. If not specified, +/// userHasLocation returns NO, and userLatitude, userLongitude and userLocationAccuracyInMeters +/// will all return 0. +@property(nonatomic, readonly, assign) BOOL userHasLocation; +@property(nonatomic, readonly, assign) CGFloat userLatitude; +@property(nonatomic, readonly, assign) CGFloat userLongitude; +@property(nonatomic, readonly, assign) CGFloat userLocationAccuracyInMeters; + +/// Description of the user's location, in free form text, set in GADRequest. If not available, +/// returns nil. This may be set even if userHasLocation is NO. +@property(nonatomic, readonly, copy) NSString *userLocationDescription; + +/// Keywords set in GADRequest. Returns nil if no keywords are set. +@property(nonatomic, readonly, copy) NSArray *userKeywords; + +/// The additional parameters set by the application. This property allows you to pass additional +/// information from your application to your Custom Event object. To do so, create an instance of +/// GADCustomEventExtras to pass to GADRequest -registerAdNetworkExtras:. The instance should have +/// an NSDictionary set for a particular custom event label. That NSDictionary becomes the +/// additionalParameters here. +@property(nonatomic, readonly, copy) NSDictionary *additionalParameters; + +/// Indicates if the testing property has been set in GADRequest. +@property(nonatomic, readonly, assign) BOOL isTesting; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADExtras.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADExtras.h new file mode 100644 index 0000000..80a354a --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADExtras.h @@ -0,0 +1,17 @@ +// +// GADExtras.h +// Google Mobile Ads SDK +// +// Copyright 2012 Google Inc. All rights reserved. +// + +#import + +#import + +@interface GADExtras : NSObject + +/// Additional parameters to be sent to Google networks. +@property(nonatomic, copy) NSDictionary *additionalParameters; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInAppPurchase.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInAppPurchase.h new file mode 100644 index 0000000..bd8d922 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInAppPurchase.h @@ -0,0 +1,80 @@ +// +// GADInAppPurchase.h +// Google Mobile Ads SDK +// +// Copyright 2013 Google Inc. All rights reserved. +// + +#import +#import + +@protocol GADDefaultInAppPurchaseDelegate; + +#pragma mark - Default Purchase Flow + +/// The consumable in-app purchase item that has been purchased by the user. The purchase flow is +/// handled by the Google Mobile Ads SDK. +/// Instances of this class are created and passed to your in-app purchase delegate after the user +/// has successfully paid for a product. Your code must correctly deliver the product to the user +/// and then call the didCompletePurchase method to finish the transaction. +@interface GADDefaultInAppPurchase : NSObject + +/// Enables the default consumable product in-app purchase flow handled by the Google Mobile Ads +/// SDK. The GADDefaultInAppPurchaseDelegate object is retained while the default purchase flow is +/// enabled. This method adds a SKPaymentTransactionObserver to the default SKPaymentQueue. +/// +/// Call this method early in your application to handle unfinished transactions from previous +/// application sessions. For example, call this method in your application delegate's +/// application:didFinishLaunchingWithOptions: method. ++ (void)enableDefaultPurchaseFlowWithDelegate:(id)delegate; + +/// Disables the default in-app purchase flow handled by the Google Mobile Ads SDK and releases the +/// associated GADDefaultInAppPurchaseDelegate object. ++ (void)disableDefaultPurchaseFlow; + +/// The in-app purchase product ID. +@property(nonatomic, readonly, copy) NSString *productID; + +/// The product quantity. +@property(nonatomic, readonly, assign) NSInteger quantity; + +/// The purchased item's completed payment transaction. Your application can use this property's +/// data to save a permanent record of the completed payment. The default purchase flow will finish +/// the transaction on your behalf. Do not finish the transaction yourself. +@property(nonatomic, readonly, strong) SKPaymentTransaction *paymentTransaction; + +/// The in-app purchase delegate object must first deliver the user's item and then call this +/// method. Failure to call this method will result in duplicate purchase notifications. +- (void)finishTransaction; + +@end + +#pragma mark - Custom Purchase Flow + +/// Enum of the different statuses resulting from processing a purchase. +typedef NS_ENUM(NSInteger, GADInAppPurchaseStatus) { + kGADInAppPurchaseStatusError = 0, ///< Error occured while processing the purchase. + kGADInAppPurchaseStatusSuccessful = 1, ///< Purchase was completed successfully. + kGADInAppPurchaseStatusCancel = 2, ///< Purchase was cancelled by the user. + kGADInAppPurchaseStatusInvalidProduct = 3 ///< Error occured while looking up the product. +}; + +/// The in-app purchase item to be purchased with the purchase flow handled by you, the +/// application developer. +/// Instances of this class are created and passed to your GADInAppPurchaseDelegate object when +/// users click a buy button. It is important to report the result of the purchase back to the SDK +/// in order to track metrics about the transaction. +@interface GADInAppPurchase : NSObject + +/// The in-app purchase product ID. +@property(nonatomic, readonly, copy) NSString *productID; + +/// The product quantity. +@property(nonatomic, readonly, assign) NSInteger quantity; + +/// The GADInAppPurchaseDelegate object must call this method after handling the in-app purchase for +/// both successful and unsuccessful purchase attempts. This method reports ad conversion and +/// purchase status information to Google. +- (void)reportPurchaseStatus:(GADInAppPurchaseStatus)purchaseStatus; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInAppPurchaseDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInAppPurchaseDelegate.h new file mode 100644 index 0000000..6dee244 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInAppPurchaseDelegate.h @@ -0,0 +1,42 @@ +// +// GADInAppPurchaseDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2013 Google Inc. All rights reserved. +// + +#import + +@class GADDefaultInAppPurchase; +@class GADInAppPurchase; + +#pragma mark - Default Purchase Flow + +/// In-app purchase delegate protocol for default purchase handling. The delegate must deliver +/// the purchased item then call the GADDefaultInAppPurchase object's finishTransaction method. +@protocol GADDefaultInAppPurchaseDelegate + +/// Called when the user successfully paid for a purchase. You must first deliver the purchased +/// item to the user, then call defaultInAppPurchase's finishTransaction method. +- (void)userDidPayForPurchase:(GADDefaultInAppPurchase *)defaultInAppPurchase; + +@optional + +/// Called when the user clicks on the buy button of an in-app purchase ad. Return YES if the +/// default purchase flow should be started to purchase the item, otherwise return NO. If not +/// implemented, defaults to YES. +- (BOOL)shouldStartPurchaseForProductID:(NSString *)productID quantity:(NSInteger)quantity; + +@end + +#pragma mark - Custom Purchase Flow + +/// In-app purchase delegate protocol for custom purchase handling. The delegate must handle the +/// product purchase flow then call the GADInAppPurchase object's reportPurchaseStatus: method. +@protocol GADInAppPurchaseDelegate + +/// Called when the user clicks on the buy button of an in-app purchase ad. After the receiver +/// handles the purchase, it must call the GADInAppPurchase object's reportPurchaseStatus: method. +- (void)didReceiveInAppPurchase:(GADInAppPurchase *)purchase; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInterstitial.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInterstitial.h new file mode 100644 index 0000000..7e17627 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInterstitial.h @@ -0,0 +1,86 @@ +// +// GADInterstitial.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import + +#import +#import +#import +#import +#import + +/// An interstitial ad. This is a full-screen advertisement shown at natural transition points in +/// your application such as between game levels or news stories. +@interface GADInterstitial : NSObject + +/// Initializes an interstitial with an ad unit created on the AdMob website. Create a new ad unit +/// for every unique placement of an ad in your application. Set this to the ID assigned for this +/// placement. Ad units are important for targeting and statistics. +/// +/// Example AdMob ad unit ID: @"ca-app-pub-0123456789012345/0123456789" +- (instancetype)initWithAdUnitID:(NSString *)adUnitID NS_DESIGNATED_INITIALIZER; + +#pragma mark Pre-Request + +/// Required value passed in with initWithAdUnitID:. +@property(nonatomic, readonly, copy) NSString *adUnitID; + +/// Optional delegate object that receives state change notifications from this GADInterstitalAd. +/// Remember to nil this property before deallocating the delegate. +@property(nonatomic, weak) id delegate; + +/// Optional delegate object that receives in-app purchase notifications from this ad. Required for +/// the custom in-app purchase flow, but ignored when using the default in-app purchase flow. +/// Remember to nil this property before deallocating the delegate. +@property(nonatomic, weak) id inAppPurchaseDelegate; + +#pragma mark Making an Ad Request + +/// Makes an interstitial ad request. Additional targeting options can be supplied with a request +/// object. Only one interstitial request is allowed at a time. +/// +/// This is best to do several seconds before the interstitial is needed to preload its content. +/// Then when transitioning between view controllers show the interstital with +/// presentFromViewController. +- (void)loadRequest:(GADRequest *)request; + +#pragma mark Post-Request + +/// Returns YES if the interstitial is ready to be displayed. The delegate's +/// interstitialAdDidReceiveAd: will be called after this property switches from NO to YES. +@property(nonatomic, readonly, assign) BOOL isReady; + +/// Returns YES if this object has already been presented. Interstitial objects can only be used +/// once even with different requests. +@property(nonatomic, readonly, assign) BOOL hasBeenUsed; + +/// Returns the ad network class name that fetched the current ad. Returns nil while the latest ad +/// request is in progress or if the latest ad request failed. For both standard and mediated Google +/// AdMob ads, this method returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation +/// custom events, this method returns @"GADMAdapterCustomEvents". +@property(nonatomic, readonly, copy) NSString *adNetworkClassName; + +/// Presents the interstitial ad which takes over the entire screen until the user dismisses it. +/// This has no effect unless isReady returns YES and/or the delegate's interstitialDidReceiveAd: +/// has been received. +/// +/// Set rootViewController to the current view controller at the time this method is called. If your +/// application does not use view controllers pass in nil and your views will be removed from the +/// window to show the interstitial and restored when done. After the interstitial has been removed, +/// the delegate's interstitialDidDismissScreen: will be called. +- (void)presentFromRootViewController:(UIViewController *)rootViewController; + +#pragma mark Deprecated + +/// Deprecated intializer. Use initWithAdUnitID: instead. +- (instancetype)init GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID:."); + +/// Deprecated setter, use initWithAdUnitID: instead. +- (void)setAdUnitID:(NSString *)adUnitID + GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID: instead of setting the ad unit ID."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInterstitialDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInterstitialDelegate.h new file mode 100644 index 0000000..fe436aa --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADInterstitialDelegate.h @@ -0,0 +1,49 @@ +// +// GADInterstitialDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import + +@class GADInterstitial; +@class GADRequestError; + +/// Delegate for receiving state change messages from a GADInterstitial such as interstitial ad +/// requests succeeding/failing. +@protocol GADInterstitialDelegate + +@optional + +#pragma mark Ad Request Lifecycle Notifications + +/// Called when an interstitial ad request succeeded. Show it at the next transition point in your +/// application such as when transitioning between view controllers. +- (void)interstitialDidReceiveAd:(GADInterstitial *)ad; + +/// Called when an interstitial ad request completed without an interstitial to +/// show. This is common since interstitials are shown sparingly to users. +- (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error; + +#pragma mark Display-Time Lifecycle Notifications + +/// Called just before presenting an interstitial. After this method finishes the interstitial will +/// animate onto the screen. Use this opportunity to stop animations and save the state of your +/// application in case the user leaves while the interstitial is on screen (e.g. to visit the App +/// Store from a link on the interstitial). +- (void)interstitialWillPresentScreen:(GADInterstitial *)ad; + +/// Called before the interstitial is to be animated off the screen. +- (void)interstitialWillDismissScreen:(GADInterstitial *)ad; + +/// Called just after dismissing an interstitial and it has animated off the screen. +- (void)interstitialDidDismissScreen:(GADInterstitial *)ad; + +/// Called just before the application will background or terminate because the user clicked on an +/// ad that will launch another application (such as the App Store). The normal +/// UIApplicationDelegate methods, like applicationDidEnterBackground:, will be called immediately +/// before this. +- (void)interstitialWillLeaveApplication:(GADInterstitial *)ad; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAd.h new file mode 100644 index 0000000..868b640 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAd.h @@ -0,0 +1,21 @@ +// +// GADMediatedNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Base protocol for mediated native ads. +@protocol GADMediatedNativeAd + +/// Returns a delegate object that receives state change notifications. +- (id)mediatedNativeAdDelegate; + +/// Returns a dictionary of asset names and object pairs for assets that are not handled by +/// properties of the GADMediatedNativeAd subclass. +- (NSDictionary *)extraAssets; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAdDelegate.h new file mode 100644 index 0000000..716e283 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAdDelegate.h @@ -0,0 +1,32 @@ +// +// GADMediatedNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +@protocol GADMediatedNativeAd; + +/// GADMediatedNativeAdDelegate objects handle mediated native ad events. +@protocol GADMediatedNativeAdDelegate + +@optional + +/// Tells the delegate that the mediated native ad has rendered in |view|. +- (void)mediatedNativeAd:(id)mediatedNativeAd didRenderInView:(UIView *)view; + +/// Tells the delegate that the mediated native ad has recorded an impression. This method is called +/// only once per mediated native ad. +- (void)mediatedNativeAdDidRecordImpression:(id)mediatedNativeAd; + +/// Tells the delegate that the mediated native ad has recorded a user click on the asset named +/// |assetName|. Full screen actions should be presented from |viewController|. +- (void)mediatedNativeAd:(id)mediatedNativeAd + didRecordClickOnAssetWithName:(NSString *)assetName + view:(UIView *)view + viewController:(UIViewController *)viewController; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAdNotificationSource.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAdNotificationSource.h new file mode 100644 index 0000000..6f1aed5 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAdNotificationSource.h @@ -0,0 +1,31 @@ +// +// GADMediatedNativeAdNotificationSource.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Notifies the Google Mobile Ads SDK about the events performed by adapters. Adapters may perform +/// some action (e.g. opening an in app browser or open the iTunes store) when handling callbacks +/// from GADMediatedNativeAdDelegate. Adapters in such case should notify the Google Mobile Ads SDK +/// by calling the relevant methods from this class. +@interface GADMediatedNativeAdNotificationSource : NSObject + +/// Must be called by the adapter just before mediatedNativeAd has opened an in app modal screen. ++ (void)mediatedNativeAdWillPresentScreen:(id)mediatedNativeAd; + +/// Must be called by the adapter just before the in app modal screen opened by mediatedNativeAd is +/// dismissed. ++ (void)mediatedNativeAdWillDismissScreen:(id)mediatedNativeAd; + +/// Must be called by the adapter after the in app modal screen opened by mediatedNativeAd is +/// dismissed. ++ (void)mediatedNativeAdDidDismissScreen:(id)mediatedNativeAd; + +/// Must be called by the adapter just before mediatedNativeAd has left the application. ++ (void)mediatedNativeAdWillLeaveApplication:(id)mediatedNativeAd; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAppInstallAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAppInstallAd.h new file mode 100644 index 0000000..8269c87 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeAppInstallAd.h @@ -0,0 +1,40 @@ +// +// GADMediatedNativeAppInstallAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import +#import + +/// Provides methods used for constructing native app install ads. The adapter must return an object +/// conforming to this protocol for native app install ad requests. +@protocol GADMediatedNativeAppInstallAd + +/// App title. +- (NSString *)headline; + +/// Array of GADNativeAdImage objects related to the advertised application. +- (NSArray *)images; + +/// App description. +- (NSString *)body; + +/// Application icon. +- (GADNativeAdImage *)icon; + +/// Text that encourages user to take some action with the ad. For example "Install". +- (NSString *)callToAction; + +/// App store rating (0 to 5). +- (NSDecimalNumber *)starRating; + +/// The app store name. For example, "App Store". +- (NSString *)store; + +/// String representation of the app's price. +- (NSString *)price; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeContentAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeContentAd.h new file mode 100644 index 0000000..d560063 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMediatedNativeContentAd.h @@ -0,0 +1,33 @@ +// +// GADMediatedNativeContentAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import +#import + +/// Provides methods used for constructing native content ads. +@protocol GADMediatedNativeContentAd + +/// Primary text headline. +- (NSString *)headline; + +/// Secondary text. +- (NSString *)body; + +/// List of large images. Each object is an instance of GADNativeAdImage. +- (NSArray *)images; + +/// Small logo image. +- (GADNativeAdImage *)logo; + +/// Text that encourages user to take some action with the ad. +- (NSString *)callToAction; + +/// Identifies the advertiser. For example, the advertiser’s name or visible URL. +- (NSString *)advertiser; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMobileAds.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMobileAds.h new file mode 100644 index 0000000..c8c2875 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADMobileAds.h @@ -0,0 +1,22 @@ +// +// GADMobileAds.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +@interface GADMobileAds : NSObject + +/// Disables automated in app purchase (IAP) reporting. Must be called before any IAP transaction is +/// initiated. IAP reporting is used to track IAP ad conversions. Do not disable reporting if you +/// use IAP ads. ++ (void)disableAutomatedInAppPurchaseReporting; + +/// Disables automated SDK crash reporting. If not called, the SDK records the original exception +/// handler if available and registers a new exception handler. The new exception handler only +/// reports SDK related exceptions and calls the recorded original exception handler. ++ (void)disableSDKCrashReporting; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAd.h new file mode 100644 index 0000000..b493721 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAd.h @@ -0,0 +1,30 @@ +// +// GADNativeAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +@protocol GADNativeAdDelegate; + +/// Native ad base class. All native ad types are subclasses of this class. +@interface GADNativeAd : NSObject + +/// Optional delegate to receive state change notifications. +@property(nonatomic, weak) id delegate; + +/// Root view controller for handling ad actions. +@property(nonatomic, weak) UIViewController *rootViewController; + +/// Dictionary of assets which aren't processed by the receiver. +@property(nonatomic, readonly, copy) NSDictionary *extraAssets; + +/// The ad network class name that fetched the current ad. For both standard and mediated Google +/// AdMob ads, this method returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation +/// custom events, this method returns @"GADMAdapterCustomEvents". +@property(nonatomic, readonly, copy) NSString *adNetworkClassName; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdDelegate.h new file mode 100644 index 0000000..fa39d85 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdDelegate.h @@ -0,0 +1,41 @@ +// +// GADNativeAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +@class GADNativeAd; + +/// Identifies native ad assets. +@protocol GADNativeAdDelegate + +@optional + +#pragma mark Click-Time Lifecycle Notifications + +/// Called just before presenting the user a full screen view, such as a browser, in response to +/// clicking on an ad. Use this opportunity to stop animations, time sensitive interactions, etc. +/// +/// Normally the user looks at the ad, dismisses it, and control returns to your application with +/// the nativeAdDidDismissScreen: message. However, if the user hits the Home button or clicks on an +/// App Store link, your application will end. The next method called will be the +/// applicationWillResignActive: of your UIApplicationDelegate object.Immediately after that, +/// nativeAdWillLeaveApplication: is called. +- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd; + +/// Called just before dismissing a full screen view. +- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd; + +/// Called just after dismissing a full screen view. Use this opportunity to restart anything you +/// may have stopped as part of nativeAdWillPresentScreen:. +- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd; + +/// Called just before the application will go to the background or terminate due to an ad action +/// that will launch another application (such as the App Store). The normal UIApplicationDelegate +/// methods, like applicationDidEnterBackground:, will be called immediately before this. +- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImage+Mediation.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImage+Mediation.h new file mode 100644 index 0000000..b448c4f --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImage+Mediation.h @@ -0,0 +1,18 @@ +// +// GADNativeAdImage+Mediation.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google. All rights reserved. +// + +#import "GADNativeAdImage.h" + +@interface GADNativeAdImage (MediationAdditions) + +/// Initializes and returns a native ad image object with the provided image. +- (instancetype)initWithImage:(UIImage *)image; + +/// Initializes and returns a native ad image object with the provided image URL and image scale. +- (instancetype)initWithURL:(NSURL *)URL scale:(CGFloat)scale; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImage.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImage.h new file mode 100644 index 0000000..58da290 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImage.h @@ -0,0 +1,23 @@ +// +// GADNativeAdImage.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +/// Native ad image. +@interface GADNativeAdImage : NSObject + +/// The image. If image autoloading is disabled, this property will be nil. +@property(nonatomic, readonly, strong) UIImage *image; + +/// The image's URL. +@property(nonatomic, readonly, strong) NSURL *imageURL; + +/// The image's scale. +@property(nonatomic, readonly, assign) CGFloat scale; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImageAdLoaderOptions.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImageAdLoaderOptions.h new file mode 100644 index 0000000..c847e73 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAdImageAdLoaderOptions.h @@ -0,0 +1,31 @@ +// +// GADNativeAdImageAdLoaderOptions.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +/// Native ad image orientation preference. +typedef NS_ENUM(NSInteger, GADNativeAdImageAdLoaderOptionsOrientation) { + GADNativeAdImageAdLoaderOptionsOrientationAny, ///< No orientation preference. + GADNativeAdImageAdLoaderOptionsOrientationPortrait, ///< Prefer portrait images. + GADNativeAdImageAdLoaderOptionsOrientationLandscape ///< Prefer landscape images. +}; + +@interface GADNativeAdImageAdLoaderOptions : GADAdLoaderOptions + +/// Indicates if image asset content should be loaded by the SDK. If set to YES, the SDK will not +/// load image asset content and native ad image URLs can be used to fetch content. Defaults to NO, +/// image assets are loaded by the SDK. +@property(nonatomic, assign) BOOL disableImageLoading; + +/// Indicates if multiple images should be loaded for each asset. Defaults to NO. +@property(nonatomic, assign) BOOL shouldRequestMultipleImages; + +/// Indicates preferred image orientation. Defaults to +/// GADNativeAdImageAdLoaderOptionsOrientationAny. +@property(nonatomic, assign) GADNativeAdImageAdLoaderOptionsOrientation preferredImageOrientation; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAppInstallAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAppInstallAd.h new file mode 100644 index 0000000..6512627 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeAppInstallAd.h @@ -0,0 +1,77 @@ +// +// GADNativeAppInstallAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +#import +#import +#import +#import + +/// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must +/// conform to the GADNativeAppInstallAdRequestDelegate protocol. +/// +/// See GADNativeAdImageAdLoaderOptions.h for ad loader image options. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeAppInstall; + +/// Native app install ad. +@interface GADNativeAppInstallAd : GADNativeAd + +#pragma mark - Must be displayed + +/// App title. +@property(nonatomic, readonly, copy) NSString *headline; +/// Text that encourages user to take some action with the ad. For example "Install". +@property(nonatomic, readonly, copy) NSString *callToAction; +/// Application icon. +@property(nonatomic, readonly, strong) GADNativeAdImage *icon; + +#pragma mark - Recommended to display + +/// App description. +@property(nonatomic, readonly, copy) NSString *body; +/// The app store name. For example, "App Store". +@property(nonatomic, readonly, copy) NSString *store; +/// String representation of the app's price. +@property(nonatomic, readonly, copy) NSString *price; +/// Array of GADNativeAdImage objects related to the advertised application. +@property(nonatomic, readonly, strong) NSArray *images; +/// App store rating (0 to 5). +@property(nonatomic, readonly, copy) NSDecimalNumber *starRating; +@end + +#pragma mark - Protocol and constants + +/// The delegate of a GADAdLoader object implements this protocol to receive GADNativeAppInstallAd +/// ads. +@protocol GADNativeAppInstallAdLoaderDelegate +/// Called when a native app install ad is received. +- (void)adLoader:(GADAdLoader *)adLoader + didReceiveNativeAppInstallAd:(GADNativeAppInstallAd *)nativeAppInstallAd; +@end + +#pragma mark - Native App Install Ad View + +/// Base class for app install ad views. Your app install ad view must be a subclass of this class +/// and must call superclass methods for all overriden methods. +@interface GADNativeAppInstallAdView : UIView + +/// This property must point to the native app install ad object rendered by this ad view. +@property(nonatomic, strong) GADNativeAppInstallAd *nativeAppInstallAd; + +// Weak references to your ad view's asset views. +@property(nonatomic, weak) IBOutlet UIView *headlineView; +@property(nonatomic, weak) IBOutlet UIView *callToActionView; +@property(nonatomic, weak) IBOutlet UIView *iconView; +@property(nonatomic, weak) IBOutlet UIView *bodyView; +@property(nonatomic, weak) IBOutlet UIView *storeView; +@property(nonatomic, weak) IBOutlet UIView *priceView; +@property(nonatomic, weak) IBOutlet UIView *imageView; +@property(nonatomic, weak) IBOutlet UIView *starRatingView; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeContentAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeContentAd.h new file mode 100644 index 0000000..0e5d999 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeContentAd.h @@ -0,0 +1,72 @@ +// +// GADNativeContentAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +#import +#import +#import +#import + +#pragma mark - Native Content Ad Assets + +/// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must +/// conform to the GADNativeContentAdRequestDelegate protocol. +/// +/// See GADNativeAdImageAdLoaderOptions.h for ad loader image options. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeContent; + +/// Native content ad. +@interface GADNativeContentAd : GADNativeAd + +#pragma mark - Must be displayed + +/// Primary text headline. +@property(nonatomic, readonly, copy) NSString *headline; +/// Secondary text. +@property(nonatomic, readonly, copy) NSString *body; + +#pragma mark - Recommended to display + +/// Large images. +@property(nonatomic, readonly, copy) NSArray *images; +/// Small logo image. +@property(nonatomic, readonly, strong) GADNativeAdImage *logo; +/// Text that encourages user to take some action with the ad. +@property(nonatomic, readonly, copy) NSString *callToAction; +/// Identifies the advertiser. For example, the advertiser’s name or visible URL. +@property(nonatomic, readonly, copy) NSString *advertiser; +@end + +#pragma mark - Protocol and constants + +/// The delegate of a GADAdLoader object implements this protocol to receive GADNativeContentAd ads. +@protocol GADNativeContentAdLoaderDelegate +/// Called when native content is received. +- (void)adLoader:(GADAdLoader *)adLoader + didReceiveNativeContentAd:(GADNativeContentAd *)nativeContentAd; +@end + +#pragma mark - Native Content Ad View + +/// Base class for content ad views. Your content ad view must be a subclass of this class and must +/// call superclass methods for all overriden methods. +@interface GADNativeContentAdView : UIView + +/// This property must point to the native content ad object rendered by this ad view. +@property(nonatomic, strong) GADNativeContentAd *nativeContentAd; + +// Weak references to your ad view's asset views. +@property(nonatomic, weak) IBOutlet UIView *headlineView; +@property(nonatomic, weak) IBOutlet UIView *bodyView; +@property(nonatomic, weak) IBOutlet UIView *imageView; +@property(nonatomic, weak) IBOutlet UIView *logoView; +@property(nonatomic, weak) IBOutlet UIView *callToActionView; +@property(nonatomic, weak) IBOutlet UIView *advertiserView; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeCustomTemplateAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeCustomTemplateAd.h new file mode 100644 index 0000000..b7dbd23 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADNativeCustomTemplateAd.h @@ -0,0 +1,62 @@ +// +// GADNativeCustomTemplateAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +#import +#import +#import +#import + +/// For use with GADAdLoader's creation methods. If you request this ad type, your delegate must +/// conform to the GADNativeCustomTemplateAdLoaderDelegate protocol. +GAD_EXTERN NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; + +/// Native custom template ad. +@interface GADNativeCustomTemplateAd : GADNativeAd + +/// The ad's custom template ID. +@property(nonatomic, readonly) NSString *templateID; + +/// Array of available asset keys. +@property(nonatomic, readonly) NSArray *availableAssetKeys; + +/// Returns the native ad image corresponding to the specified key or nil if the image is not +/// available. +- (GADNativeAdImage *)imageForKey:(NSString *)key; + +/// Returns the string corresponding to the specified key or nil if the string is not available. +- (NSString *)stringForKey:(NSString *)key; + +/// Call when the user clicks on the ad. Provide the asset key that best matches the asset the user +/// interacted with. Provide |customClickHandler| only if this template is configured with a custom +/// click action, otherwise pass in nil. If a block is provided, the ad's built-in click actions are +/// ignored and |customClickHandler| is executed after recording the click. +- (void)performClickOnAssetWithKey:(NSString *)assetKey + customClickHandler:(dispatch_block_t)customClickHandler; + +/// Call when the ad is displayed on screen to the user. Can be called multiple times. Only the +/// first impression is recorded. +- (void)recordImpression; + +@end + +#pragma mark - Loading Protocol + +/// The delegate of a GADAdLoader object implements this protocol to receive +/// GADNativeCustomTemplateAd ads. +@protocol GADNativeCustomTemplateAdLoaderDelegate + +/// Called when requesting an ad. Asks the delgate for an array of custom template ID strings. +- (NSArray *)nativeCustomTemplateIDsForAdLoader:(GADAdLoader *)adLoader; + +/// Tells the delegate that a native custom template ad was received. +- (void)adLoader:(GADAdLoader *)adLoader + didReceiveNativeCustomTemplateAd:(GADNativeCustomTemplateAd *)nativeCustomTemplateAd; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRequest.h new file mode 100644 index 0000000..68060d5 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRequest.h @@ -0,0 +1,124 @@ +// +// GADRequest.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import +#import + +#import + +/// Add this constant to the testDevices property's array to receive test ads on the simulator. +GAD_EXTERN const id kGADSimulatorID; + +@protocol GADAdNetworkExtras; + +/// Genders to help deliver more relevant ads. +typedef NS_ENUM(NSInteger, GADGender) { + kGADGenderUnknown, ///< Unknown gender. + kGADGenderMale, ///< Male gender. + kGADGenderFemale ///< Female gender. +}; + +/// Specifies optional parameters for ad requests. +@interface GADRequest : NSObject + +/// Returns a default request. ++ (instancetype)request; + +#pragma mark Additional Parameters For Ad Networks + +/// Ad networks may have additional parameters they accept. To pass these parameters to them, create +/// the ad network extras object for that network, fill in the parameters, and register it here. The +/// ad network should have a header defining the interface for the 'extras' object to create. All +/// networks will have access to the basic settings you've set in this GADRequest (gender, birthday, +/// testing mode, etc.). If you register an extras object that is the same class as one you have +/// registered before, the previous extras will be overwritten. +- (void)registerAdNetworkExtras:(id)extras; + +/// Returns the network extras defined for an ad network. +- (id)adNetworkExtrasFor:(Class)aClass; + +/// Removes the extras for an ad network. |aClass| is the class which represents that network's +/// extras type. +- (void)removeAdNetworkExtrasFor:(Class)aClass; + +#pragma mark Collecting SDK Information + +/// Returns the version of the SDK. ++ (NSString *)sdkVersion; + +#pragma mark Testing + +/// Test ads will be returned for devices with device IDs specified in this array. +@property(nonatomic, copy) NSArray *testDevices; + +#pragma mark User Information + +/// Provide the user's gender to increase ad relevancy. +@property(nonatomic, assign) GADGender gender; + +/// Provide the user's birthday to increase ad relevancy. +@property(nonatomic, copy) NSDate *birthday; + +/// The user's current location may be used to deliver more relevant ads. However do not use Core +/// Location just for advertising, make sure it is used for more beneficial reasons as well. It is +/// both a good idea and part of Apple's guidelines. +- (void)setLocationWithLatitude:(CGFloat)latitude + longitude:(CGFloat)longitude + accuracy:(CGFloat)accuracyInMeters; + +/// [Optional] This method allows you to specify whether you would like your app to be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA), +/// http:///business.ftc.gov/privacy-and-security/childrens-privacy. +/// +/// If you call this method with YES, you are indicating that your app should be treated as +/// child-directed for purposes of the Children’s Online Privacy Protection Act (COPPA). If you call +/// this method with NO, you are indicating that your app should not be treated as child-directed +/// for purposes of the Children’s Online Privacy Protection Act (COPPA). If you do not call this +/// method, ad requests will include no indication of how you would like your app treated with +/// respect to COPPA. +/// +/// By setting this method, you certify that this notification is accurate and you are authorized to +/// act on behalf of the owner of the app. You understand that abuse of this setting may result in +/// termination of your Google account. +/// +/// It may take some time for this designation to be fully implemented in applicable Google +/// services. This designation will only apply to ad requests for which you have set this method. +- (void)tagForChildDirectedTreatment:(BOOL)childDirectedTreatment; + +#pragma mark Contextual Information + +/// Array of keyword strings. Keywords are words or phrases describing the current user activity +/// such as @"Sports Scores" or @"Football". Set this property to nil to clear the keywords. +@property(nonatomic, copy) NSArray *keywords; + +/// URL string for a webpage whose content matches the app content. This webpage content is used for +/// targeting purposes. +@property(nonatomic, copy) NSString *contentURL; + +#pragma mark Request Agent Information + +/// String that identifies the ad request's origin. Third party libraries that reference the Mobile +/// Ads SDK should set this property to denote the platform from which the ad request originated. +/// For example, a third party ad network called "CoolAds network" that is mediating requests to the +/// Mobile Ads SDK should set this property as "CoolAds". +@property(nonatomic, copy) NSString *requestAgent; + +#pragma mark Deprecated Methods + +/// Provide the user's birthday to increase ad relevancy. +- (void)setBirthdayWithMonth:(NSInteger)month + day:(NSInteger)day + year:(NSInteger)year + GAD_DEPRECATED_MSG_ATTRIBUTE(" use the birthday property."); + +/// When Core Location isn't available but the user's location is known supplying it here may +/// deliver more relevant ads. It can be any free-form text such as @"Champs-Elysees Paris" or +/// @"94041 US". +- (void)setLocationWithDescription:(NSString *)locationDescription + GAD_DEPRECATED_MSG_ATTRIBUTE(" use setLocationWithLatitude:longitude:accuracy:."); + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRequestError.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRequestError.h new file mode 100644 index 0000000..31175e4 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRequestError.h @@ -0,0 +1,66 @@ +// +// GADRequestError.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import + +#import + +@class GADRequest; + +/// Google AdMob Ads error domain. +GAD_EXTERN NSString *const kGADErrorDomain; + +/// NSError codes for GAD error domain. +typedef NS_ENUM(NSInteger, GADErrorCode) { + /// The ad request is invalid. The localizedFailureReason error description will have more + /// details. Typically this is because the ad did not have the ad unit ID or root view + /// controller set. + kGADErrorInvalidRequest, + + /// The ad request was successful, but no ad was returned. + kGADErrorNoFill, + + /// There was an error loading data from the network. + kGADErrorNetworkError, + + /// The ad server experienced a failure processing the request. + kGADErrorServerError, + + /// The current device's OS is below the minimum required version. + kGADErrorOSVersionTooLow, + + /// The request was unable to be loaded before being timed out. + kGADErrorTimeout, + + /// Will not send request because the interstitial object has already been used. + kGADErrorInterstitialAlreadyUsed, + + /// The mediation response was invalid. + kGADErrorMediationDataError, + + /// Error finding or creating a mediation ad network adapter. + kGADErrorMediationAdapterError, + + /// The mediation request was successful, but no ad was returned from any ad networks. + kGADErrorMediationNoFill, + + /// Attempting to pass an invalid ad size to an adapter. + kGADErrorMediationInvalidAdSize, + + /// Internal error. + kGADErrorInternalError, + + /// Invalid argument error. + kGADErrorInvalidArgument, + + /// Received invalid response. + kGADErrorReceivedInvalidResponse +}; + +/// Represents the error generated due to invalid request parameters. +@interface GADRequestError : NSError +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRewardBasedVideoAd.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRewardBasedVideoAd.h new file mode 100644 index 0000000..b70cd24 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRewardBasedVideoAd.h @@ -0,0 +1,34 @@ +// +// GADRewardBasedVideoAd.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import +#import + +@class GADRequest; + +@protocol GADRewardBasedVideoAdDelegate; + +@interface GADRewardBasedVideoAd : NSObject + +/// Delegate for receiving video notifications. +@property(nonatomic, weak) id delegate; + +/// Indicates if the receiver is ready to be presented full screen. +@property(nonatomic, readonly, assign, getter=isReady) BOOL ready; + +/// Singleton instance. ++ (GADRewardBasedVideoAd *)sharedInstance; + +/// Initiate the request to fetch the reward based video ad. +- (void)loadRequest:(GADRequest *)request + withAdUnitID:(NSString *)adUnitID + userID:(NSString *)userID; + +/// Present the reward based video ad with provided view controller. +- (void)presentFromRootViewController:(UIViewController *)viewController; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRewardBasedVideoAdDelegate.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRewardBasedVideoAdDelegate.h new file mode 100644 index 0000000..eb0f9d1 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADRewardBasedVideoAdDelegate.h @@ -0,0 +1,41 @@ +// +// GADRewardBasedVideoAdDelegate.h +// Google Mobile Ads SDK +// +// Copyright 2015 Google Inc. All rights reserved. +// + +#import + +#import + +/// Delegate for receiving state change messages from a GADRewardBasedVideoAd such as ad requests +/// succeeding/failing. +@protocol GADRewardBasedVideoAdDelegate + +@optional + +/// Tells the delegate that the reward based video ad has been received. +- (void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad is opened. +- (void)rewardBasedVideoAdDidOpen:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad has started playing. +- (void)rewardBasedVideoAdDidStartPlaying:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad is closed. +- (void)rewardBasedVideoAdDidClose:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad will leave the application. +- (void)rewardBasedVideoAdWillLeaveApplication:(GADRewardBasedVideoAd *)rewardBasedVideoAd; + +/// Tells the delegate that the reward based video ad has rewarded the user. +- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd + didRewardUserWithReward:(GADAdReward *)reward; + +/// Tells the delegate that the reward based video ad has failed to load. +- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd + didFailToLoadwithError:(NSError *)error; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADSearchBannerView.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADSearchBannerView.h new file mode 100644 index 0000000..363ad24 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADSearchBannerView.h @@ -0,0 +1,16 @@ +// +// GADSearchBannerView.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import + +// A view that displays search ads. +// To show search ads: +// 1) Create a GADSearchBannerView and add it to your view controller's view hierarchy. +// 2) Create a GADSearchRequest ad request object to hold the search query and other search data. +// 3) Call GADSearchBannerView's -loadRequest: method with the GADSearchRequest object. +@interface GADSearchBannerView : GADBannerView +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADSearchRequest.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADSearchRequest.h new file mode 100644 index 0000000..461852a --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GADSearchRequest.h @@ -0,0 +1,57 @@ +// +// GADSearchRequest.h +// Google Mobile Ads SDK +// +// Copyright 2011 Google Inc. All rights reserved. +// + +#import +#import + +#import + +/// Search ad border types. +typedef NS_ENUM(NSUInteger, GADSearchBorderType) { + kGADSearchBorderTypeNone, + kGADSearchBorderTypeDashed, + kGADSearchBorderTypeDotted, + kGADSearchBorderTypeSolid +}; + +typedef NS_ENUM(NSUInteger, GADSearchCallButtonColor) { + kGADSearchCallButtonLight, + kGADSearchCallButtonMedium, + kGADSearchCallButtonDark +}; + +// Specifies parameters for search ads. +@interface GADSearchRequest : GADRequest + +@property(nonatomic, copy) NSString *query; +@property(nonatomic, copy, readonly) UIColor *backgroundColor; +@property(nonatomic, copy, readonly) UIColor *gradientFrom; +@property(nonatomic, copy, readonly) UIColor *gradientTo; +@property(nonatomic, copy) UIColor *headerColor; +@property(nonatomic, copy) UIColor *descriptionTextColor; +@property(nonatomic, copy) UIColor *anchorTextColor; +@property(nonatomic, copy) NSString *fontFamily; +@property(nonatomic, assign) NSUInteger headerTextSize; +@property(nonatomic, copy) UIColor *borderColor; +@property(nonatomic, assign) GADSearchBorderType borderType; +@property(nonatomic, assign) NSUInteger borderThickness; +@property(nonatomic, copy) NSString *customChannels; +@property(nonatomic, assign) GADSearchCallButtonColor callButtonColor; + +// A solid background color for rendering the ad. The background of the ad +// can either be a solid color, or a gradient, which can be specified through +// setBackgroundGradientFrom:toColor: method. If both solid and gradient +// background is requested, only the latter is considered. +- (void)setBackgroundSolid:(UIColor *)color; + +// A linear gradient background color for rendering the ad. The background of +// the ad can either be a linear gradient, or a solid color, which can be +// specified through setBackgroundSolid method. If both solid and gradient +// background is requested, only the latter is considered. +- (void)setBackgroundGradientFrom:(UIColor *)from toColor:(UIColor *)toColor; + +@end diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GoogleMobileAds.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GoogleMobileAds.h new file mode 100644 index 0000000..18962ef --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GoogleMobileAds.h @@ -0,0 +1,76 @@ +// +// GoogleMobileAds.h +// Google Mobile Ads SDK +// +// Copyright 2014 Google Inc. All rights reserved. + +#import +#import + +#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0 +#error The Google Mobile Ads SDK requires a deployment target of iOS 6.0 or later. +#endif + +//! Project version string for GoogleMobileAds. +FOUNDATION_EXPORT const unsigned char GoogleMobileAdsVersionString[]; + +#import + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import +#import + +#import +#import +#import +#import +#import +#import +#import + +#import + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + +#import +#import + +#import +#import +#import diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GoogleMobileAdsDefines.h b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GoogleMobileAdsDefines.h new file mode 100644 index 0000000..ad036c9 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/A/Headers/GoogleMobileAdsDefines.h @@ -0,0 +1,30 @@ +// +// GoogleMobileAdsDefines.h +// Google Mobile Ads SDK +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// + +#if defined(__cplusplus) +#define GAD_EXTERN extern "C" __attribute__((visibility("default"))) +#else +#define GAD_EXTERN extern __attribute__((visibility("default"))) +#endif // defined(__cplusplus) + +#if defined(__has_feature) && defined(__has_attribute) +#if __has_feature(attribute_GAD_DEPRECATED_with_message) +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) +#elif __has_attribute(deprecated) +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated)) +#else +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) +#endif // __has_feature(attribute_GAD_DEPRECATED_with_message) +#if __has_attribute(deprecated) +#define GAD_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#else +#define GAD_DEPRECATED_ATTRIBUTE +#endif // __has_attribute(deprecated) +#else +#define GAD_DEPRECATED_ATTRIBUTE +#define GAD_DEPRECATED_MSG_ATTRIBUTE(s) +#endif // defined(__has_feature) && defined(__has_attribute) diff --git a/iosadapters/Admob/GoogleMobileAds.framework/Versions/Current b/iosadapters/Admob/GoogleMobileAds.framework/Versions/Current new file mode 100644 index 0000000..8c7e5a6 --- /dev/null +++ b/iosadapters/Admob/GoogleMobileAds.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/iosadapters/Admob/libAdmobAdapter.a b/iosadapters/Admob/libAdmobAdapter.a index ea310a5..36bccfe 100644 Binary files a/iosadapters/Admob/libAdmobAdapter.a and b/iosadapters/Admob/libAdmobAdapter.a differ diff --git a/iosadapters/Amazon/AmazonAd.framework/.DS_Store b/iosadapters/Amazon/AmazonAd.framework/.DS_Store index 97979ce..5008ddf 100644 Binary files a/iosadapters/Amazon/AmazonAd.framework/.DS_Store and b/iosadapters/Amazon/AmazonAd.framework/.DS_Store differ diff --git a/iosadapters/Amazon/AmazonAd.framework/AmazonAd b/iosadapters/Amazon/AmazonAd.framework/AmazonAd index f564a09..1f9299d 100644 Binary files a/iosadapters/Amazon/AmazonAd.framework/AmazonAd and b/iosadapters/Amazon/AmazonAd.framework/AmazonAd differ diff --git a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdError.h b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdError.h index 8f63266..1bf2efe 100644 --- a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdError.h +++ b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdError.h @@ -2,7 +2,7 @@ // AmazonAdError.h // AmazonMobileAdsSDK // -// Copyright (c) 2012-2014 Amazon.com. All rights reserved. +// Copyright (c) 2012-2015 Amazon.com. All rights reserved. // #import diff --git a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdInterstitial.h b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdInterstitial.h index 872cd94..2381f41 100644 --- a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdInterstitial.h +++ b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdInterstitial.h @@ -2,8 +2,7 @@ // AmazonAdInterstitial.h // AmazonMobileAdsSDK // -// Created by Guo, Wei on 5/27/14. -// Copyright (c) 2014 Amazon.com. All rights reserved. +// Copyright (c) 2014-2015 Amazon.com. All rights reserved. // #import diff --git a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdModelessInterstitial.h b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdModelessInterstitial.h new file mode 100644 index 0000000..fec8f70 --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdModelessInterstitial.h @@ -0,0 +1,59 @@ +// +// AmazonAdModelessInterstitial.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2015 Amazon.com. All rights reserved. +// + +#import + +@class AmazonAdError; +@class AmazonAdOptions; +@protocol AmazonAdModelessInterstitialDelegate; + +@interface AmazonAdModelessInterstitial : NSObject + +// Delegate to receive modeless interstitial callbacks +@property (nonatomic, weak) id delegate; + +// True if this modeless interstitial instance is ready to present in the container view +@property (readonly) BOOL isReady; + +// Create and instantiate a modeless interstitial ++ (instancetype)modelessInterstitialWithContainerView:(UIView *)view; + +// Load a modeless interstitial +- (void)load:(AmazonAdOptions *)options; + +// True if this modeless interstitial instance is sucessfully presented on the screen +// Call this method when the container view becomes visible on screen +- (BOOL)onPresented; + +// Call this method when the container view becomes invisible +- (void)onHidden; + +@end + +@protocol AmazonAdModelessInterstitialDelegate + +@required + +/* + * The modeless interstitial relies on this method to determine which view controller will be + * used for presenting/dismissing modal views, such as the browser view presented + * when a user clicks on an ad. + */ +- (UIViewController *)viewControllerForPresentingModalView; + +@optional + +// Sent when load has succeeded and the modeless interstitial isReady for display at the appropriate moment. +- (void)modelessInterstitialDidLoad:(AmazonAdModelessInterstitial *)modelessInterstitial; + +// Sent when load has failed, typically because of network failure, an application configuration error or lack of interstitial inventory +- (void)modelessInterstitialDidFailToLoad:(AmazonAdModelessInterstitial *)modelessInterstitial withError:(AmazonAdError *)error; + +// Sent when trying to present an expired modeless interstitial +- (void)modelessInterstitialDidExpire:(AmazonAdModelessInterstitial *)interstitial; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdOptions.h b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdOptions.h index 3128836..9b99281 100644 --- a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdOptions.h +++ b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdOptions.h @@ -9,7 +9,6 @@ // Standard Amazon Ad Sizes for phones. extern const CGSize AmazonAdSize_320x50; -extern const CGSize AmazonAdSize_300x50; extern const CGSize AmazonAdSize_300x250; // Standard Amazon Ad Sizes for tablets. diff --git a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdView.h b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdView.h index b64d39f..0fd929b 100644 --- a/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdView.h +++ b/iosadapters/Amazon/AmazonAd.framework/Headers/AmazonAdView.h @@ -2,7 +2,7 @@ // AmazonAdView.h // AmazonMobileAdsSDK // -// Copyright (c) 2012-2014 Amazon.com. All rights reserved. +// Copyright (c) 2012-2015 Amazon.com. All rights reserved. // #import @@ -14,7 +14,7 @@ @interface AmazonAdView : UIView -@property (nonatomic, unsafe_unretained) id delegate; +@property (nonatomic, weak) id delegate; // Create an Ad view and instantiate it using one of the standard AdSize options specified in AmazonAdOptions + (instancetype)amazonAdViewWithAdSize:(CGSize)adSize; diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/AmazonAd b/iosadapters/Amazon/AmazonAd.framework/Versions/A/AmazonAd new file mode 100644 index 0000000..1f9299d Binary files /dev/null and b/iosadapters/Amazon/AmazonAd.framework/Versions/A/AmazonAd differ diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdError.h b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdError.h new file mode 100644 index 0000000..1bf2efe --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdError.h @@ -0,0 +1,23 @@ +// +// AmazonAdError.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2012-2015 Amazon.com. All rights reserved. +// + +#import + +typedef enum { + AmazonAdErrorRequest, // Invalid Request. Example : "An invalid request was sent". + AmazonAdErrorNoFill, // No ad returned from the server. Example : "Ad not found". + AmazonAdErrorInternalServer, // Internal server error. Example : "Failed to load configuration". + AmazonAdErrorNetworkConnection, // Network Connection error + AmazonAdErrorReserved +} AmazonAdErrorCode; + +@interface AmazonAdError : NSObject + +@property (nonatomic, readonly) AmazonAdErrorCode errorCode; +@property (nonatomic, strong, readonly) NSString *errorDescription; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdInterstitial.h b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdInterstitial.h new file mode 100644 index 0000000..2381f41 --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdInterstitial.h @@ -0,0 +1,60 @@ +// +// AmazonAdInterstitial.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2014-2015 Amazon.com. All rights reserved. +// + +#import + +@class AmazonAdError; +@class AmazonAdOptions; +@protocol AmazonAdInterstitialDelegate; + +@interface AmazonAdInterstitial : NSObject + +// Delegate to receive interstitial callbacks +@property (nonatomic, weak) id delegate; + +// True if this interstitial instance is ready to present on screen +@property (readonly) BOOL isReady; + +// True if any interstitial is currently presented on screen +@property (readonly) BOOL isShowing; + +// Create and instantiate an interstitial ++ (instancetype)amazonAdInterstitial; + +// Load an interstitial +- (void)load:(AmazonAdOptions *)options; + +// Present an interstitial on screen +- (void)presentFromViewController:(UIViewController *)viewController; + +@end + +@protocol AmazonAdInterstitialDelegate +@optional + +// Sent when load has succeeded and the interstitial isReady for display at the appropriate moment. +- (void)interstitialDidLoad:(AmazonAdInterstitial *)interstitial; + +// Sent when load has failed, typically because of network failure, an application configuration error or lack of interstitial inventory +- (void)interstitialDidFailToLoad:(AmazonAdInterstitial *)interstitial withError:(AmazonAdError *)error; + +// Sent immediately before interstitial is presented on the screen. At this point you should pause any animations, timers or other +// activities that assume user interaction and save app state. User may press Home or touch links to other apps like iTunes within the +// interstitial, leaving your app. +- (void)interstitialWillPresent:(AmazonAdInterstitial *)interstitial; + +// Sent when interstitial has been presented on the screen. +- (void)interstitialDidPresent:(AmazonAdInterstitial *)interstitial; + +// Sent immediately before interstitial leaves the screen, restoring your app and your view controller used for presentAdFromViewController:. +// At this point you should restart any foreground activities paused as part of interstitialWillPresent:. +- (void)interstitialWillDismiss:(AmazonAdInterstitial *)interstitial; + +// Sent when the user has dismissed interstitial and it has left the screen. +- (void)interstitialDidDismiss:(AmazonAdInterstitial *)interstitial; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdModelessInterstitial.h b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdModelessInterstitial.h new file mode 100644 index 0000000..fec8f70 --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdModelessInterstitial.h @@ -0,0 +1,59 @@ +// +// AmazonAdModelessInterstitial.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2015 Amazon.com. All rights reserved. +// + +#import + +@class AmazonAdError; +@class AmazonAdOptions; +@protocol AmazonAdModelessInterstitialDelegate; + +@interface AmazonAdModelessInterstitial : NSObject + +// Delegate to receive modeless interstitial callbacks +@property (nonatomic, weak) id delegate; + +// True if this modeless interstitial instance is ready to present in the container view +@property (readonly) BOOL isReady; + +// Create and instantiate a modeless interstitial ++ (instancetype)modelessInterstitialWithContainerView:(UIView *)view; + +// Load a modeless interstitial +- (void)load:(AmazonAdOptions *)options; + +// True if this modeless interstitial instance is sucessfully presented on the screen +// Call this method when the container view becomes visible on screen +- (BOOL)onPresented; + +// Call this method when the container view becomes invisible +- (void)onHidden; + +@end + +@protocol AmazonAdModelessInterstitialDelegate + +@required + +/* + * The modeless interstitial relies on this method to determine which view controller will be + * used for presenting/dismissing modal views, such as the browser view presented + * when a user clicks on an ad. + */ +- (UIViewController *)viewControllerForPresentingModalView; + +@optional + +// Sent when load has succeeded and the modeless interstitial isReady for display at the appropriate moment. +- (void)modelessInterstitialDidLoad:(AmazonAdModelessInterstitial *)modelessInterstitial; + +// Sent when load has failed, typically because of network failure, an application configuration error or lack of interstitial inventory +- (void)modelessInterstitialDidFailToLoad:(AmazonAdModelessInterstitial *)modelessInterstitial withError:(AmazonAdError *)error; + +// Sent when trying to present an expired modeless interstitial +- (void)modelessInterstitialDidExpire:(AmazonAdModelessInterstitial *)interstitial; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdOptions.h b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdOptions.h new file mode 100644 index 0000000..9b99281 --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdOptions.h @@ -0,0 +1,35 @@ +// +// AmazonAdOptions.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2012-2014 Amazon.com. All rights reserved. +// + +#import + +// Standard Amazon Ad Sizes for phones. +extern const CGSize AmazonAdSize_320x50; +extern const CGSize AmazonAdSize_300x250; + +// Standard Amazon Ad Sizes for tablets. +extern const CGSize AmazonAdSize_728x90; +extern const CGSize AmazonAdSize_1024x50; + +@interface AmazonAdOptions : NSObject + +// Set the isTestRequest to YES, during development/integration only. This option is turned off by default. +@property (nonatomic) BOOL isTestRequest; +// If your application is enabled to read lat/long, you can configure this option to receive geo targetted ads. +// This option is turned off by default. +@property (nonatomic) BOOL usesGeoLocation; +// This will set the timeout of the request for the ad +// the min for this value is 5 seconds and the max is 60 seconds +// the default value is 10 seconds +@property (nonatomic) NSTimeInterval timeout; + +// Gets an instance of options to use. ++ (instancetype)options; +- (void)setAdvancedOption:(NSString *)value forKey:(NSString *)key; +- (NSDictionary *)advancedOptions; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdRegistration.h b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdRegistration.h new file mode 100644 index 0000000..dd5675a --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdRegistration.h @@ -0,0 +1,33 @@ +// +// AmazonAdRegistration.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2012-2014 Amazon.com. All rights reserved. +// + +#import + +@interface AmazonAdRegistration : NSObject + ++ (instancetype)sharedRegistration; + +// Set the applicationId provided by the Amazon Appstore. +- (void)setAppKey:(NSString *)appKey; + +// Enable/Disable logging. Logging is turned off by default. +- (void)setLogging:(BOOL)isEnabled; + +// The current Ad SDK version. +- (NSString *)sdkVersion; + +// Register your app to track app downloads from mobile ad campaigns. +// To add app download conversion tracking to your app, invoke the +// setApplicationId and the registerApp from your applicationDelegate's +// applicationDidBecomeActive protocol method. +// +// Note: Calling loadAd automatically registers your app. +// Only call this method if you are not using the Amazon Ads SDK to +// display Ads, but to track app downloads from mobile ads campaigns. +- (void)registerApp; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdView.h b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdView.h new file mode 100644 index 0000000..0fd929b --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/A/Headers/AmazonAdView.h @@ -0,0 +1,68 @@ +// +// AmazonAdView.h +// AmazonMobileAdsSDK +// +// Copyright (c) 2012-2015 Amazon.com. All rights reserved. +// + +#import + + +@class AmazonAdError; +@class AmazonAdOptions; +@protocol AmazonAdViewDelegate; + +@interface AmazonAdView : UIView + +@property (nonatomic, weak) id delegate; + +// Create an Ad view and instantiate it using one of the standard AdSize options specified in AmazonAdOptions ++ (instancetype)amazonAdViewWithAdSize:(CGSize)adSize; + +// Instantiate using one of the standard AdSize options specified in AmazonAdOptions. +- (instancetype)initWithAdSize:(CGSize)adSize; + +// Loads an Ad in this view +- (void)loadAd:(AmazonAdOptions *)options; + +// Returns YES if the Ad in this view is expanded +- (BOOL)isAdExpanded; + +@end + +@protocol AmazonAdViewDelegate + +@required + +/* + * The ad view relies on this method to determine which view controller will be + * used for presenting/dismissing modal views, such as the browser view presented + * when a user clicks on an ad. + */ +- (UIViewController *)viewControllerForPresentingModalView; + +@optional + +/* + * These callbacks are triggered when the ad view is about to present/dismiss a + * modal view. If your application may be disrupted by these actions, you can + * use these notifications to handle them. + */ +- (void)adViewWillExpand:(AmazonAdView *)view; +- (void)adViewDidCollapse:(AmazonAdView *)view; + + +/* + * These callbacks are related to the mraid resize function which changes the size and potentially location of this view. The frame parameter's origin specifies how the top-right corner of the view should move (e.g. x = 0 and y = -50 would represent moving the top-right corner up 50 pixels. The size represents the soon-to-be size of the ad view. + * willHandleAdViewResize allows the app to handle resizing and moving any views containing this one. When it returns true the SDK will only change the size of the ad view and it is the responsibility of the app to make sure the location of the view is correct according to the frame parameter's origin. When it returns false, the SDK will modify the origin of the ad view which may result it going out of bounds of any parent views. + */ +- (void)adViewWillResize:(AmazonAdView *)view toFrame:(CGRect)frame; +- (BOOL)willHandleAdViewResize:(AmazonAdView *)view toFrame:(CGRect)frame; + +/* + * These callbacks notify you whether the ad view (un)successfully loaded an ad. + */ +- (void)adViewDidFailToLoad:(AmazonAdView *)view withError:(AmazonAdError *)error; +- (void)adViewDidLoad:(AmazonAdView *)view; + +@end diff --git a/iosadapters/Amazon/AmazonAd.framework/Versions/Current b/iosadapters/Amazon/AmazonAd.framework/Versions/Current new file mode 100644 index 0000000..8c7e5a6 --- /dev/null +++ b/iosadapters/Amazon/AmazonAd.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/.DS_Store b/iosadapters/Amazon/AmazonInsightsSDK.framework/.DS_Store deleted file mode 100644 index 71c8972..0000000 Binary files a/iosadapters/Amazon/AmazonInsightsSDK.framework/.DS_Store and /dev/null differ diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/AmazonInsightsSDK b/iosadapters/Amazon/AmazonInsightsSDK.framework/AmazonInsightsSDK deleted file mode 100644 index 94c8358..0000000 Binary files a/iosadapters/Amazon/AmazonInsightsSDK.framework/AmazonInsightsSDK and /dev/null differ diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/.DS_Store b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/.DS_Store deleted file mode 100644 index d644b41..0000000 Binary files a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/.DS_Store and /dev/null differ diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIABTestClient.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIABTestClient.h deleted file mode 100644 index a64d6ea..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIABTestClient.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "AIVariationSet.h" - -FOUNDATION_EXPORT NSString * const AIABTestClientErrorDomain; - -typedef NS_ENUM(NSInteger, AIABTestClientErrorCodes) { - AIABTestClientErrorCode_NoProjectNamesProvided = 0, - AIABTestClientErrorCode_ProjectNamesNil -}; - -/** - * A typedef for the block required to be provided to the AIABTestClient::variationsByProjectNames:withCompletionHandler: to recieve the - * AIVariationSet served - * @param The AIVariationSet retrieved for the request. - * @param The NSError object if there was a failure in retrieving the AIVariations. This should be nil if no errors occurred. - */ -typedef void (^ AICompletionHandler)(id, NSError*); - -/** - * AIABTestClient is the entry point into the Amazon Insights SDK where variations are retrieved for projects. - * - *

Allocation Example

- * The example below demonstrates how to allocate a variation for a specific project. - * Once an AIVariation is received, the developer obtains the variables from the AIVariation to vary the behavior. In this - * example, the developer is requesting a variation for level 1 to see if varying the buy message text in the game - * increases in app purchases. - * - * Example: - * @code - * // get the AB Client to request variations - * id abTestClient = insights.abTestClient; - * - * [abTestClient variationsByProjectNames:[NSArray arrayWithObject:@"Level1Revenue"] - * withCompletionHandler:^(id variationSet, NSError* error) { - * if(error == nil) { - * // request an AIVariation out of the AIVariationSet - * id revenueVariation = [variationSet variationForProjectName:@"Level1Revenue"]; - * NSString* buyMessage = [revenueVariation variableAsString:@"buyMessage" - * withDefault:@"Upgrade?"]; - * } - * }]; - * @endcode - */ -@protocol AIABTestClient - -/** - * Attempts to retrieve the AIVariations requested in the NSArray of project names provided. The provided AICompletionHandler will - * be invoked on the completion of the request. - *

- * This method returns immediately, even though all requested AIVariations have not been obtained. - * The request will be performed in the background and will not block the calling thread. The provided AICompletionHandler - * will receive the AIVariationSet served for the request. - *

- * - * @param theProjectNames All projects that a variation should be allocated for. - * @param completionHandler The completion handler block to be invoked on completion of the request. This block is called - on a background thread. - */ -@required --(void) variationsByProjectNames:(NSArray *)theProjectNames withCompletionHandler:(AICompletionHandler) completionHandler; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIAmazonInsights.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIAmazonInsights.h deleted file mode 100644 index 7749734..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIAmazonInsights.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "AIInsightsCredentials.h" -#import "AIInsightsOptions.h" -#import "AIABTestClient.h" -#import "AIEventClient.h" -#import "AIUserProfile.h" - -@class AIAmazonInsights; -typedef void(^AIInitializationCompletionBlock)(AIAmazonInsights *); - - -/** - *

- * AIAmazonInsights is the entry point of the SDK. For step by step instructions on how to integrate this SDK - * with your A/B tests, visit the Integrate the SDK - * page of the Amazon Insights documentation. - *

- * - *

- * For step by step instructions on how to integrate this SDK - * with your Analytics Reports, visit the Integrate the SDK - * page of the Amazon Insights documentation. - *

- * - *

- * To create an AIAmazonInsights instance for A/B Testing and/or Analytics, first create a new {@link AIInsightsCredentials} object by invoking - * the AIAmazonInsights::credentialsWithApplicationKey:withPrivateKey: method. When creating your credentials, use the Public and Private - * keys of the Identifier you setup in the Amazon Developer Portal. See the - * Amazon Insights Documentation for more information on how to create and use - * Identifiers. - *

- * - *

- * You create an AIAmazonInsights instance by calling AIAmazonInsights::insightsWithCredentials: with your credentials provided. - *

- * - *

Example:

- * @code - * // Using the Identifier you created in the Amazon Developer Portal site, create a credentials object with the Identifier's Public and Private Keys. - * // The Identifier's Public Key acts as the application key. - * id credentials = [AIAmazonInsights credentialsWithApplicationKey:@"YOUR_APP_KEY" - * withPrivateKey:@"YOUR_PRIVATE_KEY"]; - * - * //initialize a new instance of AmazonInsights - * AIAmazonInsights* insights = [AIAmazonInsights insightsWithCredentials: credentials]; - * @endcode - * - *

- * You can also customize an AIAmazonInsights instance by calling the AIAmazonInsights::insightsWithCredentials:withOptions: method - * with an AIInsightsOptions object. Initializing the SDK this way allows you to enable/disable event collection and - * enable/disable WAN delivery of events. - *

- * - *

Example:

- * @code - * //Create an options object to allow event collection and allow WAN delivery - * id options = [AIAmazonInsights optionsWithAllowEventCollection:YES - * withAllowWANDelivery:YES]; - * - * // Using the Identifier you created in the Amazon Developer Portal site, create a credentials object with the Identifier's Public and Private Keys - * // The Identifier's Public Key acts as the application key. - * id credentials = [AIAmazonInsights credentialsWithApplicationKey:@"YOUR_APP_KEY" - * withPrivateKey:@"YOUR_PRIVATE_KEY"]; - * - * //initialize a new instance of AIAmazonInsights - * AIAmazonInsights* insights = [AIAmazonInsights insightsWithCredentials: credentials withOptions: options]; - * @endcode - * - *

- * After you create an AIAmazonInsights instance, you can either maintain the reference to the AIAmazonInsights instance yourself - * or access it later by using the AIAmazonInsights::insightsWithCredentials: providing the credentials to retrieve the cached instance. - *

- * - *

- * Once you create an instance, you can: - *

    - *
  • access the AIABTestClient to retrieve AIVariations
  • - *
  • access the AIEventClient to create, record, and submit events
  • - *
  • access the AIUserProfile to update dimensions used for Segmentation
  • - *
  • access the AIAppleMonetizationEventBuilder or AIVirtualMonetizationEventBuilder to record monetization purchase events
  • - *
- *

- */ -@interface AIAmazonInsights : NSObject - -/** - * Return the AIABTestClient - * @returns the AIABTestClient to retrieve AIVariations - */ -@property (nonatomic, readonly) id abTestClient; - -/** - * Return the AIEventClient - * @returns the AIEventClient to create, record, and submit events - */ -@property (nonatomic, readonly) id eventClient; - -/** - * Return the AIUserProfile of the User - * @returns the AIUserProfile of the User - */ -@property (nonatomic, readonly) id userProfile; - -/** - * Create a new AIInsightsCredentials instance - * @param theApplicationKey The Public key of the Identifier you created in the Amazon Developer Portal. Currently - the Public Key of an Amazon Insights Identifier also acts as the Application key. - * @param thePrivateKey The The Private key of the Identifier you created in the Amazon Developer Portal - * @returns a new AIInsightsCredential instance with the specified application and private key - */ -+(id) credentialsWithApplicationKey:(NSString *) theApplicationKey - withPrivateKey:(NSString *) thePrivateKey; - -/** - * Create an AIInsightsOptions object set to the Insights SDK defaults. - * @returns An AIInsightsOptions object where: AIInsightsOptions::allowEventCollection is true - * AIInsightsOptions::allowWANDelivery is false - */ -+(id) defaultOptions; - -/** - * Create a new AIInsightsOptions object with the specified values - * @param allowEventCollection enable/disable event collection for the entire SDK - * @param allowWANDelivery
    - *
  • YES - allows events to be submitted when the user has either a WAN or WIFI connection to the internet
  • - *
  • NO - events are only submitted when the user has a WIFI connection to the internet
  • - *
- * @returns a new AIInsightsOptions object with the specified values - */ -+(id) optionsWithAllowEventCollection:(BOOL)allowEventCollection - withAllowWANDelivery:(BOOL)allowWANDelivery; - -/** - * Create an AIAmazonInsights object using the default AIInsightsOptions values - * @param theCredentials The credentials created from the Amazon Insights Identifier - * @returns an AIAmazonInsights instance - */ -+(AIAmazonInsights *) insightsWithCredentials:(id) theCredentials; - -/** - * Create an AIAmazonInsights object using the specified AIInsightsOptions values - * @param theCredentials The credentials created from the Amazon Insights Identifier - * @param theOptions The AIInsightsOptions to use when creating the AIAmazonInsights instance - * @returns an AIAmazonInsights instance - */ -+(AIAmazonInsights *) insightsWithCredentials:(id) theCredentials - withOptions:(id) theOptions; - -/** - * Create an AIAmazonInsights object using the default AIInsightsOptions values - * @param theCredentials The credentials created from the Amazon Insights Identifier - * @param theOptions The AIInsightsOptions to use when creating the AIAmazonInsights instance - * @param completionBlock A AIInitializationCompletionBlock that allows developers to handle custom logic after initialization but before the session begins - * @returns an AIAmazonInsights instance - */ -+(AIAmazonInsights *) insightsWithCredentials:(id) theCredentials - withOptions:(id) theOptions - withCompletionBlock:(AIInitializationCompletionBlock)completionBlock; - - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIEvent.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIEvent.h deleted file mode 100644 index 1deefe3..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIEvent.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import - -/** - * Represents the visit or conversion event of an A/B test, - * or may also be used to collect useful information in your application. - * - *

- * The example below demonstrates how to record view and conversion events. The \@"level1Complete" event represents the view event, - * and if the user makes a purchase, the code below records a \@"level1UserBoughtUpgrade" event as the conversion event. - *

- * - * @code - * // get the event client from insights instance - * id eventClient = insights.eventClient; - * - * // create the view event - * id level1Event = [eventClient createEventWithEventType:@"level1Complete"]; - * - * // record the view event - * [eventClient recordEvent:level1Event]; - * - * // record if the user bought an upgrade (conversion) - * if (userBoughtUpgrade) { - * // create the conversion event - * id boughtUpgradeEvent = [eventClient createEventWithEventType:@"level1UserBoughtUpgrade"]; - * - * // record the conversion event - * [eventClient recordEvent:boughtUpgradeEvent]; - * } - * @endcode - */ -@protocol AIEvent - -/** - * Returns the name/type of this AIEvent - * @returns the name/type of this AIEvent - */ -@required -@property (nonatomic, readonly) NSString* eventType; - -/** - * Adds an attribute to this AIEvent with the specified key. Only 20 attributes/metrics - * are allowed to be added to an AIEvent. If 20 attributes/metrics already exist on this AIEvent, the call is ignored. - * @param theValue The value of the attribute. The value will be truncated if it exceeds 1000 characters. - * @param theKey The key of the attribute. The key will be truncated if it exceeds 50 characters. - */ -@required -- (void)addAttribute:(NSString *)theValue - forKey:(NSString *)theKey; - -/** - * Adds a metric to this AIEvent with the specified key. Only 20 attributes/metrics - * are allowed to be added to an AIEvent. If 20 attribute/metrics already exist on this AIEvent, the call is ignored. - * @param theValue The value of the metric. - * @param theKey The key of the metric. The key will be truncated if it exceeds 50 characters. - */ -@required -- (void)addMetric:(NSNumber *)theValue - forKey:(NSString *)theKey; - -/** - * Returns the value of the attribute with the specified key. - * @param theKey The key of the attribute to return - * @returns The attribute with the specified key, or null if attribute does not exist - */ -@required -- (NSString *)attributeForKey:(NSString *)theKey; - -/** - * Returns the value of the metric with the specified key. - * @param theKey The key of the metric to return - * @returns The metric with the specified key, or null if metric does not exist - */ -@required -- (NSNumber *)metricForKey:(NSString *)theKey; - -/** - * Determines if this AIEvent contains a specific attribute - * @param theKey The key of the attribute - * @returns YES if this AIEvent has an attribute with the specified key, NO otherwise - */ -@required -- (BOOL)hasAttributeForKey:(NSString *)theKey; - -/** - * Determines if this AIEvent contains a specific metric - * @param theKey The key of the metric - * @returns YES if this AIEvent has a metric with the specified key, NO otherwise - */ -@required -- (BOOL)hasMetricForKey:(NSString *)theKey; - -/** - * Returns an NSDictionary of all attributes contained within this AIEvent - * @returns an NSDictionary of all attributes, where the attribute keys are the keys and the attribute values are the values - */ -@required -- (NSDictionary*) allAttributes; - -/** - * Returns an NSDictionary of all metrics contained within this AIEvent - * @returns an NSDictionary of all metrics, where the metric keys are the keys and the metric values are the values - */ -@required -- (NSDictionary*) allMetrics; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIEventClient.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIEventClient.h deleted file mode 100644 index d998453..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIEventClient.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "AIEvent.h" - -/** - * AIEventClient is the entry point into the Amazon Insights SDK where AIEvent objects are created, - * recorded, and submitted to the Amazon Insights Website. - * - *

Recording Events

- *

- * The example below demonstrates how to create and record events after retrieving an AIVariation. In this example, - * the developer records the \@"level1Complete" event to represent a view, and if the user makes - * a purchase, the developer records a \@"level1UserBoughtUpgrade" to represent a conversion. - *

- * Example: - * @code - * // get the event client from insights instance - * id eventClient = insights.eventClient; - * - * // create the view event - * id level1Event = [eventClient createEventWithEventType:@"level1Complete"]; - * - * // record the view event - * [eventClient recordEvent:level1Event]; - * - * // record if the user bought an upgrade (conversion) - * if (userBoughtUpgrade) { - * // create the conversion event - * id boughtUpgradeEvent = [eventClient createEventWithEventType:@"level1UserBoughtUpgrade"]; - * - * // record the conversion event - * [eventClient recordEvent:boughtUpgradeEvent]; - * } - * @endcode - * - *

Submitting Events

- *

- * The example below demonstrates how to submit events to the Amazon Insights Website. - * The SDK will automatically attempt to submit events when the application goes into the background. If you want to explicitly submit events you can invoke the AIEventClient::submitEvents selector to submit events to the Amazon Insights Website in a background thread. - *

- * Example: - * @code - * // get the event client from insights instance - * id eventClient = insights.eventClient; - * - * // submit events to the website - * [eventClient submitEvents]; - * @endcode - * The SDK ensures that you do not submit events too frequently. If you try submitting events within one minute of a previous - * submission, the submission request will be ignored. - */ -@protocol AIEventClient - -/** - * Adds the specified attribute to all subsequent recorded events. - * @param theValue the value of the attribute - * @param theKey the name of the attribute to add - */ -@required --(void) addGlobalAttribute:(NSString *) theValue - forKey:(NSString *) theKey; - -/** - * Adds the specified attribute to all subsequent recorded events with the specified event type. - * @param theValue the value of the attribute - * @param theKey the name of the attribute to add - * @param theEventType the type of events to add the attribute to - */ -@required --(void) addGlobalAttribute:(NSString *) theValue - forKey:(NSString *) theKey - forEventType:(NSString *) theEventType; - -/** - * Adds the specified metric to all subsequent recorded events. - * @param theValue the value of the metric - * @param theKey the name of the metric to add - */ -@required --(void) addGlobalMetric:(NSNumber *) theValue - forKey:(NSString *) theKey; - -/** - * Adds the specified metric to all subsequent recorded events with the specified event type. - * @param theValue the value of the metric - * @param theKey the name of the metric to add - * @param theEventType the type of events to add the metric to - */ -@required --(void) addGlobalMetric:(NSNumber *) theValue - forKey:(NSString *) theKey - forEventType:(NSString *) theEventType; - -/** - * Removes the specified attribute. All subsequent recorded events will no longer have this global attribute. - * @param theKey the key of the attribute to remove - */ -@required --(void) removeGlobalAttributeForKey:(NSString*) theKey; - -/** - * Removes the specified attribute. All subsequent recorded events with the specified event type will no longer have this global attribute. - * @param theKey the key of the attribute to remove - * @param theEventType the type of events to remove the attribute from - */ -@required --(void) removeGlobalAttributeForKey:(NSString*) theKey - forEventType:(NSString*) theEventType; - -/** - * Removes the specified metric. All subsequent recorded events will no longer have this global metric. - * @param theKey the key of the metric to remove - */ -@required --(void) removeGlobalMetricForKey:(NSString*) theKey; - -/** - * Removes the specified metric. All subsequent recorded events with the specified event type will no longer have this global metric. - * @param theKey the key of the metric to remove - * @param theEventType the type of events to remove the metric from - */ -@required --(void) removeGlobalMetricForKey:(NSString*) theKey - forEventType:(NSString*) theEventType; - -/** - * Records the specified AIEvent to the local filestore - * @param theEvent The AIEvent to persist - */ -@required --(void) recordEvent:(id)theEvent; - -/** - * Create an AIEvent with the specified theEventType - * @param theEventType the type of event to create - * @returns an AIEvent with the specified event type - */ -@required --(id) createEventWithEventType:(NSString *) theEventType; - -/** - * Submits all recorded events to the Amazon Insights Website. If you try to submit - * events within one minute of a previous submission, the submission request will be ignored. - * See AIInsightsOptions for customizing which Internet connection the SDK can submit on. Events - * are automatically submitted when the application goes into the background. - */ -@required --(void) submitEvents; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIInsightsCredentials.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIInsightsCredentials.h deleted file mode 100644 index a14962c..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIInsightsCredentials.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import - -/** - * The AIInsightsCredentials protocol is implemented by all classes that can provide identification of the application - * and keys for signing/encrypting data within the SDK. Currently the Public Key of an Amazon Insights Identifier also acts - * as the Application key. All implementors must ensure they adhere to the NSCopying protocol - * in order to be able to use the AIInsightsCredential implementation as a key for caching of AImazonInsights instances in - * the SDK. - */ -@protocol AIInsightsCredentials - -/** - * Provides the application key. - * @returns The application key. - */ -@required -@property (nonatomic, readonly) NSString* applicationKey; - -/** - * Provides the private key. - * @returns The private key. - */ -@required -@property (nonatomic, readonly) NSString* privateKey; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIInsightsOptions.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIInsightsOptions.h deleted file mode 100644 index 952a8d1..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIInsightsOptions.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import - -/** - * The AIInsightsOptions protocol is implemented by all classes that can - * provide options such as enablement of event collection and allowance of event - * delivery on WAN within the SDK. - */ -@protocol AIInsightsOptions - -/** - * Indicates whether or not event collection is enabled for the SDK. - * @returns YES/NO indicating if event collection is enabled - */ -@required -@property (nonatomic, readonly) BOOL allowEventCollection; - -/** - * Indicates whether or not events will be sent to Amazon Insights website over WAN (mobile) networks. - * @returns YES indicates events will be delivered via WAN or WIFI networks. - * NO indicates events will be delivered via WIFI - * network only. - */ -@required -@property (nonatomic, readonly) BOOL allowWANDelivery; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIUserProfile.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIUserProfile.h deleted file mode 100644 index 2409cef..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIUserProfile.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import - -/** - * AIUserProfile is used to define dimensions (or characteristics) about the current user. - * These dimensions are used when allocating AIVariations so that only a specific segment of users participate in the experiment. - * Users not in the experiment segment receive the Control variation, but their actions do not influence any A/B view or conversions. - * - *

Example

- * The example below demonstrates how to define dimensions about the current user. These dimensions are completely developer - * driven and can be any values you wish to "tag" about a user. It is up to you to determine how these dimensions are obtained. - * - * @code - * // Using the Identifier you created in the Amazon Developer Portal site, create a credentials object with the Identifier's Public and Private Keys. - * // The Identifier's Public Key acts as the application key. - * id credentials = [AIAmazonInsights credentialsWithApplicationKey:@"YOUR_APP_KEY" - * withPrivateKey:@"YOUR_PRIVATE_KEY"]; - * - * //initialize a new instance of AmazonInsights specifically for your application. - * AIAmazonInsights* insights = [AIAmazonInsights insightsWithCredentials: credentials]; - * - * // get information from external source (i.e. preferences dialog) - * NSNumber* userId = ...; - * - * // set dimensions via AIUserProfile API - * id userProfile = insights.userProfile; - * [userProfile addDimensionAsNumber:userId - * forName:@"user_id"]; - * @endcode - * - * - *

You can set AIUserProfile dimensions from multiple threads; however, the synchronization of elements is not guaranteed. - * For example, when the SDK is allocating AIVariations in thread 1, there might be 3 user dimensions defined. - * At the same time in thread 2, you add another dimension. The SDK cannot guarantee that the 4th dimension - * will be used when allocating variations in thread 1. To ensure that the correct dimensions are used, it is recommended - * that you set all user dimensions before allocating AIVariations.

- * - *

Once a user has been allocated an AIVariation for a particular segment, the user will maintain the AIVariation even if the dimensions change. - * For example, if yesterday a user received an AIVariation that was targeted for debug accounts, and today they are no longer a debug account, the user will - * maintain the AIVariation they received (even though they are no longer in the segment). Once a new experiment has been started, the current dimensions - * will be used to determine a brand new AIVariation.

- */ -@protocol AIUserProfile - -/** - * Get the current dimensions of this AIUserProfile - * @returns an NSDictionary of the dimensions - */ -@property (nonatomic, readonly) NSDictionary *dimensions; - -/** - * Add an NSNumber* dimension to this AIUserProfile. - * @param theValue The NSNumber* value of the dimension. - * @param theName The name of the dimension - * @returns returns the AIUserProfile object to allow for method chaining - */ -@required --(id) addDimensionAsNumber:(NSNumber *)theValue forName:(NSString *)theName; - -/** - * Add an NSString* dimension to this AIUserProfile. - * @param theValue The NSString* value of the dimension. - * @param theName The name of the dimension - * @returns returns the AIUserProfile object to allow for method chaining - */ -@required --(id) addDimensionAsString:(NSString *)theValue forName:(NSString *)theName; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIVariation.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIVariation.h deleted file mode 100644 index 723113d..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIVariation.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import - -/** - *

AIVariation represents a variation that was allocated for a project. - * When a developer makes a request to allocate variation(s), a request is made to the server. - * The server determines which variation(s) to allocate (based on the application key, project name, and the current user). - *

- * - *

If the requested project is an A/B test, the user will continue to receive the same variation - * they were allocated until the A/B test has ended despite changes to the distribution. - *

- * - *

If the requested project is a launch, the user will receive the variation that corresponds to the current - * distribution percentage. This means a user could transition between variations when the distribution percentages - * are changed. - *

- * - *

When an AIVariation is returned, developers can retrieve variables from the variation by utilizing one of the variableAsXXX:withDefault: selectors.

- * - * Example: - * @code - * // get the AB Client to request variations - * id abTestClient = insights.abTestClient; - * - * [abTestClient variationsByProjectNames:[NSArray arrayWithObject:@"Level1Revenue"] - * withCompletionHandler:^(id variationSet, NSError* error) { - * if(error == nil) { - * // request an AIVariation out of the AIVariationSet - * id revenueVariation = [variationSet variationForProjectName:@"Level1Revenue"]; - * NSString* buyMessage = [revenueVariation variableAsString:@"buyMessage" - * withDefault:@"Upgrade?"]; - * } - * }]; - * @endcode - * - *

- * Occasionally, the SDK may not be able to retrieve an AIVariation from the server due to connectivity. When this occurs, there will not be any variables within the instance. - * Since developers must use one of the variableAsXXX:withDefault: selectors, all queries to the AIVariation object for variable values will return the default value. So in the - * examples provided above, the buyMessage variable would be assigned the value of \@"Upgrade?". - *

- */ -@protocol AIVariation - -/** - * Return the name of the project this variation was allocated for. - * @returns The name of the project. - */ -@required -@property (nonatomic, readonly) NSString* projectName; - -/** - * Returns the name of the variation allocated for this user. - * @returns The name of the variation received for this user. - *

DEFAULT - The user has not been allocated a variation

- *

CONTROL - The user has been allocated into the Control (Variation A) variation

- *

TEST(N) - The user has been allocated into the Test (Variation B-N) variation. N will start at 2 and go through to N

- */ -@required -@property (nonatomic, readonly) NSString* name; - -/** - * Return the variable with the variableName key as an int. - * @param variableName the name of the variable to return. - * @param defaultValue the value this variable should have if it doesn't exist or - * the user has not been allocated a variation. - * @returns the variable expressed as an int. - */ -@required -- (int)variableAsInt:(NSString *)variableName withDefault:(int)defaultValue; - -/** - * Return the variable with the variableName key as a long long. - * @param variableName the name of the variable to return. - * @param defaultValue the value this variable should have if it doesn't exist or - * the user has not been allocated a variation. - * @returns the variable expressed as a long long. - */ -@required -- (long long)variableAsLongLong:(NSString *)variableName withDefault:(long long)defaultValue; - -/** - * Return the variable with the variableName key as a float. - * @param variableName the name of the variable to return. - * @param defaultValue the value this variable should have if it doesn't exist or - * the user has not been allocated a variation. - * @returns the variable expressed as a float. - */ -@required -- (float)variableAsFloat:(NSString *)variableName withDefault:(float)defaultValue; - -/** - * Return the variable with the variableName key as a double. - * @param variableName the name of the variable to return. - * @param defaultValue the value this variable should have if it doesn't exist or - * the user has not been allocated a variation. - * @returns the variable expressed as a double. - */ -@required -- (double)variableAsDouble:(NSString *)variableName withDefault:(double)defaultValue; - -/** - * Return the variable with the variableName key as a BOOL. - * @param variableName the name of the variable to return. - * @param defaultValue the value this variable should have if it doesn't exist or - * the user has not been allocated a variation. - * @returns the variable expressed as a BOOL. - */ -@required -- (BOOL)variableAsBool:(NSString *)variableName withDefault:(BOOL)defaultValue; - -/** - * Return the variable with the variableName key as a NSString*. - * @param variableName the name of the variable to return. - * @param defaultValue the value this variable should have if it doesn't exist or - * the user has not been allocated a variation. - * @returns the variable expressed as a NSString*. - */ -@required -- (NSString *)variableAsString:(NSString *)variableName withDefault:(NSString *)defaultValue; - -/** - * Determine if the variable specified by variable name exists in this variation. - * @param variableName the name of the variable to search for. - * @returns YES if the variable exists, NO otherwise. - */ -@required -- (BOOL)containsVariable:(NSString *)variableName; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIVariationSet.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIVariationSet.h deleted file mode 100644 index 1710ba7..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AIVariationSet.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "AIVariation.h" - -/** - * A collection of AIVariation objects that have been allocated for the current user. - * - * The example below demonstrates how to allocate a set of AIVariations. - * An AIVariation can then be obtained from the AIVariationSet object. - * - * @code - * // get the AB Client to request variations - * id abTestClient = insights.abTestClient; - * - * [abTestClient variationsByProjectNames:[NSArray arrayWithObject:@"Level1Revenue"] - * withCompletionHandler:^(id variationSet, NSError* error) { - * if(error == nil) { - * // request an AIVariation out of the AIVariationSet - * id revenueVariation = [variationSet variationForProjectName:@"Level1Revenue"]; - * } - * }]; - * @endcode - */ -@protocol AIVariationSet - -/** - * Return the AIVariation allocated for this user for the specified project name. - * @param projectName The name of the project to obtain a variation for. - * @returns The AIVariation object allocated for the current user. - */ -@required -- (id)variationForProjectName:(NSString *)projectName; - -/** - * Returns a BOOL indicating whether or not an AIVariation exists in the set for the specified project name. - * @param projectName The name of the project to search for. - * @returns A BOOL indicating whether or not the AIVariation exists in the set. - */ -@required -- (BOOL)containsVariation:(NSString *)projectName; - -/** - * Returns an NSUInteger indicating the number of AIVariations in the set. - * @returns An NSUInteger indicating the number of AIVariations in the set. - */ -@required -- (NSUInteger)count; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AmazonInsightsSDK.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AmazonInsightsSDK.h deleted file mode 100644 index d68f2e0..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/AmazonInsightsSDK.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIAppleMonetizationEventBuilder.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIAppleMonetizationEventBuilder.h deleted file mode 100644 index a8c35cc..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIAppleMonetizationEventBuilder.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "AIMonetizationEventBuilder.h" - -/** - * AIAppleMonetizationEventBuilder builds monetization events to track purchases from Apple's - * IAP Framework. In order to build a monetization event, you must call all of the setters on this builder. - * You will need to access properties on both the SKProduct class and the SKPurchaseTransaction class in order - * to build an Apple Monetization event. - * - * The example below demonstrates how to create a monetization event after you recieve a SKPaymentTransaction - * from the SKPaymentTransactionObserver. Since Apple does not give you any product information in the SKPaymentTransaction - * object, you must have a way to access your SKProduct store inventory when the purchase is being finalized. In the example - * below, we have a product catalog object that can return SKProduct's based on the product id returned in an SKPaymentTransaction object. - * This product catalog was built after receiving a SKProductsRequest from the SKProductsRequestDelegate. - * - * Example: - * @code - * -(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { - * for (SKPaymentTransaction* transaction in transactions) { - * switch (transaction.transactionState) { - * case SKPaymentTransactionStatePurchased: - * - * // when an item is purchased, give the user access to the content, and - * // record a monetization purchase event. - * [self completeTransaction:transaction]; - * break; - * case SKPaymentTransactionStateFailed: - * // ... handle a failed transaction - * break; - * case SKPaymentTransactionStateRestored: - * // ... restore the transaction - * break; - * } - * } - * } - * - * -(void)completeTransaction:(SKPaymentTransaction*)transaction{ - * // provide the content that the user purchased - * [self provideContentForProductIdentifier:transaction.payment.productIdentifier]; - * - * // get the SKProduct for the product identifier that was purchased - * SKProduct* product = [productCatalog objectForKey:transaction.payment.productIdentifier]; - * - * // get the event client for the builder - * id eventClient = insights.eventClient; - * - * // create a builder that can record purchase events from Apple - * AIAppleMonetizationEventBuilder* builder = [AIAppleMonetizationEventBuilder builderWithEventClient:eventClient]; - * - * // set the product id of the purchased item (obtained from the SKPurchaseTransaction object) - * [builder withProductId:transaction.payment.productIdentifier]; - * - * // set the item price and price locale (obtained from the SKProduct object) - * [builder withItemPrice:[product.price doubleValue] - * andPriceLocale:product.priceLocale]; - * - * // set the quantity of item(s) purchased (obtained from the SKPurchaseTransaction object) - * [builder withQuantity:transaction.payment.quantity]; - * - * // set the transactionId of the transaction (obtained from the SKPurchaseTransaction object) - * [builder withTransactionId:transaction.transactionIdentifier]; - * - * // build the monetization event - * id purchaseEvent = [builder build]; - * - * // add any additional metrics/attributes and record - * [eventClient recordEvent:purchaseEvent]; - * - * // finalize the transaction as required by Apple - * [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; - * } - * @endcode - */ -@interface AIAppleMonetizationEventBuilder : AIMonetizationEventBuilder - -/** - * Create a monetization builder that can record purchase events from Apple's - * IAP Framework. - * @param theEventClient The event client used to create the event - * @returns a monetization event builder for Apple purchases - */ -+(AIAppleMonetizationEventBuilder*) builderWithEventClient:(id)theEventClient; - -/** - * Sets the product id for the item(s) being purchased - * @param withProductId The product id of the item(s) being purchased - */ --(void)withProductId:(NSString *)theProductId; - -/** - * Sets the item price and locale of the item being purchased. (Obtained from the SKProduct object) - * @param theItemPrice The numerical item price - * @param thePriceLocale The locale representing the item price's currency - */ --(void)withItemPrice:(double)theItemPrice andPriceLocale:(NSLocale *)thePriceLocale; - -/** - * Sets the quantity of item(s) being purchased. (Obtained from the SKPurchaseTransaction object) - * @param theQuantity The quantity of items purchased - */ --(void)withQuantity:(NSInteger)theQuantity; - -/** - * Sets the transaction id of the purchase (Obtained from the SKPurchaseTransaction object) - * @param theTransactionId The transaction id of the purchase - */ --(void)withTransactionId:(NSString *)theTransactionId; - -/** - * Builds the monetization event using the parameters set on the builder. You must - * still record the event. - * @returns an AIEvent to record - */ --(id) build; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIMonetizationEventBuilder.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIMonetizationEventBuilder.h deleted file mode 100644 index 45b0cbf..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIMonetizationEventBuilder.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "../AIEventClient.h" -#import "../AIEvent.h" - -/** - * Base class for handling the required attributes and metrics for monetization Events. This - * class is not meant to be instantiated. Instead, create instances specific to the purchase - * you are trying to record. Currently, AIVirtualMonetizationEventBuilder is used to create - * monetization events for virtual purchases, and AIAppleMonetizationEventBuilder is used - * to create monetization events for purchases with Apple's IAP framework. - * - * This class can be extended if you need to record monetization events from other - * purchase frameworks. Derived classes must override the AIMonetizationEventBuilder::isValid - * method so that AIMonetizationEventBuilder knows if the derived builder is in a valid state. - */ -@interface AIMonetizationEventBuilder : NSObject - -/** - * Builds an AIEvent using the current state of the builder. - * @returns an AIEvent or nil, if the builder is in an invalid state - */ --(id) build; - -/** - * Determines if this builder is in a valid state. This method must be overridden in derived classes. - * @returns YES if the Builder is valid, NO otherwise. - */ --(BOOL) isValid; - -/** - * Initializes the AIMonetizationEventBuilder. This class is not meant to be initialized directly. This method should - * only be called/overridden by derived builders. - */ --(id)initWithEventClient:(id)theEventClient; - -/** - * The product id that will be used to build the monetization event - * @returns The product id - */ --(NSString *)productId; - -/** - * Sets the product id to use when building the monetization event - * @param theProductId the product id of the item being purchased - */ --(void)setProductId:(NSString *)theProductId; - -/** - * The quantity that will be used to build the monetization event - * @returns The quantity of items purchased - */ --(NSInteger)quantity; - -/** - * Sets the quantity to use when building the monetization event - * @param theQuantity the quantity of the item being purchased - */ --(void)setQuantity:(NSInteger)theQuantity; - -/** - * The numerical price of the item being purchased that will be used to build the monetization event - * @returns The numerical item price - */ --(double)itemPrice; - -/** - * Sets the numerical item price to use when building the monetization event - * @param theItemPrice the price of the item being purchased - */ --(void)setItemPrice:(double)theItemPrice; - -/** - * The formatted item price that will be used to build the monetization event - * @returns The item price formatted with its currency - */ --(NSString *)formattedItemPrice; - -/** - * Sets the formatted item price in its local currency to use when building the monetization event - * @param theFormattedItemPrice the formatted item price in its local currency - */ --(void)setFormattedItemPrice:(NSString *)theFormattedItemPrice; - -/** - * The transaction id that will be used to build the monetization event - * @returns The transaction id - */ --(NSString *)transactionId; - -/** - * Sets the transaction id to use when building the monetization event - * @param theTransactionId the transaction id of the purchase - */ --(void)setTransactionId:(NSString *)theTransactionId; - -/** - * The currency that be used to build the monetization event - * @returns The currency - */ --(NSString *)currency; - -/** - * Sets the currency of the item price to use when building the monetization event - * @param theCurrency the ISO currency code or virtual curreny name of the item price - */ --(void)setCurrency:(NSString *)theCurrency; - -/** - * The name of the Store where this purchase was made. For example "Apple" for purchases - * originating from the Apple IAP Store, or "Virtual" if the purchase was performed in your in-game store. - * @returns The store of the purchase - */ --(NSString *)store; - -/** - * Sets the name of the Store to use when building the monetization event - * @param theStore the store where the purchase originated from (i.e. "Apple" or "Virtual") - */ --(void)setStore:(NSString *)theStore; - -@end diff --git a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIVirtualMonetizationEventBuilder.h b/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIVirtualMonetizationEventBuilder.h deleted file mode 100644 index 87c9266..0000000 --- a/iosadapters/Amazon/AmazonInsightsSDK.framework/Headers/monetization/AIVirtualMonetizationEventBuilder.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -#import -#import "AIMonetizationEventBuilder.h" - -/** - * AIVirtualMonetizationEventBuilder builds monetization events to track virtual purchases from your In-Game store. - * In order to build a Virtual monetization event, you must call all of the setters on this builder. - * - * The example below shows how to record a monetization event for the purchase of 1 sword that costs 500 Gold. - * @code - * id eventClient = insights.eventClient; - * - * // create a builder that can record purchase events from your In-Game Store - * AIVirtualMonetizationEventBuilder* builder = [AIVirtualMonetizationEventBuilder builderWithEventClient:eventClient]; - * - * // set the product id of the purchased item - * [builder withProductId:@"com.yourgame.sword"]; - * - * // set the item price - * [builder withItemPrice:500]; - * - * // set the currency of the item price - * [builder withCurrency:@"Gold"]; - * - * // set the quantity of item(s) purchased - * [builder withQuantity:1]; - * - * // build/record the monetization event - * id virtualPurchaseEvent = [builder build]; - * [eventClient recordEvent:virtualPurchaseEvent]; - * @endcode - */ -@interface AIVirtualMonetizationEventBuilder : AIMonetizationEventBuilder - -/** - * Create a monetization builder that can record purchase events from your In-Game Store - * @param theEventClient The event client used to create the event - * @returns a monetization event builder for In-Game store purchases - */ -+(AIVirtualMonetizationEventBuilder*) builderWithEventClient:(id)theEventClient; - -/** - * Sets the product id for the item(s) being purchased - * @param withProductId The product id of the item(s) being purchased - */ --(void)withProductId:(NSString *)theProductId; - -/** - * Sets the item price of the item being purchased - * @param theItemPrice The numerical item price - */ --(void)withItemPrice:(double)theItemPrice; - -/** - * Sets the quantity of item(s) being purchased. - * @param theQuantity The quantity of items purchased - */ --(void)withQuantity:(NSInteger)theQuantity; - -/** - * Sets the currency of the item price - * @param theCurrency The currency of the item price - */ --(void)withCurrency:(NSString *)theCurrency; - -/** - * Builds the monetization event using the parameters set on the builder. You must - * still record the event. - * @returns an AIEvent to record - */ --(id) build; - -@end diff --git a/iosadapters/Amazon/libAmazonAdapter.a b/iosadapters/Amazon/libAmazonAdapter.a index dba556a..0417005 100644 Binary files a/iosadapters/Amazon/libAmazonAdapter.a and b/iosadapters/Amazon/libAmazonAdapter.a differ diff --git a/iosadapters/Chartboost/Chartboost.framework/.DS_Store b/iosadapters/Baidu/.DS_Store similarity index 100% rename from iosadapters/Chartboost/Chartboost.framework/.DS_Store rename to iosadapters/Baidu/.DS_Store diff --git a/iosadapters/Baidu/libBaiduAdapter.a b/iosadapters/Baidu/libBaiduAdapter.a index 6d1318d..653e02b 100644 Binary files a/iosadapters/Baidu/libBaiduAdapter.a and b/iosadapters/Baidu/libBaiduAdapter.a differ diff --git a/iosadapters/Chartboost/Chartboost.framework/Chartboost b/iosadapters/Chartboost/Chartboost.framework/Chartboost index 0ed7809..96bf5f7 100644 Binary files a/iosadapters/Chartboost/Chartboost.framework/Chartboost and b/iosadapters/Chartboost/Chartboost.framework/Chartboost differ diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBAnalytics.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBAnalytics.h index c408628..601718d 100644 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBAnalytics.h +++ b/iosadapters/Chartboost/Chartboost.framework/Headers/CBAnalytics.h @@ -1,25 +1,32 @@ /* * CBAnalytics.h * Chartboost - * 5.5.0 + * 6.0.1 * * Copyright 2011 Chartboost. All rights reserved. */ #import -typedef enum { - // Highest level reached +/*! + @typedef NS_ENUM (NSUInteger, CBLevelType) + + @abstract + Used with trackLevelInfo calls to describe meta information about the level value as it + pertains to the game's context. + */ +typedef NS_ENUM(NSUInteger, CBLevelType) { + /*! Highest level reached */ HIGHEST_LEVEL_REACHED = 1, - // Current area level reached + /*! Current area level reached */ CURRENT_AREA = 2, - // Current character level reached + /*! Current character level reached */ CHARACTER_LEVEL = 3, - // Other sequential level reached + /*! Other sequential level reached */ OTHER_SEQUENTIAL = 4, - // Current non sequential level reached + /*! Current non sequential level reached */ OTHER_NONSEQUENTIAL = 5 -} CBLevelType; +}; /*! @class ChartboostAnalytics diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBInPlay.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBInPlay.h index 5b4b242..49c05a2 100644 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBInPlay.h +++ b/iosadapters/Chartboost/Chartboost.framework/Headers/CBInPlay.h @@ -1,7 +1,7 @@ /* * CBInPlay.h * Chartboost - * 5.5.0 + * 6.0.1 * * Copyright 2011 Chartboost. All rights reserved. */ diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsBadge.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsBadge.h index 181e5c3..128c36e 100644 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsBadge.h +++ b/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsBadge.h @@ -1,7 +1,7 @@ /* * CBMoreAppsBadge.h * Chartboost - * 5.5.0 + * 6.0.1 * * Copyright 2011 Chartboost. All rights reserved. */ diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsButton.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsButton.h index 4120beb..c418b93 100644 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsButton.h +++ b/iosadapters/Chartboost/Chartboost.framework/Headers/CBMoreAppsButton.h @@ -1,7 +1,7 @@ /* * CBMoreAppsButton.h * Chartboost - * 5.5.0 + * 6.0.1 * * Copyright 2011 Chartboost. All rights reserved. */ diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBNewsfeed.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBNewsfeed.h deleted file mode 100644 index 5127dac..0000000 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBNewsfeed.h +++ /dev/null @@ -1,353 +0,0 @@ -/* - * CBNewsfeed.h - * Chartboost - * 5.5.0 - * - * Copyright 2011 Chartboost. All rights reserved. - */ - -/*! @abstract CBStory forward class declaration. */ -@class CBStory; - -/*! @abstract CBStory forward protocol declaration. */ -@protocol CBNewsfeedDelegate; - -/*! - @class CBNewsfeed - - @abstract - Provide methods to control the Chartboost Newsfeed. - - @discussion For more information on integrating and using the Chartboost SDK - please visit our help site documentation at https://help.chartboost.com - */ -@interface CBNewsfeed : NSObject - - -#pragma mark - CBNewsfeed Initialzation - -/*! - @abstract - Start the Newsfeed with the given delegate. You must call startWithAppId:appSignature:delegate: in the - Chartboost SDK main class before this can be used. - - @param delegate The delegate instance to receive CBNewsfeed SDK callbacks. - - @discussion Call this in application:didFinishLaunchingWithOptions: to start getting - Newsfeed data from the Chartboost API servers. - */ -+ (void)startWithDelegate:(id)delegate; - - -#pragma mark - CBNewsfeed Data Methods - -/*! - @abstract - Get CBStory objects currently stored on the device. - - @return Array of CBStory objects. - - @discussion Only returns CBStory objects on the device local storage. - Will not trigger a request to the Chartboost API servers. - */ -+ (NSArray *)getMessages; - -/*! - @abstract - Get CBStory object currently stored on the device with the given message ID. - - @param messageId The unique messageID for the CBStory. - - @return CBStory object. - - @discussion Only returns CBStory object on the device local storage. - Will not trigger a request to the Chartboost API servers. - */ -+ (CBStory *)getMessage:(NSString *)messageId; - -/*! - @abstract - Get the total number of messages currently on the device. - - @return NSUInteger Total number of local messages or 0. - - @discussion Only returns CBStory object count on the device local storage. - Will not trigger a request to the Chartboost API servers. This returns all messages regardless - if they have been read or not. - */ -+ (NSUInteger)messageCount; - -/*! - @abstract - Get the number of unread messages currently on the device. - - @return NSUInteger Total number of unread local messages or 0. - - @discussion Only returns CBStory object count on the device local storage. - Will not trigger a request to the Chartboost API servers. - */ -+ (NSUInteger)unreadMessageCount; - -/*! - @abstract - Retrieve CBStory data from the Chartboost API server. - - @discussion Retrieve CBStory data from the Chartboost API server and will trigger - the delegate method didGetNewMessages: if new messages are found. - - On success it will trigger the didRetrieveMessages delegate and on failure the didFailToRetrieveMessages: - delegate. On success it is left to the developer to check the local storage for changes to message objects. - */ -+ (void)retrieveMessages; - -#pragma mark - CBNewsfeed Display Methods - -/*! - @abstract - Check if the NewsfeedUI is visible. - - @return YES if the UI is visible, NO if not. - - @discussion Calls [CBNewsfeedUIProtocol isNewsfeedUIVisible] for the UI class. - */ -+ (BOOL)isNewsfeedUIVisible; - -/*! - @abstract - Display the Newsfeed UI. - - @discussion Calls [CBNewsfeedUIProtocol displayNewsfeed] for the UI class. - */ -+ (void)showNewsfeedUI; - -/*! - @abstract - Close the Newsfeed UI. - - @discussion Calls [CBNewsfeedUIProtocol dismissNewsfeed] for the UI class. - */ -+ (void)closeNewsfeedUI; - -/*! - @abstract - Check if the NotificationUI is visible. - - @return YES if the UI is visible, NO if not. - - @discussion Calls [CBNewsfeedUIProtocol isNofiticationUIVisible] for the UI class. - */ -+ (BOOL)isNotificationUIVisible; - -/*! - @abstract - Display the Notification UI for the most recent CBStory. - - @discussion Calls [CBNewsfeedUIProtocol displayNotification] for the UI class. - */ -+ (void)showNotificationUI; - -/*! - @abstract - Display the Notification UI for a specific CBStory. - - @param story CBStory object to display Notification UI for. - - @discussion Calls [CBNewsfeedUIProtocol displayNotification:] for the UI class. - */ -+ (void)showNotificationUIForStory:(CBStory *)story; - -/*! - @abstract - Close the Notification UI. - - @discussion Calls [CBNewsfeedUIProtocol dismissNotification] for the UI class. - */ -+ (void)closeNotificationUI; - -#pragma mark - CBNewsfeed Advanced Configuration - -/*! - @abstract - Override how often the CBNewsfeed should attempt to get new data from the Chartboost API server. - - @param fetchTime Time in seconds to poll for messages. - - @discussion Default is 60 seconds; set to 0 to disable background fetch. - - Cannot be set to less than 60 seconds unless disabling. If set to - less than 60 seconds will use default fetch time of 60 seconds. - */ -+ (void)setFetchTime:(NSUInteger)fetchTime; - -/*! - @abstract - Set a custom UI that implements the CBNewsfeedUIProtocol to replace the default Newsfeed UI. - - @param uiClass A Class reference that implements CBNewsfeedUIProtocol. - - @discussion Use this if you have created your own Newsfeed UI that conforms to the CBNewsfeedUIProtocol - protocol. If you want to use the default UI provided by Chartboost you do not need to use this method. - */ -+ (void)setUIClass:(Class)uiClass; - -/*! - @abstract - Decide if Chartboost SDK should block for an age gate. - - @param shouldPause YES if Chartboost should pause for an age gate, NO otherwise. - - @discussion Set to control if Chartboost SDK should block for an age gate. - - Default is NO. - */ -+ (void)setShouldPauseStoryClickForConfirmation:(BOOL)shouldPause; - -/*! - @abstract - Confirm if an age gate passed or failed. When specified Chartboost will wait for - this call before showing the IOS App Store or navigating to a URL. - - @param pass The result of successfully passing the age confirmation. - - @discussion If you have configured your Chartboost experience to use the age gate feature - then this method must be executed after the user has confirmed their age. The Chartboost SDK - will halt until this is done. - */ -+ (void)didPassAgeGate:(BOOL)pass; - -@end - -/*! - @protocol CBNewsfeedDelegate - - @abstract - Provide methods and callbacks to receive notifications of when the CBNewsfeed - has taken specific actions or to more finely control the CBNewsfeed. - - @discussion For more information on integrating and using the Chartboost SDK - please visit our help site documentation at https://help.chartboost.com - - All of the delegate methods are optional. - */ -@protocol CBNewsfeedDelegate - -@optional - -/*! - @abstract - Called when a user clicks a message in the newsfeed UI. - - @param message The CBStory object that the user interacted with. - - @discussion Implement to be notified of when a CBStory object has been clicked. - */ -- (void)didClickMessage:(CBStory *)message; - -/*! - @abstract - Called when a message expires due to a timer. - - @param message The CBStory object that expired. - - @discussion Implement to be notified of when a CBStory object has expired. - */ -- (void)didExpireMessage:(CBStory *)message; - -/*! - @abstract - Called when a user views a message in the newsfeed UI. - - @param message The CBStory object that was viewed. - - @discussion Implement to be notified of when a CBStory object has been viewed. - */ -- (void)didViewMessage:(CBStory *)message; - -/*! - @abstract - Called when a user clicks a notification. - - @param message The CBStory object that was clicked via the NotificationUI. - - @discussion Implement to be notified of when a CBStory object has been clicked via the NotificationUI. - */ -- (void)didClickNotification:(CBStory *)message; - -/*! - @abstract - Called when a user viewes a notification. - - @param message The CBStory object that was viewed via the NotificationUI. - - @discussion Implement to be notified of when a CBStory object has been viewed via the NotificationUI. - */ -- (void)didViewNotification:(CBStory *)message; - -/*! - @abstract - Called when new messages were retrieved from the server. - - @param messages An NSArray of new CBStory objects. - - @discussion Implement to be notified of when the Newsfeed has retrieved new CBStory messages from the - Chartboost API servers. - */ -- (void)didGetNewMessages:(NSArray *)messages; - -/*! - @abstract - Called when retrieveMessages successfully completes. - - @discussion Implement to be notified of when the Newsfeed has successfully completed a call to retrieve messages - from the Chartboost API servers. This does not indicate any changes have been made. It is left to the - developer to use the data methods located earlier in this file to check for the available CBStory objects - to display. - */ -- (void)didRetrieveMessages; - -/*! - @abstract - Called when retrieveMessages fails to complete. - - @param error The error response for the failure. - - @discussion Implement to be notified of when the Newsfeed has failed a call to retrieve messages - from the Chartboost API servers. This does not indicate any changes have been made. It is left to the - developer to use the data methods located earlier in this file to check for the available CBStory objects - to display. - */ -- (void)didFailToRetrieveMessages:(NSError *)error; - -/** - * Implement to decide if the CBstory object should - * automatically display a notification UI. - * - * @param message - */ - -/*! - @abstract - Implement to decide if the CBStory object should automatically display a notification UI. - - @param message The CBStory object to display the notification UI for. - - @return YES if the notification UI should display, NO otherwise. - - @discussion Implement to decide if the CBstory object should automatically display a notification UI. - - Defaults to YES. - */ -- (BOOL)shouldAutomaticallyDisplayNotificationUI:(CBStory *)message; - -/*! - @abstract - Called if Chartboost SDK pauses click actions awaiting confirmation from the user. - - @param message The CBStory object that the user interacted with. - - @discussion Use this method to display any gating you would like to prompt the user for input. - Once confirmed call didPassAgeGate:(BOOL)pass to continue execution. - */ -- (void)didPauseStoryClickForConfirmation:(CBStory *)message; - -@end diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBNewsfeedUI.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBNewsfeedUI.h deleted file mode 100644 index 60fb3bb..0000000 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBNewsfeedUI.h +++ /dev/null @@ -1,468 +0,0 @@ -/* - * CBNewsfeedUI.h - * Chartboost - * 5.5.0 - * - * Copyright 2011 Chartboost. All rights reserved. - */ - -/*! @abstract CBStory forward class declaration. */ -@class CBStory; - -/*! - @typedef NS_ENUM(NSUInteger, CBNewsfeedAnimationType) - - @abstract - Use to control how the CBNewsfeedUI should animate its display or dismiss animation. - */ -typedef NS_ENUM(NSUInteger, CBNewsfeedAnimationType) { - /*! Slide up from screen bottom. */ - CBNewsfeedAnimationTypeSlideFromBottom, - /*! Slide down from screen top. */ - CBNewsfeedAnimationTypeSlideFromTop, - /*! Slide out from screen left. */ - CBNewsfeedAnimationTypeSlideFromLeft, - /*! Slide out from screen right. */ - CBNewsfeedAnimationTypeSlideFromRight, - /*! No animation, just appear. */ - CBNewsfeedAnimationTypeNone -}; - -/*! - @typedef NS_ENUM(NSUInteger, CBNewsfeedUIPosition) - - @abstract - Use to control where the CBNewsfeedUI should position itself on the screen. - */ -typedef NS_ENUM(NSUInteger, CBNewsfeedUIPosition) { - /*! Horizonatal and vertical center. */ - CBNewsfeedUIPositionCenter, - /*! Anchor to top of screen. */ - CBNewsfeedUIPositionTop, - /*! Anchor to bottom of screen. */ - CBNewsfeedUIPositionBottom, - /*! Anchor to left of screen. */ - CBNewsfeedUIPositionLeft, - /*! Anchor to right of screen. */ - CBNewsfeedUIPositionRight -}; - -/*! - @typedef NS_ENUM(NSUInteger, CBNotificationUIClickAction) - - @abstract - Use to control how the Notification UI should respond when tapped. - */ -typedef NS_ENUM(NSUInteger, CBNotificationUIClickAction) { - /*! Display the Newsfeed UI. */ - CBNotificationUIClickActionDisplayNewsfeedUI, - /*! Perform link action. */ - CBNotificationUIClickActionPerformLink, - /*! No action; just dismiss UI. */ - CBNotificationUIClickActionNone -}; - -/*! - @protocol CBNewsfeedUIProtocol - - @abstract - Provide an interface for implementing a custom Newsfeed UI to use with the Chartboost SDK. - Implement this protocol in a class and assign it with [CBNewsfeed setUIClass:(Class)uiClass] to - override the default Newsfeed UI. - - @discussion For more information on integrating and using the Chartboost SDK - please visit our help site documentation at https://help.chartboost.com - - All of the delegate methods are required. - */ -@protocol CBNewsfeedUIProtocol - -@required - -/*! - @abstract - Display the Newsfeed UI. - - @discussion Implement your custom logic to display the Newsfeed UI. - */ -+ (void)displayNewsfeed; - -/*! - @abstract - Dismiss the Newsfeed UI. - - @discussion Implement your custom logic to dismiss the Newsfeed UI. - */ -+ (void)dismissNewsfeed; - -/*! - @abstract - Check if the Newsfeed UI is visible. - - @return YES if the UI is visible, NO otherwise. - - @discussion Implement your custom logic to check if the Newsfeed UI is visible. - */ -+ (BOOL)isNewsfeedUIVisible; - -/*! - @abstract - Display the Notification UI. - - @discussion Implement your custom logic to display the Notification UI. - */ -+ (void)displayNotification; - -/*! - @abstract - Display the Notification UI for a specific CBStory. - - @param story The CBStory to display. - - @discussion Implement your custom logic to display the Notification UI. - */ -+ (void)displayNotification:(CBStory *)story; - -/*! - @abstract - Dismiss the Notification UI. - - @discussion Implement your custom logic to dismiss the Notification UI. - */ -+ (void)dismissNotification; - -/*! - @abstract - Check if the Notification UI is visible. - - @return YES if the UI is visible, NO otherwise. - - @discussion Implement your custom logic to check if the Notification UI is visible. - */ -+ (BOOL)isNotificationUIVisible; - -@end - -/*! - @class CBNewsfeedUI - - @abstract - Default Newsfeed UI provided by the Chartboost SDK. - - Implements the CBNewsfeedUIProtocol. - - @discussion For more information on integrating and using the Chartboost SDK - please visit our help site documentation at https://help.chartboost.com - */ -@interface CBNewsfeedUI : NSObject - -/*! - @abstract - Get CGSize for Default NewsfeedUI. - - @return The CGSize of the parent frame for the default Newsfeed UI. - - @discussion You can use this to help size a custom header. - */ -+ (CGSize)getNewsfeedUISize; - -#pragma mark - Setters - -/*! - @abstract - Set anchor point for Newsfeed UI in portrait mode. - - @param position CBNewsfeedUIPosition - - @discussion Valid values located above in this file. - - Default is CBNewsfeedUIPositionBottom. - */ -+ (void)setNewsfeedUIPortraitPosition:(CBNewsfeedUIPosition)position; - -/*! - @abstract - Set anchor point for Newsfeed UI in landscape mode. - - @param position CBNewsfeedUIPosition - - @discussion Valid values located above in this file. - - Default is CBNewsfeedUIPositionLeft. - */ -+ (void)setNewsfeedUILandscapePosition:(CBNewsfeedUIPosition)position; - -/*! - @abstract - Set display animation for Newsfeed UI in portrait mode. - - @param animation CBNewsfeedAnimationType - - @discussion Valid values located above in this file. - - Default is CBNewsfeedAnimationTypeSlideFromBottom. - */ -+ (void)setPortraitDisplayAnimation:(CBNewsfeedAnimationType)animation; - -/*! - @abstract - Set dismiss animation for Newsfeed UI in portrait mode. - - @param animation CBNewsfeedAnimationType - - @discussion Valid values located above in this file. - - Default is CBNewsfeedAnimationTypeSlideFromBottom. - */ -+ (void)setPortraitDismissAnimation:(CBNewsfeedAnimationType)animation; - -/*! - @abstract - Set display animation for Newsfeed UI in lanscape mode. - - @param animation CBNewsfeedAnimationType - - @discussion Valid values located above in this file. - - Default is CBNewsfeedAnimationTypeSlideFromLeft. - */ -+ (void)setLandscapeDisplayAnimation:(CBNewsfeedAnimationType)animation; - -/*! - @abstract - Set dismiss animation for Newsfeed UI in landscape mode. - - @param animation CBNewsfeedAnimationType - - @discussion Valid values located above in this file. - - Default is CBNewsfeedAnimationTypeSlideFromLeft. - */ -+ (void)setLandscapeDismissAnimation:(CBNewsfeedAnimationType)animation; - -/*! - @abstract - Controls what the Notification UI should attempt to do on click. - - @param action CBNotificationUIClickAction - - @discussion Valid values located above in this file. - - Default is CBNotificationUIClickActionDisplayNewsfeedUI. - */ -+ (void)setNotificationUIClickAction:(CBNotificationUIClickAction)action; - -/*! - @abstract - Set Newsfeed UI background color. - - @param color UIColor - - @discussion Set Newsfeed UI background color. - */ -+ (void)setNewsfeedBackgroundColor:(UIColor *)color; - -/*! - @abstract - Set Newsfeed UI message cell background color. - - @param color UIColor - - @discussion Set Newsfeed UI message cell background color. - */ -+ (void)setNewsfeedMessageCellBackgroundColor:(UIColor *)color; - -/*! - @abstract - Set Newsfeed UI header cell background color. - - @param color UIColor - - @discussion Set Newsfeed UI header cell background color. - */ -+ (void)setNewsfeedHeaderCellBackgroundColor:(UIColor *)color; - -/*! - @abstract - Set Newsfeed UI message cell text color. - - @param color UIColor - - @discussion Set Newsfeed UI message cell text color. - */ -+ (void)setNewsfeedMessageCellTextColor:(UIColor *)color; - -/*! - @abstract - Set Newsfeed UI header cell background color. - - @param color UIColor - - @discussion Set Newsfeed UI header cell background color. - */ -+ (void)setNewsfeedHeaderCellTextColor:(UIColor *)color; - -/*! - @abstract - Set Newsfeed UI header cell text. - - @param text NSString - - @discussion Set Newsfeed UI header cell text. - */ -+ (void)setNewsfeedHeaderCellText:(NSString *)text; - -/*! - @abstract - Set Notification UI text color. - - @param color UIColor - - @discussion Set Notification UI text color. - */ -+ (void)setNotificationTextColor:(UIColor *)color; - -/*! - @abstract - Set Notification UI background color. - - @param color UIColor - - @discussion Set Notification UI background color. - */ -+ (void)setNotificationBackgroundColor:(UIColor *)color; - -/*! - @abstract - Set Notification UI text font. - - @param font UIFont - - @discussion Set Notification UI text font. - */ -+ (void)setNotificationTextFont:(UIFont *)font; - -/*! - @abstract - Set a custom header UIView for the Newsfeed UI. - - @param view UIView - - @discussion Set a custom header UIView for the Newsfeed UI. - */ -+ (void)setCustomNewsfeedHeaderView:(UIView *)view; - -#pragma mark - Getters - -/*! - @abstract - Get Newsfeed UI background color. - - @return UIColor - - @discussion Get Newsfeed UI background color. - */ -+ (UIColor *)getNewsfeedBackgroundColor; - -/*! - @abstract - Get Newsfeed UI message cell background color. - - @return UIColor - - @discussion Get Newsfeed UI message cell background color. - */ -+ (UIColor *)getNewsfeedMessageCellBackgroundColor; - -/*! - @abstract - Get Newsfeed UI header cell background color. - - @return UIColor - - @discussion Get Newsfeed UI header cell background color. - */ -+ (UIColor *)getNewsfeedHeaderCellBackgroundColor; - -/*! - @abstract - Get Newsfeed UI message cell text color. - - @return UIColor - - @discussion Get Newsfeed UI message cell text color. - */ -+ (UIColor *)getNewsfeedMessageCellTextColor; - -/*! - @abstract - Get Newsfeed UI header cell text color. - - @return UIColor - - @discussion Get Newsfeed UI header cell text color. - */ -+ (UIColor *)getNewsfeedHeaderCellTextColor; - -/*! - @abstract - Get Newsfeed UI header cell text. - - @return NSString - - @discussion Get Newsfeed UI header cell text. - */ -+ (NSString *)getNewsfeedHeaderCellText; - -/*! - @abstract - Get Notification UI text color. - - @return UIColor - - @discussion Get Notification UI text color. - */ -+ (UIColor *)getNotificationTextColor; - -/*! - @abstract - Get Notification UI background color. - - @return UIColor - - @discussion Get Notification UI background color. - */ -+ (UIColor *)getNotificationBackgroundColor; - -/*! - @abstract - Get Notification UI text font. - - @return UIFont - - @discussion Get Notification UI text font. - */ -+ (UIFont *)getNotificationTextFont; - -/*! - @abstract - Get a custom header UIView for the Newsfeed UI. - - @return UIView - - @discussion Get a custom header UIView for the Newsfeed UI. - */ -+ (UIView *)getCustomNewsfeedHeaderView; - -/*! - @abstract - Get the orientation of the CBNewsfeedUI. - - @return UIInterfaceOrientation - - @discussion Get the orientation of the CBNewsfeedUI. - */ -+ (UIInterfaceOrientation)getOrientation; - -@end - diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/CBStory.h b/iosadapters/Chartboost/Chartboost.framework/Headers/CBStory.h deleted file mode 100644 index 0812ebf..0000000 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/CBStory.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * CBStory.h - * Chartboost - * 5.5.0 - * - * Copyright 2011 Chartboost. All rights reserved. - */ - -/*! - @class CBStory - - @abstract - Provide methods to interact with individual Newsfeed messages and get data from them. - - @discussion For more information on integrating and using the Chartboost SDK - please visit our help site documentation at https://help.chartboost.com - */ -@interface CBStory : NSObject - -/*! @abstract Unique identifier. */ -@property (nonatomic, strong, readonly) NSString *storyID; -/*! @abstract Unix timestamp of message creation time. */ -@property (nonatomic, assign, readonly) NSUInteger storySent; -/*! @abstract Message title. */ -@property (nonatomic, strong, readonly) NSString *storyTitle; -/*! @abstract Message body. */ -@property (nonatomic, strong, readonly) NSString *storyContent; -/*! @abstract URL for message icon. */ -@property (nonatomic, strong, readonly) NSString *storyImageURL; -/*! @abstract Total views for this user for this message. */ -@property (nonatomic, assign, readonly) NSUInteger storyViews; -/*! @abstract Total clicks for this user for this message. */ -@property (nonatomic, assign, readonly) NSUInteger storyClicks; -/*! @abstract If message uses time based expiration this is the unix timestamp of that time. */ -@property (nonatomic, assign, readonly) NSUInteger storyExpires; -/*! @abstract Max clicks allowed for this message before expiration. */ -@property (nonatomic, assign, readonly) NSUInteger storyMaxClicks; -/*! @abstract Max views allowed for this message before expiration. */ -@property (nonatomic, assign, readonly) NSUInteger storyMaxViews; -/*! @abstract The URL action to perform on clicking the message. */ -@property (nonatomic, strong, readonly) NSString *storyLink; -/*! @abstract If this message should show a notification. */ -@property (nonatomic, assign, readonly) BOOL storyShowNotification; -/*! @abstract If this message should show an expiration time. */ -@property (nonatomic, assign, readonly) BOOL storyShowExpiration; -/*! @abstract When the message has been viewed. */ -@property (nonatomic, assign, readonly) NSUInteger storyViewed; -/*! @abstract Total number of hours til expiration. */ -@property (nonatomic, assign, readonly) NSUInteger storyExpiresHours; - -/*! - @abstract - Mark a Newsfeed message as viewed from the Newsfeed UI. - - @param successBlock Function callback on successfully sending data to server. - - @param failureBlock Function callback on failing sending data to server. - - @discussion This method will first locally mark the CBStory as viewed and then attempt - to notify the Chartboost API servers of the change. If this request fails the CBStory - will revert the local change. - */ -- (void)markViewedWithSuccessBlock:(void (^)(CBStory* story))successBlock - withFailureBlock:(void (^)(NSError *error, NSDictionary *response))failureBlock; - -/*! - @abstract - Mark a Newsfeed message as clicked from the Newsfeed UI. - - @param successBlock Function callback on successfully sending data to server. - - @param failureBlock Function callback on failing sending data to server. - - @discussion This method will first locally mark the CBStory as clicked and then attempt - to notify the Chartboost API servers of the change. If this request fails the CBStory - will revert the local change. - */ -- (void)markClickedWithSuccessBlock:(void (^)(CBStory* story))successBlock - withFailureBlock:(void (^)(NSError *error, NSDictionary *response))failureBlock; - - -/*! - @abstract - Mark a Newsfeed message as clicked from the Notification UI. - - @param successBlock Function callback on successfully sending data to server. - - @param failureBlock Function callback on failing sending data to server. - - @discussion This method will first locally mark the CBStory as clicked and then attempt - to notify the Chartboost API servers of the change. If this request fails the CBStory - will revert the local change. - */ -- (void)markNotificationClickedWithSuccessBlock:(void (^)(CBStory* story))successBlock - withFailureBlock:(void (^)(NSError *error, NSDictionary *response))failureBlock; - - -/*! - @abstract - Mark a Newsfeed message as viewed from the Notification UI. - - @param successBlock Function callback on successfully sending data to server. - - @param failureBlock Function callback on failing sending data to server. - - @discussion This method will first locally mark the CBStory as viewed and then attempt - to notify the Chartboost API servers of the change. If this request fails the CBStory - will revert the local change. - */ -- (void)markNotificationViewedWithSuccessBlock:(void (^)(CBStory* story))successBlock - withFailureBlock:(void (^)(NSError *error, NSDictionary *response))failureBlock; - -@end diff --git a/iosadapters/Chartboost/Chartboost.framework/Headers/Chartboost.h b/iosadapters/Chartboost/Chartboost.framework/Headers/Chartboost.h index 8f00cd1..288177f 100644 --- a/iosadapters/Chartboost/Chartboost.framework/Headers/Chartboost.h +++ b/iosadapters/Chartboost/Chartboost.framework/Headers/Chartboost.h @@ -1,7 +1,7 @@ /* * Chartboost.h * Chartboost - * 5.5.0 + * 6.0.1 * * Copyright 2011 Chartboost. All rights reserved. */ @@ -38,6 +38,32 @@ typedef NS_ENUM(NSUInteger, CBFramework) { CBFrameworkWeeby }; +/*! + @typedef NS_ENUM (NSUInteger, CBMediation) + + @abstract + Used with setMediation:(CBMediation)library calls to set mediation library name + partners. If you don't see your library here, contact support. + */ +typedef NS_ENUM(NSUInteger, CBMediation) { + /*! Unknown. Other */ + CBMediationOther, + /*! AdMarvel */ + CBMediationAdMarvel, + /*! Fuse */ + CBMediationFuse, + /*! Fyber */ + CBMediationFyber, + /*! HeyZap */ + CBMediationHeyZap, + /*! MoPub */ + CBMediationMoPub, + /*! Supersonic */ + CBMediationSupersonic, +}; + + + /*! @typedef NS_ENUM (NSUInteger, CBLoadError) @@ -67,6 +93,8 @@ typedef NS_ENUM(NSUInteger, CBLoadError) { CBLoadErrorNoLocationFound, /*! Video Prefetching is not finished */ CBLoadErrorPrefetchingIncomplete, + /*! There is an impression already visible.*/ + CBLoadErrorImpressionAlreadyVisible }; /*! @@ -413,13 +441,14 @@ example setFramework:Unity withVersion:4.6, setFrameworkVersion:5.2.1 /*! @abstract Set a custom mediation library to append to the POST body of every request. - example setMediation:@"MoPub" withVersion:@"3.8.0" + example setMediation:CBMediationMoPub withVersion:@"3.8.0" + @param library The constant for the name of the mediation library. @param libraryVersion The version sent as a string. @discussion This is an internal method used by mediation partners to track their usage. */ -+ (void)setMediation:(NSString *)libraryName withVersion:(NSString*)libraryVersion; ++ (void)setMediation:(CBMediation)library withVersion:(NSString*)libraryVersion; /*! @abstract diff --git a/iosadapters/Chartboost/libChartboostAdapter.a b/iosadapters/Chartboost/libChartboostAdapter.a index d746d35..611e0f0 100644 Binary files a/iosadapters/Chartboost/libChartboostAdapter.a and b/iosadapters/Chartboost/libChartboostAdapter.a differ diff --git a/iosadapters/GDT/.DS_Store b/iosadapters/GDT/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/iosadapters/GDT/.DS_Store and /dev/null differ diff --git a/iosadapters/GDT/libGDTAdapter.a b/iosadapters/GDT/libGDTAdapter.a index b0de56a..77d97ab 100644 Binary files a/iosadapters/GDT/libGDTAdapter.a and b/iosadapters/GDT/libGDTAdapter.a differ diff --git a/iosadapters/MMedia/.DS_Store b/iosadapters/MMedia/.DS_Store index 26e2136..5008ddf 100644 Binary files a/iosadapters/MMedia/.DS_Store and b/iosadapters/MMedia/.DS_Store differ diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAd.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAd.h new file mode 100644 index 0000000..23c6b9f --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAd.h @@ -0,0 +1,30 @@ +// +// MMAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAd_Header_h +#define MMAd_Header_h + +#import + +/** + * The base class for all ad placement types. This class should not be directly instantiated. + */ +@interface MMAd : NSObject +/** + * Initializes a newly created ad. + * + * @param apid The APID (ad placement ID). + */ +-(nullable instancetype)initWithPlacementId:(nonnull NSString*)placementId; + +/** + * The APID provided at the time of ad creation. This value cannot be changed. + */ +@property (nonatomic, readonly, nonnull) NSString* placementId; +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAdSDK.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAdSDK.h new file mode 100644 index 0000000..9da8658 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAdSDK.h @@ -0,0 +1,21 @@ +// +// MMAdSDK.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAdSDK_Header_h +#define MMAdSDK_Header_h + +#import "MMSDK.h" +#import "MMAppSettings.h" +#import "MMUserSettings.h" +#import "MMRequestInfo.h" +#import "MMAd.h" +#import "MMInlineAd.h" +#import "MMInterstitialAd.h" +#import "MMNativeAd.h" +#import "MMSDKErrors.h" + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAppSettings.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAppSettings.h new file mode 100644 index 0000000..8828198 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMAppSettings.h @@ -0,0 +1,39 @@ +// +// MMAppSettings.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAppSettings_Header_h +#define MMAppSettings_Header_h + +@import Foundation; + +/** + * The object used to configure persistent app-wide settings which are integral for SDK operation. + */ +@interface MMAppSettings : NSObject + +/** The siteId of this application. */ +@property (nonatomic, copy, nullable) NSString *siteId; + +/** The mediator initializing ad requests. Should only be set by mediation adapters. */ +@property (nonatomic, copy, nullable) NSString *mediator; + +/** + * Returns the current state of COPPA (Children's Online Privacy Protection Act) for the SDK. + * + * Returns `nil` if this value has not been explicitly set, or `"true"` or `"false"` based on the + * value set in `setCoppaCompliance:`. + */ +@property (nonatomic, readonly, nullable) NSString *coppa; + +/** + * Set to `YES` to enforce COPPA (Children's Online Privacy Protection Act) restrictions on ads returned by the ad server. +*/ +- (void)setCoppaCompliance:(BOOL)compliance; + +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMInlineAd.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMInlineAd.h new file mode 100644 index 0000000..0144cb3 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMInlineAd.h @@ -0,0 +1,297 @@ +// +// MMInlineAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMInlineAd_Header_h +#define MMInlineAd_Header_h + +#import +#import + +#import "MMAd.h" + +/** + * A special value used to disable the refresh interval for inline ads. + */ +extern const NSTimeInterval MMInlineDisableRefresh; + +@class MMRequestInfo; +@class MMInlineAd; + +NS_ASSUME_NONNULL_BEGIN + +/** + * The delegate of an MMInlineAd object. This delegate provides information about the relevant placement and ad activity + * that an application may need to respond to. + */ +@protocol MMInlineDelegate +@required +/** + * The view controller over which modal content will be displayed. + * + * @return A view controller that is used for presenting modal content. + */ +- (UIViewController *)viewControllerForPresentingModalView; + +@optional +/** + * Callback indicating that an ad request has succeeded. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was successfully requested. + */ +-(void)inlineAdRequestDidSucceed:(MMInlineAd*)ad; + +/** + * Callback indicating that ad content failed to load or render. + * + * This method is always called on the main thread. + * + * @param ad The ad placement for which the request failed. + * @param error The error indicating the failure. + */ +-(void)inlineAd:(MMInlineAd*)ad requestDidFailWithError:(NSError*)error; + +/** + * Callback indicating that the user has interacted with ad content. + * + * This callback should not be used to adjust the contents of your application -- it should + * be used only for the purposes of reporting. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was tapped. + */ +-(void)inlineAdContentTapped:(MMInlineAd*)ad; + +/** + * Callback indicating that the ad is preparing to be resized. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + * @param frame The size and location of the ad placement. + * @param isClosingResize This flag indicates the resize close button was tapped, causing a resize to the default/original size. + */ +-(void)inlineAd:(MMInlineAd*)ad willResizeTo:(CGRect)frame isClosing:(BOOL)isClosingResize; + +/** + * Callback indicating the ad has finished resizing. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + * @param frame The size and location of the ad placement. + * @param isClosingResize This flag indicates the resize close button was tapped, causing a resize to the default/original size. + */ +-(void)inlineAd:(MMInlineAd*)ad didResizeTo:(CGRect)frame isClosing:(BOOL)isClosingResize; + +/** + * Callback indicating that the ad is preparing to present a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdWillPresentModal:(MMInlineAd *)ad; + +/** + * Callback indicating that the ad has presented a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdDidPresentModal:(MMInlineAd *)ad; + +/** + * Callback indicating that the ad is preparing to dismiss a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdWillCloseModal:(MMInlineAd *)ad; + +/** + * Callback indicating that the ad has dismissed a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdDidCloseModal:(MMInlineAd *)ad; + +/** + * Callback invoked prior to the application going into the background due to a user interaction with an ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdWillLeaveApplication:(MMInlineAd *)ad; + +/** + * Callback invoked when an abort for an in-progress request successfully stops processing. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdAbortDidSucceed:(MMInlineAd*)ad; + +/** + * Callback invoked when an abort for an in-progress request fails. + * + * Note that depending on the reason for abort failure, the relevant delegate callback + * (inlineAdRequestDidSucceed: or inlineAd:requestDidFailWithError:) is invoked *before* + * this method. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + * @param error Error indicating the manner in which the abort failed. + */ +-(void)inlineAd:(MMInlineAd*)ad abortDidFailWithError:(NSError*)error; + +@end + +/** + * Sizing constants for inline ads. + */ +typedef NS_ENUM(NSInteger, MMInlineAdSize) { + /** An inline placement sized for a 320x50 banner ad. */ + MMInlineAdSizeBanner = 0, + /** An inline placement sized for a 320x100 banner ad. */ + MMInlineAdSizeLargeBanner, + /** An inline placement sized for a 300x250 rectangle ad. */ + MMInlineAdSizeMediumRectangle, + /** An inline placement sized for a 468x60 full size banner ad. */ + MMInlineAdSizeFullBanner, + /** An inline placement sized for a 728x90 leaderboard ad. */ + MMInlineAdSizeLeaderboard, + /** An inline placement sized for a flexible (device) width and height. Height may vary by device, orientation, or ad network. */ + MMInlineAdSizeFlexible +}; + +/** + * The class representing an "inline" advertisment. Inline ads consist of ads which are meant to be displayed + * alongside other, native content, such as banners or other inserted views. + */ +@interface MMInlineAd : MMAd + +/** + * Initializes an inline placement. + * + * @param placementId The ad's placement ID. + * @param adSize The size of the banner to request. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId adSize:(MMInlineAdSize)adSize; + +/** + * Initializes an inline placement with an explicitly defined size. + * + * @param placementId The ad's placement ID. + * @param freeformSize The explicit size of the placement to request. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId size:(CGSize)freeformSize; + +/** + * The minimum refresh interval, in seconds, for the ad. + * + * The refreshInterval may not be set to a value less than the minimumRefreshInterval. + */ ++(NSTimeInterval)minimumRefreshInterval; + +/** + * Requests an ad, asynchronously, using information supplied in the mmAdRequest dictionary. + * + * If no refreshInterval has been set, a single, non-refreshing ad request will be made. + * If there is a positive refreshInterval, ads will automatically refresh using the interval. + * + * @param requestInfo Additional targeting information relevant to this individual request. This value may be `nil`. + */ +-(void)request:(nullable MMRequestInfo*)requestInfo; + +/** + * Attempts to cancel a currently pending request. + * + * Note that there is not a guarantee that this method will result in canceling a pending request, or that + * a request may be canceled for a reason other than a user-initiated abort. + * + * Additonally, in certain timing-dependent multithread scenarios, an abort may be requested 'too late'. + * This would be where a request has succeeded/failed and is being processed on the appropriate thread, + * while a different thread requests an 'abort'. In this case the abort message is ignored and none of + * the abort callbacks are invoked. + * + * See the documentation for inlineAd:abortDidFailWithError: for details on how this method affects callbacks. + */ +-(void)abort; + +/** + * The view containing the ad. This view should not have its subviews modified, or be styled, in any way. + * + * The MMInlineAd view's bounds are specificed by the size passed in via the constructor. + */ +@property (nonatomic, readonly) UIView* view; + +/** + * The auto-refresh interval for the ad, in seconds. Auto-refreshing is disabled by default. + * + * Setting refreshInterval to a positive value starts auto-refresh for subsequent requests. + * If the value is already non-zero, the new value takes precedence after the next request. + * + * If set to a (positive) value lower than the minimumRefreshInterval, the minimumRefreshInterval + * is used. + * + * Refresh behavior is automatically disabled when a view is not visible onscreen or while + * the app is suspended, and automatically resumes when the view becomes visible or the app + * becomes active. + * + * Setting the `MMInlineDisableRefresh` value disables refresh behavior. + */ +@property (nonatomic, assign) NSTimeInterval refreshInterval; + +/** + * The background color for requested space not filled by the ads. + * + * If this value is not set, it defaults to `[UIColor clearColor]`. + */ +@property (nonatomic, readwrite) UIColor* flexibleBackgroundColor; + +/** + * The transition style for modal presentation of views presented by this inline ad. + * + * The default value is `UIModalTransitionStyleCoverVertical`. `UIModalTransitionStylePartialCurl` + * is not supported and will instead set the default value. + */ +@property (assign, nonatomic) UIModalTransitionStyle modalTransitionStyle; + +/** + * The inline's delegate. + */ +@property (nonatomic, weak, nullable) id delegate; + +/** + * The size of the currently retrieved ad. If no ad has been retrieved this value is `CGSizeZero`. + * + * Note that this value may differ from requestedSize. + */ +@property (nonatomic, readonly) CGSize size; + +/** + * The size which any ads will be requested to fit. + * + * This value is based on the size (or size constant) used at the time of initialization. In the + * case of `MMInlineAdSizeFlexible`, it is the largest size which could be filled with a complete ad. + */ +@property (nonatomic, readonly) CGSize requestedSize; + +@end + +NS_ASSUME_NONNULL_END +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMInterstitialAd.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMInterstitialAd.h new file mode 100644 index 0000000..5a4c40f --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMInterstitialAd.h @@ -0,0 +1,180 @@ +// +// MMInterstitialAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMInterstitialAd_Header_h +#define MMInterstitialAd_Header_h + +#import +#import +#import "MMAd.h" + +@class MMRequestInfo; +@class MMInterstitialAd; + +NS_ASSUME_NONNULL_BEGIN + +/** + * The delegate of an MMInterstitial object. This delegate is responsible for notifications involving the ad which are + * independent of advertiser-supplied interactions with the content that may be of interest to the developer. + */ +@protocol MMInterstitialDelegate +@optional +/** + * Callback fired when an ad load (request and content processing) succeeds. + * + * This method is always invoked on the main thread. + * + * @param ad The ad placement which was successfully requested. + */ +-(void)interstitialAdLoadDidSucceed:(MMInterstitialAd*)ad; + +/** + * Callback fired when an ad load fails. The failure can be caused by failure to either retrieve or parse + * ad content. + * + * This method is always invoked on the main thread. + * + * @param ad The ad placement for which the request failed. + * @param error The error indicating the failure. + */ +-(void)interstitialAd:(MMInterstitialAd*)ad loadDidFailWithError:(NSError*)error; + +/** + * Callback fired when an interstitial will be displayed, but before the display action begins. + * Note that the ad could still fail to display at this point. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which will display. + */ +-(void)interstitialAdWillDisplay:(MMInterstitialAd*)ad; + +/** + * Callback fired when the interstitial is displayed. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which is displayed. + */ +-(void)interstitialAdDidDisplay:(MMInterstitialAd*)ad; + +/** + * Callback fired when an attempt to show the interstitial fails. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which failed to show. + * @param error The error indicating the failure. + */ +-(void)interstitialAd:(MMInterstitialAd*)ad showDidFailWithError:(NSError*)error; + +/** + * Callback fired when an interstitial will be dismissed, but before the dismiss action begins. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which will be dismissed. + */ +-(void)interstitialAdWillDismiss:(MMInterstitialAd*)ad; + +/** + * Callback fired when the interstitial is dismissed. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which was dismissed. + */ +-(void)interstitialAdDidDismiss:(MMInterstitialAd*)ad; + +/** + * Callback fired when the ad expires. + * + * After receiving this message, your app should call -load before attempting to display the interstitial. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which expired. + */ +-(void)interstitialAdDidExpire:(MMInterstitialAd*)ad; + +/** + * Callback fired when the ad is tapped. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was tapped. + */ +-(void)interstitialAdTapped:(MMInterstitialAd*)ad; + +/** + * Callback invoked prior to the application going into the background due to a user interaction with an ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)interstitialAdWillLeaveApplication:(MMInterstitialAd*)ad; + +@end + + +/** + * The MMInterstitialAd class represents an "interstitial" advertisment. Interstitial ads are displayed on their + * own, as full-screen content presented modally. + */ +@interface MMInterstitialAd : MMAd + +/** + * The interstitial's delegate. + */ +@property (nonatomic, weak, nullable) id delegate; + +/** + * Returns YES if the placement has loaded enough data to display the interstitial and NO + * otherwise. + */ +@property (readonly, nonatomic) BOOL ready; + +/** + * Returns YES if the current creative is too old to be displayed and NO otherwise. + * + * If the interstitial indicates that it has expired, you should load the interstitial again before attempting to show it. + */ +@property (readonly, nonatomic) BOOL expired; + +/** + * The transition style for modal presentation of the interstitial. + * + * The default value is `UIModalTransitionStyleCoverVertical`. `UIModalTransitionStylePartialCurl` is not supported + * and will instead set the default value. + */ +@property (assign, nonatomic) UIModalTransitionStyle modalTransitionStyle; + +/** + * Asynchronously load interstitial content. This both retrieves the interstitial and loads its content offscreen. + * + * An ad is only considered 'ready for display' after it has fired its interstitialAdLoadDidSucceed: message. + * + * @param requestInfo Additional targeting information relevant to this individual request. + */ +-(void)load:(nullable MMRequestInfo*)requestInfo; + +/** + * Displays the interstitial ad. + * + * If the ad is not ready for display (has not finished loading or is expired) this will invoke the corresponding + * delegate callback and no other actions will be taken. + * + * @param controller The view controller from which the interstitial will be presented. + */ +-(void)showFromViewController:(UIViewController*)controller; + +@end + +NS_ASSUME_NONNULL_END + +#endif \ No newline at end of file diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMNativeAd.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMNativeAd.h new file mode 100644 index 0000000..e3afbc1 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMNativeAd.h @@ -0,0 +1,436 @@ +// +// MMNativeAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMNativeAd_Header_h +#define MMNativeAd_Header_h + +#import +#import +#import "MMAd.h" + +/* An inline native ad placement. */ +extern NSString* __nonnull const MMNativeAdTypeInline; + +/* An unknown native ad placement. */ +extern NSString* __nonnull const MMNativeAdTypeUnknown; + +typedef NS_ENUM (NSInteger, MMNativeAdComponent) { + /** The body text component of the ad. */ + MMNativeAdComponentBody = 0, + /** The call-to-action component of the ad. */ + MMNativeAdComponentCallToActionButton, + /** The disclaimer text component of the ad. */ + MMNativeAdComponentDisclaimer, + /** The icon image view component of the ad. */ + MMNativeAdComponentIconImageView, + /** The main image view component of the ad. */ + MMNativeAdComponentMainImageView, + /** The rating component of the ad. */ + MMNativeAdComponentRating, + /** The title text component of the ad. */ + MMNativeAdComponentTitle +}; + +@class MMRequestInfo; +@class MMNativeAd; + +NS_ASSUME_NONNULL_BEGIN + +@protocol MMNativeAdDelegate +@required +/** + * The view controller from which views such as landing pages, App Store screens, or other modal views will be presented. + * + * @return The view controller used to present modal views. + */ +-(UIViewController*)viewControllerForPresentingModalView; + +@optional +/** + * Callback fired when a native ad request succeeds, and all parameters are ready for access. + * + * This method is always called on the main thread. + * + * @param ad The native ad placement which was successfully requested. + */ +-(void)nativeAdRequestDidSucceed:(MMNativeAd*)ad; + +/** + * Callback indicating that ad content failed to load or render. + * + * This method is always called on the main thread. + * + * @param ad The native ad placement for which the request failed. + * @param error The error indicating the failure. + */ +-(void)nativeAd:(MMNativeAd*)ad requestDidFailWithError:(NSError*)error; + +/** + * Callback indicating that the user has interacted with ad content. + * + * This callback should not be used to adjust the contents of your application -- it should be used only for the purposes of reporting. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was tapped. + * @param nativeAdComponent The MMNativeAdComponent which was tapped. + * @param instance The instance of the component which was tapped. + */ +-(void)nativeAd:(MMNativeAd*)ad tappedComponent:(MMNativeAdComponent)nativeAdComponent instance:(NSInteger)instance; + +/** + * Callback invoked prior to the application going into the background due to a user interaction with an ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)nativeAdWillLeaveApplication:(MMNativeAd*)ad; + +/** + * Callback fired when an ad expires. + * + * After receiving this message, your app should call -load before attempting to access + * any components of the native ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which expired. + */ +-(void)nativeAdDidExpire:(MMNativeAd*)ad; + +@end + +/** + * The class representing a native advertisement, its content, and the associated actions. + * + * When presenting a native advertisement, you are allowed to style the content + * as you see fit, but should not mix your native app elements with native advertising + * elements to avoid confusion. + */ +@interface MMNativeAd : MMAd + +/** + * Initializes a native ad placement. + * + * @param placementId The identifier of the placement that is used by the server for selecting ad content. + * @param type An NSString object which corresponds to a defined native type, for example, MMNativeAdTypeInline. + * @return The MMNativeAd object. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId adType:(NSString*)nativeAdType; + +/** + * Initializes a native ad placement. + * + * @param placementId The identifier of the placement that is used by the server for selecting ad content. + * @param types An array of `NSString` objects, each of which corresponds to a defined native type, for example, MMNativeAdTypeInline. + * @return The MMNativeAd object. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId supportedTypes:(NSArray*)types; + +/** + * Requests a native ad, asynchronously. + * + * @param requestInfo Additional targeting information relevant to this individual request. + */ +-(void)load:(nullable MMRequestInfo*)requestInfo; + +/** + * Notify the MMNativeAd that the user has tapped in the app's native ad presentation. + * + * Use this method to invoke the default action for taps anywhere in the native ad container view controlled by the app. + */ +-(void)invokeDefaultAction; + +/** + * Notify the MMNativeAd that the app's native ad container view has been presented on screen and is viewable. + * + * To ensure accurate reporting, is important to invoke this method when a valid impression has taken place. + * + * MMAdSDK validates that required components have been accessed by the ad container, an error is logged otherwise. + * + * Supported OpenRTB tracking: + * + * MMNativeAdTypeInline fires the OpenRTB imptrackers if present in the native response. + * Note: jstracker is not supported because there is no webView associated with MMNativeAdTypeInline. + */ +-(void)fireImpression; + +/** + * Load the current native ad into a pre-defined layout, loaded from the specified bundle. + * + * Once a given ad is loaded into a layout, you should not access, display, or modify any of the views of the + * native ad. Impression firing is also handled by the layout, which may have additional logic associated with it + * by the layout designer. + * + * @param bundle A bundle object containing nibs for layout, along with a `layouts.plist` descriptor. See the full + * documentation on constructing a layout bundle for details. + * + * @return An instance of the view loaded from the bundle, with its contents populated with the native ad, or `nil` if + * a view could not be loaded. + */ +-(nullable UIView*)loadIntoLayoutFromBundle:(NSBundle*)bundle; + +/** + * The native ad's delegate. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * The state of the native ad components. + * + * The value will be `YES` when all components are loaded, ready to use, and have not expired, `NO` otherwise. + * Be sure to test isValid before retrieving native ad content to ensure it has not expired. + */ +@property(nonatomic, readonly) BOOL isValid; + +/** + * The type of the native ad. + */ +@property(nonatomic, readonly, nullable) NSString* type; + +/** + * The disclaimer text marking a visual element as an advertisement. + * + * The text value must be displayed and should not be altered. Example disclosure language includes: "Sponsored by [brand]" or "Presented by [brand]" + * + * Default attributes which may be may be altered by the user: + * + * length - recommended maximum length of 25 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 8.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* disclaimer; + +/** + * The disclaimer text marking a visual element as an advertisement. + * + * The text value must be displayed and should not be altered. Example disclosure language includes: "Sponsored by [brand]" or "Presented by [brand]" + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 25 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 8.0 + * + * @param instanceId represents which disclaimer instance to retrieve, starting from 1 + * @return The disclaimer label for the ad, or nil if there is no disclaimer available. + */ +-(nullable UILabel *)disclaimer:(NSInteger)instanceId; + +/** + * An imageView containing the icon image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.iconImageView.frame = self.nativeAdContainer.iconImageView.bounds; + * + * Returns nil if this component is not available. + * + */ +@property (nonatomic, readonly, nullable) UIImageView* iconImageView; + +/** + * An imageView containing the icon image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.iconImageView.frame = self.nativeAdContainer.iconImageView.bounds; + * + * Returns nil if this component is not available. + * + * @param instanceId represents which iconImageView instance to retrieve, starting from 1 + * @return The icon imageView for the ad, or nil if there is no imageView available. + */ +-(nullable UIImageView *)iconImageView:(NSInteger)instanceId; + +/** + * An imageView containing the main image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.mainImageView.frame = self.nativeAdContainer.mainImageView.bounds; + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UIImageView* mainImageView; + +/** + * An imageView containing the main image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.mainImageView.frame = self.nativeAdContainer.mainImageView.bounds; + * + * Returns nil if this component is not available. + * + * @param instanceId represents which mainImageView instance to retrieve, starting from 1 + * @return The main imageView for the ad, or nil if there is no imageView available. + */ +-(nullable UIImageView *)mainImageView:(NSInteger)instanceId; + +/** + * Descriptive text for the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 200 characters for these defaults. + * size - default body label size is (200.0, 60.0) + * font - systemFontOfSize: 9.0 + * number of lines - 5 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* body; + +/** + * Descriptive body text for the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 200 characters for these defaults. + * size - default body label size is (200.0, 60.0) + * font - systemFontOfSize: 9.0 + * number of lines - 5 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which body instance to retrieve, starting from 1 + * @return The body label for the ad, or nil if there is no body label available. + */ +-(nullable UILabel*)body:(NSInteger)instanceId; + +/** + * The title label of the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 16.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* title; + +/** + * The title label of the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 16.0 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which title instance to retrieve, starting from 1 + * @return The title label for the ad, or nil if there is no title label available. + */ +-(nullable UILabel*)title:(NSInteger)instanceId; + +/** + * The call to action button which invokes the associated main action for an ad. + * + * None of the content associated with this button or its actions should be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 5 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UIButton* callToActionButton; + +/** + * The call-to-action button which invokes the associated main action for an ad. + * + * None of the content associated with this button or its actions should be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 5 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which call-to-action button instance to retrieve, starting from 1 + * @return The call-to-action label for the ad, or nil if there is no call-to-action button available. + */ +-(nullable UIButton *)callToActionButton:(NSInteger)instanceId; + +/** + * The rating label for the native ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* rating; + +/** + * The rating label of the ad. The text value must be displayed and should not be altered. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which rating instance to retrieve, starting from 1 + * @return The rating label for the ad, or nil if there is no rating label available. + */ +-(nullable UILabel *)rating:(NSInteger)instanceId; + +@end + +NS_ASSUME_NONNULL_END + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMRequestInfo.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMRequestInfo.h new file mode 100644 index 0000000..750b379 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMRequestInfo.h @@ -0,0 +1,24 @@ +// +// MMRequestInfo.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMRequestInfo_Header_h +#define MMRequestInfo_Header_h + +#import + +/** + * The object used to configure per-request settings. This object should only be constructed if the context in + * which your ad placement request is made can be used to imply any additional information useful for targeting. + */ +@interface MMRequestInfo : NSObject + +/** Keywords relevant to this individual request, e.g. `["videotapes"]` */ +@property (nonatomic, copy, nullable) NSArray* keywords; + +@end + +#endif \ No newline at end of file diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMSDK.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMSDK.h new file mode 100644 index 0000000..67c1dfb --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMSDK.h @@ -0,0 +1,138 @@ +// +// MMSDK.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMSDK_Header_h +#define MMSDK_Header_h + +@import Foundation; +@import CoreLocation; + +typedef NS_OPTIONS(NSUInteger, MMLogFlag) { + MMLogFlagError = (1 << 0), + MMLogFlagWarn = (1 << 1), + MMLogFlagInfo = (1 << 2), + MMLogFlagDebug = (1 << 3) +}; + +/** + * Log levels for the SDK. `Error` is the least verbose level, `Debug` the most verbose. + * Using these values rather than the `MMLogFlag` enum is recommended. + */ +typedef NS_ENUM(NSUInteger, MMLogLevel) { + MMLogLevelError = MMLogFlagError, + MMLogLevelWarn = (MMLogLevelError|MMLogFlagWarn), + MMLogLevelInfo = (MMLogLevelWarn|MMLogFlagInfo), + MMLogLevelDebug = (MMLogLevelInfo|MMLogFlagDebug) +}; + +@class MMAppSettings; +@class MMUserSettings; + +/** + * The MMSDK class is the global singleton used to initialize the SDK state, and manage shared + * settings. + * + * ## Initializing the MMSDK. + * + * The appSettings object is optional for MMSDK initialization. + * This is a readonly object, however, its properties may be changed after initialization. + * + * The userSettings object is also optional. + * This is a readwrite object, so it may be changed after initialization. + * + * Usage example: + *


+ *    MMAppSettings *appSettings = [[MMAppSettings alloc] init];
+ *    appSettings.siteId = @"";
+ *    appSettings.mediator = @"";
+ *    [appSettings setCoppaCompliance:];
+ *
+ *    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+ *    [dateFormatter setDateFormat:@"MM/dd/yyyy"];
+ *    NSDate *dateOfBirth = [dateFormatter dateFromString:@"12/25/1985"];
+ *
+ *    MMUserSettings *userSettings = [[MMUserSettings alloc] init];
+ *    userSettings.age = @(30);
+ *    userSettings.children = @(3);
+ *    userSettings.education = MMEducationBachelors;
+ *    userSettings.dob = dateOfBirth;
+ *
+ *    [[MMSDK sharedInstance] initializeWithSettings:appSettings withUserSettings:userSettings];
+ * 
+ */ +@interface MMSDK : NSObject + +/** + * The shared instance of the Millennial Media SDK. + * + * @return The MMSDK singleton. + */ ++(nonnull instancetype)sharedInstance; + +/** + * Sets the console log level for the SDK. + * + * @param level The log level to be set. + */ ++(void)setLogLevel:(MMLogLevel)level; + +/** + * Initializes the SDK as a whole. This must be called before any ads are requested. + * + * @param appSettings The appSettings object. Optional. + * @param userSettings The userSettings object. Optional. + */ +-(void)initializeWithSettings:(nullable MMAppSettings *)appSettings withUserSettings:(nullable MMUserSettings *)userSettings; + +/** + * The version of the Millennial Ad SDK. + * + * @return The semantic version of the SDK. + */ +-(nonnull NSString*)version; + +/** + * Whether or not to send geolocation information along with each ad request. + * + * When set to YES, location information is sent with ad requests ONLY if location permissions are granted for the app. + * Enabling this will NOT prompt the user for location authorization. Providing location data will help to serve more + * relevant ads to your users. + * + * Set to NO to explicitly disable sending location information with ad requests. Default is YES. + */ +@property (nonatomic, assign) BOOL sendLocationIfAvailable; + +/** + * The CLLocationManager initialized and started by the Millennial Media SDK when location permission is granted by the + * user and sendLocationIfAvailable is set to YES. + * + * This is a readonly property and will be nil when sending location information is explicitly disabled. + */ +@property (nonatomic, readonly, nullable) CLLocationManager* locationManager; + +/** + * Whether or not the SDK has been initialized. The SDK must be initialized before any ads are requested. + */ +@property (nonatomic, assign, readonly) BOOL isInitialized; + +/** + * The SDK's global settings for the application. This object must be set when initializing the SDK. + * + * Although this is a read-only property, the returned `MMAppSettings` object may be modified in-place to update + * any relevant values. + */ +@property (nonatomic, readonly, nullable) MMAppSettings* appSettings; + +/** + * The SDK's user settings object. This can be reset during normal app operations and does not have to be provided + * at the time of initialization. + */ +@property (nonatomic, readwrite, nullable) MMUserSettings* userSettings; + +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMSDKErrors.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMSDKErrors.h new file mode 100644 index 0000000..53166fc --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMSDKErrors.h @@ -0,0 +1,85 @@ +// +// MMSDKErrors.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAdSDK_Errors_h +#define MMAdSDK_Errors_h + +#pragma mark - Error codes + +extern NSString* __nonnull const MMSDKErrorDomain; + +/** The errors which can be returned from the SDK in the `MMSDKErrorDomain`. */ +typedef NS_ENUM(NSInteger, MMSDKError) { + /** The server returned a response code indicating an error when an ad request was made. */ + MMSDKErrorServerResponseBadStatus = -1, + /** The server did not return any valid content when a request was made. */ + MMSDKErrorServerResponseNoContent = -2, + /** The native object is missing an advertiser required component. */ + MMSDKErrorNativeAdMissingRequiredComponent = -4, + /** A request for this placement instance is already in progress. */ + MMSDKErrorPlacementRequestInProgress = -6, + /** An interstitial ad is already loaded for this object. */ + MMSDKErrorInterstitialAdAlreadyLoaded = -7, + /** The interstitial ad is expired and cannot be shown. */ + MMSDKErrorInterstitialAdExpired = -8, + /** The interstitial ad is not ready to be shown. */ + MMSDKErrorInterstitialAdNotReady = -9, + /** The interstitial ad content is not available to be shown. */ + MMSDKErrorInterstitialAdContentUnavailable = -10, + /** The interstitial ad could not be presented because no view controller was provided. */ + MMSDKErrorInterstitialNoViewControllerProvided = -11, + /** The interstitial ad could not be presented because it is already presented. */ + MMSDKErrorInterstitialViewControllerAlreadyPresented = -12, + /** The video player set up failed. */ + MMSDKErrorVideoSetUpFailed = -13, + /** 'Play' was sent to the video when it was not ready to play. */ + MMSDKErrorVideoNotReady = -14, + /** The video player stalled. */ + MMSDKErrorVideoStalled = -15, + /** Error during video playback. */ + MMSDKErrorVideoPlaybackFailed = -16, + /** The video player timed out while loading a video. */ + MMSDKErrorVideoPlayerVideoLoadTimeout = -17, + /** The video player timed out during preparation to play. */ + MMSDKErrorVideoPlayerVideoPrepareTimeout = -18, + /** The VAST document did not contain a compatible media file. */ + MMSDKErrorVASTNoCompatibleMediaFile = -19, + /** An error was encountered during VAST parsing. */ + MMSDKErrorVASTParserFailure = -20, + /** The client SDK being mediated to experienced an error. */ + MMSDKErrorClientMediationError = 21, + /** SDK requests have been disabled for this application. Please contact your Account Manager to resolve the issue. */ + MMSDKErrorRequestsDisabled = -22, + /** The video player wasn't expanded when collapse called. */ + MMSDKErrorVideoPlayerNotExpanded = -23, + /** The video player was areadly expanded. */ + MMSDKErrorVideoPlayerAlreadyExpanded = -24, + /** There was no content available to load (no-fill) */ + MMSDKErrorNoFill = -25, + /** There was a version mismatch between the request and the response. */ + MMSDKErrorVersionMismatch = -26, + /** Downloading media for the ad failed. */ + MMSDKErrorMediaDownloadFailed = -27, + /** A request operation timed out. */ + MMSDKErrorRequestTimeout = -28, + /** The VAST document did not contain an impression. */ + MMSDKErrorVASTMissingRequiredImpression = -29, + /** The VAST document contains more than 3 Wrapper tags. */ + MMSDKErrorVASTExcessiveWrappers = -30, + /** The SDK has not yet been initialized. */ + MMSDKErrorNotInitialized = -31, + /** A request abort was requested, but the request succeeded. */ + MMSDKErrorSuccessDuringAbort = -32, + /** A request abort was requested, but the request failed due to an error. */ + MMSDKErrorFailureDuringAbort = -33, + /** A request abort was requested, but no request was in progress. */ + MMSDKErrorNoRequestAbort = -34 +}; + +#endif + + diff --git a/iosadapters/MMedia/MMAdSDK.framework/Headers/MMUserSettings.h b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMUserSettings.h new file mode 100644 index 0000000..8233c85 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Headers/MMUserSettings.h @@ -0,0 +1,109 @@ +// +// MMUserSettings.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMUserSettings_Header_h +#define MMUserSettings_Header_h + +@import Foundation; + +typedef NS_ENUM (NSInteger, MMEthnicity) { + MMEthnicityHispanic = 1, + MMEthnicityBlack, + MMEthnicityAsian, + MMEthnicityIndian, + MMEthnicityMiddleEastern, + MMEthnicityNativeAmerican, + MMEthnicityPacificIslander, + MMEthnicityWhite, + MMEthnicityOther +}; + +typedef NS_ENUM (NSInteger, MMGender) { + MMGenderMale = 1, + MMGenderFemale, + MMGenderOther +}; + +typedef NS_ENUM (NSInteger, MMMaritalStatus) { + MMMaritalSingle = 1, + MMMaritalMarried, + MMMaritalDivorced, + MMMaritalOther +}; + +typedef NS_ENUM (NSInteger, MMEducation) { + MMEducationHighSchool = 1, + MMEducationSomeCollege, + MMEducationAssociates, + MMEducationBachelors, + MMEducationMasters, + MMEducationDoctorate, + MMEducationProfessional +}; + +typedef NS_ENUM (NSInteger, MMPolitics) { + MMPoliticsRepublican = 1, + MMPoliticsDemocrat, + MMPoliticsConservative, + MMPoliticsModerate, + MMPoliticsLiberal, + MMPoliticsIndependent, + MMPoliticsOther +}; + +/** + * The object used to configure persistent app-wide settings for the current user of the application. + * If your application collects user profile information, this object should be updated whenever that + * information changes. + */ +@interface MMUserSettings : NSObject + +/** The user's age. */ +@property (nonatomic, strong, nullable) NSNumber *age; + +/** The user's date of birth. */ +@property (nonatomic, strong, nullable) NSDate *dob; + +/** The number of children the user has. */ +@property (nonatomic, strong, nullable) NSNumber *children; + +/** The user's annual income. */ +@property (nonatomic, strong, nullable) NSNumber *income; + +/** The user's education level. */ +@property (nonatomic, assign) MMEducation education; + +/** The user's ethnicity. */ +@property (nonatomic, assign) MMEthnicity ethnicity; + +/** The user's gender. */ +@property (nonatomic, assign) MMGender gender; + +/** The user's marital status. */ +@property (nonatomic, assign) MMMaritalStatus maritalStatus; + +/** The user's political affiliation. */ +@property (nonatomic, assign) MMPolitics politics; + +/** The user's state or province of residence. Use the standard two character abbreviation for US State, e.g. `GA`. */ +@property (nonatomic, copy, nullable) NSString *state; + +/** The user's DMA. Standard 3 character DMA code. e.g. `501` */ +@property (nonatomic, copy, nullable) NSString *dma; + +/** The user's postal code, e.g. `90210` or `M9A3G9` */ +@property (nonatomic, copy, nullable) NSString* postalCode; + +/** The user's country of residence. */ +@property (nonatomic, copy, nullable) NSString *country; + +/** Keywords relevant to the current user of the application, e.g. `["sports", "huey lewis"]` */ +@property (nonatomic, copy, nullable) NSArray *keywords; + +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/MMAdSDK b/iosadapters/MMedia/MMAdSDK.framework/MMAdSDK new file mode 100644 index 0000000..27576e3 Binary files /dev/null and b/iosadapters/MMedia/MMAdSDK.framework/MMAdSDK differ diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAd.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAd.h new file mode 100644 index 0000000..23c6b9f --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAd.h @@ -0,0 +1,30 @@ +// +// MMAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAd_Header_h +#define MMAd_Header_h + +#import + +/** + * The base class for all ad placement types. This class should not be directly instantiated. + */ +@interface MMAd : NSObject +/** + * Initializes a newly created ad. + * + * @param apid The APID (ad placement ID). + */ +-(nullable instancetype)initWithPlacementId:(nonnull NSString*)placementId; + +/** + * The APID provided at the time of ad creation. This value cannot be changed. + */ +@property (nonatomic, readonly, nonnull) NSString* placementId; +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAdSDK.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAdSDK.h new file mode 100644 index 0000000..9da8658 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAdSDK.h @@ -0,0 +1,21 @@ +// +// MMAdSDK.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAdSDK_Header_h +#define MMAdSDK_Header_h + +#import "MMSDK.h" +#import "MMAppSettings.h" +#import "MMUserSettings.h" +#import "MMRequestInfo.h" +#import "MMAd.h" +#import "MMInlineAd.h" +#import "MMInterstitialAd.h" +#import "MMNativeAd.h" +#import "MMSDKErrors.h" + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAppSettings.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAppSettings.h new file mode 100644 index 0000000..8828198 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMAppSettings.h @@ -0,0 +1,39 @@ +// +// MMAppSettings.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAppSettings_Header_h +#define MMAppSettings_Header_h + +@import Foundation; + +/** + * The object used to configure persistent app-wide settings which are integral for SDK operation. + */ +@interface MMAppSettings : NSObject + +/** The siteId of this application. */ +@property (nonatomic, copy, nullable) NSString *siteId; + +/** The mediator initializing ad requests. Should only be set by mediation adapters. */ +@property (nonatomic, copy, nullable) NSString *mediator; + +/** + * Returns the current state of COPPA (Children's Online Privacy Protection Act) for the SDK. + * + * Returns `nil` if this value has not been explicitly set, or `"true"` or `"false"` based on the + * value set in `setCoppaCompliance:`. + */ +@property (nonatomic, readonly, nullable) NSString *coppa; + +/** + * Set to `YES` to enforce COPPA (Children's Online Privacy Protection Act) restrictions on ads returned by the ad server. +*/ +- (void)setCoppaCompliance:(BOOL)compliance; + +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMInlineAd.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMInlineAd.h new file mode 100644 index 0000000..0144cb3 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMInlineAd.h @@ -0,0 +1,297 @@ +// +// MMInlineAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMInlineAd_Header_h +#define MMInlineAd_Header_h + +#import +#import + +#import "MMAd.h" + +/** + * A special value used to disable the refresh interval for inline ads. + */ +extern const NSTimeInterval MMInlineDisableRefresh; + +@class MMRequestInfo; +@class MMInlineAd; + +NS_ASSUME_NONNULL_BEGIN + +/** + * The delegate of an MMInlineAd object. This delegate provides information about the relevant placement and ad activity + * that an application may need to respond to. + */ +@protocol MMInlineDelegate +@required +/** + * The view controller over which modal content will be displayed. + * + * @return A view controller that is used for presenting modal content. + */ +- (UIViewController *)viewControllerForPresentingModalView; + +@optional +/** + * Callback indicating that an ad request has succeeded. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was successfully requested. + */ +-(void)inlineAdRequestDidSucceed:(MMInlineAd*)ad; + +/** + * Callback indicating that ad content failed to load or render. + * + * This method is always called on the main thread. + * + * @param ad The ad placement for which the request failed. + * @param error The error indicating the failure. + */ +-(void)inlineAd:(MMInlineAd*)ad requestDidFailWithError:(NSError*)error; + +/** + * Callback indicating that the user has interacted with ad content. + * + * This callback should not be used to adjust the contents of your application -- it should + * be used only for the purposes of reporting. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was tapped. + */ +-(void)inlineAdContentTapped:(MMInlineAd*)ad; + +/** + * Callback indicating that the ad is preparing to be resized. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + * @param frame The size and location of the ad placement. + * @param isClosingResize This flag indicates the resize close button was tapped, causing a resize to the default/original size. + */ +-(void)inlineAd:(MMInlineAd*)ad willResizeTo:(CGRect)frame isClosing:(BOOL)isClosingResize; + +/** + * Callback indicating the ad has finished resizing. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + * @param frame The size and location of the ad placement. + * @param isClosingResize This flag indicates the resize close button was tapped, causing a resize to the default/original size. + */ +-(void)inlineAd:(MMInlineAd*)ad didResizeTo:(CGRect)frame isClosing:(BOOL)isClosingResize; + +/** + * Callback indicating that the ad is preparing to present a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdWillPresentModal:(MMInlineAd *)ad; + +/** + * Callback indicating that the ad has presented a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdDidPresentModal:(MMInlineAd *)ad; + +/** + * Callback indicating that the ad is preparing to dismiss a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdWillCloseModal:(MMInlineAd *)ad; + +/** + * Callback indicating that the ad has dismissed a modal view. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdDidCloseModal:(MMInlineAd *)ad; + +/** + * Callback invoked prior to the application going into the background due to a user interaction with an ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdWillLeaveApplication:(MMInlineAd *)ad; + +/** + * Callback invoked when an abort for an in-progress request successfully stops processing. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)inlineAdAbortDidSucceed:(MMInlineAd*)ad; + +/** + * Callback invoked when an abort for an in-progress request fails. + * + * Note that depending on the reason for abort failure, the relevant delegate callback + * (inlineAdRequestDidSucceed: or inlineAd:requestDidFailWithError:) is invoked *before* + * this method. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + * @param error Error indicating the manner in which the abort failed. + */ +-(void)inlineAd:(MMInlineAd*)ad abortDidFailWithError:(NSError*)error; + +@end + +/** + * Sizing constants for inline ads. + */ +typedef NS_ENUM(NSInteger, MMInlineAdSize) { + /** An inline placement sized for a 320x50 banner ad. */ + MMInlineAdSizeBanner = 0, + /** An inline placement sized for a 320x100 banner ad. */ + MMInlineAdSizeLargeBanner, + /** An inline placement sized for a 300x250 rectangle ad. */ + MMInlineAdSizeMediumRectangle, + /** An inline placement sized for a 468x60 full size banner ad. */ + MMInlineAdSizeFullBanner, + /** An inline placement sized for a 728x90 leaderboard ad. */ + MMInlineAdSizeLeaderboard, + /** An inline placement sized for a flexible (device) width and height. Height may vary by device, orientation, or ad network. */ + MMInlineAdSizeFlexible +}; + +/** + * The class representing an "inline" advertisment. Inline ads consist of ads which are meant to be displayed + * alongside other, native content, such as banners or other inserted views. + */ +@interface MMInlineAd : MMAd + +/** + * Initializes an inline placement. + * + * @param placementId The ad's placement ID. + * @param adSize The size of the banner to request. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId adSize:(MMInlineAdSize)adSize; + +/** + * Initializes an inline placement with an explicitly defined size. + * + * @param placementId The ad's placement ID. + * @param freeformSize The explicit size of the placement to request. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId size:(CGSize)freeformSize; + +/** + * The minimum refresh interval, in seconds, for the ad. + * + * The refreshInterval may not be set to a value less than the minimumRefreshInterval. + */ ++(NSTimeInterval)minimumRefreshInterval; + +/** + * Requests an ad, asynchronously, using information supplied in the mmAdRequest dictionary. + * + * If no refreshInterval has been set, a single, non-refreshing ad request will be made. + * If there is a positive refreshInterval, ads will automatically refresh using the interval. + * + * @param requestInfo Additional targeting information relevant to this individual request. This value may be `nil`. + */ +-(void)request:(nullable MMRequestInfo*)requestInfo; + +/** + * Attempts to cancel a currently pending request. + * + * Note that there is not a guarantee that this method will result in canceling a pending request, or that + * a request may be canceled for a reason other than a user-initiated abort. + * + * Additonally, in certain timing-dependent multithread scenarios, an abort may be requested 'too late'. + * This would be where a request has succeeded/failed and is being processed on the appropriate thread, + * while a different thread requests an 'abort'. In this case the abort message is ignored and none of + * the abort callbacks are invoked. + * + * See the documentation for inlineAd:abortDidFailWithError: for details on how this method affects callbacks. + */ +-(void)abort; + +/** + * The view containing the ad. This view should not have its subviews modified, or be styled, in any way. + * + * The MMInlineAd view's bounds are specificed by the size passed in via the constructor. + */ +@property (nonatomic, readonly) UIView* view; + +/** + * The auto-refresh interval for the ad, in seconds. Auto-refreshing is disabled by default. + * + * Setting refreshInterval to a positive value starts auto-refresh for subsequent requests. + * If the value is already non-zero, the new value takes precedence after the next request. + * + * If set to a (positive) value lower than the minimumRefreshInterval, the minimumRefreshInterval + * is used. + * + * Refresh behavior is automatically disabled when a view is not visible onscreen or while + * the app is suspended, and automatically resumes when the view becomes visible or the app + * becomes active. + * + * Setting the `MMInlineDisableRefresh` value disables refresh behavior. + */ +@property (nonatomic, assign) NSTimeInterval refreshInterval; + +/** + * The background color for requested space not filled by the ads. + * + * If this value is not set, it defaults to `[UIColor clearColor]`. + */ +@property (nonatomic, readwrite) UIColor* flexibleBackgroundColor; + +/** + * The transition style for modal presentation of views presented by this inline ad. + * + * The default value is `UIModalTransitionStyleCoverVertical`. `UIModalTransitionStylePartialCurl` + * is not supported and will instead set the default value. + */ +@property (assign, nonatomic) UIModalTransitionStyle modalTransitionStyle; + +/** + * The inline's delegate. + */ +@property (nonatomic, weak, nullable) id delegate; + +/** + * The size of the currently retrieved ad. If no ad has been retrieved this value is `CGSizeZero`. + * + * Note that this value may differ from requestedSize. + */ +@property (nonatomic, readonly) CGSize size; + +/** + * The size which any ads will be requested to fit. + * + * This value is based on the size (or size constant) used at the time of initialization. In the + * case of `MMInlineAdSizeFlexible`, it is the largest size which could be filled with a complete ad. + */ +@property (nonatomic, readonly) CGSize requestedSize; + +@end + +NS_ASSUME_NONNULL_END +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMInterstitialAd.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMInterstitialAd.h new file mode 100644 index 0000000..5a4c40f --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMInterstitialAd.h @@ -0,0 +1,180 @@ +// +// MMInterstitialAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMInterstitialAd_Header_h +#define MMInterstitialAd_Header_h + +#import +#import +#import "MMAd.h" + +@class MMRequestInfo; +@class MMInterstitialAd; + +NS_ASSUME_NONNULL_BEGIN + +/** + * The delegate of an MMInterstitial object. This delegate is responsible for notifications involving the ad which are + * independent of advertiser-supplied interactions with the content that may be of interest to the developer. + */ +@protocol MMInterstitialDelegate +@optional +/** + * Callback fired when an ad load (request and content processing) succeeds. + * + * This method is always invoked on the main thread. + * + * @param ad The ad placement which was successfully requested. + */ +-(void)interstitialAdLoadDidSucceed:(MMInterstitialAd*)ad; + +/** + * Callback fired when an ad load fails. The failure can be caused by failure to either retrieve or parse + * ad content. + * + * This method is always invoked on the main thread. + * + * @param ad The ad placement for which the request failed. + * @param error The error indicating the failure. + */ +-(void)interstitialAd:(MMInterstitialAd*)ad loadDidFailWithError:(NSError*)error; + +/** + * Callback fired when an interstitial will be displayed, but before the display action begins. + * Note that the ad could still fail to display at this point. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which will display. + */ +-(void)interstitialAdWillDisplay:(MMInterstitialAd*)ad; + +/** + * Callback fired when the interstitial is displayed. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which is displayed. + */ +-(void)interstitialAdDidDisplay:(MMInterstitialAd*)ad; + +/** + * Callback fired when an attempt to show the interstitial fails. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which failed to show. + * @param error The error indicating the failure. + */ +-(void)interstitialAd:(MMInterstitialAd*)ad showDidFailWithError:(NSError*)error; + +/** + * Callback fired when an interstitial will be dismissed, but before the dismiss action begins. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which will be dismissed. + */ +-(void)interstitialAdWillDismiss:(MMInterstitialAd*)ad; + +/** + * Callback fired when the interstitial is dismissed. + * + * This method is always called on the main thread. + * + * @param ad The interstitial which was dismissed. + */ +-(void)interstitialAdDidDismiss:(MMInterstitialAd*)ad; + +/** + * Callback fired when the ad expires. + * + * After receiving this message, your app should call -load before attempting to display the interstitial. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which expired. + */ +-(void)interstitialAdDidExpire:(MMInterstitialAd*)ad; + +/** + * Callback fired when the ad is tapped. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was tapped. + */ +-(void)interstitialAdTapped:(MMInterstitialAd*)ad; + +/** + * Callback invoked prior to the application going into the background due to a user interaction with an ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)interstitialAdWillLeaveApplication:(MMInterstitialAd*)ad; + +@end + + +/** + * The MMInterstitialAd class represents an "interstitial" advertisment. Interstitial ads are displayed on their + * own, as full-screen content presented modally. + */ +@interface MMInterstitialAd : MMAd + +/** + * The interstitial's delegate. + */ +@property (nonatomic, weak, nullable) id delegate; + +/** + * Returns YES if the placement has loaded enough data to display the interstitial and NO + * otherwise. + */ +@property (readonly, nonatomic) BOOL ready; + +/** + * Returns YES if the current creative is too old to be displayed and NO otherwise. + * + * If the interstitial indicates that it has expired, you should load the interstitial again before attempting to show it. + */ +@property (readonly, nonatomic) BOOL expired; + +/** + * The transition style for modal presentation of the interstitial. + * + * The default value is `UIModalTransitionStyleCoverVertical`. `UIModalTransitionStylePartialCurl` is not supported + * and will instead set the default value. + */ +@property (assign, nonatomic) UIModalTransitionStyle modalTransitionStyle; + +/** + * Asynchronously load interstitial content. This both retrieves the interstitial and loads its content offscreen. + * + * An ad is only considered 'ready for display' after it has fired its interstitialAdLoadDidSucceed: message. + * + * @param requestInfo Additional targeting information relevant to this individual request. + */ +-(void)load:(nullable MMRequestInfo*)requestInfo; + +/** + * Displays the interstitial ad. + * + * If the ad is not ready for display (has not finished loading or is expired) this will invoke the corresponding + * delegate callback and no other actions will be taken. + * + * @param controller The view controller from which the interstitial will be presented. + */ +-(void)showFromViewController:(UIViewController*)controller; + +@end + +NS_ASSUME_NONNULL_END + +#endif \ No newline at end of file diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMNativeAd.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMNativeAd.h new file mode 100644 index 0000000..e3afbc1 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMNativeAd.h @@ -0,0 +1,436 @@ +// +// MMNativeAd.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMNativeAd_Header_h +#define MMNativeAd_Header_h + +#import +#import +#import "MMAd.h" + +/* An inline native ad placement. */ +extern NSString* __nonnull const MMNativeAdTypeInline; + +/* An unknown native ad placement. */ +extern NSString* __nonnull const MMNativeAdTypeUnknown; + +typedef NS_ENUM (NSInteger, MMNativeAdComponent) { + /** The body text component of the ad. */ + MMNativeAdComponentBody = 0, + /** The call-to-action component of the ad. */ + MMNativeAdComponentCallToActionButton, + /** The disclaimer text component of the ad. */ + MMNativeAdComponentDisclaimer, + /** The icon image view component of the ad. */ + MMNativeAdComponentIconImageView, + /** The main image view component of the ad. */ + MMNativeAdComponentMainImageView, + /** The rating component of the ad. */ + MMNativeAdComponentRating, + /** The title text component of the ad. */ + MMNativeAdComponentTitle +}; + +@class MMRequestInfo; +@class MMNativeAd; + +NS_ASSUME_NONNULL_BEGIN + +@protocol MMNativeAdDelegate +@required +/** + * The view controller from which views such as landing pages, App Store screens, or other modal views will be presented. + * + * @return The view controller used to present modal views. + */ +-(UIViewController*)viewControllerForPresentingModalView; + +@optional +/** + * Callback fired when a native ad request succeeds, and all parameters are ready for access. + * + * This method is always called on the main thread. + * + * @param ad The native ad placement which was successfully requested. + */ +-(void)nativeAdRequestDidSucceed:(MMNativeAd*)ad; + +/** + * Callback indicating that ad content failed to load or render. + * + * This method is always called on the main thread. + * + * @param ad The native ad placement for which the request failed. + * @param error The error indicating the failure. + */ +-(void)nativeAd:(MMNativeAd*)ad requestDidFailWithError:(NSError*)error; + +/** + * Callback indicating that the user has interacted with ad content. + * + * This callback should not be used to adjust the contents of your application -- it should be used only for the purposes of reporting. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which was tapped. + * @param nativeAdComponent The MMNativeAdComponent which was tapped. + * @param instance The instance of the component which was tapped. + */ +-(void)nativeAd:(MMNativeAd*)ad tappedComponent:(MMNativeAdComponent)nativeAdComponent instance:(NSInteger)instance; + +/** + * Callback invoked prior to the application going into the background due to a user interaction with an ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement. + */ +-(void)nativeAdWillLeaveApplication:(MMNativeAd*)ad; + +/** + * Callback fired when an ad expires. + * + * After receiving this message, your app should call -load before attempting to access + * any components of the native ad. + * + * This method is always called on the main thread. + * + * @param ad The ad placement which expired. + */ +-(void)nativeAdDidExpire:(MMNativeAd*)ad; + +@end + +/** + * The class representing a native advertisement, its content, and the associated actions. + * + * When presenting a native advertisement, you are allowed to style the content + * as you see fit, but should not mix your native app elements with native advertising + * elements to avoid confusion. + */ +@interface MMNativeAd : MMAd + +/** + * Initializes a native ad placement. + * + * @param placementId The identifier of the placement that is used by the server for selecting ad content. + * @param type An NSString object which corresponds to a defined native type, for example, MMNativeAdTypeInline. + * @return The MMNativeAd object. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId adType:(NSString*)nativeAdType; + +/** + * Initializes a native ad placement. + * + * @param placementId The identifier of the placement that is used by the server for selecting ad content. + * @param types An array of `NSString` objects, each of which corresponds to a defined native type, for example, MMNativeAdTypeInline. + * @return The MMNativeAd object. + */ +-(nullable instancetype)initWithPlacementId:(NSString*)placementId supportedTypes:(NSArray*)types; + +/** + * Requests a native ad, asynchronously. + * + * @param requestInfo Additional targeting information relevant to this individual request. + */ +-(void)load:(nullable MMRequestInfo*)requestInfo; + +/** + * Notify the MMNativeAd that the user has tapped in the app's native ad presentation. + * + * Use this method to invoke the default action for taps anywhere in the native ad container view controlled by the app. + */ +-(void)invokeDefaultAction; + +/** + * Notify the MMNativeAd that the app's native ad container view has been presented on screen and is viewable. + * + * To ensure accurate reporting, is important to invoke this method when a valid impression has taken place. + * + * MMAdSDK validates that required components have been accessed by the ad container, an error is logged otherwise. + * + * Supported OpenRTB tracking: + * + * MMNativeAdTypeInline fires the OpenRTB imptrackers if present in the native response. + * Note: jstracker is not supported because there is no webView associated with MMNativeAdTypeInline. + */ +-(void)fireImpression; + +/** + * Load the current native ad into a pre-defined layout, loaded from the specified bundle. + * + * Once a given ad is loaded into a layout, you should not access, display, or modify any of the views of the + * native ad. Impression firing is also handled by the layout, which may have additional logic associated with it + * by the layout designer. + * + * @param bundle A bundle object containing nibs for layout, along with a `layouts.plist` descriptor. See the full + * documentation on constructing a layout bundle for details. + * + * @return An instance of the view loaded from the bundle, with its contents populated with the native ad, or `nil` if + * a view could not be loaded. + */ +-(nullable UIView*)loadIntoLayoutFromBundle:(NSBundle*)bundle; + +/** + * The native ad's delegate. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * The state of the native ad components. + * + * The value will be `YES` when all components are loaded, ready to use, and have not expired, `NO` otherwise. + * Be sure to test isValid before retrieving native ad content to ensure it has not expired. + */ +@property(nonatomic, readonly) BOOL isValid; + +/** + * The type of the native ad. + */ +@property(nonatomic, readonly, nullable) NSString* type; + +/** + * The disclaimer text marking a visual element as an advertisement. + * + * The text value must be displayed and should not be altered. Example disclosure language includes: "Sponsored by [brand]" or "Presented by [brand]" + * + * Default attributes which may be may be altered by the user: + * + * length - recommended maximum length of 25 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 8.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* disclaimer; + +/** + * The disclaimer text marking a visual element as an advertisement. + * + * The text value must be displayed and should not be altered. Example disclosure language includes: "Sponsored by [brand]" or "Presented by [brand]" + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 25 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 8.0 + * + * @param instanceId represents which disclaimer instance to retrieve, starting from 1 + * @return The disclaimer label for the ad, or nil if there is no disclaimer available. + */ +-(nullable UILabel *)disclaimer:(NSInteger)instanceId; + +/** + * An imageView containing the icon image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.iconImageView.frame = self.nativeAdContainer.iconImageView.bounds; + * + * Returns nil if this component is not available. + * + */ +@property (nonatomic, readonly, nullable) UIImageView* iconImageView; + +/** + * An imageView containing the icon image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.iconImageView.frame = self.nativeAdContainer.iconImageView.bounds; + * + * Returns nil if this component is not available. + * + * @param instanceId represents which iconImageView instance to retrieve, starting from 1 + * @return The icon imageView for the ad, or nil if there is no imageView available. + */ +-(nullable UIImageView *)iconImageView:(NSInteger)instanceId; + +/** + * An imageView containing the main image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.mainImageView.frame = self.nativeAdContainer.mainImageView.bounds; + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UIImageView* mainImageView; + +/** + * An imageView containing the main image for the ad, with an associated gesture recognizer that invokes + * the associated action when the element is tapped. + * + * None of the content associated with this view or its actions should be altered in any way. + * + * Default attributes which may be may be modified by the user: + * + * size - The imageView size defaults to the size of the asset resource. + * The recommended approach is to set the frame of the imageView to the bounds of its superView, + * which has autoresizesSubviews=YES: nativeAd.mainImageView.frame = self.nativeAdContainer.mainImageView.bounds; + * + * Returns nil if this component is not available. + * + * @param instanceId represents which mainImageView instance to retrieve, starting from 1 + * @return The main imageView for the ad, or nil if there is no imageView available. + */ +-(nullable UIImageView *)mainImageView:(NSInteger)instanceId; + +/** + * Descriptive text for the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 200 characters for these defaults. + * size - default body label size is (200.0, 60.0) + * font - systemFontOfSize: 9.0 + * number of lines - 5 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* body; + +/** + * Descriptive body text for the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 200 characters for these defaults. + * size - default body label size is (200.0, 60.0) + * font - systemFontOfSize: 9.0 + * number of lines - 5 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which body instance to retrieve, starting from 1 + * @return The body label for the ad, or nil if there is no body label available. + */ +-(nullable UILabel*)body:(NSInteger)instanceId; + +/** + * The title label of the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 16.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* title; + +/** + * The title label of the ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 16.0 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which title instance to retrieve, starting from 1 + * @return The title label for the ad, or nil if there is no title label available. + */ +-(nullable UILabel*)title:(NSInteger)instanceId; + +/** + * The call to action button which invokes the associated main action for an ad. + * + * None of the content associated with this button or its actions should be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 5 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UIButton* callToActionButton; + +/** + * The call-to-action button which invokes the associated main action for an ad. + * + * None of the content associated with this button or its actions should be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 5 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which call-to-action button instance to retrieve, starting from 1 + * @return The call-to-action label for the ad, or nil if there is no call-to-action button available. + */ +-(nullable UIButton *)callToActionButton:(NSInteger)instanceId; + +/** + * The rating label for the native ad. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + */ +@property (nonatomic, readonly, nullable) UILabel* rating; + +/** + * The rating label of the ad. The text value must be displayed and should not be altered. + * + * The text value must be displayed and should not be altered. + * + * Default attributes which may be may be modified by the user: + * + * length - recommended maximum length of 15 characters for these defaults. + * width - set by sizeWithAttributes: for the default font + * font - systemFontOfSize: 10.0 + * + * Returns nil if this component is not available. + * + * @param instanceId represents which rating instance to retrieve, starting from 1 + * @return The rating label for the ad, or nil if there is no rating label available. + */ +-(nullable UILabel *)rating:(NSInteger)instanceId; + +@end + +NS_ASSUME_NONNULL_END + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMRequestInfo.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMRequestInfo.h new file mode 100644 index 0000000..750b379 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMRequestInfo.h @@ -0,0 +1,24 @@ +// +// MMRequestInfo.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMRequestInfo_Header_h +#define MMRequestInfo_Header_h + +#import + +/** + * The object used to configure per-request settings. This object should only be constructed if the context in + * which your ad placement request is made can be used to imply any additional information useful for targeting. + */ +@interface MMRequestInfo : NSObject + +/** Keywords relevant to this individual request, e.g. `["videotapes"]` */ +@property (nonatomic, copy, nullable) NSArray* keywords; + +@end + +#endif \ No newline at end of file diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMSDK.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMSDK.h new file mode 100644 index 0000000..67c1dfb --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMSDK.h @@ -0,0 +1,138 @@ +// +// MMSDK.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMSDK_Header_h +#define MMSDK_Header_h + +@import Foundation; +@import CoreLocation; + +typedef NS_OPTIONS(NSUInteger, MMLogFlag) { + MMLogFlagError = (1 << 0), + MMLogFlagWarn = (1 << 1), + MMLogFlagInfo = (1 << 2), + MMLogFlagDebug = (1 << 3) +}; + +/** + * Log levels for the SDK. `Error` is the least verbose level, `Debug` the most verbose. + * Using these values rather than the `MMLogFlag` enum is recommended. + */ +typedef NS_ENUM(NSUInteger, MMLogLevel) { + MMLogLevelError = MMLogFlagError, + MMLogLevelWarn = (MMLogLevelError|MMLogFlagWarn), + MMLogLevelInfo = (MMLogLevelWarn|MMLogFlagInfo), + MMLogLevelDebug = (MMLogLevelInfo|MMLogFlagDebug) +}; + +@class MMAppSettings; +@class MMUserSettings; + +/** + * The MMSDK class is the global singleton used to initialize the SDK state, and manage shared + * settings. + * + * ## Initializing the MMSDK. + * + * The appSettings object is optional for MMSDK initialization. + * This is a readonly object, however, its properties may be changed after initialization. + * + * The userSettings object is also optional. + * This is a readwrite object, so it may be changed after initialization. + * + * Usage example: + *

+ *    MMAppSettings *appSettings = [[MMAppSettings alloc] init];
+ *    appSettings.siteId = @"";
+ *    appSettings.mediator = @"";
+ *    [appSettings setCoppaCompliance:];
+ *
+ *    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+ *    [dateFormatter setDateFormat:@"MM/dd/yyyy"];
+ *    NSDate *dateOfBirth = [dateFormatter dateFromString:@"12/25/1985"];
+ *
+ *    MMUserSettings *userSettings = [[MMUserSettings alloc] init];
+ *    userSettings.age = @(30);
+ *    userSettings.children = @(3);
+ *    userSettings.education = MMEducationBachelors;
+ *    userSettings.dob = dateOfBirth;
+ *
+ *    [[MMSDK sharedInstance] initializeWithSettings:appSettings withUserSettings:userSettings];
+ * 
+ */ +@interface MMSDK : NSObject + +/** + * The shared instance of the Millennial Media SDK. + * + * @return The MMSDK singleton. + */ ++(nonnull instancetype)sharedInstance; + +/** + * Sets the console log level for the SDK. + * + * @param level The log level to be set. + */ ++(void)setLogLevel:(MMLogLevel)level; + +/** + * Initializes the SDK as a whole. This must be called before any ads are requested. + * + * @param appSettings The appSettings object. Optional. + * @param userSettings The userSettings object. Optional. + */ +-(void)initializeWithSettings:(nullable MMAppSettings *)appSettings withUserSettings:(nullable MMUserSettings *)userSettings; + +/** + * The version of the Millennial Ad SDK. + * + * @return The semantic version of the SDK. + */ +-(nonnull NSString*)version; + +/** + * Whether or not to send geolocation information along with each ad request. + * + * When set to YES, location information is sent with ad requests ONLY if location permissions are granted for the app. + * Enabling this will NOT prompt the user for location authorization. Providing location data will help to serve more + * relevant ads to your users. + * + * Set to NO to explicitly disable sending location information with ad requests. Default is YES. + */ +@property (nonatomic, assign) BOOL sendLocationIfAvailable; + +/** + * The CLLocationManager initialized and started by the Millennial Media SDK when location permission is granted by the + * user and sendLocationIfAvailable is set to YES. + * + * This is a readonly property and will be nil when sending location information is explicitly disabled. + */ +@property (nonatomic, readonly, nullable) CLLocationManager* locationManager; + +/** + * Whether or not the SDK has been initialized. The SDK must be initialized before any ads are requested. + */ +@property (nonatomic, assign, readonly) BOOL isInitialized; + +/** + * The SDK's global settings for the application. This object must be set when initializing the SDK. + * + * Although this is a read-only property, the returned `MMAppSettings` object may be modified in-place to update + * any relevant values. + */ +@property (nonatomic, readonly, nullable) MMAppSettings* appSettings; + +/** + * The SDK's user settings object. This can be reset during normal app operations and does not have to be provided + * at the time of initialization. + */ +@property (nonatomic, readwrite, nullable) MMUserSettings* userSettings; + +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMSDKErrors.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMSDKErrors.h new file mode 100644 index 0000000..53166fc --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMSDKErrors.h @@ -0,0 +1,85 @@ +// +// MMSDKErrors.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMAdSDK_Errors_h +#define MMAdSDK_Errors_h + +#pragma mark - Error codes + +extern NSString* __nonnull const MMSDKErrorDomain; + +/** The errors which can be returned from the SDK in the `MMSDKErrorDomain`. */ +typedef NS_ENUM(NSInteger, MMSDKError) { + /** The server returned a response code indicating an error when an ad request was made. */ + MMSDKErrorServerResponseBadStatus = -1, + /** The server did not return any valid content when a request was made. */ + MMSDKErrorServerResponseNoContent = -2, + /** The native object is missing an advertiser required component. */ + MMSDKErrorNativeAdMissingRequiredComponent = -4, + /** A request for this placement instance is already in progress. */ + MMSDKErrorPlacementRequestInProgress = -6, + /** An interstitial ad is already loaded for this object. */ + MMSDKErrorInterstitialAdAlreadyLoaded = -7, + /** The interstitial ad is expired and cannot be shown. */ + MMSDKErrorInterstitialAdExpired = -8, + /** The interstitial ad is not ready to be shown. */ + MMSDKErrorInterstitialAdNotReady = -9, + /** The interstitial ad content is not available to be shown. */ + MMSDKErrorInterstitialAdContentUnavailable = -10, + /** The interstitial ad could not be presented because no view controller was provided. */ + MMSDKErrorInterstitialNoViewControllerProvided = -11, + /** The interstitial ad could not be presented because it is already presented. */ + MMSDKErrorInterstitialViewControllerAlreadyPresented = -12, + /** The video player set up failed. */ + MMSDKErrorVideoSetUpFailed = -13, + /** 'Play' was sent to the video when it was not ready to play. */ + MMSDKErrorVideoNotReady = -14, + /** The video player stalled. */ + MMSDKErrorVideoStalled = -15, + /** Error during video playback. */ + MMSDKErrorVideoPlaybackFailed = -16, + /** The video player timed out while loading a video. */ + MMSDKErrorVideoPlayerVideoLoadTimeout = -17, + /** The video player timed out during preparation to play. */ + MMSDKErrorVideoPlayerVideoPrepareTimeout = -18, + /** The VAST document did not contain a compatible media file. */ + MMSDKErrorVASTNoCompatibleMediaFile = -19, + /** An error was encountered during VAST parsing. */ + MMSDKErrorVASTParserFailure = -20, + /** The client SDK being mediated to experienced an error. */ + MMSDKErrorClientMediationError = 21, + /** SDK requests have been disabled for this application. Please contact your Account Manager to resolve the issue. */ + MMSDKErrorRequestsDisabled = -22, + /** The video player wasn't expanded when collapse called. */ + MMSDKErrorVideoPlayerNotExpanded = -23, + /** The video player was areadly expanded. */ + MMSDKErrorVideoPlayerAlreadyExpanded = -24, + /** There was no content available to load (no-fill) */ + MMSDKErrorNoFill = -25, + /** There was a version mismatch between the request and the response. */ + MMSDKErrorVersionMismatch = -26, + /** Downloading media for the ad failed. */ + MMSDKErrorMediaDownloadFailed = -27, + /** A request operation timed out. */ + MMSDKErrorRequestTimeout = -28, + /** The VAST document did not contain an impression. */ + MMSDKErrorVASTMissingRequiredImpression = -29, + /** The VAST document contains more than 3 Wrapper tags. */ + MMSDKErrorVASTExcessiveWrappers = -30, + /** The SDK has not yet been initialized. */ + MMSDKErrorNotInitialized = -31, + /** A request abort was requested, but the request succeeded. */ + MMSDKErrorSuccessDuringAbort = -32, + /** A request abort was requested, but the request failed due to an error. */ + MMSDKErrorFailureDuringAbort = -33, + /** A request abort was requested, but no request was in progress. */ + MMSDKErrorNoRequestAbort = -34 +}; + +#endif + + diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMUserSettings.h b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMUserSettings.h new file mode 100644 index 0000000..8233c85 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/Headers/MMUserSettings.h @@ -0,0 +1,109 @@ +// +// MMUserSettings.h +// MMAdSDK +// +// Copyright (c) 2015 Millennial Media, Inc. All rights reserved. +// + +#ifndef MMUserSettings_Header_h +#define MMUserSettings_Header_h + +@import Foundation; + +typedef NS_ENUM (NSInteger, MMEthnicity) { + MMEthnicityHispanic = 1, + MMEthnicityBlack, + MMEthnicityAsian, + MMEthnicityIndian, + MMEthnicityMiddleEastern, + MMEthnicityNativeAmerican, + MMEthnicityPacificIslander, + MMEthnicityWhite, + MMEthnicityOther +}; + +typedef NS_ENUM (NSInteger, MMGender) { + MMGenderMale = 1, + MMGenderFemale, + MMGenderOther +}; + +typedef NS_ENUM (NSInteger, MMMaritalStatus) { + MMMaritalSingle = 1, + MMMaritalMarried, + MMMaritalDivorced, + MMMaritalOther +}; + +typedef NS_ENUM (NSInteger, MMEducation) { + MMEducationHighSchool = 1, + MMEducationSomeCollege, + MMEducationAssociates, + MMEducationBachelors, + MMEducationMasters, + MMEducationDoctorate, + MMEducationProfessional +}; + +typedef NS_ENUM (NSInteger, MMPolitics) { + MMPoliticsRepublican = 1, + MMPoliticsDemocrat, + MMPoliticsConservative, + MMPoliticsModerate, + MMPoliticsLiberal, + MMPoliticsIndependent, + MMPoliticsOther +}; + +/** + * The object used to configure persistent app-wide settings for the current user of the application. + * If your application collects user profile information, this object should be updated whenever that + * information changes. + */ +@interface MMUserSettings : NSObject + +/** The user's age. */ +@property (nonatomic, strong, nullable) NSNumber *age; + +/** The user's date of birth. */ +@property (nonatomic, strong, nullable) NSDate *dob; + +/** The number of children the user has. */ +@property (nonatomic, strong, nullable) NSNumber *children; + +/** The user's annual income. */ +@property (nonatomic, strong, nullable) NSNumber *income; + +/** The user's education level. */ +@property (nonatomic, assign) MMEducation education; + +/** The user's ethnicity. */ +@property (nonatomic, assign) MMEthnicity ethnicity; + +/** The user's gender. */ +@property (nonatomic, assign) MMGender gender; + +/** The user's marital status. */ +@property (nonatomic, assign) MMMaritalStatus maritalStatus; + +/** The user's political affiliation. */ +@property (nonatomic, assign) MMPolitics politics; + +/** The user's state or province of residence. Use the standard two character abbreviation for US State, e.g. `GA`. */ +@property (nonatomic, copy, nullable) NSString *state; + +/** The user's DMA. Standard 3 character DMA code. e.g. `501` */ +@property (nonatomic, copy, nullable) NSString *dma; + +/** The user's postal code, e.g. `90210` or `M9A3G9` */ +@property (nonatomic, copy, nullable) NSString* postalCode; + +/** The user's country of residence. */ +@property (nonatomic, copy, nullable) NSString *country; + +/** Keywords relevant to the current user of the application, e.g. `["sports", "huey lewis"]` */ +@property (nonatomic, copy, nullable) NSArray *keywords; + +@end + +#endif diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/A/MMAdSDK b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/MMAdSDK new file mode 100644 index 0000000..27576e3 Binary files /dev/null and b/iosadapters/MMedia/MMAdSDK.framework/Versions/A/MMAdSDK differ diff --git a/iosadapters/MMedia/MMAdSDK.framework/Versions/Current b/iosadapters/MMedia/MMAdSDK.framework/Versions/Current new file mode 100644 index 0000000..8c7e5a6 --- /dev/null +++ b/iosadapters/MMedia/MMAdSDK.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/iosadapters/MMedia/MillennialMedia.framework/.DS_Store b/iosadapters/MMedia/MillennialMedia.framework/.DS_Store deleted file mode 100644 index 0a42988..0000000 Binary files a/iosadapters/MMedia/MillennialMedia.framework/.DS_Store and /dev/null differ diff --git a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMAdView.h b/iosadapters/MMedia/MillennialMedia.framework/Headers/MMAdView.h deleted file mode 100644 index 198d233..0000000 --- a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMAdView.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// MMAdView.h -// MMAdView -// -// Copyright (c) 2014 Millennial Media, Inc. All rights reserved. -// - -#import -#import - -@interface MMAdView : UIView - -// Set view controller to show overlay from -@property (nonatomic, strong) UIViewController *rootViewController; -@property (nonatomic) MMOverlayOrientationType orientationType; - -// Initializes the ad view and pass in the controller to present overlays from -- (MMAdView *)initWithFrame:(CGRect)frame apid:(NSString *)apid rootViewController:(UIViewController *)viewController; - -// Request a new ad with a generic MMRequest -- (void)getAd:(MMCompletionBlock)callback; - -// Request a new ad with a custom MMRequest object (pass in location, keywords, & demographic information) -- (void)getAdWithRequest:(MMRequest *)request onCompletion:(MMCompletionBlock)callback; - -@end \ No newline at end of file diff --git a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMInterstitial.h b/iosadapters/MMedia/MillennialMedia.framework/Headers/MMInterstitial.h deleted file mode 100644 index 493f2e5..0000000 --- a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMInterstitial.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// MMInterstitial.h -// MMSDK -// -// Copyright (c) 2014 Millennial Media, Inc. All rights reserved. -// - -#import -#import - -@interface MMInterstitial : NSObject - -// Fetch an interstitial for a given APID -+ (void)fetchWithRequest:(MMRequest *)request - apid:(NSString *)apid - onCompletion:(MMCompletionBlock)callback; - -// Check if an ad is available for a given APID -+ (BOOL)isAdAvailableForApid:(NSString *)apid; - -// Display an interstitial for a given APID. ViewController is required. Orientation is optional, use 0 if no preference. -+ (void)displayForApid:(NSString *)apid - fromViewController:(UIViewController *)viewController - withOrientation:(MMOverlayOrientationType)orientationType - onCompletion:(MMCompletionBlock)callback; - -@end diff --git a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMRequest.h b/iosadapters/MMedia/MillennialMedia.framework/Headers/MMRequest.h deleted file mode 100644 index 459dcc2..0000000 --- a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMRequest.h +++ /dev/null @@ -1,98 +0,0 @@ -// -// MMRequest.h -// MMSDK -// -// Copyright (c) 2014 Millennial Media, Inc. All rights reserved. -// - -#import -#import - -enum { - MMOverlayOrientationTypeAll, - MMOverlayOrientationTypePortrait, - MMOverlayOrientationTypeLandscape -}; -typedef NSUInteger MMOverlayOrientationType; - -typedef void (^MMCompletionBlock) (BOOL success, NSError *error); - -typedef enum { - MMEducationOther, - MMEducationNone, - MMEducationHighSchool, - MMEducationInCollege, - MMEducationSomeCollege, - MMEducationAssociates, - MMEducationBachelors, - MMEducationMasters, - MMEducationDoctorate -} MMEducation; - -typedef enum { - MMGenderOther, - MMGenderMale, - MMGenderFemale -} MMGender; - -typedef enum { - MMEthnicityMiddleEastern, - MMEthnicityAsian, - MMEthnicityBlack, - MMEthnicityHispanic, - MMEthnicityIndian, - MMEthnicityNativeAmerican, - MMEthnicityPacificIslander, - MMEthnicityWhite, - MMEthnicityOther -} MMEthnicity; - -typedef enum { - MMMaritalOther, - MMMaritalSingle, - MMMaritalRelationship, - MMMaritalMarried, - MMMaritalDivorced, - MMMaritalEngaged -} MMMaritalStatus; - -@interface MMRequest : NSObject - -// Creates an MMRequest object -+ (MMRequest *)request; - -#pragma mark - Location Information - -// Creates an MMRequest object with location -+ (MMRequest *)requestWithLocation:(CLLocation *)location; - -// Set location for the ad request -@property (nonatomic, retain) CLLocation *location; - -#pragma mark - Demographic Information - -// Set demographic information for the ad request -@property (nonatomic, assign) MMEducation education; -@property (nonatomic, assign) MMGender gender; -@property (nonatomic, assign) MMEthnicity ethnicity; -@property (nonatomic, assign) MMMaritalStatus maritalStatus; -@property (nonatomic, retain) NSNumber *age; -@property (nonatomic, copy) NSString *zipCode; - -#pragma mark - Contextual Information - -// Set an array of keywords (must be NSString values) -@property (nonatomic, retain) NSMutableArray *keywords; - -// Add keywords one at a time to the array -- (void)addKeyword:(NSString *)keyword; - -#pragma mark - Additional Information - -// Set additional parameters for the ad request. Value must be NSNumber or NSString. -- (void)setValue:(id)value forKey:(NSString *)key; - -#pragma mark - Request parameters (read-only) -@property (nonatomic, retain, readonly) NSMutableDictionary *dataParameters; - -@end diff --git a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMSDK.h b/iosadapters/MMedia/MillennialMedia.framework/Headers/MMSDK.h deleted file mode 100644 index d2f7878..0000000 --- a/iosadapters/MMedia/MillennialMedia.framework/Headers/MMSDK.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// MMSDK.h -// MMSDK -// -// Copyright (c) 2014 Millennial Media, Inc. All rights reserved. -// - -#import -#import - -// NSNotification keys -extern NSString * const MillennialMediaAdWillTerminateApplication; -extern NSString * const MillennialMediaAdWasTapped; -extern NSString * const MillennialMediaAdModalWillAppear; -extern NSString * const MillennialMediaAdModalDidAppear; -extern NSString * const MillennialMediaAdModalWillDismiss; -extern NSString * const MillennialMediaAdModalDidDismiss; -extern NSString * const MillennialMediaKeyboardWillObscureAd; -extern NSString * const MillennialMediaKeyboardWillHide; - -// NSNotification userInfo keys -extern NSString * const MillennialMediaAdObjectKey; -extern NSString * const MillennialMediaAPIDKey; -extern NSString * const MillennialMediaAdTypeKey; - -// Millennial Media Ad Type keys -extern NSString * const MillennialMediaAdTypeBanner; -extern NSString * const MillennialMediaAdTypeInterstitial; - -typedef enum ErrorCode { - MMAdUnknownError = 0, - MMAdServerError = -500, - MMAdUnavailable = -503, - MMAdDisabled = -9999999 -} MMErrorCode; - -typedef enum LogLevel { - MMLOG_LEVEL_OFF = 0, - MMLOG_LEVEL_INFO = 1 << 0, - MMLOG_LEVEL_DEBUG = 1 << 1, - MMLOG_LEVEL_ERROR = 1 << 2, - MMLOG_LEVEL_FATAL = 1 << 3 -} MMLogLevel; - -@interface MMSDK : NSObject - -+ (void)initialize; -+ (NSString *)version; -+ (void)trackConversionWithGoalId:(NSString *)goalId; -+ (void)trackConversionWithGoalId:(NSString *)goalId requestData:(MMRequest *)request; -+ (void)setLogLevel:(MMLogLevel)level; -+ (void)trackEventWithId:(NSString *)eventId; - -@end diff --git a/iosadapters/MMedia/MillennialMedia.framework/MillennialMedia b/iosadapters/MMedia/MillennialMedia.framework/MillennialMedia deleted file mode 100644 index e5122d3..0000000 Binary files a/iosadapters/MMedia/MillennialMedia.framework/MillennialMedia and /dev/null differ diff --git a/iosadapters/MMedia/libMMediaAdapter.a b/iosadapters/MMedia/libMMediaAdapter.a index 0ed1f3d..8efd759 100644 Binary files a/iosadapters/MMedia/libMMediaAdapter.a and b/iosadapters/MMedia/libMMediaAdapter.a differ diff --git a/iosadapters/inmobi/IMBanner.h b/iosadapters/inmobi/IMBanner.h new file mode 100644 index 0000000..ca1f3ef --- /dev/null +++ b/iosadapters/inmobi/IMBanner.h @@ -0,0 +1,72 @@ +// +// IMBanner.h +// APIs +// Copyright (c) 2015 InMobi. All rights reserved. +// +/** + * Class to integrate banner ads in your application + * + * Adding banner ads is demonstrated in the code fragment below + * Implement the following in the viewcontroller + + IMBanner *bannerView = [[IMBanner alloc] initWithFrame:CGRectMake(0, 50, 320, 50) placementId:11203280001]; + [self.view addSubview:self.bannerView]; + [self.bannerView load]; + + The code snippet above demonstrates a dead simple integration. Your application code can additionally listen for lifecycle events on the banner ad by implementing the IMBannerDelegate. + */ +#import +#import "IMCommonConstants.h" +#import "IMBannerDelegate.h" + +@interface IMBanner : UIView +/** + * The delegate for the banner to notify of events. + */ +@property (nonatomic, weak) id delegate; +/** + * The refresh interval for the banner specified in seconds. + */ +@property (nonatomic) NSInteger refreshInterval; +/** + * A free form set of keywords, separated by ',' to be sent with the ad request. + * E.g: "sports,cars,bikes" + */ +@property (nonatomic, strong) NSString* keywords; +/** + * Any additional information to be passed to InMobi. + */ +@property (nonatomic, strong) NSDictionary* extras; +/** + * The placement ID for this banner. + */ +@property (nonatomic) long long placementId; +/** + * The transition animation to be performed between refreshes. + */ +@property (nonatomic) UIViewAnimationTransition transitionAnimation; +/** + * Initializes an IMBanner instance with the specified placementId. + * @param frame CGRect for this view, according to the requested size. + * @param placementId the placement Id registered on the InMobi portal. + */ +-(instancetype)initWithFrame:(CGRect)frame placementId:(long long)placementId; +/** + * Initializes an IMBanner instance with the specified placementId and delegate. + * @param frame CGRect for this view, according to the requested size. + * @param placementId the placement Id registered on the InMobi portal. + * @param delegate The delegate to receive callbacks + */ +-(instancetype)initWithFrame:(CGRect)frame placementId:(long long)placementId delegate:(id)delegate; +/** + * Loads a banner with default values. + */ +-(void)load; +/** + * Specifies if the banner should auto refresh + * @param refresh if the banner should be refreshed + */ +-(void)shouldAutoRefresh:(BOOL)refresh; +-(void)setRefreshInterval:(NSInteger)interval; + +@end diff --git a/iosadapters/inmobi/IMCommonConstants.h b/iosadapters/inmobi/IMCommonConstants.h new file mode 100644 index 0000000..aa5a68a --- /dev/null +++ b/iosadapters/inmobi/IMCommonConstants.h @@ -0,0 +1,73 @@ +// +// IMCommonConstants.h +// iOS-SDK +// Copyright (c) 2015 InMobi. All rights reserved. +// + +#ifndef APIs_CommonConstants_h +#define APIs_CommonConstants_h + +#import + +typedef NS_ENUM(NSInteger, IMSDKIdType) { + kIMSDKIdTypeSession, + kIMSDKIdTypeLogin +}; + + +typedef NS_ENUM(NSInteger, IMSDKLogLevel) { + kIMSDKLogLevelNone, + kIMSDKLogLevelError, + kIMSDKLogLevelDebug +}; + +/** + * User Gender + */ +typedef NS_ENUM (NSInteger, IMSDKGender) { + kIMSDKGenderMale = 1, + kIMSDKGenderFemale +}; + +/** + * User Education + */ +typedef NS_ENUM (NSInteger, IMSDKEducation) { + kIMSDKEducationHighSchoolOrLess = 1, + kIMSDKEducationCollegeOrGraduate, + kIMSDKEducationPostGraduateOrAbove +}; + +/** + * User Ethnicity + */ +typedef NS_ENUM (NSInteger, IMSDKEthnicity) { + kIMSDKEthnicityHispanic = 1, + kIMSDKEthnicityCaucasian, + kIMSDKEthnicityAsian, + kIMSDKEthnicityAfricanAmerican, + kIMSDKEthnicityOther +}; + +typedef NS_ENUM(NSInteger, IMSDKHouseholdIncome) { + kIMSDKHouseholdIncomeBelow5kUSD = 1, + kIMSDKHouseholdIncomeBetweek5kAnd10kUSD, + kIMSDKHouseholdIncomeBetween10kAnd15kUSD, + kIMSDKHouseholdIncomeBetween15kAnd20kUSD, + kIMSDKHouseholdIncomeBetween20kAnd25kUSD, + kIMSDKHouseholdIncomeBetween25kAnd50kUSD, + kIMSDKHouseholdIncomeBetween50kAnd75kUSD, + kIMSDKHouseholdIncomeBetween75kAnd100kUSD, + kIMSDKHouseholdIncomeBetween100kAnd150kUSD, + kIMSDKHouseholdIncomeAbove150kUSD +}; +typedef NS_ENUM(NSInteger, IMSDKAgeGroup) { + kIMSDKAgeGroupBelow18 = 1, + kIMSDKAgeGroupBetween18And20, + kIMSDKAgeGroupBetween21And24, + kIMSDKAgeGroupBetween25And34, + kIMSDKAgeGroupBetween35And54, + kIMSDKAgeGroupAbove55 +}; + +#endif diff --git a/iosadapters/inmobi/IMCustomNative.h b/iosadapters/inmobi/IMCustomNative.h new file mode 100644 index 0000000..91d9738 --- /dev/null +++ b/iosadapters/inmobi/IMCustomNative.h @@ -0,0 +1,54 @@ +// +// IMCustomNative.h +// APIs +// Copyright (c) 2015 InMobi. All rights reserved. +// +/** + * Class to integrate customised native ads in your application + * Provides a customization of the ad impression and click-through + * reporting facets for a native ad. + */ +#import "IMNative.h" + +@interface IMCustomNative : IMNative + +/** + * Binds the native instance to the rendered view to fire impressions. + * @param native The native instance used to create the view; + * @param view The view that has rendered the native ad's content. + * @param impressionTracker a custom HTML/Javascript for the publisher to track impressions if he chooses to. + */ ++(void)bindNative:(IMNative*)native toView:(UIView *)view withImpressionTrackerScript:(NSString*)impressionTracker; +/** + * Binds the native instance to the rendered view to fire impressions. + * @param native The native instance used to create the view. + * @param view The view that has rendered the native ad. + * @param impressionTracker a custom URL for the publisher to track impressions if he chooses to. + */ ++(void)bindNative:(IMNative*)native toView:(UIView *)view withImpressionTrackerURL:(NSURL*)impressionTrackerURL; +/** + * Reports that a click has happened on the native ad. + * @param extras Any additional params that the publisher would like to report. + * @param clickTracker A custom HTML/Javascript that the publisher provides to track clicks if he chooses to. + */ +-(void)reportAdClick:(NSDictionary*)extras withCustomClickTrackerScript:(NSString*)clickTracker; +/** + * Reports that a click has happened on the native ad. + * @param extras Any additional params that the publisher would like to report. + * @param clickTracker A custom URL that the publisher provides to track clicks if he chooses to. + */ +-(void)reportAdClick:(NSDictionary*)extras withCustomClickTrackerURL:(NSURL*)clickTrackerURL; +/** + * Reports that a click has happened on the native ad and open the landing page too. + * @param extras Any additional params that the publisher would like to report. + * @param script A custom HTML/Javascript that the publiser can provide to track clicks if he chooses to. + */ +-(void)reportAdClickAndOpenLandingURL:(NSDictionary*)extras withCustomClickTrackerScript:(NSString*)clickTracker; +/** + * Reports that a click has happened on the native ad and open the landing page too. + * @param extras Any additional params that the publisher would like to report. + * @param clickTracker A custom URL that the publisher provides to track clicks if he chooses to. + */ +-(void)reportAdClickAndOpenLandingURL:(NSDictionary*)extras withCustomClickTrackerURL:(NSURL*)clickTrackerURL; + +@end diff --git a/iosadapters/inmobi/IMInterstitial.h b/iosadapters/inmobi/IMInterstitial.h new file mode 100644 index 0000000..0ea4d5a --- /dev/null +++ b/iosadapters/inmobi/IMInterstitial.h @@ -0,0 +1,105 @@ +// +// IMInterstitial.h +// APIs +// Copyright (c) 2015 InMobi. All rights reserved. +// +/** + * Class to integrate full screen interstitial ads in your application + * Adding interstitial ads is demonstrated in the code fragment below + * Implement the following in the viewcontroller + + IMInterstitial *interstitialView = [[IMInterstitial alloc] initWithPlacementId:1203280001]; + interstitialView.delegate = self; + [interstitialView load]; + + - (void)interstitialDidFinishLoading:(IMInterstitial *)interstitial { + [interstitial show]; + } + + - (void)interstitial:(IMInterstitial *)interstitial didFailToLoadWithError:(IMRequestStatus *)error { + NSLog(@"Interstitial failed to load ad"); + NSLog(@"Error : %@",error.description); + } + + - (void)interstitial:(IMInterstitial *)interstitial didFailToPresentWithError:(IMRequestStatus *)error{ + NSLog(@"Interstitial didFailToPresentWithError"); + NSLog(@"Error : %@",error.description); + } + + - (void)interstitialDidDismiss:(IMInterstitial *)interstitial { + NSLog(@"interstitialDidDismiss"); + } + + - (void)interstitialWillDismiss:(IMInterstitial *)interstitial { + NSLog(@"interstitialWillDismiss"); + } + + - (void)interstitialWillPresent:(IMInterstitial *)interstitial { + NSLog(@"interstitialWillPresent"); + } + + - (void)interstitialDidPresent:(IMInterstitial *)interstitial { + NSLog(@"interstitialDidPresent"); + } + + - (void)userWillLeaveApplicationFromInterstitial:(IMInterstitial *)interstitial { + NSLog(@"userWillLeaveApplicationFromInterstitial"); + } + */ +#import +#import +#import "IMInterstitialDelegate.h" + +typedef NS_ENUM(NSInteger, IMInterstitialAnimationType) { + kIMInterstitialAnimationTypeCoverVertical, + kIMInterstitialAnimationTypeFlipHorizontal, + kIMInterstitialAnimationTypeNone +}; + +@interface IMInterstitial : NSObject +/** + * The delegate to receive callbacks + */ +@property (nonatomic, weak) id delegate; +/** + * A free form set of keywords, separated by ',' to be sent with the ad request. + * E.g: "sports,cars,bikes" + */ +@property (nonatomic, strong) NSString* keywords; +/** + * Any additional information to be passed to InMobi. + */ +@property (nonatomic, strong) NSDictionary* extras; +/** + * Initialize an Interstitial with the given PlacementId + * @param placementId The placementId for loading the interstitial + */ +-(instancetype)initWithPlacementId:(long long)placementId; +/** + * Initialize an Interstitial with the given PlacementId + * @param placementId The placementId for loading the interstitial + * @param delegate The delegate to receive callbacks + */ +-(instancetype)initWithPlacementId:(long long)placementId delegate:(id)delegate; +/** + * Loads an Interstitial + */ +-(void)load; +/** + * To query if the interstitial is ready to be shown + */ +-(BOOL)isReady; +/** + * Displays the interstitial on the screen + * @param view controller, this view controller will be used to present interestitial. + */ +-(void)showFromViewController:(UIViewController *)viewController; +/** + * Displays the interstitial on the screen + * @param view controller, this view controller will be used to present interestitial. + * @param type The transition type for interstitial presentation. + */ +-(void)showFromViewController:(UIViewController *)viewController withAnimation:(IMInterstitialAnimationType)type; + +@end + diff --git a/iosadapters/inmobi/IMNative.h b/iosadapters/inmobi/IMNative.h new file mode 100644 index 0000000..6e100fc --- /dev/null +++ b/iosadapters/inmobi/IMNative.h @@ -0,0 +1,82 @@ +// +// IMNative.h +// APIs +// Copyright (c) 2015 InMobi. All rights reserved. +// +/** + * Class to integrate native ads in your application + * Use this class to integrate native ads in your application. For native ads, your application is given the raw assets for the ad. Your application can render these in a manner that is native to the look and feel of your application to drive better user engagement with the ad. If you need to customize aspects of ad impression and click-through reporting, your application can use the IMCustomNative class. + */ +#import +#include "IMCommonConstants.h" +#import "IMNativeDelegate.h" + +@interface IMNative : NSObject +/** + * The content of the native ad. + */ +@property (nonatomic, strong, readonly) NSString* adContent; +/** + * The delegate to receive callbacks + */ +@property (nonatomic, weak) id delegate; +/** + * A free form set of keywords, separated by ',' to be sent with the ad request. + * E.g: "sports,cars,bikes" + */ +@property (nonatomic, strong) NSString* keywords; +/** + * Any additional information to be passed to InMobi. + */ +@property (nonatomic, strong) NSDictionary* extras; +/** + * Initialize a Native ad with the given PlacementId + * @param placementId The placementId for loading the interstitial + */ +-(instancetype)initWithPlacementId:(long long)placementId; +/** + * Initialize a Native ad with the given PlacementId + * @param placementId The placementId for loading the interstitial + * @param delegte The delegate to receive callbacks from IMNative + */ +-(instancetype)initWithPlacementId:(long long)placementId delegate:(id)delegate; +/** + * Loads a Native ad + */ +-(void)load; +/** + * Binds the native instance to the rendered view to fire impressions. + * @param native The native instance that was used to create the view. + * @param view The view that has rendered the native ad's content + */ ++(void)bindNative:(IMNative*)native toView:(UIView*)view; +/** + * Use this method to stop tracking impressions on a particular view. This method should be called especially when using native ads inside UITableView. + * If the view submited previously was a UITableViewCell, please use this method to stop tracking the view to avoid faulty impressions. + * Your -(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexpath:(NSIndexPath*)indexPath should look like below + + if(isAnAd) { //This is an ad. + // Build the native ad from the assets. + //Call bindNative to start tracking impressions. + [IMNative bindNative:nativeAd toView:view]; + } else { //This is a content element. + [IMNative unBindView:view]; + } + + * @param view The view on which the impressions should not be tracked anymore. + */ ++(void)unBindView:(UIView*)view; +/** + * Reports that a click has happened on the native ad. + * @param params Any additional params that the publisher would like to report. + */ +-(void)reportAdClick:(NSDictionary*)params; +/** + * Reports that a click has happened on the native ad and open the landing page too. + * @param params Any additional params that the publisher would like to report. + */ +-(void)reportAdClickAndOpenLandingURL:(NSDictionary*)params; + + + +@end diff --git a/iosadapters/inmobi/IMNativeDelegate.h b/iosadapters/inmobi/IMNativeDelegate.h new file mode 100644 index 0000000..195aea9 --- /dev/null +++ b/iosadapters/inmobi/IMNativeDelegate.h @@ -0,0 +1,60 @@ +// +// IMNativeDelegate.h +// APIs +// Copyright (c) 2015 InMobi. All rights reserved. +// + +/** + * A listener for receiving notifications during the lifecycle of an native ad. + * + * Note All the events in this listener will be invoked on your application's UI thread. + * + * In most cases your application will need to listen for the following events on an native ad + + The outcome of an ad request (if the request succeeded or failed); + see nativeDidFinishLoading:(IMNative*)native; and native:(IMNative*)native didFailToLoadWithError:(IMRequestStatus*)error; + + The ad opened an overlay that covered the screen. This means that the user can no longer interact with your application; + see nativeDidPresentScreen:(IMNative*)native; + + The ad opened overlay was dismissed. The user is now free to interact with your application; + see nativeDidDismissScreen:(IMNative*)native; + + A user interaction with the ad will result in the User leaving your application context; + see userWillLeaveApplicationFromNative:(IMNative*)native; + */ +#import +#import "IMRequestStatus.h" + + +@class IMNative; +@protocol IMNativeDelegate +/** + * Notifies the delegate that the native ad has finished loading + */ +-(void)nativeDidFinishLoading:(IMNative*)native; +/** + * Notifies the delegate that the native ad has failed to load with error. + */ +-(void)native:(IMNative*)native didFailToLoadWithError:(IMRequestStatus*)error; +/** + * Notifies the delegate that the native ad would be presenting a full screen content. + */ +-(void)nativeWillPresentScreen:(IMNative*)native; +/** + * Notifies the delegate that the native ad has presented a full screen content. + */ +-(void)nativeDidPresentScreen:(IMNative*)native; +/** + * Notifies the delegate that the native ad would be dismissing the presented full screen content. + */ +-(void)nativeWillDismissScreen:(IMNative*)native; +/** + * Notifies the delegate that the native ad has dismissed the presented full screen content. + */ +-(void)nativeDidDismissScreen:(IMNative*)native; +/** + * Notifies the delegate that the user will be taken outside the application context. + */ +-(void)userWillLeaveApplicationFromNative:(IMNative*)native; +@end diff --git a/iosadapters/inmobi/IMSdk.h b/iosadapters/inmobi/IMSdk.h new file mode 100644 index 0000000..ecef42b --- /dev/null +++ b/iosadapters/inmobi/IMSdk.h @@ -0,0 +1,124 @@ +// +// IMSdk.h +// APIs +// Copyright (c) 2015 InMobi. All rights reserved. +// +/** + * Use this class to set the user specific demographic info. + */ + +#import +#import +#include "IMCommonConstants.h" + +@interface IMSdk : NSObject + +/** + * Initialize the sdk. This must be called before any other API for the SDK is used. + * @param accountID account id obtained from the InMobi portal. + */ ++(void)initWithAccountID:(NSString *)accountID; + +/** + * Use this to get the version of the SDK. + * @return The version of the SDK. + */ ++(NSString *)getVersion; + +/** + * Set the log level for SDK's logs + * @param desiredLogLevel The desired level of logs. + */ ++(void)setLogLevel:(IMSDKLogLevel)desiredLogLevel; +/** + * Register a user specific id with the SDK + * @param identifier The user Id. + * @param type The user Id type. + */ ++(void)addId:(NSString*)identifier forType:(IMSDKIdType)type; +/** + * Deregister a particular set of Ids + * @param type The user Id type. + */ ++(void)removeIdType:(IMSDKIdType)type; +/** + * Provide the user's age to the SDK for targetting purposes. + * @param age The user's age. + */ ++(void)setAge:(unsigned short)age; +/** + * Provide the user's area code to the SDK for targetting purposes. + * @param areaCode The user's area code. + */ ++(void)setAreaCode:(NSString*)areaCode; +/** + * Provide the user's age group to the SDK for targetting purposes. + * @param ageGroup The user's age group. + */ ++(void)setAgeGroup:(IMSDKAgeGroup)ageGroup; +/** + * Provide a user's date of birth to the SDK for targetting purposes. + * @param dateOfBirth The user's date of birth. + */ ++(void)setYearOfBirth:(NSInteger)yearOfBirth; +/** + * Provide the user's education status to the SDK for targetting purposes. + * @param education The user's education status. + */ ++(void)setEducation:(IMSDKEducation)education; +/** + * Provide the user's ethnicity to the SDK for targetting purposes. + * @param ethnicity The user's ethnicity. + */ ++(void)setEthnicity:(IMSDKEthnicity)ethnicity; +/** + * Provide the user's gender to the SDK for targetting purposes. + * @param gender The user's gender. + */ ++(void)setGender:(IMSDKGender)gender; +/** + * Provide the user's household income to the SDK for targetting purposes. + * @param income The user's household income. + */ ++(void)setHouseholdIncome:(IMSDKHouseholdIncome)income; +/** + * Provide the user's income to the SDK for targetting purposes. + * @param income The user's income. + */ ++(void)setIncome:(unsigned int)income; +/** + * Provide the user's interests to the SDK for targetting purposes. + * @param interests The user's interests. + */ ++(void)setInterests:(NSString*)interests; +/** + * Provide the user's preferred language to the SDK for targetting purposes. + * @param language The user's language. + */ ++(void)setLanguage:(NSString*)language; +/** + * Provide the user's location to the SDK for targetting purposes. + * @param city The user's city. + * @param state The user's state. + * @param country The user's country. + */ ++(void)setLocationWithCity:(NSString*)city state:(NSString*)state country:(NSString*)country; + +/** + * Provide the user's location to the SDK for targetting purposes. + * @param location: The location of the user + */ ++(void)setLocation:(CLLocation*)location; +/** + * Provide the user's nationality to the SDK for targetting purposes. + * @param nationality The user's nationality. + */ ++(void)setNationality:(NSString*)nationality; +/** + * Provide the user's postal code to the SDK for targetting purposes. + * @param postalcode The user's postalcode. + */ ++(void)setPostalCode:(NSString*)postalcode; + + +@end diff --git a/iosadapters/inmobi/libInmobiAdapter.a b/iosadapters/inmobi/libInmobiAdapter.a index c6feb51..7b569ac 100644 Binary files a/iosadapters/inmobi/libInmobiAdapter.a and b/iosadapters/inmobi/libInmobiAdapter.a differ diff --git a/plugin.xml b/plugin.xml index 35968de..aba9e46 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ + version="1.0.2"> KeymobPlugin Keymob,ad,admob,google,google-play-service,iad,flurry,device,adwhirl,xdk,jquery,intel appframework,jqmob,cordova,phonegap,ads,html5,js,adcolony,amazon @@ -147,8 +147,9 @@ - - + + + diff --git a/readme_zh.md b/readme_zh.md index 7d92233..08bc8be 100644 --- a/readme_zh.md +++ b/readme_zh.md @@ -131,7 +131,8 @@ h. 处理广告事件,如果要处理广告事件,可以添加事件监听 document.addEventListener(keymob.AdEvent.ON_LOADED_SUCCESS, onAdReceive, false); 3.针对IOS平台处理 - 把自己需要的平台库添加到项目路径中,用xcode打开工程项目,然后右击项目,选择添加文件到工程,找到iosadapters下的需要的平台库 + 把iosadapters文件夹复制到xcode工程目录下,用xcode打开工程项目,然后右击项目,选择添加文件到工程,把iosadapters添加到xcode工程中 + 不使用的平台从iosadapters目录下删除 如果使用了广点通平台,则需要添加 -lstdc++ 到 Other Linker Flags,设置的方式是单机工程文件,选择build settings 然后搜索Other Linker Flags 4.针对Android平台处理(优化处理,非必须) 在生成的android工程assets目录下面有三个文件夹, diff --git a/src/android/assets/com_keymob_sdks/AdmobAdapter.jar b/src/android/assets/com_keymob_sdks/AdmobAdapter.jar deleted file mode 100644 index fcb69eb..0000000 Binary files a/src/android/assets/com_keymob_sdks/AdmobAdapter.jar and /dev/null differ diff --git a/src/android/libs/keymobad.jar b/src/android/libs/keymobad.jar index 5a85b25..aed1f05 100644 Binary files a/src/android/libs/keymobad.jar and b/src/android/libs/keymobad.jar differ diff --git a/src/ios/KeymobAd.framework/KeymobAd b/src/ios/KeymobAd.framework/KeymobAd index da4209b..8b46a25 100644 Binary files a/src/ios/KeymobAd.framework/KeymobAd and b/src/ios/KeymobAd.framework/KeymobAd differ diff --git a/src/ios/KeymobPlugin.m b/src/ios/KeymobPlugin.m index 81f575d..5beff3f 100644 --- a/src/ios/KeymobPlugin.m +++ b/src/ios/KeymobPlugin.m @@ -37,7 +37,8 @@ - (void)initFromKeymobService:(CDVInvokedUrlCommand *)command { NSLog(@" appid info %@", [params objectForKey:@"appID"]); NSString *appid=[params objectForKey:@"appID"]; BOOL isTesting= [[params objectForKey:@"isTesting"] boolValue]; - [[AdManager sharedInstance] setController:self.viewController andListener:self]; + [AdManager sharedInstance].listener=self; + [AdManager sharedInstance].controller=self.viewController; [[AdManager sharedInstance] configWithKeymobService:appid isTesting:isTesting]; [self.commandDelegate sendPluginResult:[CDVPluginResult resultWithStatus:CDVCommandStatus_OK] callbackId:command.callbackId]; } @@ -45,7 +46,8 @@ - (void)initFromJSON:(CDVInvokedUrlCommand *)command { NSDictionary *params = [command argumentAtIndex:0]; NSString* json= [self dicToJSON:params]; if(json!=nil){ - [[AdManager sharedInstance] setController:self.viewController andListener:self]; + [AdManager sharedInstance].listener=self; + [AdManager sharedInstance].controller=self.viewController; [[AdManager sharedInstance] configWithJSON:json]; [self.commandDelegate sendPluginResult:[CDVPluginResult resultWithStatus:CDVCommandStatus_OK] callbackId:command.callbackId]; }else{