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