[google] [ios] Added GoogleMobileAds framework.

This commit is contained in:
Ilya Grechuhin 2017-09-28 12:20:23 +03:00 committed by Roman Kuznetsov
parent a3ed580709
commit 1ae5be9bbb
82 changed files with 4140 additions and 0 deletions

View file

@ -0,0 +1 @@
Versions/Current/GoogleMobileAds

View file

@ -0,0 +1 @@
Versions/Current/Headers

View file

@ -0,0 +1,113 @@
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 "CoreMotion"
link framework "CoreTelephony"
link framework "CoreVideo"
link framework "Foundation"
link framework "GLKit"
link framework "JavaScriptCore"
link framework "MediaPlayer"
link framework "MessageUI"
link framework "MobileCoreServices"
link framework "OpenGLES"
link framework "SafariServices"
link framework "Security"
link framework "StoreKit"
link framework "SystemConfiguration"
link framework "UIKit"
link framework "WebKit"
header "GoogleMobileAdsDefines.h"
header "GADAdNetworkExtras.h"
header "GADAdSize.h"
header "GADAudioVideoManagerDelegate.h"
header "GADAudioVideoManager.h"
header "GADBannerView.h"
header "GADBannerViewDelegate.h"
header "GADCorrelator.h"
header "GADCorrelatorAdLoaderOptions.h"
header "GADDebugOptionsViewController.h"
header "GADExtras.h"
header "GADInAppPurchase.h"
header "GADInAppPurchaseDelegate.h"
header "GADInterstitial.h"
header "GADInterstitialDelegate.h"
header "GADMediaView.h"
header "GADMobileAds.h"
header "GADNativeExpressAdView.h"
header "GADNativeExpressAdViewDelegate.h"
header "GADRequest.h"
header "GADRequestError.h"
header "GADVideoController.h"
header "GADVideoControllerDelegate.h"
header "GADVideoOptions.h"
header "DFPBannerView.h"
header "DFPBannerViewOptions.h"
header "DFPCustomRenderedAd.h"
header "DFPCustomRenderedBannerViewDelegate.h"
header "DFPCustomRenderedInterstitialDelegate.h"
header "DFPInterstitial.h"
header "DFPRequest.h"
header "GADAdSizeDelegate.h"
header "GADAppEventDelegate.h"
header "GADAdLoader.h"
header "GADAdLoaderAdTypes.h"
header "GADAdLoaderDelegate.h"
header "GADAdChoicesView.h"
header "GADNativeAd.h"
header "GADNativeAdDelegate.h"
header "GADNativeAdImage.h"
header "GADNativeAdImage+Mediation.h"
header "GADNativeAppInstallAd.h"
header "GADNativeAppInstallAdAssetIDs.h"
header "GADNativeContentAd.h"
header "GADNativeContentAdAssetIDs.h"
header "GADNativeCustomTemplateAd.h"
header "GADMultipleAdsAdLoaderOptions.h"
header "GADNativeAdImageAdLoaderOptions.h"
header "GADNativeAdViewAdOptions.h"
header "GADCustomEventBanner.h"
header "GADCustomEventBannerDelegate.h"
header "GADCustomEventExtras.h"
header "GADCustomEventInterstitial.h"
header "GADCustomEventInterstitialDelegate.h"
header "GADCustomEventNativeAd.h"
header "GADCustomEventNativeAdDelegate.h"
header "GADCustomEventParameters.h"
header "GADCustomEventRequest.h"
header "GADMediatedNativeAd.h"
header "GADMediatedNativeAdDelegate.h"
header "GADMediatedNativeAdNotificationSource.h"
header "GADMediatedNativeAppInstallAd.h"
header "GADMediatedNativeContentAd.h"
header "GADDynamicHeightSearchRequest.h"
header "GADSearchBannerView.h"
header "GADSearchRequest.h"
header "GADAdReward.h"
header "GADRewardBasedVideoAd.h"
header "GADRewardBasedVideoAdDelegate.h"
header "Mediation/GADMAdNetworkAdapterProtocol.h"
header "Mediation/GADMAdNetworkConnectorProtocol.h"
header "Mediation/GADMediationAdRequest.h"
header "Mediation/GADMEnums.h"
header "Mediation/GADMRewardBasedVideoAdNetworkAdapterProtocol.h"
header "Mediation/GADMRewardBasedVideoAdNetworkConnectorProtocol.h"
}

View file

@ -0,0 +1,110 @@
//
// DFPBannerView.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/DFPCustomRenderedBannerViewDelegate.h>
#import <GoogleMobileAds/GADAdLoaderDelegate.h>
#import <GoogleMobileAds/GADAppEventDelegate.h>
#import <GoogleMobileAds/GADBannerView.h>
#import <GoogleMobileAds/GADCorrelator.h>
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// The delegate of a GADAdLoader object must conform to this protocol to receive DFPBannerViews.
@protocol DFPBannerAdLoaderDelegate<GADAdLoaderDelegate>
/// Asks the delegate which banner ad sizes should be requested.
- (NSArray<NSValue *> *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader;
/// Tells the delegate that a DFP banner ad was received.
- (void)adLoader:(GADAdLoader *)adLoader didReceiveDFPBannerView:(DFPBannerView *)bannerView;
@end
/// The view that displays DoubleClick For Publishers banner ads.
///
/// To request this ad type using GADAdLoader, you need to pass kGADAdLoaderAdTypeDFPBanner (see
/// GADAdLoaderAdTypes.h) to the |adTypes| parameter in GADAdLoader's initializer method. If you
/// request this ad type, your delegate must conform to the DFPBannerAdLoaderDelegate protocol.
@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, GAD_NULLABLE) NSString *adUnitID;
/// Optional delegate that is notified when creatives send app events.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet id<GADAppEventDelegate> appEventDelegate;
/// Optional delegate that is notified when creatives cause the banner to change size.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet id<GADAdSizeDelegate> 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.
///
/// Example:
///
/// <pre>
/// NSArray *validSizes = @[
/// NSValueFromGADAdSize(kGADAdSizeBanner),
/// NSValueFromGADAdSize(kGADAdSizeLargeBanner)
/// ];
///
/// bannerView.validAdSizes = validSizes;
/// </pre>
@property(nonatomic, copy, GAD_NULLABLE) NSArray *validAdSizes;
/// Correlator object for correlating this object to other ad objects.
@property(nonatomic, strong, GAD_NULLABLE) 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, GAD_NULLABLE)
IBOutlet id<DFPCustomRenderedBannerViewDelegate> customRenderedBannerViewDelegate;
/// Video controller for controlling video rendered by this ad view.
@property(nonatomic, strong, readonly) GADVideoController *videoController;
/// 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;
/// Sets options that configure ad loading.
///
/// @param adOptions An array of GADAdLoaderOptions objects. The array is deep copied and option
/// objects cannot be modified after calling this method.
- (void)setAdOptions:(NSArray *)adOptions;
#pragma mark Deprecated
/// Deprecated. Use the validAdSizes property.
/// Sets the receiver's valid ad sizes to the values pointed to by the provided NULL terminated list
/// of GADAdSize pointers.
///
/// Example:
///
/// <pre>
/// GADAdSize size1 = kGADAdSizeBanner;
/// GADAdSize size2 = kGADAdSizeLargeBanner;
/// [bannerView setValidAdSizesWithSizes:&size1, &size2, NULL];
/// </pre>
- (void)setValidAdSizesWithSizes:(GADAdSize *)firstSize, ... NS_REQUIRES_NIL_TERMINATION
GAD_DEPRECATED_MSG_ATTRIBUTE("Use validAdSizes property.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,29 @@
//
// DFPBannerViewOptions.h
// Google Mobile Ads SDK
//
// Copyright © 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdLoader.h>
#import <GoogleMobileAds/GADAdSize.h>
#import <GoogleMobileAds/GADAdSizeDelegate.h>
#import <GoogleMobileAds/GADAppEventDelegate.h>
GAD_ASSUME_NONNULL_BEGIN
/// Ad loader options for banner ads.
@interface DFPBannerViewOptions : GADAdLoaderOptions
/// Optional delegate that is notified if the loaded banner sends app events.
@property(nonatomic, weak, GAD_NULLABLE) id<GADAppEventDelegate> appEventDelegate;
/// Optional delegate that is notified if the loaded banner changes size.
@property(nonatomic, weak, GAD_NULLABLE) id<GADAdSizeDelegate> adSizeDelegate;
/// Whether the publisher will record impressions manually when the ad becomes visible to the user.
@property(nonatomic, assign) BOOL enableManualImpressions;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,34 @@
//
// DFPCustomRenderedAd.h
// Google Mobile Ads SDK
//
// Copyright 2014 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Custom rendered ad. Your application renders the ad.
@interface DFPCustomRenderedAd : NSObject
/// The ad's HTML.
@property(nonatomic, readonly, copy) NSString *adHTML;
/// The base URL of the ad's HTML.
@property(nonatomic, readonly, copy) 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
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,28 @@
//
// DFPCustomRenderedBannerViewDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2014 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class DFPBannerView;
@class DFPCustomRenderedAd;
GAD_ASSUME_NONNULL_BEGIN
/// The DFPCustomRenderedAd banner view delegate protocol for notifying the delegate of changes to
/// custom rendered banners.
@protocol DFPCustomRenderedBannerViewDelegate<NSObject>
/// Called after ad data has been received. You must construct a banner from |customRenderedAd| and
/// call the |customRenderedAd| object's finishedRenderingAdView: when the ad has been rendered.
- (void)bannerView:(DFPBannerView *)bannerView
didReceiveCustomRenderedAd:(DFPCustomRenderedAd *)customRenderedAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,29 @@
//
// DFPCustomRenderedInterstitialDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2014 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class DFPCustomRenderedAd;
@class DFPInterstitial;
GAD_ASSUME_NONNULL_BEGIN
/// The DFPCustomRenderedAd interstitial delegate protocol for notifying the delegate of changes to
/// custom rendered interstitials.
@protocol DFPCustomRenderedInterstitialDelegate<NSObject>
/// 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
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,39 @@
//
// DFPInterstitial.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/DFPCustomRenderedInterstitialDelegate.h>
#import <GoogleMobileAds/GADAppEventDelegate.h>
#import <GoogleMobileAds/GADCorrelator.h>
#import <GoogleMobileAds/GADInterstitial.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// DoubleClick For Publishers interstitial ad, a full-screen advertisement shown at natural
/// transition points in your application such as between game levels or news stories.
@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, GAD_NULLABLE) GADCorrelator *correlator;
/// Optional delegate that is notified when creatives send app events.
@property(nonatomic, weak, GAD_NULLABLE) id<GADAppEventDelegate> appEventDelegate;
/// Optional delegate object for custom rendered ads.
@property(nonatomic, weak, GAD_NULLABLE)
id<DFPCustomRenderedInterstitialDelegate> customRenderedInterstitialDelegate;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,37 @@
//
// DFPRequest.h
// Google Mobile Ads SDK
//
// Copyright 2014 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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, GAD_NULLABLE) NSString *publisherProvidedID;
/// Array of strings used to exclude specified categories in ad results.
@property(nonatomic, copy, GAD_NULLABLE) NSArray *categoryExclusions;
/// Key-value pairs used for custom targeting.
@property(nonatomic, copy, GAD_NULLABLE) 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 no longer affects ad correlation.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,29 @@
//
// GADAdChoicesView.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADNativeAd.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Displays AdChoices content.
///
/// If a GADAdChoicesView is set on GADNativeAppInstallAdView or GADNativeContentAdView prior to
/// calling -setNativeAppInstallAd: or -setNativeContentAd:, AdChoices content will render inside
/// the GADAdChoicesView. By default, AdChoices is placed in the top right corner of
/// GADNativeAppInstallAdView and GADNativeContentAdView.
@interface GADAdChoicesView : UIView
/// Native ad object that contains the AdChoices asset. Set this property to populate this view's
/// content.
@property(nonatomic, weak) GADNativeAd *nativeAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,53 @@
//
// GADAdLoader.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdLoaderAdTypes.h>
#import <GoogleMobileAds/GADAdLoaderDelegate.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Ad loader options base class. See each ad type's header for available GADAdLoaderOptions
/// subclasses.
@interface GADAdLoaderOptions : NSObject
@end
/// 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, GAD_NULLABLE) id<GADAdLoaderDelegate> delegate;
/// The ad loader's ad unit ID.
@property(nonatomic, readonly) NSString *adUnitID;
/// Indicates whether the ad loader is loading.
@property(nonatomic, getter=isLoading, readonly) BOOL loading;
/// 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.
/// @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 *GAD_NULLABLE_TYPE)rootViewController
adTypes:(NSArray<GADAdLoaderAdType> *)adTypes
options:(NSArray<GADAdLoaderOptions *> *GAD_NULLABLE_TYPE)options;
/// Loads the ad and informs the delegate of the outcome.
- (void)loadRequest:(GADRequest *GAD_NULLABLE_TYPE)request;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,37 @@
//
// GADAdLoaderAdTypes.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
typedef NSString *GADAdLoaderAdType GAD_STRING_ENUM;
/// Use with GADAdLoader to request native app install ads. To receive ads, the ad loader's delegate
/// must conform to the GADNativeAppInstallAdLoaderDelegate protocol. See GADNativeAppInstallAd.h.
///
/// See GADNativeAdImageAdLoaderOptions.h for ad loader image options.
GAD_EXTERN GADAdLoaderAdType const kGADAdLoaderAdTypeNativeAppInstall;
/// Use with GADAdLoader to request native content ads. To receive ads, the ad loader's delegate
/// must conform to the GADNativeContentAdLoaderDelegate protocol. See GADNativeContentAd.h.
///
/// See GADNativeAdImageAdLoaderOptions.h for ad loader image options.
GAD_EXTERN GADAdLoaderAdType const kGADAdLoaderAdTypeNativeContent;
/// Use with GADAdLoader to request native custom template ads. To receive ads, the ad loader's
/// delegate must conform to the GADNativeCustomTemplateAdLoaderDelegate protocol. See
/// GADNativeCustomTemplateAd.h.
GAD_EXTERN GADAdLoaderAdType const kGADAdLoaderAdTypeNativeCustomTemplate;
/// Use with GADAdLoader to request DFP banner ads. To receive ads, the ad loader's delegate must
/// conform to the DFPBannerAdLoaderDelegate protocol. See DFPBannerView.h.
GAD_EXTERN GADAdLoaderAdType const kGADAdLoaderAdTypeDFPBanner;
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,31 @@
//
// GADAdLoaderDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADAdLoader;
GAD_ASSUME_NONNULL_BEGIN
/// Base ad loader delegate protocol. Ad types provide extended protocols that declare methods to
/// handle successful ad loads.
@protocol GADAdLoaderDelegate<NSObject>
/// Called when adLoader fails to load an ad.
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(GADRequestError *)error;
@optional
/// Called after adLoader has finished loading.
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,22 @@
//
// GADAdNetworkExtras.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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<NSObject>
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,30 @@
//
// GADAdReward.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Reward information for GADRewardBasedVideoAd ads.
@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
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,117 @@
//
// GADAdSize.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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 GAD_BOXABLE GADAdSize GADAdSize;
/// Ad size.
///
/// @see typedef GADAdSize
struct GAD_BOXABLE GADAdSize {
CGSize size; ///< The ad size. Don't modify this value directly.
NSUInteger flags; ///< Reserved.
};
#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.
GAD_EXTERN GADAdSize GADAdSizeFromCGSize(CGSize size);
/// Returns a custom GADAdSize that spans the full width of the application in portrait orientation
/// with the height provided.
GAD_EXTERN GADAdSize GADAdSizeFullWidthPortraitWithHeight(CGFloat height);
/// Returns a custom GADAdSize that spans the full width of the application in landscape orientation
/// with the height provided.
GAD_EXTERN GADAdSize GADAdSizeFullWidthLandscapeWithHeight(CGFloat height);
#pragma mark Convenience Functions
/// Returns YES if the two GADAdSizes are equal, otherwise returns NO.
GAD_EXTERN BOOL GADAdSizeEqualToSize(GADAdSize size1, GADAdSize size2);
/// Returns a CGSize for the provided a GADAdSize constant. If the GADAdSize is unknown, returns
/// CGSizeZero.
GAD_EXTERN CGSize CGSizeFromGADAdSize(GADAdSize size);
/// Returns YES if |size| is one of the predefined constants or is a custom GADAdSize generated by
/// GADAdSizeFromCGSize.
GAD_EXTERN BOOL IsGADAdSizeValid(GADAdSize size);
/// Returns YES if |size| is a fluid ad size.
GAD_EXTERN BOOL GADAdSizeIsFluid(GADAdSize size);
/// Returns a NSString describing the provided GADAdSize.
GAD_EXTERN NSString *NSStringFromGADAdSize(GADAdSize size);
/// Returns an NSValue representing the GADAdSize.
GAD_EXTERN NSValue *NSValueFromGADAdSize(GADAdSize size);
/// Returns a GADAdSize from an NSValue. Returns kGADAdSizeInvalid if the value is not a GADAdSize.
GAD_EXTERN 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)
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,26 @@
//
// GADAdSizeDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADAdSize.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADBannerView;
GAD_ASSUME_NONNULL_BEGIN
/// 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<NSObject>
/// Called before the ad view changes to the new size.
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,35 @@
//
// GADAppEventDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADBannerView;
@class GADInterstitial;
GAD_ASSUME_NONNULL_BEGIN
/// 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<NSObject>
@optional
/// Called when the banner receives an app event.
- (void)adView:(GADBannerView *)banner
didReceiveAppEvent:(NSString *)name
withInfo:(NSString *GAD_NULLABLE_TYPE)info;
/// Called when the interstitial receives an app event.
- (void)interstitial:(GADInterstitial *)interstitial
didReceiveAppEvent:(NSString *)name
withInfo:(NSString *GAD_NULLABLE_TYPE)info;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,34 @@
//
// GADAudioVideoManager.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAudioVideoManagerDelegate.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Provides audio and video notifications and configurations management. Available only on iOS 7
/// and above.
///
/// Don't create an instance of this class and use the one available from GADMobileAds
/// sharedInstace's audioVideoManager.
@interface GADAudioVideoManager : NSObject
/// Delegate for receiving video and audio updates.
@property(nonatomic, weak, nullable) id<GADAudioVideoManagerDelegate> delegate;
/// Indicates whether the application wishes to manage audio session. If set as YES, the Google
/// Mobile Ads SDK will stop managing AVAudioSession during the video playback lifecycle. If set as
/// NO, the Google Mobile Ads SDK will control AVAudioSession. That may include: setting
/// AVAudioSession's category to AVAudioSessionCategoryAmbient when all videos are muted, setting
/// AVAudioSession's category to AVAudioSessionCategorySoloAmbient when any playing video becomes
/// unmuted, and allowing background apps to continue playing sound when all videos rendered by
/// Google Mobile Ads SDK are muted or have stopped playing.
@property(nonatomic, assign) BOOL audioSessionIsApplicationManaged;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,39 @@
//
// GADAudioVideoManagerDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADAudioVideoManager;
GAD_ASSUME_NONNULL_BEGIN
@protocol GADAudioVideoManagerDelegate<NSObject>
@optional
/// Tells the delegate that the Google Mobile Ads SDK will start playing a video. This method isn't
/// called if another video rendered by Google Mobile Ads SDK is already playing.
- (void)audioVideoManagerWillPlayVideo:(GADAudioVideoManager *)audioVideoManager;
/// Tells the delegate that the Google Mobile Ads SDK has paused/stopped all video playback.
- (void)audioVideoManagerDidPauseAllVideo:(GADAudioVideoManager *)audioVideoManager;
/// Tells the delegate that at least one video rendered by the Google Mobile Ads SDK will play
/// sound. Your app should stop playing sound when this method is called.
- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager;
/// Tells the delegate that all the video rendered by the Google Mobile Ads SDK has stopped playing
/// sound. Your app can now resume any music playback or produce any kind of sound. Note that this
/// message doesn't mean that all the video has stopped playing, just audio, so you shouldn't
/// deactivate AVAudioSession's instance. Doing so can lead to unexpected video playback behavior.
/// You may deactivate AVAudioSession only when all rendered video ads are paused or have finished
/// playing, and 'audioVideoDidPauseAllVideo:' is called.
- (void)audioVideoManagerDidStopPlayingAudio:(GADAudioVideoManager *)audioVideoManager;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,107 @@
//
// GADBannerView.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdSize.h>
#import <GoogleMobileAds/GADAdSizeDelegate.h>
#import <GoogleMobileAds/GADBannerViewDelegate.h>
#import <GoogleMobileAds/GADInAppPurchaseDelegate.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// The view that displays banner ads. A minimum implementation to get an ad from within a
/// UIViewController class is:
///
/// <pre>
/// // 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]];
/// </pre>
@interface GADBannerView : UIView
#pragma mark Initialization
/// Initializes and returns a banner view with the specified ad size and origin relative to the
/// banner's superview.
- (instancetype)initWithAdSize:(GADAdSize)adSize origin:(CGPoint)origin;
/// Initializes and returns a banner view with the specified ad size placed at its superview's
/// origin.
- (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, GAD_NULLABLE) 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, GAD_NULLABLE) 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, GAD_NULLABLE) IBOutlet id<GADBannerViewDelegate> delegate;
/// Optional delegate that is notified when creatives cause the banner to change size.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet id<GADAdSizeDelegate> adSizeDelegate;
#pragma mark Making an Ad Request
/// Makes an ad request. The request object supplies targeting information.
- (void)loadRequest:(GADRequest *GAD_NULLABLE_TYPE)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 property returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation custom
/// events, this property returns @"GADMAdapterCustomEvents".
@property(nonatomic, readonly, copy, GAD_NULLABLE) 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;
/// Deprecated delegate. GADInAppPurchase has been deprecated.
@property(nonatomic, weak, GAD_NULLABLE)
IBOutlet id<GADInAppPurchaseDelegate> inAppPurchaseDelegate 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, GAD_NULLABLE)
UIView *mediatedAdView GAD_DEPRECATED_MSG_ATTRIBUTE("Use adNetworkClassName.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,53 @@
//
// GADBannerViewDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADBannerView;
GAD_ASSUME_NONNULL_BEGIN
/// Delegate methods for receiving GADBannerView state change messages such as ad request status
/// and ad click lifecycle.
@protocol GADBannerViewDelegate<NSObject>
@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
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,23 @@
//
// GADCorrelator.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,22 @@
//
// GADCorrelatorAdLoaderOptions.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdLoader.h>
#import <GoogleMobileAds/GADCorrelator.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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, GAD_NULLABLE) GADCorrelator *correlator;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,40 @@
//
// GADCustomEventBanner.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdSize.h>
#import <GoogleMobileAds/GADCustomEventBannerDelegate.h>
#import <GoogleMobileAds/GADCustomEventRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// The banner custom event protocol. Your banner custom event handler must implement this protocol.
@protocol GADCustomEventBanner<NSObject>
/// Inform |delegate| with the custom event execution results to ensure mediation behaves correctly.
///
/// In your class, define the -delegate and -setDelegate: methods or use "@synthesize delegate". The
/// Google Mobile Ads SDK sets this property on instances of your class.
@property(nonatomic, weak, GAD_NULLABLE) id<GADCustomEventBannerDelegate> delegate;
/// Called by mediation when your custom event is scheduled to be executed. Report execution results
/// to the delegate.
///
/// @param adSize The size of the ad as configured in the mediation UI for the mediation placement.
/// @param serverParameter Parameter configured in the mediation UI.
/// @param serverLabel Label configured in the mediation UI.
/// @param request Contains ad request information.
- (void)requestBannerAd:(GADAdSize)adSize
parameter:(NSString *GAD_NULLABLE_TYPE)serverParameter
label:(NSString *GAD_NULLABLE_TYPE)serverLabel
request:(GADCustomEventRequest *)request;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,68 @@
//
// GADCustomEventBannerDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADCustomEventBanner;
/// Call back to this delegate in your custom event. You must call customEventBanner:didReceiveAd:
/// when there is an ad to show, or customEventBanner:didFailAd: when there is no ad to show.
/// Otherwise, if enough time passed (several seconds) after the SDK called the requestBannerAd:
/// method of your custom event, the mediation SDK will consider the request timed out, and move on
/// to the next ad network.
@protocol GADCustomEventBannerDelegate<NSObject>
/// Your Custom Event object must call this when it receives or creates an ad view.
- (void)customEventBanner:(id<GADCustomEventBanner>)customEvent didReceiveAd:(UIView *)view;
/// Your Custom Event object must call this when it fails to receive or create the ad view. Pass
/// along any error object sent from the ad network's SDK, or an NSError describing the error. Pass
/// nil if not available.
- (void)customEventBanner:(id<GADCustomEventBanner>)customEvent
didFailAd:(NSError *GAD_NULLABLE_TYPE)error;
/// Your Custom Event object should call this when the user touches or "clicks" the ad to initiate
/// an action. When the SDK receives this callback, it reports the click back to the mediation
/// server.
- (void)customEventBannerWasClicked:(id<GADCustomEventBanner>)customEvent;
/// The rootViewController that you set in GADBannerView. Use this UIViewController to show a modal
/// view when a user taps on the ad.
@property(nonatomic, readonly) UIViewController *viewControllerForPresentingModalView;
/// When you call the following methods, the call will be propagated back to the
/// GADBannerViewDelegate that you implemented and passed to GADBannerView.
/// Your Custom Event should call this when the user taps an ad and a modal view appears.
- (void)customEventBannerWillPresentModal:(id<GADCustomEventBanner>)customEvent;
/// Your Custom Event should call this when the user dismisses the modal view and the modal view is
/// about to go away.
- (void)customEventBannerWillDismissModal:(id<GADCustomEventBanner>)customEvent;
/// Your Custom Event should call this when the user dismisses the modal view and the modal view has
/// gone away.
- (void)customEventBannerDidDismissModal:(id<GADCustomEventBanner>)customEvent;
/// Your Custom Event should call this method when a user action will result in App switching.
- (void)customEventBannerWillLeaveApplication:(id<GADCustomEventBanner>)customEvent;
#pragma mark Deprecated
/// Deprecated. Use customEventBannerWasClicked:.
- (void)customEventBanner:(id<GADCustomEventBanner>)customEvent
clickDidOccurInAd:(UIView *)view
GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventBannerWasClicked:.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,35 @@
//
// GADCustomEventExtras.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADAdNetworkExtras.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Create an instance of this class to set additional parameters for each custom event object. The
/// additional parameters for a custom event are keyed by the custom event label. These extras are
/// passed to your implementation of GADCustomEventBanner or GADCustomEventInterstitial.
@interface GADCustomEventExtras : NSObject<GADAdNetworkExtras>
/// Set additional parameters for the custom event with label |label|. To remove additional
/// parameters associated with |label|, pass in nil for |extras|.
- (void)setExtras:(NSDictionary *GAD_NULLABLE_TYPE)extras forLabel:(NSString *)label;
/// Retrieve the extras for |label|.
- (NSDictionary *GAD_NULLABLE_TYPE)extrasForLabel:(NSString *)label;
/// Removes all the extras set on this instance.
- (void)removeAllExtras;
/// Returns all the extras set on this instance.
- (NSDictionary *)allExtras;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,43 @@
//
// GADCustomEventInterstitial.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADCustomEventInterstitialDelegate.h>
#import <GoogleMobileAds/GADCustomEventRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// The interstitial custom event protocol. Your interstitial custom event handler must implement
/// this protocol.
@protocol GADCustomEventInterstitial<NSObject>
/// Inform |delegate| with the custom event execution results to ensure mediation behaves correctly.
///
/// In your class, define the -delegate and -setDelegate: methods or use "@synthesize delegate". The
/// Google Mobile Ads SDK sets this property on instances of your class.
@property(nonatomic, weak, GAD_NULLABLE) id<GADCustomEventInterstitialDelegate> delegate;
/// Called by mediation when your custom event is scheduled to be executed. Your implementation
/// should start retrieving the interstitial ad. Report execution results to the delegate. You must
/// wait until -presentFromRootViewController is called before displaying the interstitial ad.
///
/// @param serverParameter Parameter configured in the mediation UI.
/// @param serverLabel Label configured in the mediation UI.
/// @param request Contains ad request information.
- (void)requestInterstitialAdWithParameter:(NSString *GAD_NULLABLE_TYPE)serverParameter
label:(NSString *GAD_NULLABLE_TYPE)serverLabel
request:(GADCustomEventRequest *)request;
/// Present the interstitial ad as a modal view using the provided view controller. Called only
/// after your class calls -customEventInterstitialDidReceiveAd: on its custom event delegate.
- (void)presentFromRootViewController:(UIViewController *)rootViewController;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,62 @@
//
// GADCustomEventInterstitialDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADCustomEventInterstitial;
/// Call back to this delegate in your custom event. You must call
/// customEventInterstitialDidReceiveAd: when there is an ad to show, or
/// customEventInterstitial:didFailAd: when there is no ad to show. Otherwise, if enough time passed
/// (several seconds) after the SDK called the requestInterstitialAdWithParameter: method of your
/// custom event, the mediation SDK will consider the request timed out, and move on to the next ad
/// network.
@protocol GADCustomEventInterstitialDelegate<NSObject>
/// Your Custom Event object must call this when it receives or creates an interstitial ad.
- (void)customEventInterstitialDidReceiveAd:(id<GADCustomEventInterstitial>)customEvent;
/// Your Custom Event object must call this when it fails to receive or create the ad. Pass along
/// any error object sent from the ad network's SDK, or an NSError describing the error. Pass nil if
/// not available.
- (void)customEventInterstitial:(id<GADCustomEventInterstitial>)customEvent
didFailAd:(NSError *GAD_NULLABLE_TYPE)error;
/// Your Custom Event object should call this when the user touches or "clicks" the ad to initiate
/// an action. When the SDK receives this callback, it reports the click back to the mediation
/// server.
- (void)customEventInterstitialWasClicked:(id<GADCustomEventInterstitial>)customEvent;
// When you call any of the following methods, the call will be propagated back to the
// GADInterstitialDelegate that you implemented and passed to GADInterstitial.
/// Your Custom Event should call this when the interstitial is being displayed.
- (void)customEventInterstitialWillPresent:(id<GADCustomEventInterstitial>)customEvent;
/// Your Custom Event should call this when the interstitial is about to be dismissed.
- (void)customEventInterstitialWillDismiss:(id<GADCustomEventInterstitial>)customEvent;
/// Your Custom Event should call this when the interstitial has been dismissed.
- (void)customEventInterstitialDidDismiss:(id<GADCustomEventInterstitial>)customEvent;
/// Your Custom Event should call this method when a user action will result in app switching.
- (void)customEventInterstitialWillLeaveApplication:(id<GADCustomEventInterstitial>)customEvent;
#pragma mark Deprecated
/// Deprecated. Use customEventInterstitialDidReceiveAd:.
- (void)customEventInterstitial:(id<GADCustomEventInterstitial>)customEvent
didReceiveAd:(NSObject *)ad
GAD_DEPRECATED_MSG_ATTRIBUTE("Use customEventInterstitialDidReceiveAd:.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,58 @@
//
// GADCustomEventNativeAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADCustomEventRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADCustomEventNativeAdDelegate;
/// Native ad custom event protocol. Your native ad custom event handler class must conform to this
/// protocol.
@protocol GADCustomEventNativeAd<NSObject>
/// Called when the custom event is scheduled to be executed.
///
/// @param serverParameter A value configured in the mediation UI for the custom event.
/// @param request Ad targeting information.
/// @param adTypes List of requested native ad types. See GADAdLoaderAdTypes.h for available ad
/// types.
/// @param options Additional options configured by the publisher for requesting a native ad. See
/// GADNativeAdImageAdLoaderOptions.h for available image options.
/// @param rootViewController Publisher-provided view controller.
- (void)requestNativeAdWithParameter:(NSString *)serverParameter
request:(GADCustomEventRequest *)request
adTypes:(NSArray *)adTypes
options:(NSArray *)options
rootViewController:(UIViewController *)rootViewController;
/// Indicates if the custom event handles user clicks. Return YES if the custom event should handle
/// user clicks. In this case, the Google Mobile Ads SDK doesn't track user clicks and the custom
/// event must notify the Google Mobile Ads SDK of clicks using
/// +[GADMediatedNativeAdNotificationSource mediatedNativeAdDidRecordClick:]. Return NO if the
/// custom event doesn't handles user clicks. In this case, the Google Mobile Ads SDK tracks user
/// clicks itself and the custom event is notified of user clicks via -[GADMediatedNativeAdDelegate
/// mediatedNativeAd:didRecordClickOnAssetWithName:view:viewController:].
- (BOOL)handlesUserClicks;
/// Indicates if the custom event handles user impressions tracking. If this method returns YES, the
/// Google Mobile Ads SDK will not track user impressions and the custom event must notify the
/// Google Mobile Ads SDK of impressions using +[GADMediatedNativeAdNotificationSource
/// mediatedNativeAdDidRecordImpression:]. If this method returns NO,
/// the Google Mobile Ads SDK tracks user impressions and notifies the custom event of impressions
/// using -[GADMediatedNativeAdDelegate mediatedNativeAdDidRecordImpression:].
- (BOOL)handlesUserImpressions;
/// Delegate object used for receiving custom native ad load request progress.
@property(nonatomic, weak, GAD_NULLABLE) id<GADCustomEventNativeAdDelegate> delegate;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,31 @@
//
// GADCustomEventNativeAdDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADCustomEventNativeAd.h>
#import <GoogleMobileAds/GADMediatedNativeAd.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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<NSObject>
/// Tells the delegate that the custom event ad request succeeded and loaded a native ad.
- (void)customEventNativeAd:(id<GADCustomEventNativeAd>)customEventNativeAd
didReceiveMediatedNativeAd:(id<GADMediatedNativeAd>)mediatedNativeAd;
/// Tells the delegate that the custom event ad request failed.
- (void)customEventNativeAd:(id<GADCustomEventNativeAd>)customEventNativeAd
didFailToLoadWithError:(NSError *)error;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,19 @@
//
// GADCustomEventParameters.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Key for getting the server parameter configured in AdMob when mediating to a custom event
/// adapter.
/// Example: NSString *serverParameter = connector.credentials[GADCustomEventParametersServer].
extern NSString *const GADCustomEventParametersServer;
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,59 @@
//
// GADCustomEventRequest.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADCustomEventExtras;
GAD_ASSUME_NONNULL_BEGIN
/// Specifies optional ad request targeting parameters that are provided by the publisher and are
/// forwarded to custom events for purposes of populating an ad request to a 3rd party ad network.
@interface GADCustomEventRequest : NSObject
/// User's gender set in GADRequest. If not specified, returns kGADGenderUnknown.
@property(nonatomic, readonly, assign) GADGender userGender;
/// User's birthday set in GADRequest. If not specified, returns nil.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSDate *userBirthday;
/// If the user's latitude, longitude, and accuracy are not specified, userHasLocation returns NO,
/// and userLatitude, userLongitude, and userLocationAccuracyInMeters return 0.
@property(nonatomic, readonly, assign) BOOL userHasLocation;
/// User's latitude set in GADRequest.
@property(nonatomic, readonly, assign) CGFloat userLatitude;
/// User's longitude set in GADRequest.
@property(nonatomic, readonly, assign) CGFloat userLongitude;
/// The accuracy, in meters, of the user's location data.
@property(nonatomic, readonly, assign) CGFloat userLocationAccuracyInMeters;
/// Description of the user's location, in free form text, set in GADRequest. If not available,
/// returns nil. This may be set even if userHasLocation is NO.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *userLocationDescription;
/// Keywords set in GADRequest. Returns nil if no keywords are set.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSArray *userKeywords;
/// The additional parameters set by the application. This property allows you to pass additional
/// information from your application to your Custom Event object. To do so, create an instance of
/// GADCustomEventExtras to pass to GADRequest -registerAdNetworkExtras:. The instance should have
/// an NSDictionary set for a particular custom event label. That NSDictionary becomes the
/// additionalParameters here.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSDictionary *additionalParameters;
/// Indicates if the testing property has been set in GADRequest.
@property(nonatomic, readonly, assign) BOOL isTesting;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,36 @@
//
// GADDebugOptionsViewController.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADDebugOptionsViewController;
GAD_ASSUME_NONNULL_BEGIN
/// Delegate for the GADDebugOptionsViewController.
@protocol GADDebugOptionsViewControllerDelegate<NSObject>
/// Called when the debug options flow is finished.
- (void)debugOptionsViewControllerDidDismiss:(GADDebugOptionsViewController *)controller;
@end
/// Displays debug options to the user.
@interface GADDebugOptionsViewController : UIViewController
/// Creates and returns a GADDebugOptionsViewController object initialized with the ad unit ID.
/// @param adUnitID An ad unit ID for the DFP account that is being configured with debug options.
+ (instancetype)debugOptionsViewControllerWithAdUnitID:(NSString *)adUnitID;
/// Delegate for the debug options view controller.
@property(nonatomic, weak, GAD_NULLABLE)
IBOutlet id<GADDebugOptionsViewControllerDelegate> delegate;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,165 @@
//
// GADDynamicHeightSearchRequest.h
// GoogleMobileAds
//
// Copyright © 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Use to configure Custom Search Ad (CSA) ad requests. A dynamic height search banner can contain
/// multiple ads and the height is set dynamically based on the ad contents. Please cross-reference
/// the property sections and properties with the official reference document:
/// https://developers.google.com/custom-search-ads/docs/reference
@interface GADDynamicHeightSearchRequest : GADRequest
#pragma mark - Page Level Parameters
#pragma mark Required
/// The CSA "query" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *query;
/// The CSA "adPage" parameter.
@property(nonatomic, assign) NSInteger adPage;
#pragma mark Configuration Settings
/// Indicates if the CSA "adTest" parameter is enabled.
@property(nonatomic, assign) BOOL adTestEnabled;
/// The CSA "channel" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *channel;
/// The CSA "hl" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *hostLanguage;
#pragma mark Layout and Styling
/// The CSA "colorLocation" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *locationExtensionTextColor;
/// The CSA "fontSizeLocation" parameter.
@property(nonatomic, assign) CGFloat locationExtensionFontSize;
#pragma mark Ad Extensions
/// Indicates if the CSA "clickToCall" parameter is enabled.
@property(nonatomic, assign) BOOL clickToCallExtensionEnabled;
/// Indicates if the CSA "location" parameter is enabled.
@property(nonatomic, assign) BOOL locationExtensionEnabled;
/// Indicates if the CSA "plusOnes" parameter is enabled.
@property(nonatomic, assign) BOOL plusOnesExtensionEnabled;
/// Indicates if the CSA "sellerRatings" parameter is enabled.
@property(nonatomic, assign) BOOL sellerRatingsExtensionEnabled;
/// Indicates if the CSA "siteLinks" parameter is enabled.
@property(nonatomic, assign) BOOL siteLinksExtensionEnabled;
#pragma mark - Unit Level Parameters
#pragma mark Required
/// The CSA "width" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *CSSWidth;
/// Configuration Settings
/// The CSA "number" parameter.
@property(nonatomic, assign) NSInteger numberOfAds;
#pragma mark Font
/// The CSA "fontFamily" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *fontFamily;
/// The CSA "fontFamilyAttribution" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *attributionFontFamily;
/// The CSA "fontSizeAnnotation" parameter.
@property(nonatomic, assign) CGFloat annotationFontSize;
/// The CSA "fontSizeAttribution" parameter.
@property(nonatomic, assign) CGFloat attributionFontSize;
/// The CSA "fontSizeDescription" parameter.
@property(nonatomic, assign) CGFloat descriptionFontSize;
/// The CSA "fontSizeDomainLink" parameter.
@property(nonatomic, assign) CGFloat domainLinkFontSize;
/// The CSA "fontSizeTitle" parameter.
@property(nonatomic, assign) CGFloat titleFontSize;
#pragma mark Color
/// The CSA "colorAdBorder" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *adBorderColor;
/// The CSA "colorAdSeparator" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *adSeparatorColor;
/// The CSA "colorAnnotation" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *annotationTextColor;
/// The CSA "colorAttribution" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *attributionTextColor;
/// The CSA "colorBackground" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *backgroundColor;
/// The CSA "colorBorder" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *borderColor;
/// The CSA "colorDomainLink" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *domainLinkColor;
/// The CSA "colorText" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *textColor;
/// The CSA "colorTitleLink" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *titleLinkColor;
#pragma mark General Formatting
/// The CSA "adBorderSelections" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *adBorderCSSSelections;
/// The CSA "adjustableLineHeight" parameter.
@property(nonatomic, assign) CGFloat adjustableLineHeight;
/// The CSA "attributionSpacingBelow" parameter.
@property(nonatomic, assign) CGFloat attributionBottomSpacing;
/// The CSA "borderSelections" parameter.
@property(nonatomic, copy, GAD_NULLABLE) NSString *borderCSSSelections;
/// Indicates if the CSA "noTitleUnderline" parameter is enabled.
@property(nonatomic, assign) BOOL titleUnderlineHidden;
/// Indicates if the CSA "titleBold" parameter is enabled.
@property(nonatomic, assign) BOOL boldTitleEnabled;
/// The CSA "verticalSpacing" parameter.
@property(nonatomic, assign) CGFloat verticalSpacing;
#pragma mark Ad Extensions
/// Indicates if the CSA "detailedAttribution" parameter is enabled.
@property(nonatomic, assign) BOOL detailedAttributionExtensionEnabled;
/// Indicates if the CSA "longerHeadlines" parameter is enabled.
@property(nonatomic, assign) BOOL longerHeadlinesExtensionEnabled;
/// Sets an advanced option value for a specified key. The value must be an NSString or NSNumber.
- (void)setAdvancedOptionValue:(id)value forKey:(NSString *)key;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,23 @@
//
// GADExtras.h
// Google Mobile Ads SDK
//
// Copyright 2012 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADAdNetworkExtras.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Ad network extras sent to Google networks.
@interface GADExtras : NSObject<GADAdNetworkExtras>
/// Additional parameters to be sent to Google networks.
@property(nonatomic, copy, GAD_NULLABLE) NSDictionary *additionalParameters;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,90 @@
//
// GADInAppPurchase.h
// Google Mobile Ads SDK
//
// Copyright 2013 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <StoreKit/StoreKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADDefaultInAppPurchaseDelegate;
#pragma mark - Default Purchase Flow
/// The consumable in-app purchase item that has been purchased by the user. The purchase flow is
/// handled by the Google Mobile Ads SDK.
/// Instances of this class are created and passed to your in-app purchase delegate after the user
/// has successfully paid for a product. Your code must correctly deliver the product to the user
/// and then call the didCompletePurchase method to finish the transaction.
GAD_DEPRECATED_ATTRIBUTE
@interface GADDefaultInAppPurchase : NSObject
/// Enables the default consumable product in-app purchase flow handled by the Google Mobile Ads
/// SDK. The GADDefaultInAppPurchaseDelegate object is retained while the default purchase flow is
/// enabled. This method adds a SKPaymentTransactionObserver to the default SKPaymentQueue.
///
/// Call this method early in your application to handle unfinished transactions from previous
/// application sessions. For example, call this method in your application delegate's
/// application:didFinishLaunchingWithOptions: method.
+ (void)enableDefaultPurchaseFlowWithDelegate:(id<GADDefaultInAppPurchaseDelegate>)delegate;
/// Disables the default in-app purchase flow handled by the Google Mobile Ads SDK and releases the
/// associated GADDefaultInAppPurchaseDelegate object.
+ (void)disableDefaultPurchaseFlow;
/// The in-app purchase product ID.
@property(nonatomic, readonly, copy) NSString *productID;
/// The product quantity.
@property(nonatomic, readonly, assign) NSInteger quantity;
/// The purchased item's completed payment transaction. Your application can use this property's
/// data to save a permanent record of the completed payment. The default purchase flow will finish
/// the transaction on your behalf. Do not finish the transaction yourself.
@property(nonatomic, readonly, strong) SKPaymentTransaction *paymentTransaction;
/// The in-app purchase delegate object must first deliver the user's item and then call this
/// method. Failure to call this method will result in duplicate purchase notifications.
- (void)finishTransaction;
@end
#pragma mark - Custom Purchase Flow
/// Enum of the different statuses resulting from processing a purchase.
GAD_DEPRECATED_ATTRIBUTE
typedef NS_ENUM(NSInteger, GADInAppPurchaseStatus) {
kGADInAppPurchaseStatusError = 0, ///< Error occured while processing the purchase.
kGADInAppPurchaseStatusSuccessful = 1, ///< Purchase was completed successfully.
kGADInAppPurchaseStatusCancel = 2, ///< Purchase was cancelled by the user.
kGADInAppPurchaseStatusInvalidProduct = 3 ///< Error occured while looking up the product.
};
/// The in-app purchase item to be purchased with the purchase flow handled by you, the
/// application developer.
/// Instances of this class are created and passed to your GADInAppPurchaseDelegate object when
/// users click a buy button. It is important to report the result of the purchase back to the SDK
/// in order to track metrics about the transaction.
GAD_DEPRECATED_ATTRIBUTE
@interface GADInAppPurchase : NSObject
/// The in-app purchase product ID.
@property(nonatomic, readonly, copy) NSString *productID;
/// The product quantity.
@property(nonatomic, readonly, assign) NSInteger quantity;
/// The GADInAppPurchaseDelegate object must call this method after handling the in-app purchase for
/// both successful and unsuccessful purchase attempts. This method reports ad conversion and
/// purchase status information to Google.
- (void)reportPurchaseStatus:(GADInAppPurchaseStatus)purchaseStatus;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,50 @@
//
// GADInAppPurchaseDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2013 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADDefaultInAppPurchase;
@class GADInAppPurchase;
GAD_ASSUME_NONNULL_BEGIN
#pragma mark - Default Purchase Flow
/// In-app purchase delegate protocol for default purchase handling. The delegate must deliver
/// the purchased item then call the GADDefaultInAppPurchase object's finishTransaction method.
GAD_DEPRECATED_ATTRIBUTE
@protocol GADDefaultInAppPurchaseDelegate<NSObject>
/// Called when the user successfully paid for a purchase. You must first deliver the purchased
/// item to the user, then call defaultInAppPurchase's finishTransaction method.
- (void)userDidPayForPurchase:(GADDefaultInAppPurchase *)defaultInAppPurchase;
@optional
/// Called when the user clicks on the buy button of an in-app purchase ad. Return YES if the
/// default purchase flow should be started to purchase the item, otherwise return NO. If not
/// implemented, defaults to YES.
- (BOOL)shouldStartPurchaseForProductID:(NSString *)productID quantity:(NSInteger)quantity;
@end
#pragma mark - Custom Purchase Flow
/// In-app purchase delegate protocol for custom purchase handling. The delegate must handle the
/// product purchase flow then call the GADInAppPurchase object's reportPurchaseStatus: method.
GAD_DEPRECATED_ATTRIBUTE
@protocol GADInAppPurchaseDelegate<NSObject>
/// Called when the user clicks on the buy button of an in-app purchase ad. After the receiver
/// handles the purchase, it must call the GADInAppPurchase object's reportPurchaseStatus: method.
- (void)didReceiveInAppPurchase:(GADInAppPurchase *)purchase;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,88 @@
//
// GADInterstitial.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADInAppPurchaseDelegate.h>
#import <GoogleMobileAds/GADInterstitialDelegate.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// An interstitial ad. This is a full-screen advertisement shown at natural transition points in
/// your application such as between game levels or news stories.
@interface GADInterstitial : NSObject
/// Initializes an interstitial with an ad unit created on the AdMob website. Create a new ad unit
/// for every unique placement of an ad in your application. Set this to the ID assigned for this
/// placement. Ad units are important for targeting and statistics.
///
/// Example AdMob ad unit ID: @"ca-app-pub-0123456789012345/0123456789"
- (instancetype)initWithAdUnitID:(NSString *)adUnitID NS_DESIGNATED_INITIALIZER;
#pragma mark Pre-Request
/// Required value passed in with initWithAdUnitID:.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *adUnitID;
/// Optional delegate object that receives state change notifications from this GADInterstitalAd.
@property(nonatomic, weak, GAD_NULLABLE) id<GADInterstitialDelegate> delegate;
#pragma mark Making an Ad Request
/// Makes an interstitial ad request. Additional targeting options can be supplied with a request
/// object. Only one interstitial request is allowed at a time.
///
/// This is best to do several seconds before the interstitial is needed to preload its content.
/// Then when transitioning between view controllers show the interstital with
/// presentFromViewController.
- (void)loadRequest:(GADRequest *GAD_NULLABLE_TYPE)request;
#pragma mark Post-Request
/// Returns YES if the interstitial is ready to be displayed. The delegate's
/// interstitialAdDidReceiveAd: will be called after this property switches from NO to YES.
@property(nonatomic, readonly, assign) BOOL isReady;
/// Returns YES if this object has already been presented. Interstitial objects can only be used
/// once even with different requests.
@property(nonatomic, readonly, assign) BOOL hasBeenUsed;
/// Returns the ad network class name that fetched the current ad. Returns nil while the latest ad
/// request is in progress or if the latest ad request failed. For both standard and mediated Google
/// AdMob ads, this property returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation
/// custom events, this property returns @"GADMAdapterCustomEvents".
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *adNetworkClassName;
/// Presents the interstitial ad which takes over the entire screen until the user dismisses it.
/// This has no effect unless isReady returns YES and/or the delegate's interstitialDidReceiveAd:
/// has been received.
///
/// Set rootViewController to the current view controller at the time this method is called. If your
/// application does not use view controllers pass in nil and your views will be removed from the
/// window to show the interstitial and restored when done. After the interstitial has been removed,
/// the delegate's interstitialDidDismissScreen: will be called.
- (void)presentFromRootViewController:(UIViewController *)rootViewController;
#pragma mark Deprecated
/// Deprecated delegate. GADInAppPurchase has been deprecated.
@property(nonatomic, weak, GAD_NULLABLE)
id<GADInAppPurchaseDelegate> inAppPurchaseDelegate GAD_DEPRECATED_ATTRIBUTE;
/// Deprecated intializer. Use initWithAdUnitID: instead.
- (instancetype)init GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID:.");
/// Deprecated setter, use initWithAdUnitID: instead.
- (void)setAdUnitID:(NSString *GAD_NULLABLE_TYPE)adUnitID
GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithAdUnitID: instead of setting the ad unit ID.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,58 @@
//
// GADInterstitialDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADInterstitial;
GAD_ASSUME_NONNULL_BEGIN
/// Delegate for receiving state change messages from a GADInterstitial such as interstitial ad
/// requests succeeding/failing.
@protocol GADInterstitialDelegate<NSObject>
@optional
#pragma mark Ad Request Lifecycle Notifications
/// Called when an interstitial ad request succeeded. Show it at the next transition point in your
/// application such as when transitioning between view controllers.
- (void)interstitialDidReceiveAd:(GADInterstitial *)ad;
/// Called when an interstitial ad request completed without an interstitial to
/// show. This is common since interstitials are shown sparingly to users.
- (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error;
#pragma mark Display-Time Lifecycle Notifications
/// Called just before presenting an interstitial. After this method finishes the interstitial will
/// animate onto the screen. Use this opportunity to stop animations and save the state of your
/// application in case the user leaves while the interstitial is on screen (e.g. to visit the App
/// Store from a link on the interstitial).
- (void)interstitialWillPresentScreen:(GADInterstitial *)ad;
/// Called when |ad| fails to present.
- (void)interstitialDidFailToPresentScreen:(GADInterstitial *)ad;
/// Called before the interstitial is to be animated off the screen.
- (void)interstitialWillDismissScreen:(GADInterstitial *)ad;
/// Called just after dismissing an interstitial and it has animated off the screen.
- (void)interstitialDidDismissScreen:(GADInterstitial *)ad;
/// Called just before the application will background or terminate because the user clicked on an
/// ad that will launch another application (such as the App Store). The normal
/// UIApplicationDelegate methods, like applicationDidEnterBackground:, will be called immediately
/// before this.
- (void)interstitialWillLeaveApplication:(GADInterstitial *)ad;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,33 @@
//
// GADMediaView.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADNativeAd.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Displays native ad media assets.
///
/// To display media assets in GADNativeAppInstallAdView instances, add a GADMediaView subview and
/// assign the native ad view's mediaView property.
///
/// If the native ad doesn't contain a video and image loading is enabled, the GADMediaView displays
/// the native ad's |images| asset's first image.
///
/// If the native ad doesn't contain a video and image loading is disabled, the GADMediaView object
/// is empty.
@interface GADMediaView : UIView
/// The associated native ad. Setting this property displays the native ad's media assets in this
/// view.
@property(nonatomic, weak) GADNativeAd *nativeAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,27 @@
//
// GADMediatedNativeAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADMediatedNativeAdDelegate.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Base protocol for mediated native ads.
@protocol GADMediatedNativeAd<NSObject>
/// Returns a delegate object that receives state change notifications.
- (nullable id<GADMediatedNativeAdDelegate>)mediatedNativeAdDelegate;
/// Returns a dictionary of asset names and object pairs for assets that are not handled by
/// properties of the GADMediatedNativeAd subclass.
- (NSDictionary *GAD_NULLABLE_TYPE)extraAssets;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,47 @@
//
// GADMediatedNativeAdDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADMediatedNativeAd;
/// GADMediatedNativeAdDelegate objects handle mediated native ad events.
@protocol GADMediatedNativeAdDelegate<NSObject>
@optional
/// Tells the delegate that the mediated native ad has rendered in |view|, a subview of
/// |viewController|.
- (void)mediatedNativeAd:(id<GADMediatedNativeAd>)mediatedNativeAd
didRenderInView:(UIView *)view
viewController:(UIViewController *)viewController;
/// 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<GADMediatedNativeAd>)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|. This method is
/// called only if -[GADMAdNetworkAdapter handlesUserClicks] returns NO.
- (void)mediatedNativeAd:(id<GADMediatedNativeAd>)mediatedNativeAd
didRecordClickOnAssetWithName:(NSString *)assetName
view:(UIView *)view
viewController:(UIViewController *)viewController;
/// Tells the delegate that the mediated native ad has untracked |view|. This method is called
/// when the mediatedNativeAd is no longer rendered in the provided view and the delegate should
/// stop tracking the view's impressions and clicks.
- (void)mediatedNativeAd:(id<GADMediatedNativeAd>)mediatedNativeAd didUntrackView:(UIView *)view;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,45 @@
//
// GADMediatedNativeAdNotificationSource.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADMediatedNativeAd.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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
/// Called by the adapter when it has registered an impression on the tracked view. Adapter should
/// only call this method if -[GADMAdNetworkAdapter handlesUserImpressions] returns YES.
+ (void)mediatedNativeAdDidRecordImpression:(id<GADMediatedNativeAd>)mediatedNativeAd;
/// Called by the adapter when it has registered a user click on the tracked view. Adapter should
/// only call this method if -[GADMAdNetworkAdapter handlesUserClicks] returns YES.
+ (void)mediatedNativeAdDidRecordClick:(id<GADMediatedNativeAd>)mediatedNativeAd;
/// Must be called by the adapter just before mediatedNativeAd has opened an in app modal screen.
+ (void)mediatedNativeAdWillPresentScreen:(id<GADMediatedNativeAd>)mediatedNativeAd;
/// Must be called by the adapter just before the in app modal screen opened by mediatedNativeAd is
/// dismissed.
+ (void)mediatedNativeAdWillDismissScreen:(id<GADMediatedNativeAd>)mediatedNativeAd;
/// Must be called by the adapter after the in app modal screen opened by mediatedNativeAd is
/// dismissed.
+ (void)mediatedNativeAdDidDismissScreen:(id<GADMediatedNativeAd>)mediatedNativeAd;
/// Must be called by the adapter just before mediatedNativeAd has left the application.
+ (void)mediatedNativeAdWillLeaveApplication:(id<GADMediatedNativeAd>)mediatedNativeAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,51 @@
//
// GADMediatedNativeAppInstallAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADMediatedNativeAd.h>
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// 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<GADMediatedNativeAd>
/// App title.
- (NSString *GAD_NULLABLE_TYPE)headline;
/// Array of GADNativeAdImage objects related to the advertised application.
- (NSArray *GAD_NULLABLE_TYPE)images;
/// App description.
- (NSString *GAD_NULLABLE_TYPE)body;
/// Application icon.
- (GADNativeAdImage *GAD_NULLABLE_TYPE)icon;
/// Text that encourages user to take some action with the ad. For example "Install".
- (NSString *GAD_NULLABLE_TYPE)callToAction;
/// App store rating (0 to 5).
- (NSDecimalNumber *GAD_NULLABLE_TYPE)starRating;
/// The app store name. For example, "App Store".
- (NSString *GAD_NULLABLE_TYPE)store;
/// String representation of the app's price.
- (NSString *GAD_NULLABLE_TYPE)price;
@optional
/// AdChoices view.
- (UIView *GAD_NULLABLE_TYPE)adChoicesView;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,44 @@
//
// GADMediatedNativeContentAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADMediatedNativeAd.h>
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Provides methods used for constructing native content ads.
@protocol GADMediatedNativeContentAd<GADMediatedNativeAd>
/// Primary text headline.
- (NSString *GAD_NULLABLE_TYPE)headline;
/// Secondary text.
- (NSString *GAD_NULLABLE_TYPE)body;
/// List of large images. Each object is an instance of GADNativeAdImage.
- (NSArray *GAD_NULLABLE_TYPE)images;
/// Small logo image.
- (GADNativeAdImage *GAD_NULLABLE_TYPE)logo;
/// Text that encourages user to take some action with the ad.
- (NSString *GAD_NULLABLE_TYPE)callToAction;
/// Identifies the advertiser. For example, the advertisers name or visible URL.
- (NSString *GAD_NULLABLE_TYPE)advertiser;
@optional
/// AdChoices view.
- (UIView *GAD_NULLABLE_TYPE)adChoicesView;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,59 @@
//
// GADMobileAds.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADAudioVideoManager.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Google Mobile Ads SDK settings.
@interface GADMobileAds : NSObject
/// Returns the shared GADMobileAds instance.
+ (GADMobileAds *)sharedInstance;
/// Configures the SDK using the settings associated with the given application ID.
+ (void)configureWithApplicationID:(NSString *)applicationID;
/// 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;
/// The application's audio volume. Affects audio volumes of all ads relative to other audio output.
/// Valid ad volume values range from 0.0 (silent) to 1.0 (current device volume). Use this method
/// only if your application has its own volume controls (e.g., custom music or sound effect
/// volumes). Defaults to 1.0.
@property(nonatomic, assign) float applicationVolume;
/// Indicates if the application's audio is muted. Affects initial mute state for all ads. Use this
/// method only if your application has its own volume controls (e.g., custom music or sound effect
/// muting). Defaults to NO.
@property(nonatomic, assign) BOOL applicationMuted;
/// Manages the Google Mobile Ads SDK's audio and video settings.
@property(nonatomic, readonly, strong) GADAudioVideoManager *audioVideoManager;
/// Returns YES if the current SDK version is at least |major|.|minor|.|patch|. This method can be
/// used by libraries that depend on a specific minimum version of the Google Mobile Ads SDK to warn
/// developers if they have an incompatible version.
///
/// Available in Google Mobile Ads SDK 7.10 and onwards. Before calling this method check if the
/// GADMobileAds's shared instance responds to this method. Calling this method on a Google Mobile
/// Ads SDK lower than 7.10 can crash the app.
- (BOOL)isSDKVersionAtLeastMajor:(NSInteger)major minor:(NSInteger)minor patch:(NSInteger)patch;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,27 @@
//
// GADMultipleAdsAdLoaderOptions.h
// Google Mobile Ads SDK
//
// Copyright 2017 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdLoader.h>
GAD_ASSUME_NONNULL_BEGIN
/// Ad loader options for requesting multiple ads. Requesting multiple ads in a single request is
/// currently only available for native app install ads and native content ads.
@interface GADMultipleAdsAdLoaderOptions : GADAdLoaderOptions
/// Number of ads the GADAdLoader should attempt to return for the request. By default, numberOfAds
/// is one. Requests are invalid and will fail if numberOfAds is less than one. If numberOfAds
/// exceeds the maximum limit (5), only the maximum number of ads are requested.
///
/// The ad loader makes at least one and up to numberOfAds calls to the "ad received" and
/// -didFailToReceiveAdWithError: methods found in GADAdLoaderDelegate and its extensions, followed
/// by a single call to -adLoaderDidFinishLoading: once loading is finished.
@property(nonatomic) NSInteger numberOfAds;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,36 @@
//
// GADNativeAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADNativeAdDelegate;
/// Native ad base class. All native ad types are subclasses of this class.
@interface GADNativeAd : NSObject
/// Optional delegate to receive state change notifications.
@property(nonatomic, weak, GAD_NULLABLE) id<GADNativeAdDelegate> delegate;
/// Root view controller for handling ad actions.
@property(nonatomic, weak, GAD_NULLABLE) UIViewController *rootViewController;
/// Dictionary of assets which aren't processed by the receiver.
@property(nonatomic, readonly, copy, GAD_NULLABLE) 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, GAD_NULLABLE) NSString *adNetworkClassName;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,57 @@
//
// GADNativeAdDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADNativeAd;
GAD_ASSUME_NONNULL_BEGIN
/// Identifies native ad assets.
@protocol GADNativeAdDelegate<NSObject>
@optional
#pragma mark Ad Lifecycle Events
/// Called when an impression is recorded for an ad. Only called for Google ads and is not supported
/// for mediation ads.
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd;
/// Called when a click is recorded for an ad. Only called for Google ads and is not supported for
/// mediation ads.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd;
#pragma mark Click-Time Lifecycle Notifications
/// Called just before presenting the user a full screen view, such as a browser, in response to
/// clicking on an ad. Use this opportunity to stop animations, time sensitive interactions, etc.
///
/// Normally the user looks at the ad, dismisses it, and control returns to your application with
/// the nativeAdDidDismissScreen: message. However, if the user hits the Home button or clicks on an
/// App Store link, your application will end. The next method called will be the
/// applicationWillResignActive: of your UIApplicationDelegate object.Immediately after that,
/// nativeAdWillLeaveApplication: is called.
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd;
/// Called just before dismissing a full screen view.
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd;
/// Called just after dismissing a full screen view. Use this opportunity to restart anything you
/// may have stopped as part of nativeAdWillPresentScreen:.
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd;
/// Called just before the application will go to the background or terminate due to an ad action
/// that will launch another application (such as the App Store). The normal UIApplicationDelegate
/// methods, like applicationDidEnterBackground:, will be called immediately before this.
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,24 @@
//
// GADNativeAdImage+Mediation.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google. All rights reserved.
//
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Provides additional GADNativeAdImage initializers.
@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
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,29 @@
//
// GADNativeAdImage.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Native ad image.
@interface GADNativeAdImage : NSObject
/// The image. If image autoloading is disabled, this property will be nil.
@property(nonatomic, readonly, strong, GAD_NULLABLE) UIImage *image;
/// The image's URL.
@property(nonatomic, readonly, copy) NSURL *imageURL;
/// The image's scale.
@property(nonatomic, readonly, assign) CGFloat scale;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,37 @@
//
// GADNativeAdImageAdLoaderOptions.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdLoader.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Native ad image orientation preference.
typedef NS_ENUM(NSInteger, GADNativeAdImageAdLoaderOptionsOrientation) {
GADNativeAdImageAdLoaderOptionsOrientationAny = 1, ///< No orientation preference.
GADNativeAdImageAdLoaderOptionsOrientationPortrait = 2, ///< Prefer portrait images.
GADNativeAdImageAdLoaderOptionsOrientationLandscape = 3 ///< Prefer landscape images.
};
/// Ad loader options for native ad image settings.
@interface GADNativeAdImageAdLoaderOptions : GADAdLoaderOptions
/// Indicates if image asset content should be loaded by the SDK. If set to YES, the SDK will not
/// load image asset content and native ad image URLs can be used to fetch content. Defaults to NO,
/// image assets are loaded by the SDK.
@property(nonatomic, assign) BOOL disableImageLoading;
/// Indicates if multiple images should be loaded for each asset. Defaults to NO.
@property(nonatomic, assign) BOOL shouldRequestMultipleImages;
/// Indicates preferred image orientation. Defaults to
/// GADNativeAdImageAdLoaderOptionsOrientationAny.
@property(nonatomic, assign) GADNativeAdImageAdLoaderOptionsOrientation preferredImageOrientation;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,29 @@
//
// GADNativeAdViewAdOptions.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdLoader.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Position of the AdChoices icon in the containing ad.
typedef NS_ENUM(NSInteger, GADAdChoicesPosition) {
GADAdChoicesPositionTopRightCorner, ///< Top right corner.
GADAdChoicesPositionTopLeftCorner, ///< Top left corner.
GADAdChoicesPositionBottomRightCorner, ///< Bottom right corner.
GADAdChoicesPositionBottomLeftCorner ///< Bottom Left Corner.
};
/// Ad loader options for configuring the view of native ads.
@interface GADNativeAdViewAdOptions : GADAdLoaderOptions
/// Indicates preferred location of AdChoices icon. Default is GADAdChoicesPositionTopRightCorner.
@property(nonatomic, assign) GADAdChoicesPosition preferredAdChoicesPosition;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,105 @@
//
// GADNativeAppInstallAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdChoicesView.h>
#import <GoogleMobileAds/GADAdLoaderDelegate.h>
#import <GoogleMobileAds/GADMediaView.h>
#import <GoogleMobileAds/GADNativeAd.h>
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Native app install ad. To request this ad type, you need to pass
/// kGADAdLoaderAdTypeNativeAppInstall (see GADAdLoaderAdTypes.h) to the |adTypes| parameter in
/// GADAdLoader's initializer method. If you request this ad type, your delegate must conform to the
/// GADNativeAppInstallAdLoaderDelegate protocol.
@interface GADNativeAppInstallAd : GADNativeAd
#pragma mark - Must be displayed
/// App title.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *headline;
/// Text that encourages user to take some action with the ad. For example "Install".
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *callToAction;
/// Application icon.
@property(nonatomic, readonly, strong, GAD_NULLABLE) GADNativeAdImage *icon;
#pragma mark - Recommended to display
/// App description.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *body;
/// The app store name. For example, "App Store".
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *store;
/// String representation of the app's price.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *price;
/// Array of GADNativeAdImage objects related to the advertised application.
@property(nonatomic, readonly, strong, GAD_NULLABLE) NSArray *images;
/// App store rating (0 to 5).
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSDecimalNumber *starRating;
/// Video controller for controlling video playback in GADNativeAppInstallAdView's mediaView.
@property(nonatomic, strong, readonly) GADVideoController *videoController;
/// Registers ad view and asset views created from this native ad.
/// @param assetViews Dictionary of asset views keyed by asset IDs.
- (void)registerAdView:(UIView *)adView assetViews:(NSDictionary<NSString *, UIView *> *)assetViews;
/// Unregisters ad view from this native ad. The corresponding asset views will also be
/// unregistered.
- (void)unregisterAdView;
@end
#pragma mark - Protocol and constants
/// The delegate of a GADAdLoader object implements this protocol to receive GADNativeAppInstallAd
/// ads.
@protocol GADNativeAppInstallAdLoaderDelegate<GADAdLoaderDelegate>
/// Called when a native app install ad is received.
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAppInstallAd:(GADNativeAppInstallAd *)nativeAppInstallAd;
@end
#pragma mark - Native App Install Ad View
/// Base class for app install ad views. Your app install ad view must be a subclass of this class
/// and must call superclass methods for all overriden methods.
@interface GADNativeAppInstallAdView : UIView
/// This property must point to the native app install ad object rendered by this ad view.
@property(nonatomic, strong, GAD_NULLABLE) GADNativeAppInstallAd *nativeAppInstallAd;
/// Weak reference to your ad view's headline asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *headlineView;
/// Weak reference to your ad view's call to action asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *callToActionView;
/// Weak reference to your ad view's icon asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *iconView;
/// Weak reference to your ad view's body asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *bodyView;
/// Weak reference to your ad view's store asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *storeView;
/// Weak reference to your ad view's price asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *priceView;
/// Weak reference to your ad view's image asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *imageView;
/// Weak reference to your ad view's star rating asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *starRatingView;
/// Weak reference to your ad view's media asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet GADMediaView *mediaView;
/// Weak reference to your ad view's AdChoices view. Must set adChoicesView before setting
/// nativeAppInstallAd, otherwise AdChoices will be rendered in the publisher's
/// preferredAdChoicesPosition as defined in GADNativeAdViewAdOptions.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet GADAdChoicesView *adChoicesView;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,28 @@
//
// GADNativeAppInstallAdAssetIDs.h
// Google Mobile Ads SDK
//
// Copyright 2017 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
GAD_EXTERN NSString *const GADNativeAppInstallHeadlineAsset;
GAD_EXTERN NSString *const GADNativeAppInstallCallToActionAsset;
GAD_EXTERN NSString *const GADNativeAppInstallIconAsset;
GAD_EXTERN NSString *const GADNativeAppInstallBodyAsset;
GAD_EXTERN NSString *const GADNativeAppInstallStoreAsset;
GAD_EXTERN NSString *const GADNativeAppInstallPriceAsset;
GAD_EXTERN NSString *const GADNativeAppInstallImageAsset;
GAD_EXTERN NSString *const GADNativeAppInstallStarRatingAsset;
GAD_EXTERN NSString *const GADNativeAppInstallAttributionIconAsset;
GAD_EXTERN NSString *const GADNativeAppInstallAttributionTextAsset;
GAD_EXTERN NSString *const GADNativeAppInstallMediaViewAsset;
GAD_EXTERN NSString *const GADNativeAppInstallAdChoicesViewAsset;
GAD_EXTERN NSString *const GADNativeAppInstallBackgroundAsset;
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,98 @@
//
// GADNativeContentAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdChoicesView.h>
#import <GoogleMobileAds/GADAdLoaderDelegate.h>
#import <GoogleMobileAds/GADMediaView.h>
#import <GoogleMobileAds/GADNativeAd.h>
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
#pragma mark - Native Content Ad Assets
/// Native content ad. To request this ad type, you need to pass kGADAdLoaderAdTypeNativeContent
/// (see GADAdLoaderAdTypes.h) to the |adTypes| parameter in GADAdLoader's initializer method. If
/// you request this ad type, your delegate must conform to the GADNativeContentAdLoaderDelegate
/// protocol.
@interface GADNativeContentAd : GADNativeAd
#pragma mark - Must be displayed
/// Primary text headline.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *headline;
/// Secondary text.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *body;
#pragma mark - Recommended to display
/// Large images.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSArray *images;
/// Small logo image.
@property(nonatomic, readonly, strong, GAD_NULLABLE) GADNativeAdImage *logo;
/// Text that encourages user to take some action with the ad.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *callToAction;
/// Identifies the advertiser. For example, the advertisers name or visible URL.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *advertiser;
/// Video controller for controlling video playback in GADNativeContentAdView's mediaView.
@property(nonatomic, strong, readonly) GADVideoController *videoController;
/// Registers ad view and asset views created from this native ad.
/// @param assetViews Dictionary of asset views keyed by asset IDs.
- (void)registerAdView:(UIView *)adView assetViews:(NSDictionary<NSString *, UIView *> *)assetViews;
/// Unregisters ad view from this native ad. The corresponding asset views will also be
/// unregistered.
- (void)unregisterAdView;
@end
#pragma mark - Protocol and constants
/// The delegate of a GADAdLoader object implements this protocol to receive GADNativeContentAd ads.
@protocol GADNativeContentAdLoaderDelegate<GADAdLoaderDelegate>
/// Called when native content is received.
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeContentAd:(GADNativeContentAd *)nativeContentAd;
@end
#pragma mark - Native Content Ad View
/// Base class for content ad views. Your content ad view must be a subclass of this class and must
/// call superclass methods for all overriden methods.
@interface GADNativeContentAdView : UIView
/// This property must point to the native content ad object rendered by this ad view.
@property(nonatomic, strong, GAD_NULLABLE) GADNativeContentAd *nativeContentAd;
/// Weak reference to your ad view's headline asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *headlineView;
/// Weak reference to your ad view's body asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *bodyView;
/// Weak reference to your ad view's image asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *imageView;
/// Weak reference to your ad view's logo asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *logoView;
/// Weak reference to your ad view's call to action asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *callToActionView;
/// Weak reference to your ad view's advertiser asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIView *advertiserView;
/// Weak reference to your ad view's media asset view.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet GADMediaView *mediaView;
/// Weak reference to your ad view's AdChoices view. Must set adChoicesView before setting
/// nativeContentAd, otherwise AdChoices will be rendered in the publisher's
/// preferredAdChoicesPosition as defined in GADNativeAdViewAdOptions.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet GADAdChoicesView *adChoicesView;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,26 @@
//
// GADNativeContentAdAssetIDs.h
// Google Mobile Ads SDK
//
// Copyright 2017 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
GAD_EXTERN NSString *const GADNativeContentHeadlineAsset;
GAD_EXTERN NSString *const GADNativeContentBodyAsset;
GAD_EXTERN NSString *const GADNativeContentCallToActionAsset;
GAD_EXTERN NSString *const GADNativeContentAdvertiserAsset;
GAD_EXTERN NSString *const GADNativeContentImageAsset;
GAD_EXTERN NSString *const GADNativeContentLogoAsset;
GAD_EXTERN NSString *const GADNativeContentAttributionIconAsset;
GAD_EXTERN NSString *const GADNativeContentAttributionTextAsset;
GAD_EXTERN NSString *const GADNativeContentMediaViewAsset;
GAD_EXTERN NSString *const GADNativeContentAdChoicesViewAsset;
GAD_EXTERN NSString *const GADNativeContentBackgroundAsset;
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,94 @@
//
// GADNativeCustomTemplateAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdLoaderDelegate.h>
#import <GoogleMobileAds/GADMediaView.h>
#import <GoogleMobileAds/GADNativeAd.h>
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Native ad custom click handler block. |assetID| is the ID of asset that has received a click.
typedef void (^GADNativeAdCustomClickHandler)(NSString *assetID);
/// Asset key for the GADMediaView asset view.
extern NSString *const GADNativeCustomTemplateAdMediaViewKey;
/// Native custom template ad. To request this ad type, you need to pass
/// kGADAdLoaderAdTypeNativeCustomTemplate (see GADAdLoaderAdTypes.h) to the |adTypes| parameter in
/// GADAdLoader's initializer method. If you request this ad type, your delegate must conform to the
/// GADNativeCustomTemplateAdLoaderDelegate protocol.
@interface GADNativeCustomTemplateAd : GADNativeAd
/// The ad's custom template ID.
@property(nonatomic, readonly) NSString *templateID;
/// Array of available asset keys.
@property(nonatomic, readonly) NSArray<NSString *> *availableAssetKeys;
/// Returns video controller for controlling receiver's video.
@property(nonatomic, readonly, strong) GADVideoController *videoController;
/// Returns media view for rendering video loaded by the receiver. Returns nil if receiver doesn't
/// has a video.
@property(nonatomic, readonly, strong, GAD_NULLABLE) GADMediaView *mediaView;
/// Custom click handler. Set this property only if this template ad is configured with a custom
/// click action, otherwise set it to nil. If this property is set to a non-nil value, the ad's
/// built-in click actions are ignored and |customClickHandler| is executed when a click on the
/// asset is received.
@property(atomic, copy, GAD_NULLABLE) GADNativeAdCustomClickHandler customClickHandler;
/// Returns the native ad image corresponding to the specified key or nil if the image is not
/// available.
- (GADNativeAdImage *GAD_NULLABLE_TYPE)imageForKey:(NSString *)key;
/// Returns the string corresponding to the specified key or nil if the string is not available.
- (NSString *GAD_NULLABLE_TYPE)stringForKey:(NSString *)key;
/// Call when the user clicks on the ad. Provide the asset key that best matches the asset the user
/// interacted with. If this ad is configured with a custom click action, ensure the receiver's
/// customClickHandler property is set before calling this method.
- (void)performClickOnAssetWithKey:(NSString *)assetKey;
/// Call when the ad is displayed on screen to the user. Can be called multiple times. Only the
/// first impression is recorded.
- (void)recordImpression;
/// Call when the user clicks on the ad. Provide the asset key that best matches the asset the user
/// interacted with. Provide |customClickHandler| only if this template is configured with a custom
/// click action, otherwise pass in nil. If a block is provided, the ad's built-in click actions are
/// ignored and |customClickHandler| is executed after recording the click.
///
/// This method is deprecated. See performClickOnAssetWithKey: API.
- (void)performClickOnAssetWithKey:(NSString *)assetKey
customClickHandler:(dispatch_block_t GAD_NULLABLE_TYPE)customClickHandler
GAD_DEPRECATED_MSG_ATTRIBUTE("Use performClickOnAssetWithKey:.");
@end
#pragma mark - Loading Protocol
/// The delegate of a GADAdLoader object implements this protocol to receive
/// GADNativeCustomTemplateAd ads.
@protocol GADNativeCustomTemplateAdLoaderDelegate<GADAdLoaderDelegate>
/// Called when requesting an ad. Asks the delegate for an array of custom template ID strings.
- (NSArray<NSString *> *)nativeCustomTemplateIDsForAdLoader:(GADAdLoader *)adLoader;
/// Tells the delegate that a native custom template ad was received.
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeCustomTemplateAd:(GADNativeCustomTemplateAd *)nativeCustomTemplateAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,96 @@
//
// GADNativeExpressAdView.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADAdSize.h>
#import <GoogleMobileAds/GADNativeExpressAdViewDelegate.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// The view that displays native ads. A minimum implementation to get an ad from within a
/// UIViewController class is:
///
/// <pre>
/// // Create and setup the ad view, specifying the size and origin at {0, 0}.
/// GADNativeExpressAdView *adView =
/// [[GADNativeExpressAdView 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]];
/// </pre>
@interface GADNativeExpressAdView : UIView
#pragma mark - Initialization
/// Returns an initialized GADNativeExpressAdView instance set to |adSize| and positioned at
/// |origin| relative to its superview bounds. Returns nil if |adSize| is an invalid ad size.
- (instancetype GAD_NULLABLE_TYPE)initWithAdSize:(GADAdSize)adSize origin:(CGPoint)origin;
/// Returns an initialized GADNativeExpressAdView instance set to |adSize| and positioned at the top
/// left of its superview. Returns nil if |adSize| is an invalid ad size.
- (instancetype GAD_NULLABLE_TYPE)initWithAdSize:(GADAdSize)adSize;
/// Video controller for controlling video rendered by this native express ad view.
@property(nonatomic, strong, readonly) GADVideoController *videoController;
#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, GAD_NULLABLE) IBInspectable NSString *adUnitID;
/// Required reference to the current root view controller. For example, the root view controller in
/// a tab-based application would be the UITabViewController.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet UIViewController *rootViewController;
/// Required to set this native ad 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 you are not using mediation, 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 you are 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
/// GADNativeExpressAdView. Typically this is a UIViewController.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet id<GADNativeExpressAdViewDelegate> delegate;
/// 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;
/// Sets options that configure ad loading.
///
/// @param adOptions An array of GADAdLoaderOptions objects. The array is deep copied and option
/// objects cannot be modified after calling this method.
- (void)setAdOptions:(NSArray *)adOptions;
#pragma mark - Making an Ad Request
/// Makes an ad request. The request object supplies targeting information.
- (void)loadRequest:(GADRequest *GAD_NULLABLE_TYPE)request;
#pragma mark - Mediation
/// The name of the ad network adapter class 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, weak, GAD_NULLABLE) NSString *adNetworkClassName;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,54 @@
//
// GADNativeExpressAdViewDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADNativeExpressAdView;
GAD_ASSUME_NONNULL_BEGIN
/// Delegate methods for receiving GADNativeExpressAdView state change messages such as ad request
/// status and ad click lifecycle.
@protocol GADNativeExpressAdViewDelegate<NSObject>
@optional
#pragma mark Ad Request Lifecycle Notifications
/// Tells the delegate that the native express ad view successfully received an ad. The delegate may
/// want to add the native express ad view to the view hierarchy if it hasn't been added yet.
- (void)nativeExpressAdViewDidReceiveAd:(GADNativeExpressAdView *)nativeExpressAdView;
/// Tells the delegate that an ad request failed. The failure is normally due to network
/// connectivity or ad availablility (i.e., no fill).
- (void)nativeExpressAdView:(GADNativeExpressAdView *)nativeExpressAdView
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)nativeExpressAdViewWillPresentScreen:(GADNativeExpressAdView *)nativeExpressAdView;
/// Tells the delegate that the full screen view will be dismissed.
- (void)nativeExpressAdViewWillDismissScreen:(GADNativeExpressAdView *)nativeExpressAdView;
/// Tells the delegate that the full screen view has been dismissed. The delegate should restart
/// anything paused while handling adViewWillPresentScreen:.
- (void)nativeExpressAdViewDidDismissScreen:(GADNativeExpressAdView *)nativeExpressAdView;
/// 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)nativeExpressAdViewWillLeaveApplication:(GADNativeExpressAdView *)nativeExpressAdView;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,127 @@
//
// GADRequest.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <CoreGraphics/CoreGraphics.h>
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADAdNetworkExtras.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Add this constant to the testDevices property's array to receive test ads on the simulator.
GAD_EXTERN const id kGADSimulatorID;
/// Genders to help deliver more relevant ads.
typedef NS_ENUM(NSInteger, GADGender) {
kGADGenderUnknown, ///< Unknown gender.
kGADGenderMale, ///< Male gender.
kGADGenderFemale ///< Female gender.
};
/// Specifies optional parameters for ad requests.
@interface GADRequest : NSObject<NSCopying>
/// Returns a default request.
+ (instancetype)request;
#pragma mark Additional Parameters For Ad Networks
/// Ad networks may have additional parameters they accept. To pass these parameters to them, create
/// the ad network extras object for that network, fill in the parameters, and register it here. The
/// ad network should have a header defining the interface for the 'extras' object to create. All
/// networks will have access to the basic settings you've set in this GADRequest (gender, birthday,
/// testing mode, etc.). If you register an extras object that is the same class as one you have
/// registered before, the previous extras will be overwritten.
- (void)registerAdNetworkExtras:(id<GADAdNetworkExtras>)extras;
/// Returns the network extras defined for an ad network.
- (id<GADAdNetworkExtras> GAD_NULLABLE_TYPE)adNetworkExtrasFor:(Class<GADAdNetworkExtras>)aClass;
/// Removes the extras for an ad network. |aClass| is the class which represents that network's
/// extras type.
- (void)removeAdNetworkExtrasFor:(Class<GADAdNetworkExtras>)aClass;
#pragma mark Collecting SDK Information
/// Returns the version of the SDK.
+ (NSString *)sdkVersion;
#pragma mark Testing
/// Test ads will be returned for devices with device IDs specified in this array.
@property(nonatomic, copy, GAD_NULLABLE) NSArray *testDevices;
#pragma mark User Information
/// Provide the user's gender to increase ad relevancy.
@property(nonatomic, assign) GADGender gender;
/// Provide the user's birthday to increase ad relevancy.
@property(nonatomic, copy, GAD_NULLABLE) NSDate *birthday;
/// The user's current location may be used to deliver more relevant ads. However do not use Core
/// Location just for advertising, make sure it is used for more beneficial reasons as well. It is
/// both a good idea and part of Apple's guidelines.
- (void)setLocationWithLatitude:(CGFloat)latitude
longitude:(CGFloat)longitude
accuracy:(CGFloat)accuracyInMeters;
/// [Optional] This method allows you to specify whether you would like your app to be treated as
/// child-directed for purposes of the Childrens Online Privacy Protection Act (COPPA),
/// http:///business.ftc.gov/privacy-and-security/childrens-privacy.
///
/// If you call this method with YES, you are indicating that your app should be treated as
/// child-directed for purposes of the Childrens Online Privacy Protection Act (COPPA). If you call
/// this method with NO, you are indicating that your app should not be treated as child-directed
/// for purposes of the Childrens Online Privacy Protection Act (COPPA). If you do not call this
/// method, ad requests will include no indication of how you would like your app treated with
/// respect to COPPA.
///
/// By setting this method, you certify that this notification is accurate and you are authorized to
/// act on behalf of the owner of the app. You understand that abuse of this setting may result in
/// termination of your Google account.
///
/// It may take some time for this designation to be fully implemented in applicable Google
/// services. This designation will only apply to ad requests for which you have set this method.
- (void)tagForChildDirectedTreatment:(BOOL)childDirectedTreatment;
#pragma mark Contextual Information
/// Array of keyword strings. Keywords are words or phrases describing the current user activity
/// such as @"Sports Scores" or @"Football". Set this property to nil to clear the keywords.
@property(nonatomic, copy, GAD_NULLABLE) NSArray *keywords;
/// URL string for a webpage whose content matches the app content. This webpage content is used for
/// targeting purposes.
@property(nonatomic, copy, GAD_NULLABLE) NSString *contentURL;
#pragma mark Request Agent Information
/// String that identifies the ad request's origin. Third party libraries that reference the Mobile
/// Ads SDK should set this property to denote the platform from which the ad request originated.
/// For example, a third party ad network called "CoolAds network" that is mediating requests to the
/// Mobile Ads SDK should set this property as "CoolAds".
@property(nonatomic, copy, GAD_NULLABLE) NSString *requestAgent;
#pragma mark Deprecated Methods
/// Provide the user's birthday to increase ad relevancy.
- (void)setBirthdayWithMonth:(NSInteger)month
day:(NSInteger)day
year:(NSInteger)year
GAD_DEPRECATED_MSG_ATTRIBUTE(" use the birthday property.");
/// When Core Location isn't available but the user's location is known supplying it here may
/// deliver more relevant ads. It can be any free-form text such as @"Champs-Elysees Paris" or
/// @"94041 US".
- (void)setLocationWithDescription:(NSString *GAD_NULLABLE_TYPE)locationDescription
GAD_DEPRECATED_MSG_ATTRIBUTE(" use setLocationWithLatitude:longitude:accuracy:.");
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,70 @@
//
// GADRequestError.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@class GADRequest;
GAD_ASSUME_NONNULL_BEGIN
/// Google AdMob Ads error domain.
GAD_EXTERN NSString *const kGADErrorDomain;
/// NSError codes for GAD error domain.
typedef NS_ENUM(NSInteger, GADErrorCode) {
/// The ad request is invalid. The localizedFailureReason error description will have more
/// details. Typically this is because the ad did not have the ad unit ID or root view
/// controller set.
kGADErrorInvalidRequest,
/// The ad request was successful, but no ad was returned.
kGADErrorNoFill,
/// There was an error loading data from the network.
kGADErrorNetworkError,
/// The ad server experienced a failure processing the request.
kGADErrorServerError,
/// The current device's OS is below the minimum required version.
kGADErrorOSVersionTooLow,
/// The request was unable to be loaded before being timed out.
kGADErrorTimeout,
/// Will not send request because the interstitial object has already been used.
kGADErrorInterstitialAlreadyUsed,
/// The mediation response was invalid.
kGADErrorMediationDataError,
/// Error finding or creating a mediation ad network adapter.
kGADErrorMediationAdapterError,
/// The mediation request was successful, but no ad was returned from any ad networks.
kGADErrorMediationNoFill,
/// Attempting to pass an invalid ad size to an adapter.
kGADErrorMediationInvalidAdSize,
/// Internal error.
kGADErrorInternalError,
/// Invalid argument error.
kGADErrorInvalidArgument,
/// Received invalid response.
kGADErrorReceivedInvalidResponse
};
/// Represents the error generated due to invalid request parameters.
@interface GADRequestError : NSError
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,47 @@
//
// GADRewardBasedVideoAd.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
@protocol GADRewardBasedVideoAdDelegate;
GAD_ASSUME_NONNULL_BEGIN
/// The GADRewardBasedVideoAd class is used for requesting and presenting a reward based video ad.
/// This class isn't thread safe.
@interface GADRewardBasedVideoAd : NSObject
/// Delegate for receiving video notifications.
@property(nonatomic, weak, GAD_NULLABLE) id<GADRewardBasedVideoAdDelegate> delegate;
/// Indicates if the receiver is ready to be presented full screen.
@property(nonatomic, readonly, getter=isReady) BOOL ready;
/// 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 property returns @"GADMAdapterGoogleAdMobAds". For ads fetched via mediation custom
/// events, this property returns the mediated custom event adapter.
@property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *adNetworkClassName;
/// Returns the shared GADRewardBasedVideoAd instance.
+ (GADRewardBasedVideoAd *)sharedInstance;
/// Initiates the request to fetch the reward based video ad. The |request| object supplies ad
/// targeting information and must not be nil. The adUnitID is the ad unit id used for fetching an
/// ad and must not be nil.
- (void)loadRequest:(GADRequest *)request withAdUnitID:(NSString *)adUnitID;
/// Presents the reward based video ad with the provided view controller.
- (void)presentFromRootViewController:(UIViewController *)viewController;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,49 @@
//
// GADRewardBasedVideoAdDelegate.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GADAdReward.h>
#import <GoogleMobileAds/GADRewardBasedVideoAd.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Delegate for receiving state change messages from a GADRewardBasedVideoAd such as ad requests
/// succeeding/failing.
@protocol GADRewardBasedVideoAdDelegate<NSObject>
@required
/// Tells the delegate that the reward based video ad has rewarded the user.
- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd
didRewardUserWithReward:(GADAdReward *)reward;
@optional
/// Tells the delegate that the reward based video ad failed to load.
- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd
didFailToLoadWithError:(NSError *)error;
/// Tells the delegate that a reward based video ad was received.
- (void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd;
/// Tells the delegate that the reward based video ad opened.
- (void)rewardBasedVideoAdDidOpen:(GADRewardBasedVideoAd *)rewardBasedVideoAd;
/// Tells the delegate that the reward based video ad started playing.
- (void)rewardBasedVideoAdDidStartPlaying:(GADRewardBasedVideoAd *)rewardBasedVideoAd;
/// Tells the delegate that the reward based video ad closed.
- (void)rewardBasedVideoAdDidClose:(GADRewardBasedVideoAd *)rewardBasedVideoAd;
/// Tells the delegate that the reward based video ad will leave the application.
- (void)rewardBasedVideoAdWillLeaveApplication:(GADRewardBasedVideoAd *)rewardBasedVideoAd;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,27 @@
//
// GADSearchBannerView.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdSizeDelegate.h>
#import <GoogleMobileAds/GADBannerView.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// A view that displays search ads.
/// To show search ads:
/// 1) Create a GADSearchBannerView and add it to your view controller's view hierarchy.
/// 2) Create a GADSearchRequest ad request object to hold the search query and other search data.
/// 3) Call GADSearchBannerView's -loadRequest: method with the GADSearchRequest object.
@interface GADSearchBannerView : GADBannerView
/// If the banner view is initialized with kGADAdSizeFluid and the corresponding request is created
/// with dynamic height parameters, this delegate will be called when the ad size changes.
@property(nonatomic, weak, GAD_NULLABLE) IBOutlet id<GADAdSizeDelegate> adSizeDelegate;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,77 @@
//
// GADSearchRequest.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Search ad border types.
typedef NS_ENUM(NSUInteger, GADSearchBorderType) {
kGADSearchBorderTypeNone, ///< No border.
kGADSearchBorderTypeDashed, ///< Dashed line border.
kGADSearchBorderTypeDotted, ///< Dotted line border.
kGADSearchBorderTypeSolid ///< Solid line border.
};
/// Search ad call button color types.
typedef NS_ENUM(NSUInteger, GADSearchCallButtonColor) {
kGADSearchCallButtonLight, ///< Light button color.
kGADSearchCallButtonMedium, ///< Medium button color.
kGADSearchCallButtonDark ///< Dark button color.
};
/// Specifies parameters for search ads.
@interface GADSearchRequest : GADRequest
/// The search ad query.
@property(nonatomic, copy, GAD_NULLABLE) NSString *query;
/// The search ad background color.
@property(nonatomic, readonly, copy, GAD_NULLABLE) UIColor *backgroundColor;
/// The search ad gradient "from" color.
@property(nonatomic, readonly, copy, GAD_NULLABLE) UIColor *gradientFrom;
/// The search ad gradient "to" color.
@property(nonatomic, readonly, copy, GAD_NULLABLE) UIColor *gradientTo;
/// The search ad header color.
@property(nonatomic, copy, GAD_NULLABLE) UIColor *headerColor;
/// The search ad description text color.
@property(nonatomic, copy, GAD_NULLABLE) UIColor *descriptionTextColor;
/// The search ad anchor text color.
@property(nonatomic, copy, GAD_NULLABLE) UIColor *anchorTextColor;
/// The search ad text font family.
@property(nonatomic, copy, GAD_NULLABLE) NSString *fontFamily;
/// The search ad header text size.
@property(nonatomic, assign) NSUInteger headerTextSize;
/// The search ad border color.
@property(nonatomic, copy, GAD_NULLABLE) UIColor *borderColor;
/// The search ad border type.
@property(nonatomic, assign) GADSearchBorderType borderType;
/// The search ad border thickness.
@property(nonatomic, assign) NSUInteger borderThickness;
/// The search ad custom channels.
@property(nonatomic, copy, GAD_NULLABLE) NSString *customChannels;
/// The search ad call button color.
@property(nonatomic, assign) GADSearchCallButtonColor callButtonColor;
/// A solid background color for rendering the ad. The background of the ad
/// can either be a solid color, or a gradient, which can be specified through
/// setBackgroundGradientFrom:toColor: method. If both solid and gradient
/// background is requested, only the latter is considered.
- (void)setBackgroundSolid:(UIColor *)color;
/// A linear gradient background color for rendering the ad. The background of
/// the ad can either be a linear gradient, or a solid color, which can be
/// specified through setBackgroundSolid method. If both solid and gradient
/// background is requested, only the latter is considered.
- (void)setBackgroundGradientFrom:(UIColor *)from toColor:(UIColor *)toColor;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,49 @@
//
// GADVideoController.h
// Google Mobile Ads SDK
//
// Copyright (c) 2016 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
@protocol GADVideoControllerDelegate;
/// The video controller class provides a way to get the video metadata and also manages video
/// content of the ad rendered by the Google Mobile Ads SDK. You don't need to create an instance of
/// this class. When the ad rendered by the Google Mobile Ads SDK loads video content, you may be
/// able to get an instance of this class from the rendered ad object. Currently only native express
/// ad view class exposes video controller.
@interface GADVideoController : NSObject
/// Delegate for receiving video notifications.
@property(nonatomic, weak, GAD_NULLABLE) id<GADVideoControllerDelegate> delegate;
/// Mute or unmute video. Set to YES to mute the video. Set to NO to allow the video to play sound.
- (void)setMute:(BOOL)mute;
/// Play the video. Doesn't do anything if the video is already playing.
- (void)play;
/// Pause the video. Doesn't do anything if the video is already paused.
- (void)pause;
/// Returns a Boolean indicating if the receiver has video content.
- (BOOL)hasVideoContent;
/// Returns the video's aspect ratio (width/height) or 0 if no video is present.
- (double)aspectRatio;
/// Indicates if video custom controls (i.e. play/pause/mute/unmute) are enabled.
- (BOOL)customControlsEnabled;
/// Indicates if video click to expand behavior is enabled.
- (BOOL)clickToExpandEnabled;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,37 @@
//
// GADVideoControllerDelegate.h
// Google Mobile Ads SDK
//
// Copyright (c) 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// The GADVideoControllerDelegate protocol defines methods that are called by the video controller
/// object in response to the video events that occured throught the lifetime of the video rendered
/// by an ad.
@protocol GADVideoControllerDelegate<NSObject>
@optional
/// Tells the delegate that the video controller has began or resumed playing a video.
- (void)videoControllerDidPlayVideo:(GADVideoController *)videoController;
/// Tells the delegate that the video controller has paused video.
- (void)videoControllerDidPauseVideo:(GADVideoController *)videoController;
/// Tells the delegate that the video controller's video playback has ended.
- (void)videoControllerDidEndVideoPlayback:(GADVideoController *)videoController;
/// Tells the delegate that the video controller has muted video.
- (void)videoControllerDidMuteVideo:(GADVideoController *)videoController;
/// Tells the delegate that the video controller has unmuted video.
- (void)videoControllerDidUnmuteVideo:(GADVideoController *)videoController;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,27 @@
//
// GADVideoOptions.h
// Google Mobile Ads SDK
//
// Copyright 2016 Google Inc. All rights reserved.
//
#import <GoogleMobileAds/GADAdLoader.h>
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
GAD_ASSUME_NONNULL_BEGIN
/// Video ad options.
@interface GADVideoOptions : GADAdLoaderOptions
/// Indicates if videos should start muted. By default this property value is YES.
@property(nonatomic, assign) BOOL startMuted;
/// Indicates if the requested video should have custom controls enabled for play/pause/mute/unmute.
@property(nonatomic, assign) BOOL customControlsRequested;
/// Indicates whether the requested video should have the click to expand behavior.
@property(nonatomic, assign) BOOL clickToExpandRequested;
@end
GAD_ASSUME_NONNULL_END

View file

@ -0,0 +1,105 @@
//
// GoogleMobileAds.h
// Google Mobile Ads SDK
//
// Copyright 2014 Google Inc. All rights reserved.
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0
#error The Google Mobile Ads SDK requires a deployment target of iOS 6.0 or later.
#endif
#if defined(__ARM_ARCH_7S__) && __ARM_ARCH_7S__
#error The Google Mobile Ads SDK doesn't support linking with armv7s. Remove armv7s from "ARCHS" (Architectures) in your Build Settings.
#endif
/// Project version string for GoogleMobileAds.
FOUNDATION_EXPORT const unsigned char GoogleMobileAdsVersionString[];
// Header files.
#import <GoogleMobileAds/GoogleMobileAdsDefines.h>
#import <GoogleMobileAds/GADAdNetworkExtras.h>
#import <GoogleMobileAds/GADAdSize.h>
#import <GoogleMobileAds/GADAudioVideoManagerDelegate.h>
#import <GoogleMobileAds/GADAudioVideoManager.h>
#import <GoogleMobileAds/GADBannerView.h>
#import <GoogleMobileAds/GADBannerViewDelegate.h>
#import <GoogleMobileAds/GADCorrelator.h>
#import <GoogleMobileAds/GADCorrelatorAdLoaderOptions.h>
#import <GoogleMobileAds/GADDebugOptionsViewController.h>
#import <GoogleMobileAds/GADExtras.h>
#import <GoogleMobileAds/GADInAppPurchase.h>
#import <GoogleMobileAds/GADInAppPurchaseDelegate.h>
#import <GoogleMobileAds/GADInterstitial.h>
#import <GoogleMobileAds/GADInterstitialDelegate.h>
#import <GoogleMobileAds/GADMediaView.h>
#import <GoogleMobileAds/GADMobileAds.h>
#import <GoogleMobileAds/GADNativeExpressAdView.h>
#import <GoogleMobileAds/GADNativeExpressAdViewDelegate.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GADRequestError.h>
#import <GoogleMobileAds/GADVideoController.h>
#import <GoogleMobileAds/GADVideoControllerDelegate.h>
#import <GoogleMobileAds/GADVideoOptions.h>
#import <GoogleMobileAds/DFPBannerView.h>
#import <GoogleMobileAds/DFPBannerViewOptions.h>
#import <GoogleMobileAds/DFPCustomRenderedAd.h>
#import <GoogleMobileAds/DFPCustomRenderedBannerViewDelegate.h>
#import <GoogleMobileAds/DFPCustomRenderedInterstitialDelegate.h>
#import <GoogleMobileAds/DFPInterstitial.h>
#import <GoogleMobileAds/DFPRequest.h>
#import <GoogleMobileAds/GADAdSizeDelegate.h>
#import <GoogleMobileAds/GADAppEventDelegate.h>
#import <GoogleMobileAds/GADAdLoader.h>
#import <GoogleMobileAds/GADAdLoaderAdTypes.h>
#import <GoogleMobileAds/GADAdLoaderDelegate.h>
#import <GoogleMobileAds/GADAdChoicesView.h>
#import <GoogleMobileAds/GADNativeAd.h>
#import <GoogleMobileAds/GADNativeAdDelegate.h>
#import <GoogleMobileAds/GADNativeAdImage.h>
#import <GoogleMobileAds/GADNativeAdImage+Mediation.h>
#import <GoogleMobileAds/GADNativeAppInstallAd.h>
#import <GoogleMobileAds/GADNativeAppInstallAdAssetIDs.h>
#import <GoogleMobileAds/GADNativeContentAd.h>
#import <GoogleMobileAds/GADNativeContentAdAssetIDs.h>
#import <GoogleMobileAds/GADNativeCustomTemplateAd.h>
#import <GoogleMobileAds/GADMultipleAdsAdLoaderOptions.h>
#import <GoogleMobileAds/GADNativeAdImageAdLoaderOptions.h>
#import <GoogleMobileAds/GADNativeAdViewAdOptions.h>
#import <GoogleMobileAds/GADCustomEventBanner.h>
#import <GoogleMobileAds/GADCustomEventBannerDelegate.h>
#import <GoogleMobileAds/GADCustomEventExtras.h>
#import <GoogleMobileAds/GADCustomEventInterstitial.h>
#import <GoogleMobileAds/GADCustomEventInterstitialDelegate.h>
#import <GoogleMobileAds/GADCustomEventNativeAd.h>
#import <GoogleMobileAds/GADCustomEventNativeAdDelegate.h>
#import <GoogleMobileAds/GADCustomEventParameters.h>
#import <GoogleMobileAds/GADCustomEventRequest.h>
#import <GoogleMobileAds/GADMediatedNativeAd.h>
#import <GoogleMobileAds/GADMediatedNativeAdDelegate.h>
#import <GoogleMobileAds/GADMediatedNativeAdNotificationSource.h>
#import <GoogleMobileAds/GADMediatedNativeAppInstallAd.h>
#import <GoogleMobileAds/GADMediatedNativeContentAd.h>
#import <GoogleMobileAds/GADDynamicHeightSearchRequest.h>
#import <GoogleMobileAds/GADSearchBannerView.h>
#import <GoogleMobileAds/GADSearchRequest.h>
#import <GoogleMobileAds/GADAdReward.h>
#import <GoogleMobileAds/GADRewardBasedVideoAd.h>
#import <GoogleMobileAds/GADRewardBasedVideoAdDelegate.h>
#import <GoogleMobileAds/Mediation/GADMAdNetworkAdapterProtocol.h>
#import <GoogleMobileAds/Mediation/GADMAdNetworkConnectorProtocol.h>
#import <GoogleMobileAds/Mediation/GADMediationAdRequest.h>
#import <GoogleMobileAds/Mediation/GADMEnums.h>
#import <GoogleMobileAds/Mediation/GADMRewardBasedVideoAdNetworkAdapterProtocol.h>
#import <GoogleMobileAds/Mediation/GADMRewardBasedVideoAdNetworkConnectorProtocol.h>

View file

@ -0,0 +1,62 @@
//
// GoogleMobileAdsDefines.h
// Google Mobile Ads SDK
//
// Copyright (c) 2015 Google Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#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)
#ifndef IBInspectable
#define IBInspectable
#endif
#if __has_feature(nullability) // Available starting in Xcode 6.3.
#define GAD_NULLABLE_TYPE __nullable
#define GAD_NONNULL_TYPE __nonnull
#define GAD_NULLABLE nullable
#define GAD_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
#define GAD_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
#else
#define GAD_NULLABLE_TYPE
#define GAD_NONNULL_TYPE
#define GAD_NULLABLE
#define GAD_ASSUME_NONNULL_BEGIN
#define GAD_ASSUME_NONNULL_END
#endif // __has_feature(nullability)
#if __has_attribute(objc_boxable) // Available starting in Xcode 7.3.
#define GAD_BOXABLE __attribute__((objc_boxable))
#else
#define GAD_BOXABLE
#endif // __has_attribute(objc_boxable)
#if defined(NS_STRING_ENUM) // Available starting in Xcode 8.0.
#define GAD_STRING_ENUM NS_STRING_ENUM
#else
#define GAD_STRING_ENUM
#endif

View file

@ -0,0 +1,104 @@
//
// GADMAdNetworkAdapterProtocol.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google. All rights reserved.
//
#import <GoogleMobileAds/GoogleMobileAds.h>
#import "GADMAdNetworkConnectorProtocol.h"
#import "GADMEnums.h"
/// Subclasses should prefix their name with "GADMAdapter" example: GADMAdapterGoogleAdMobAds
#define kGADMAdapterClassNamePrefix @"GADMAdapter"
@protocol GADMAdNetworkConnector;
/// Ad network adapter protocol.
@protocol GADMAdNetworkAdapter<NSObject>
/// Returns a version string for the adapter. It can be any string that uniquely identifies the
/// version of your adapter. For example, "1.0", or simply a date such as "20110915".
+ (NSString *)adapterVersion;
/// The extras class that is used to specify additional parameters for a request to this ad network.
/// Returns Nil if the network does not have extra settings for publishers to send.
+ (Class<GADAdNetworkExtras>)networkExtrasClass;
/// Designated initializer. Implementing classes can and should keep the connector in an instance
/// variable. However you must never retain the connector, as doing so will create a circular
/// reference and cause memory leaks.
- (instancetype)initWithGADMAdNetworkConnector:(id<GADMAdNetworkConnector>)connector;
/// Asks the adapter to initiate a banner ad request. The adapter does not need to return anything.
/// The assumption is that the adapter will start an asynchronous ad fetch over the network. Your
/// adapter may act as a delegate to your SDK to listen to callbacks. If your SDK does not support
/// the given ad size, or does not support banner ads, call back to the adapter:didFailAd: method of
/// the connector.
- (void)getBannerWithSize:(GADAdSize)adSize;
/// Asks the adapter to initiate an interstitial ad request. The adapter does not need to return
/// anything. The assumption is that the adapter will start an asynchronous ad fetch over the
/// network. Your adapter may act as a delegate to your SDK to listen to callbacks. If your SDK does
/// not support interstitials, call back to the adapter:didFailInterstitial: method of the
/// connector.
- (void)getInterstitial;
/// When called, the adapter must remove itself as a delegate or notification observer from the
/// underlying ad network SDK. You should also call this method in your adapter dealloc, so when
/// your adapter goes away, your SDK will not call a freed object. This function should be
/// idempotent and should not crash regardless of when or how many times the method is called.
- (void)stopBeingDelegate;
/// Some ad transition types may cause issues with particular Ad SDKs. The adapter may decide
/// whether the given animation type is OK. Defaults to YES.
- (BOOL)isBannerAnimationOK:(GADMBannerAnimationType)animType;
/// Present an interstitial using the supplied UIViewController, by calling
/// presentViewController:animated:completion:.
///
/// Your interstitial should not immediately present itself when it is received. Instead, you should
/// wait until this method is called on your adapter to present the interstitial.
///
/// Make sure to call adapterWillPresentInterstitial: on the connector when the interstitial is
/// about to be presented, and adapterWillDismissInterstitial: and adapterDidDismissInterstitial:
/// when the interstitial is being dismissed.
- (void)presentInterstitialFromRootViewController:(UIViewController *)rootViewController;
@optional
/// Starts request for a native ad. |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. When this method is called the receiver may start native ad request
/// asynchronously. On completion the receiver should notify the Google Mobile Ads SDK with a native
/// ad object using the receiver's connector method
/// adapter:didReceiveNativeAdDataSource:mediationDelegate or adapter:didFailAd: if the ad request
/// encountered an error.
- (void)getNativeAdWithAdTypes:(NSArray *)adTypes options:(NSArray *)options;
/// Indicates if the adapter handles user clicks. If this method returns YES, the adapter must
/// handle user clicks and notify the Google Mobile Ads SDK of clicks using
/// +[GADMediatedNativeAdNotificationSource mediatedNativeAdDidRecordClick:]. If this method returns
/// NO, the Google Mobile Ads SDK handles user clicks and notifies the adapter of clicks using
/// -[GADMediatedNativeAdDelegate
/// mediatedNativeAd:didRecordClickOnAssetWithName:view:viewController:].
- (BOOL)handlesUserClicks;
/// Indicates if the adapter handles user impressions tracking. If this method returns YES, the
/// Google Mobile Ads SDK will not track user impressions and the adapter must notify the
/// Google Mobile Ads SDK of impressions using +[GADMediatedNativeAdNotificationSource
/// mediatedNativeAdDidRecordImpression:]. If this method returns NO,
/// the Google Mobile Ads SDK tracks user impressions and notifies the adapter of impressions
/// using -[GADMediatedNativeAdDelegate mediatedNativeAdDidRecordImpression:].
- (BOOL)handlesUserImpressions;
/// If your ad network handles multiple ad sizes for the same banner ad, implement this method to
/// know when the user changes the banner size. This is typically changing from
/// kGADAdSizeSmartBannerPortrait to kGADAdSizeSmartBannerLandscape, or vice versa. If this method
/// is not implemented, every time the user changes the ad size, a new ad will be requested with the
/// new size by calling your getBannerWithSize: method.
- (void)changeAdSizeTo:(GADAdSize)adSize;
@end

View file

@ -0,0 +1,93 @@
//
// GADMAdNetworkConnectorProtocol.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google. All rights reserved.
//
#import <GoogleMobileAds/GoogleMobileAds.h>
#import <UIKit/UIKit.h>
#import "GADMediationAdRequest.h"
@protocol GADMAdNetworkAdapter;
/// Ad network adapters interact with the mediation SDK using an object that implements the
/// GADMAdNetworkConnector protocol. The connector object can be used to obtain necessary
/// information for ad requests, and to call back to the mediation SDK on ad request returns and
/// user interactions.
@protocol GADMAdNetworkConnector<GADMediationAdRequest>
/// When you need to show a landing page or any other modal view, such as when a user clicks or when
/// your Ads SDK needs to show an interstitial, use this method to obtain a UIViewController that
/// you can use to show your modal view. Call the -presentViewController:animated:completion: method
/// of the returned UIViewController .
- (UIViewController *)viewControllerForPresentingModalView;
/// Returns the preferred ad volume as a fraction of system volume (0.0 to 1.0).
- (float)adVolume;
/// Returns whether the ad should be muted.
- (BOOL)adMuted;
#pragma mark - Adapter Callbacks
/// Tells the connector that the adapter failed to receive an ad.
- (void)adapter:(id<GADMAdNetworkAdapter>)adapter didFailAd:(NSError *)error;
/// Tells the connector that the adapter received a banner ad.
- (void)adapter:(id<GADMAdNetworkAdapter>)adapter didReceiveAdView:(UIView *)view;
/// Tells the connector that the adapter received an interstitial.
- (void)adapterDidReceiveInterstitial:(id<GADMAdNetworkAdapter>)adapter;
/// Tells the connector that the adapter has received a mediated native ad. |mediatedNativeAd| is
/// used by the Google Mobile Ads SDK for constructing a native ad object.
- (void)adapter:(id<GADMAdNetworkAdapter>)adapter
didReceiveMediatedNativeAd:(id<GADMediatedNativeAd>)mediatedNativeAd;
#pragma mark Ad events
// Adapter should call as many of these as possible, during the lifecycle of the loaded banner or
// interstitial ad.
/// Tells the connector that the adapter recorded a user click.
- (void)adapterDidGetAdClick:(id<GADMAdNetworkAdapter>)adapter;
/// Tells the connector that the adapter will leave the application because of a user action.
- (void)adapterWillLeaveApplication:(id<GADMAdNetworkAdapter>)adapter;
// Adapter should call as many of these as possible, during the lifecycle of the loaded banner ad.
/// Tells the connector that the adapter will present a full screen modal.
- (void)adapterWillPresentFullScreenModal:(id<GADMAdNetworkAdapter>)adapter;
/// Tells the connector that the adapter will dismiss a full screen modal.
- (void)adapterWillDismissFullScreenModal:(id<GADMAdNetworkAdapter>)adapter;
/// Tells the connector that the adapter dismissed a full screen modal.
- (void)adapterDidDismissFullScreenModal:(id<GADMAdNetworkAdapter>)adapter;
// Adapter should call these methods during the lifecycle of the loaded interstitial ad.
/// Tells the connector that the adapter will present an interstitial.
- (void)adapterWillPresentInterstitial:(id<GADMAdNetworkAdapter>)adapter;
/// Tells the connector that the adapter will dismiss an interstitial.
- (void)adapterWillDismissInterstitial:(id<GADMAdNetworkAdapter>)adapter;
/// Tells the connector that the adapter did dismiss an interstitial.
- (void)adapterDidDismissInterstitial:(id<GADMAdNetworkAdapter>)adapter;
#pragma mark Deprecated
/// Deprecated. Use -adapterDidReceiveInterstitial:.
- (void)adapter:(id<GADMAdNetworkAdapter>)adapter
didReceiveInterstitial:(NSObject *)interstitial
GAD_DEPRECATED_MSG_ATTRIBUTE("Use -adapterDidReceiveInterstitial:.");
/// Deprecated. Use -adapterDidGetAdClick:.
- (void)adapter:(id<GADMAdNetworkAdapter>)adapter
clickDidOccurInBanner:(UIView *)view
GAD_DEPRECATED_MSG_ATTRIBUTE("Use -adapterDidGetAdClick:.");
/// Deprecated. Use -adapter:didFailAd:.
- (void)adapter:(id<GADMAdNetworkAdapter>)adapter
didFailInterstitial:(NSError *)error GAD_DEPRECATED_MSG_ATTRIBUTE("Use -adapter:didFailAd:");
@end

View file

@ -0,0 +1,21 @@
//
// GADMEnums.h
// Google Mobile Ads SDK
//
// Copyright 2011 Google. All rights reserved.
//
#import <Foundation/Foundation.h>
/// These are the types of animation we employ for transitions between two mediated ads.
typedef NS_ENUM(NSInteger, GADMBannerAnimationType) {
kGADMBannerAnimationTypeNone = 0, ///< No animation.
kGADMBannerAnimationTypeFlipFromLeft = 1, ///< Flip from left.
kGADMBannerAnimationTypeFlipFromRight = 2, ///< Flip from right.
kGADMBannerAnimationTypeCurlUp = 3, ///< Curl up.
kGADMBannerAnimationTypeCurlDown = 4, ///< Curl down.
kGADMBannerAnimationTypeSlideFromLeft = 5, ///< Slide from left.
kGADMBannerAnimationTypeSlideFromRight = 6, ///< Slide from right.
kGADMBannerAnimationTypeFadeIn = 7, ///< Fade in.
kGADMBannerAnimationTypeRandom = 8, ///< Random animation.
};

View file

@ -0,0 +1,67 @@
//
// GADMRewardBasedVideoAdNetworkAdapter.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google. All rights reserved.
//
#import <GoogleMobileAds/GoogleMobileAds.h>
@protocol GADMRewardBasedVideoAdNetworkConnector;
/// Your adapter must conform to this protocol to provide reward based video ads.
@protocol GADMRewardBasedVideoAdNetworkAdapter<NSObject>
/// Returns a version string for the adapter. It can be any string that uniquely identifies the
/// version of your adapter. For example, "1.0", or simply a date such as "20110915".
+ (NSString *)adapterVersion;
/// The extras class that is used to specify additional parameters for a request to this ad network.
/// Returns Nil if the network does not have extra settings for publishers to send.
+ (Class<GADAdNetworkExtras>)networkExtrasClass;
/// Returns an initialized instance of the adapter when mediation ad requests come in. The adapter
/// must only maintain a weak reference to the provided connector.
- (instancetype)initWithRewardBasedVideoAdNetworkConnector:
(id<GADMRewardBasedVideoAdNetworkConnector>)connector;
/// Tells the adapter to set up reward based video ads. The adapter should notify the Google Mobile
/// Ads SDK whether set up has succeeded or failed using callbacks provided in the connector. When
/// set up fails, the Google Mobile Ads SDK may try to set up the adapter again.
- (void)setUp;
/// Tells the adapter to request a reward based video ad. This method is called after the adapter
/// has been set up. The adapter should notify the Google Mobile Ads SDK if the request succeeds or
/// fails using callbacks provided in the connector.
- (void)requestRewardBasedVideoAd;
/// Tells the adapter to present the reward based video ad with the provided view controller. This
/// method is only called after the adapter successfully requested an ad.
- (void)presentRewardBasedVideoAdWithRootViewController:(UIViewController *)viewController;
/// Tells the adapter to remove itself as a delegate or notification observer from the underlying ad
/// network SDK.
- (void)stopBeingDelegate;
@optional
/// Adapters that want to be initialized as early as possible should implement this method to
/// opt-into initialization when the publisher initializes the Google Mobile Ads SDK. If not
/// implemented, initWithRewardBasedVideoAdNetworkConnector: gets called the first time the
/// publisher loads a rewarded video ad.
- (instancetype)initWithRewardBasedVideoAdNetworkConnector:
(id<GADMRewardBasedVideoAdNetworkConnector>)connector
credentials:(NSArray<NSDictionary *> *)credentials;
/// Returns an initialized instance of the adapter. The adapter must only maintain a weak reference
/// to the provided connector.
- (instancetype)initWithGADMAdNetworkConnector:(id<GADMRewardBasedVideoAdNetworkConnector>)connector
GAD_DEPRECATED_MSG_ATTRIBUTE("Use initWithRewardBasedVideoAdNetworkConnector:.");
/// Tells the adapter to set up reward based video ads with the provided user ID. The adapter should
/// notify the Google Mobile Ads SDK whether set up has succeeded or failed using callbacks provided
/// in the connector. When set up fails, the Google Mobile Ads SDK may try to set up the adapter
/// again.
- (void)setUpWithUserID:(NSString *)userID GAD_DEPRECATED_MSG_ATTRIBUTE("Use setUp.");
@end

View file

@ -0,0 +1,58 @@
//
// GADMRewardBasedVideoAdNetworkConnector.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google. All rights reserved.
//
#import <GoogleMobileAds/GoogleMobileAds.h>
@protocol GADMediationAdRequest;
@protocol GADMRewardBasedVideoAdNetworkAdapter;
/// Reward based video ad network adapters interact with the mediation SDK using an object that
/// conforms to the GADMRewardBasedVideoAdNetworkConnector protocol. The connector object can be
/// used to obtain information for ad requests and to call back to the mediation SDK on ad responses
/// and user interactions.
@protocol GADMRewardBasedVideoAdNetworkConnector<GADMediationAdRequest>
/// Tells the delegate that the adapter successfully set up a reward based video ad.
- (void)adapterDidSetUpRewardBasedVideoAd:
(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter;
/// Tells the delegate that the adapter failed to set up a reward based video ad.
- (void)adapter:(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter
didFailToSetUpRewardBasedVideoAdWithError:(NSError *)error;
/// Tells the delegate that a reward based video ad was clicked.
- (void)adapterDidGetAdClick:(id<GADMRewardBasedVideoAdNetworkAdapter>)adapter;
/// Tells the delegate that a reward based video ad has loaded.
- (void)adapterDidReceiveRewardBasedVideoAd:
(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter;
/// Tells the delegate that a reward based video ad has opened.
- (void)adapterDidOpenRewardBasedVideoAd:
(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter;
/// Tells the delegate that a reward based video ad has started playing.
- (void)adapterDidStartPlayingRewardBasedVideoAd:
(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter;
/// Tells the delegate that a reward based video ad has closed.
- (void)adapterDidCloseRewardBasedVideoAd:
(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter;
/// Tells the delegate that the adapter has rewarded the user.
- (void)adapter:(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAd
didRewardUserWithReward:(GADAdReward *)reward;
/// Tells the delegate that a reward based video ad's action will leave the application.
- (void)adapterWillLeaveApplication:
(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter;
/// Tells the delegate that a reward based video ad failed to load.
- (void)adapter:(id<GADMRewardBasedVideoAdNetworkAdapter>)rewardBasedVideoAdAdapter
didFailToLoadRewardBasedVideoAdwithError:(NSError *)error;
@end

View file

@ -0,0 +1,56 @@
//
// GADMediationAdRequest.h
// Google Mobile Ads SDK
//
// Copyright 2015 Google. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
/// Provides information which can be used for making ad requests during mediation.
@protocol GADMediationAdRequest<NSObject>
/// Publisher ID set by the publisher on the AdMob frontend.
- (NSString *)publisherId;
/// Mediation configurations set by the publisher on the AdMob frontend.
- (NSDictionary *)credentials;
/// Returns YES if the publisher is requesting test ads.
- (BOOL)testMode;
/// The adapter's ad network extras specified in GADRequest.
- (id<GADAdNetworkExtras>)networkExtras;
/// Returns the value of childDirectedTreatment supplied by the publisher. Returns nil if the
/// publisher hasn't specified child directed treatment. Returns @YES if child directed treatment is
/// enabled.
- (NSNumber *)childDirectedTreatment;
/// The end user's gender set by the publisher in GADRequest. Returns kGADGenderUnknown if it has
/// not been specified.
- (GADGender)userGender;
/// The end user's birthday set by the publisher. Returns nil if it has not been specified.
- (NSDate *)userBirthday;
/// Returns YES if the publisher has specified latitude and longitude location.
- (BOOL)userHasLocation;
/// Returns the user's latitude or 0 if location isn't specified.
- (CGFloat)userLatitude;
/// Returns the user's longitude or 0 if location isn't specified.
- (CGFloat)userLongitude;
/// Returns the user's location accuracy or 0 if location isn't specified.
- (CGFloat)userLocationAccuracyInMeters;
/// Returns user's location description. May return a value even if userHasLocation is NO.
- (NSString *)userLocationDescription;
/// Keywords describing the user's current activity. Example: @"Sport Scores".
- (NSArray *)userKeywords;
@end

View file

@ -0,0 +1 @@
A

View file

@ -637,6 +637,9 @@
34D808861E793F91002F0584 /* Pushwoosh.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34D808851E793F91002F0584 /* Pushwoosh.framework */; };
34D808871E793FA3002F0584 /* Pushwoosh.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34D808851E793F91002F0584 /* Pushwoosh.framework */; };
34D808881E793FA4002F0584 /* Pushwoosh.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34D808851E793F91002F0584 /* Pushwoosh.framework */; };
34E6F2DB1F459C05008E14F9 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34E6F2DA1F459C05008E14F9 /* GLKit.framework */; };
34E6F2DC1F459C1A008E14F9 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34E6F2DA1F459C05008E14F9 /* GLKit.framework */; };
34E6F2DD1F459C1A008E14F9 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34E6F2DA1F459C05008E14F9 /* GLKit.framework */; };
34E7760F1F14B165003040B3 /* VisibleArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34E7760E1F14B165003040B3 /* VisibleArea.swift */; };
34E776101F14B165003040B3 /* VisibleArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34E7760E1F14B165003040B3 /* VisibleArea.swift */; };
34E776111F14B165003040B3 /* VisibleArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34E7760E1F14B165003040B3 /* VisibleArea.swift */; };
@ -1858,6 +1861,7 @@
340E1EE91E2F614400CE49BF /* Storyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Storyboard.swift; sourceTree = "<group>"; };
340E1EEA1E2F614400CE49BF /* Welcome.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Welcome.storyboard; sourceTree = "<group>"; };
3411387C1C15AE73002E3B3E /* libeditor.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libeditor.a; path = "../../../omim-xcode-build/Debug/libeditor.a"; sourceTree = "<group>"; };
3411E7621F7CE5DC00A49FCD /* GoogleMobileAds.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleMobileAds.framework; sourceTree = "<group>"; };
341522BD1B666A550077AA8F /* MWMAPIBarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMAPIBarView.h; sourceTree = "<group>"; };
341522BE1B666A550077AA8F /* MWMAPIBarView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMAPIBarView.mm; sourceTree = "<group>"; };
341C2A5A1B720B8A00AD41A1 /* MWMAPIBarView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MWMAPIBarView.xib; sourceTree = "<group>"; };
@ -2118,6 +2122,7 @@
34D8087A1E793606002F0584 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = "<group>"; };
34D8087C1E79360D002F0584 /* AlamofireImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AlamofireImage.framework; path = Carthage/Build/iOS/AlamofireImage.framework; sourceTree = "<group>"; };
34D808851E793F91002F0584 /* Pushwoosh.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Pushwoosh.framework; path = Carthage/Build/iOS/Pushwoosh.framework; sourceTree = "<group>"; };
34E6F2DA1F459C05008E14F9 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
34E7760E1F14B165003040B3 /* VisibleArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VisibleArea.swift; sourceTree = "<group>"; };
34E776121F14B17F003040B3 /* AvailableArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AvailableArea.swift; sourceTree = "<group>"; };
34E776161F14B6E2003040B3 /* MWMAvailableAreaAffectDirection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMAvailableAreaAffectDirection.h; sourceTree = "<group>"; };
@ -2685,6 +2690,7 @@
files = (
F68BDF051EEA9A830009BB81 /* MyTargetSDK.framework in Frameworks */,
341CF15E1E9E2AA9009AC928 /* libMopub.a in Frameworks */,
3411E7631F7CE5DD00A49FCD /* GoogleMobileAds.framework in Frameworks */,
344D63171E795A2D006F17CB /* SystemConfiguration.framework in Frameworks */,
67B78B4B1E422E2E0018E590 /* CoreSpotlight.framework in Frameworks */,
67B78B4D1E422E2E0018E590 /* CoreData.framework in Frameworks */,
@ -2706,6 +2712,7 @@
67B78B561E4233480018E590 /* AdSupport.framework in Frameworks */,
3432E1781E49B3A2008477E9 /* Bolts.framework in Frameworks */,
340474F31E08199D00C92850 /* Fabric.framework in Frameworks */,
34E6F2DC1F459C1A008E14F9 /* GLKit.framework in Frameworks */,
67B78B4C1E422E2E0018E590 /* SafariServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -2716,6 +2723,7 @@
files = (
4586D0E71F4813AB00DF9CE5 /* libmwm_diff.a in Frameworks */,
4586D0C41F48121A00DF9CE5 /* libbsdiff.a in Frameworks */,
34E6F2DB1F459C05008E14F9 /* GLKit.framework in Frameworks */,
F6F8E3C51EF8469700F2DE8F /* libugc.a in Frameworks */,
34F409891E9E1DD200E57AC0 /* libMopub.a in Frameworks */,
3488B03B1E9D13EF0068AFD8 /* UserNotifications.framework in Frameworks */,
@ -2771,6 +2779,7 @@
6741AA361BF340DE002C974C /* libz.dylib in Frameworks */,
674A7E2B1C0DA57C003D48E1 /* libdrape_frontend.a in Frameworks */,
340474F71E08199D00C92850 /* FBSDKCoreKit.framework in Frameworks */,
3411E7641F7CE5DF00A49FCD /* GoogleMobileAds.framework in Frameworks */,
674A7E2A1C0DA579003D48E1 /* libdrape.a in Frameworks */,
340474FD1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */,
34201E091DC0DC7300D24118 /* libpartners_api.a in Frameworks */,
@ -2783,6 +2792,7 @@
files = (
F68BDF071EEA9A830009BB81 /* MyTargetSDK.framework in Frameworks */,
341CF15F1E9E2ADC009AC928 /* libMopub.a in Frameworks */,
3411E7651F7CE5E000A49FCD /* GoogleMobileAds.framework in Frameworks */,
67B78B511E422E300018E590 /* CoreSpotlight.framework in Frameworks */,
67B78B531E422E300018E590 /* CoreData.framework in Frameworks */,
340474FE1E08199D00C92850 /* FBSDKShareKit.framework in Frameworks */,
@ -2804,6 +2814,7 @@
67B78B571E42334A0018E590 /* AdSupport.framework in Frameworks */,
3432E17A1E49B3A2008477E9 /* Bolts.framework in Frameworks */,
340474F51E08199D00C92850 /* Fabric.framework in Frameworks */,
34E6F2DD1F459C1A008E14F9 /* GLKit.framework in Frameworks */,
67B78B521E422E300018E590 /* SafariServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -2956,6 +2967,7 @@
340474DB1E08199D00C92850 /* 3party */ = {
isa = PBXGroup;
children = (
3411E7621F7CE5DC00A49FCD /* GoogleMobileAds.framework */,
34F407581E9E1D7A00E57AC0 /* Mopub.xcodeproj */,
34D8087A1E793606002F0584 /* Alamofire.framework */,
34D8087C1E79360D002F0584 /* AlamofireImage.framework */,
@ -3296,6 +3308,7 @@
3462FD8A1DC1DF3A00906FD7 /* SDK */ = {
isa = PBXGroup;
children = (
34E6F2DA1F459C05008E14F9 /* GLKit.framework */,
67B78B541E42333C0018E590 /* AdSupport.framework */,
67B78B3C1E422BF60018E590 /* CoreData.framework */,
67B78B401E422C360018E590 /* CoreSpotlight.framework */,