更新sdk

This commit is contained in:
xiaohui.wang 2022-02-28 13:37:06 +08:00
parent 61b3df162d
commit e73bb626df
1160 changed files with 30448 additions and 0 deletions

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: b83aacedcf94046b8add690f84327e1e
folderAsset: yes
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c90b5caea098b47e482e51ee31a360b5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d8f93e14b0eb748b88bd347818e772b2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,33 @@
//
// ATAdManager+Banner.h
// AnyThinkBanner
//
// Created by Martin Lau on 18/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <AnyThinkSDK/AnyThinkSDK.h>
//Supported by Nend banner only
extern NSString *const kATBannerLoadingExtraParameters;
extern NSString *const kATAdLoadingExtraBannerAdSizeKey;//defaults to 320 * 50
extern NSString *const kATAdLoadingExtraBannerSizeAdjustKey;//Currently supported by Nend
extern NSString *const kATAdLoadingExtraBannerSizeUsesFilledKey;//Currently supported by Pangle, defaults to YES for filled
extern NSString *const kATAdLoadingExtraAdmobBannerSizeKey;//Admob Adaptive width
extern NSString *const kATAdLoadingExtraAdmobAdSizeFlagsKey;//Admob AdSize flags
@class ATBannerView;
@interface ATAdManager (Banner)
-(BOOL) bannerAdReadyForPlacementID:(NSString*)placementID;
-(BOOL) bannerAdReadyForPlacementID:(NSString*)placementID sendTK:(BOOL)send;
/*
nil will be returned if you try to show banner ad for the placementID if it's not ready.
*/
- (nullable ATBannerView*)retrieveBannerViewForPlacementID:(NSString*)placementID;
- (nullable ATBannerView*)retrieveBannerViewForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra DEPRECATED_ATTRIBUTE;
- (nullable ATBannerView*)retrieveBannerViewForPlacementID:(NSString*)placementID scene:(NSString *)scene;
- (ATCheckLoadModel*)checkBannerLoadStatusForPlacementID:(NSString*)placementID;
- (NSArray<NSDictionary *> *)getBannerValidAdsForPlacementID:(NSString *)placementID;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e3396448907ff4aa0a5d093ef923fbcb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,40 @@
//
// ATBanner.h
// AnyThinkBanner
//
// Created by Martin Lau on 18/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
@class ATBannerCustomEvent;
@interface ATBanner : NSObject<ATAd>
-(instancetype) initWithPriority:(NSInteger) priority placementModel:(ATPlacementModel*)placementModel requestID:(NSString*)requestID assets:(NSDictionary*)assets unitGroup:(ATUnitGroupModel*)unitGroup finalWaterfall:(ATWaterfall *)finalWaterfall;
@property(nonatomic) NSInteger showTimes;
/**
Priority is calculate by the index of the unit group in the placement's unit group list; zero is the highest
*/
@property(nonatomic, readonly) NSInteger priority;
@property(nonatomic, readonly) NSInteger priorityLevel;
@property(nonatomic, readonly) ATPlacementModel *placementModel;
@property(nonatomic, readonly) NSString *requestID;
@property(nonatomic, readonly) NSString *originalRequestID;
@property(nonatomic, readonly) NSDate *expireDate;
@property(nonatomic, readonly) NSDate *cacheDate;
@property(nonatomic, readonly) ATUnitGroupModel *unitGroup;
@property(nonatomic, readonly) NSString *unitID;
@property(nonatomic, readonly) __kindof UIView *bannerView;
@property(nonatomic, readonly) id customObject;
//To keep custom event around.
@property(nonatomic, readonly) ATBannerCustomEvent *customEvent;
@property(nonatomic, readonly) NSString *price;
@property(nonatomic, readonly) NSString *bidId;
@property(nonatomic, readonly) NSString *tpBidId;
@property(nonatomic, readonly, weak) ATWaterfall *finalWaterfall;
@property(nonatomic, readonly) NSInteger autoReqType;
@property(nonatomic) BOOL defaultPlayIfRequired;
@property(nonatomic) BOOL adReportClicked;
@property(nonatomic, copy) NSString *scene;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9c05fd80fb7724db8846ce57b7cb0ab1
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,15 @@
//
// ATBannerAdapter.h
// AnyThinkBanner
//
// Created by Martin Lau on 2018/10/8.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATBannerAdapter_h
#define ATBannerAdapter_h
@class ATBanner;
@protocol ATBannerAdapter<ATAdAdapter>
+(void) showBanner:(ATBanner*)banner inView:(UIView*)view presentingViewController:(UIViewController*)viewController;
@end
#endif /* ATBannerAdapter_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 609b5505008c4440fa21b795e1c7d27d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,46 @@
//
// ATBannerCustomEvent.h
// AnyThinkBanner
//
// Created by Martin Lau on 18/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <AnyThinkSDK/AnyThinkSDK.h>
//#import "ATAdCustomEvent.h"
#import "ATBannerDelegate.h"
//#import "ATAdAdapter.h"
//#import "ATPlacementModel.h"
#import "ATBanner.h"
#import "ATBannerView.h"
@interface ATBannerCustomEvent : ATAdCustomEvent
-(void) trackBannerAdClick;
-(void) trackBannerAdImpression;
-(void) trackBannerAdClosed;
-(void) trackBannerAdLoaded:(id)bannerView adExtra:(NSDictionary *)adExtra;
//-(void) trackBannerAdShow;
-(void) trackBannerAdLoadFailed:(NSError*)error;
-(void) trackBannerAdDeeplinkOrJumpResult:(BOOL)success;
-(NSDictionary*)delegateExtra;
-(instancetype) initWithInfo:(NSDictionary*)serverInfo localInfo:(NSDictionary*)localInfo;
-(void) cleanup;
-(void) removedFromWindow;
/// Some ad SDKs do not call back after ads were displayed. Override it and return 'YES', a impression tracking will be sent. Same for the native ads (ATNativeADCustomEvent).
- (BOOL)sendImpressionTrackingIfNeed;
- (void)invalidateBidInfo;
@property(nonatomic, weak) id<ATBannerDelegate> delegate;
@property(nonatomic, weak) ATBanner *banner;
@property(nonatomic, weak) ATBannerView *bannerView;
@property(nonatomic, readonly) NSString *unitID;
@property(nonatomic, readonly) CGSize size;
@property(nonatomic, strong) NSValue *admobAdSizeValue;//For admob
@property(nonatomic, assign) NSInteger admobAdSizeFlags;//For admob
@property(nonatomic) NSDictionary *loadingParameters;//For nend
@property(nonatomic) BOOL adjustAdSize;//For nend
@property(nonatomic, assign) NSInteger priorityIndex;
+(UIViewController*)rootViewControllerWithPlacementID:(NSString*)placementID requestID:(NSString*)requestID;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: cf0f749bd01964d5ebb84a7838f10bd8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,30 @@
//
// ATBannerDelegate.h
// AnyThinkSDK
//
// Created by Martin Lau on 18/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATBannerDelegate_h
#define ATBannerDelegate_h
#import <AnyThinkSDK/AnyThinkSDK.h>
@class ATBannerView;
extern NSString *const kATBannerDelegateExtraNetworkIDKey;
extern NSString *const kATBannerDelegateExtraAdSourceIDKey;
extern NSString *const kATBannerDelegateExtraIsHeaderBidding;
extern NSString *const kATBannerDelegateExtraPrice;
extern NSString *const kATBannerDelegateExtraPriority;
@protocol ATBannerDelegate<ATAdLoadingDelegate>
-(void) bannerView:(ATBannerView*)bannerView failedToAutoRefreshWithPlacementID:(NSString*)placementID error:(NSError*)error;
-(void) bannerView:(ATBannerView*)bannerView didShowAdWithPlacementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) bannerView:(ATBannerView*)bannerView didClickWithPlacementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) bannerView:(ATBannerView*)bannerView didCloseWithPlacementID:(NSString*)placementID extra:(NSDictionary *)extra DEPRECATED_ATTRIBUTE;
-(void) bannerView:(ATBannerView*)bannerView didAutoRefreshWithPlacement:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) bannerView:(ATBannerView*)bannerView didTapCloseButtonWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) bannerView:(ATBannerView*)bannerView didDeepLinkOrJumpForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra result:(BOOL)success;
@end
#endif /* ATBannerDelegate_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9e3ce55108eac4e7e9ef5fd5e991fff9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,18 @@
//
// ATBanner+Internal.h
// AnyThinkBanner
//
// Created by Martin Lau on 28/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATBanner_Internal_h
#define ATBanner_Internal_h
#import "ATBannerView.h"
@class ATBanner;
@interface ATBannerView(Internal)
-(instancetype) initWithFrame:(CGRect)frame banner:(ATBanner*)banner;
-(void) loadNextWithoutRefresh;
@property(nonatomic) ATBanner *banner;
@end
#endif /* ATBanner_Internal_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 22d9d9e19a0f842e3b2a595fde56a7ec
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,18 @@
//
// ATBannerView.h
// AnyThinkBanner
//
// Created by Martin Lau on 18/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
@protocol ATBannerDelegate;
@interface ATBannerView : UIView
//to be move into a internal category
@property(nonatomic, weak) id<ATBannerDelegate> delegate;
@property(nonatomic, weak) UIViewController *presentingViewController;
- (void)sendImpressionTracking;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8246f792913c9464f854ce51681f6791
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,25 @@
//
// AnyThinkBanner.h
// AnyThinkBanner
//
// Created by Martin Lau on 2019/11/1.
// Copyright © 2019 AnyThink. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import <AnyThinkBanner/ATAdManager+Banner.h>
#import <AnyThinkBanner/ATBannerDelegate.h>
#import <AnyThinkBanner/ATBannerView.h>
#import <AnyThinkBanner/ATBannerCustomEvent.h>
//! Project version number for AnyThinkBanner.
FOUNDATION_EXPORT double AnyThinkBannerVersionNumber;
//! Project version string for AnyThinkBanner.
FOUNDATION_EXPORT const unsigned char AnyThinkBannerVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <AnyThinkBanner/PublicHeader.h>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 80026184dfa264c95a8ee2608444d50e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b7691765310fd449c8bd62b85d0eff7c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ac51d875f8fdb4f7a9c3fe87f4c933ed
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,6 @@
framework module AnyThinkBanner {
umbrella header "AnyThinkBanner.h"
export *
module * { export * }
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: eec262fd286a948db8829355df3120aa
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: 235f426d4ebe3478cae5dd8971ab601c
folderAsset: yes
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3e6df2b498c1c4b5599e63d5e601a352
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: af442a1231fb2496c8da63a332ae9683
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,32 @@
//
// ATAdManager+Interstitial.h
// AnyThinkInterstitial
//
// Created by Martin Lau on 21/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ATInterstitialDelegate.h"
extern NSString *const kATInterstitialExtraMediationNameKey;
extern NSString *const kATInterstitialExtraUserIDKey;
extern NSString *const kATInterstitialExtraUserFeatureKey;
extern NSString *const kATInterstitialExtraLocationEnabledFlagKey;
extern NSString *const kATInterstitialExtraMuteStartPlayingFlagKey;
extern NSString *const kATInterstitialExtraFallbackFullboardBackgroundColorKey;
extern NSString *const kATInterstitialExtraAdSizeKey;//Supported by TT interstitial, defaults to 600 X 600
extern NSString *const kATInterstitialExtraUsesRewardedVideo;
extern NSString *const kATInterstitialExtraAdSize600_400;
extern NSString *const kATInterstitialExtraAdSize600_600;
extern NSString *const kATInterstitialExtraAdSize600_900;
@interface ATAdManager (Interstitial)
-(BOOL) interstitialReadyForPlacementID:(NSString*)placementID;
-(ATCheckLoadModel*) checkInterstitialLoadStatusForPlacementID:(NSString*)placementID;
// v5.7.53+
- (NSArray<NSDictionary *> *)getInterstitialValidAdsForPlacementID:(NSString *)placementID;
-(void) showInterstitialWithPlacementID:(NSString*)placementID inViewController:(UIViewController*)viewController delegate:(id<ATInterstitialDelegate>)delegate;
-(void) showInterstitialWithPlacementID:(NSString*)placementID scene:(NSString*)scene inViewController:(UIViewController*)viewController delegate:(id<ATInterstitialDelegate>)delegate;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 46f1641e52988432fbabe5ea03f91827
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,43 @@
//
// ATInterstitial.h
// AnyThinkInterstitial
//
// Created by Martin Lau on 21/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
@class ATInterstitialCustomEvent;
@interface ATInterstitial : NSObject<ATAd>
-(instancetype) initWithPriority:(NSInteger) priority placementModel:(ATPlacementModel*)placementModel requestID:(NSString*)requestID assets:(NSDictionary*)assets unitGroup:(ATUnitGroupModel*)unitGroup finalWaterfall:(ATWaterfall *)finalWaterfall;
@property(nonatomic) NSInteger showTimes;
/**
Priority is calculate by the index of the unit group in the placement's unit group list; zero is the highest
*/
@property(nonatomic, readonly) NSInteger priority;
@property(nonatomic, readonly) NSInteger priorityLevel;
@property(nonatomic, readonly) ATPlacementModel *placementModel;
@property(nonatomic, readonly) NSString *requestID;
@property(nonatomic, readonly) NSString *originalRequestID;
@property(nonatomic, readonly) NSDate *expireDate;
@property(nonatomic, readonly) NSDate *cacheDate;
@property(nonatomic, readonly) ATUnitGroupModel *unitGroup;
@property(nonatomic, readonly) NSString *unitID;
/**
* Third-party network native ad object.
*/
@property(nonatomic, readonly) id customObject;
@property(nonatomic, readonly) ATInterstitialCustomEvent *customEvent;
@property(nonatomic, readonly) NSString *appID;
@property(nonatomic) BOOL defaultPlayIfRequired;
@property(nonatomic) NSString *scene;
@property(nonatomic, readonly) NSString *price;
@property(nonatomic, readonly) NSString *bidId;
@property(nonatomic, readonly) NSString *tpBidId;
@property(nonatomic, readonly, weak) ATWaterfall *finalWaterfall;
@property(nonatomic, readonly) NSInteger autoReqType;
@property(nonatomic) BOOL adReportClicked;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 808d93bfbee354a72bb20f8aba8bc7be
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
//
// ATInterstitialAdapter.h
// AnyThinkInterstitial
//
// Created by Martin Lau on 21/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATInterstitialAdapter_h
#define ATInterstitialAdapter_h
#import <AnyThinkSDK/AnyThinkSDK.h>
#import "ATInterstitialDelegate.h"
#import "ATInterstitial.h"
#import <UIKit/UIKit.h>
@protocol ATInterstitialAdapter<ATAdAdapter>
@optional
+(BOOL) adReadyWithCustomObject:(id)customObject info:(NSDictionary*)info;
+(void) showInterstitial:(ATInterstitial*)interstitial inViewController:(UIViewController*)viewController delegate:(id<ATInterstitialDelegate>)delegate;
@end
#endif /* ATInterstitialAdapter_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 968d20f6594fa4b08b6f4a3d746890b9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,33 @@
//
// ATInterstitialCustomEvent.h
// AnyThinkInterstitial
//
// Created by Martin Lau on 21/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import "ATInterstitial.h"
#import "ATInterstitialDelegate.h"
#import <AnyThinkSDK/AnyThinkSDK.h>
@interface ATInterstitialCustomEvent : ATAdCustomEvent
-(void) trackInterstitialAdLoaded:(id)interstitialAd adExtra:(NSDictionary *)adExtra;
-(void) trackInterstitialAdLoadFailed:(NSError*)error;
-(void) trackInterstitialAdShow;
-(void) trackInterstitialAdShowFailed:(NSError*)error;
-(void) trackInterstitialAdVideoStart;
-(void) trackInterstitialAdVideoEnd;
-(void) trackInterstitialAdDidFailToPlayVideo:(NSError*)error;
-(void) trackInterstitialAdClick;
-(void) trackInterstitialAdClose;
-(void) trackInterstitialAdDeeplinkOrJumpResult:(BOOL)success;
-(void) trackdInterstitialAdVideoRewarded;
-(NSDictionary*)delegateExtra;
-(ATNativeADSourceType) adSourceType;
-(instancetype) initWithInfo:(NSDictionary*)serverInfo localInfo:(NSDictionary*)localInfo ;
@property(nonatomic, weak) id<ATInterstitialDelegate> delegate;
@property(nonatomic, weak) ATInterstitial *interstitial;
@property(nonatomic, readonly) NSString *unitID;
@property(nonatomic, assign) NSInteger priorityIndex;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 354eb2a8a8fad4a7fab531b10b358806
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,32 @@
//
// ATInterstitialDelegate.h
// AnyThinkInterstitial
//
// Created by Martin Lau on 21/09/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATInterstitialDelegate_h
#define ATInterstitialDelegate_h
#import <AnyThinkSDK/AnyThinkSDK.h>
extern NSString *const kATInterstitialDelegateExtraNetworkIDKey;
extern NSString *const kATInterstitialDelegateExtraAdSourceIDKey;
extern NSString *const kATInterstitialDelegateExtraIsHeaderBidding;
extern NSString *const kATInterstitialDelegateExtraPrice;
extern NSString *const kATInterstitialDelegateExtraPriority;
@protocol ATInterstitialDelegate<ATAdLoadingDelegate>
-(void) interstitialDidShowForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) interstitialFailedToShowForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra;
-(void) interstitialDidStartPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) interstitialDidEndPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) interstitialDidFailToPlayVideoForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra;
-(void) interstitialDidCloseForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) interstitialDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) interstitialDeepLinkOrJumpForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra result:(BOOL)success;
@end
#endif /* ATInterstitialDelegate_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c699bf51a37c24b78b653f1fb977534f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,24 @@
//
// AnyThinkInterstitial.h
// AnyThinkInterstitial
//
// Created by Martin Lau on 2019/11/1.
// Copyright © 2019 AnyThink. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import <AnyThinkInterstitial/ATAdManager+Interstitial.h>
#import <AnyThinkInterstitial/ATInterstitialDelegate.h>
#import <AnyThinkInterstitial/ATInterstitialCustomEvent.h>
//! Project version number for AnyThinkInterstitial.
FOUNDATION_EXPORT double AnyThinkInterstitialVersionNumber;
//! Project version string for AnyThinkInterstitial.
FOUNDATION_EXPORT const unsigned char AnyThinkInterstitialVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <AnyThinkInterstitial/PublicHeader.h>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7c20e9d252f9c4bc0938ffea5e89cd49
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: faeff5a8ce69e4753a3d803fe30b4d37
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 59545d3e2c78b4d778b797e509f70877
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,6 @@
framework module AnyThinkInterstitial {
umbrella header "AnyThinkInterstitial.h"
export *
module * { export * }
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 390cb0e48516b4b5eaa1913426a48172
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: 5e30a1ea4817b484f939601c82ae6eb2
folderAsset: yes
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a1a6cf0b67543422aa5a36078cccebe5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fedc032090d30480f83e10045cab263b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,125 @@
//
// ATAdManager+Native.h
// AnyThinkNative
//
// Created by Martin Lau on 07/07/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <AnyThinkSDK/AnyThinkSDK.h>
//Currently only GDT supports these two keys.
extern NSString *const kATExtraInfoNativeAdSizeKey;//the value has to be an NSValue wrapped CGSize object.
extern NSString *const kATExtraInfoNativeAdTypeKey;//The value is requried for GDT native ad and has to be an NSNumber warpped ATGDTNativeAdType(NSInteger); Pass @(ATGDTNativeAdTypeTemplate)(@1) for template ads and @(ATGDTNativeAdTypeSelfRendering)(@2) for self rendering ads.
//Following keys are supported by nend only
extern NSString *const kATExtraInfoNativeAdUserIDKey;
extern NSString *const kATExtraInfoNativeAdMediationNameKey;
extern NSString *const kATExtraInfoNaitveAdUserFeatureKey;
extern NSString *const kATExtraInfoNativeAdLocationEnabledFlagKey;
extern NSString *const kATNativeAdSizeToFitKey;
typedef NS_ENUM(NSInteger, ATGDTNativeAdType) {
ATGDTNativeAdTypeTemplate = 1,
ATGDTNativeAdTypeSelfRendering = 2
};
@class ATNativeADView;
@class ATNativeADConfiguration;
@protocol ATBaiduTemplateRenderingAttributeDelegate <NSObject>
@optional
//logo配置
@property (nonatomic, strong) NSString *iconWidth;
@property (nonatomic, strong) NSString *iconHeight;
@property (nonatomic, strong) NSString *iconLeft;
@property (nonatomic, strong) NSString *iconTop;
@property (nonatomic, strong) NSString *iconRight;
@property (nonatomic, strong) NSString *iconBottom;
//标题配置
@property (nonatomic, strong) NSString *titleLeft;
@property (nonatomic, strong) NSString *titleTop;
@property (nonatomic, strong) NSString *titleWidth;
@property (nonatomic, strong) NSString *titleHeight;
@property (nonatomic, strong) NSString *titleRight;
@property (nonatomic, strong) NSString *titleBottom;
@property (nonatomic, strong) NSString *titleFontSize;//系统默认字体
@property (nonatomic, strong) UIFont *titleFont;
@property (nonatomic, strong) UIColor *titleColor;
//主素材:大图、视频、三图首图
@property (nonatomic, strong) NSString *mainMaterialLeft;
@property (nonatomic, strong) NSString *mainMaterialTop;
@property (nonatomic, strong) NSString *mainMaterialWidth;
@property (nonatomic, strong) NSString *mainMaterialHeight;
@property (nonatomic, strong) NSString *mainMaterialRight;
@property (nonatomic, strong) NSString *mainMaterialBottom;
//三图的中图
@property (nonatomic, strong) NSString *centerPicLeft;
@property (nonatomic, strong) NSString *centerPicTop;
@property (nonatomic, strong) NSString *centerPicWidth;
@property (nonatomic, strong) NSString *centerPicHeight;
@property (nonatomic, strong) NSString *centerPicRight;
@property (nonatomic, strong) NSString *centerPicBottom;
//三图的右图
@property (nonatomic, strong) NSString *lastPicLeft;
@property (nonatomic, strong) NSString *lastPicTop;
@property (nonatomic, strong) NSString *lastPicWidth;
@property (nonatomic, strong) NSString *lastPicHeight;
@property (nonatomic, strong) NSString *lastPicRight;
@property (nonatomic, strong) NSString *lastPicBottom;
//底部行为按钮
@property (nonatomic, strong) NSString *buttonLeft;
@property (nonatomic, strong) NSString *buttonRight;
@property (nonatomic, strong) NSString *buttonTop;
@property (nonatomic, strong) NSString *buttonBottom;
@property (nonatomic, strong) NSString *buttonWidth;
@property (nonatomic, strong) NSString *buttonHeight;
@property (nonatomic, strong) UIFont *buttonFont;
@property (nonatomic, strong) NSString *buttonCornerRadius;
@property (nonatomic, strong) UIColor *buttonTitleColor;
@property (nonatomic, strong) UIColor *buttonBackgroundColor;
//底部负反馈按钮
@property (nonatomic, strong) NSString *dislikeBtnLeft;
@property (nonatomic, strong) NSString *dislikeBtnRight;
@property (nonatomic, strong) NSString *dislikeBtnTop;
@property (nonatomic, strong) NSString *dislikeBtnBottom;
@property (nonatomic, strong) NSString *dislikeBtnHeigth;
@property (nonatomic, strong) NSString *dislikeBtnWidth;
@property (nonatomic, strong) UIImage *dislikeBtnImage;
//底部品牌字样,建议不更改
@property (nonatomic, strong) NSString *brandLeft;
@property (nonatomic, strong) NSString *brandWidth;
@property (nonatomic, strong) NSString *brandHeight;
@property (nonatomic, strong) NSString *brandBottom;
@property (nonatomic, strong) NSString *brandFontSize;
@property (nonatomic, strong) UIFont *brandFont;
@property (nonatomic, strong) UIColor *brandColor;
@end
@interface ATAdManager (Native)
-(BOOL) nativeAdReadyForPlacementID:(NSString*)placementID;
/**
* This method uses the renderingViewClass you specify in the configuration to create an instance and:
1) returns it(for networks Facebook, Inmobi, Mintegral, Admob, Flurry, Applovin) or
2) adds it to a superView and returns the super view instead(for network Mopub).
* To retrieve the instance of the class you specify as the rendering view class, cast the returned view to ATNativeADView and call its embededAdView method(the view returned might not be of class ATNativeADView).
*/
- (__kindof UIView*) retriveAdViewWithPlacementID:(NSString*)placementID configuration:(ATNativeADConfiguration*)configuration;
- (__kindof UIView*) retriveAdViewWithPlacementID:(NSString*)placementID configuration:(ATNativeADConfiguration*)configuration scene:(NSString *)scene;
- (ATCheckLoadModel*)checkNativeLoadStatusForPlacementID:(NSString*)placementID;
// v5.7.53+
- (NSArray<NSDictionary *> *)getNativeValidAdsForPlacementID:(NSString *)placementID;
- (void) setBaiduTemplateRenderingAttribute:(id<ATBaiduTemplateRenderingAttributeDelegate> )baiduTemplateRenderingAttribute;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8361765ae51054e38894bca55267e4a0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,56 @@
//
// ATNativeADCache.h
// AnyThinkSDK
//
// Created by Martin Lau on 17/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import "ATNativeAd.h"
//#import "ATAd.h"
#import "ATNativeADCustomEvent.h"
@class ATUnitGroupModel;
@class ATPlacementModel;
@interface ATNativeADCache : ATNativeAd<ATAd>
-(instancetype) initWithPriority:(NSInteger) priority placementModel:(ATPlacementModel*)placementModel requestID:(NSString*)requestID assets:(NSDictionary*)assets unitGroup:(ATUnitGroupModel*)unitGroup finalWaterfall:(ATWaterfall *)finalWaterfall;
@property(nonatomic) NSInteger showTimes;
/**
Priority is calculate by the index of the unit group in the placement's unit group list; zero is the highest
*/
@property(nonatomic, readonly) NSInteger priority;
@property(nonatomic, readonly) NSInteger priorityLevel;
//@property(nonatomic, readonly) NSString *placementID;
@property(nonatomic, readonly) ATPlacementModel *placementModel;
@property(nonatomic, readonly) NSString *requestID;
@property(nonatomic, readonly) NSString *originalRequestID;
@property(nonatomic, readonly) NSDate *expireDate;
@property(nonatomic, readonly) NSDate *cacheDate;
@property(nonatomic, readonly) NSDictionary *assets;//To be removed
@property(nonatomic, readonly) ATUnitGroupModel *unitGroup;
@property(nonatomic) NSNumber *sdkTime;
@property(nonatomic, readonly) ATNativeADCustomEvent *customEvent;
/**
* Third-party network native ad object.
*/
@property(nonatomic, readonly) id customObject;
/**
* Third-party network unit id.
*/
@property(nonatomic, assign)NSInteger priorityIndex;
@property(nonatomic, readonly) NSString *unitID;
@property(nonatomic, readonly) NSString *iconURLString;
@property(nonatomic, readonly) NSString *imageURLString;
@property(nonatomic, readonly) NSString *appID;
@property(nonatomic) BOOL defaultPlayIfRequired;
@property(nonatomic, readonly) NSString *price;
@property(nonatomic, readonly) NSString *bidId;
@property(nonatomic, readonly) NSString *tpBidId;
@property(nonatomic, readonly, weak) ATWaterfall *finalWaterfall;
@property(nonatomic, readonly) NSInteger autoReqType;
@property(nonatomic) BOOL adReportClicked;
@property(nonatomic, copy) NSString *scene;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: bdd1828cd51d44101b777137d6a4b98e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
//
// ATNativeADConfiguration.h
// AnyThinkSDK
//
// Created by Martin Lau on 20/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
extern NSString *const kATNativeAdConfigurationContextAdOptionsViewFrameKey;//CGRect wrapped as NSValue, supported by facebook
extern NSString *const kATNativeAdConfigurationContextAdLogoViewFrameKey;//CGRect wrapped as NSValue, supported by gdt&baidu, defaults to top-left corner
extern NSString *const kATNativeAdConfigurationContextNetworkLogoViewFrameKey;//CGRect wrapped as NSValue, support by baidu, defaults to bottom-right corner
@protocol ATNativeADDelegate;
@interface ATNativeADConfiguration : NSObject
/**
You can store some extra network specific context info in this dictionary.
*/
@property(nonatomic) NSDictionary *context;
@property(nonatomic) Class renderingViewClass;
@property(nonatomic) CGRect ADFrame;
@property(nonatomic) CGRect mediaViewFrame;
@property(nonatomic, weak) UIViewController *rootViewController;
@property(nonatomic, weak) id<ATNativeADDelegate> delegate;
@property(nonatomic) BOOL sizeToFit;
@property(nonatomic) BOOL useCustomPlayer;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e5dffe530cff048d0b4c9513b3581691
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,66 @@
//
// ATNativeADCustomEvent.h
// AnyThinkSDK
//
// Created by Martin Lau on 25/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import "ATNativeADView.h"
//#import "ATTracker.h"
#import "ATNativeADDelegate.h"
//#import "ATAdCustomEvent.h"
@class ATNativeADCache;
@interface ATNativeADCustomEvent : ATAdCustomEvent
-(void) trackNativeAdLoaded:(NSDictionary*)assets;
-(void) trackNativeAdLoadFailed:(NSError*)error;
-(void) didAttachMediaView;
-(void) invalidateUsedAdInfo;
-(void) willDetachOffer:(ATNativeADCache*)offer fromAdView:(ATNativeADView*)adView;
/**
*@para refresh: whether the show is trigered by a ad refresh.
*/
- (void)trackNativeAdShow:(BOOL)refresh;
- (void)trackNativeAdClick;
- (void)trackNativeAdVideoStart;
- (void)trackNativeAdVideoEnd;
- (void)trackNativeAdClosed;
- (void)trackNativeAdImpression;
- (void)trackNativeAdDeeplinkOrJumpResult:(BOOL)success;
//v5.7.47
- (void)trackNativeAdCloseDetail;
/// If it returns YES, then when sending the embedding points of "show", the embedding points of "impression" will be sent together. Otherwise, it will not be sent. Same for the banner ads (ATBannerCustomEvent.h).
- (BOOL)sendImpressionTrackingIfNeed;
-(NSDictionary*)delegateExtra;
- (NSMutableDictionary *)delegateExtraWithNativeAD:(ATNativeADCache *)cache;
-(ATNativeADSourceType) sourceType;
@property(nonatomic, copy) void(^requestCompletionBlock)(NSArray<NSDictionary*> *assets, NSError *error);
@property(nonatomic, weak) ATNativeADView *adView;
@property(nonatomic) NSInteger requestNumber;
/**
* Failed or successful, a request's considered finished.
*/
@property(nonatomic) NSInteger numberOfFinishedRequests;
@property(nonatomic, readonly) NSMutableArray<NSDictionary*>* assets;
@property(nonatomic) NSDictionary *requestExtra;
@property(nonatomic) NSDictionary *serverExtra;
@end
@interface ATNativeADView(Event)
-(void) notifyNativeAdClick;
-(void) notifyVideoStart;
-(void) notifyVideoEnd;
-(void) notifyVideoEnterFullScreen;
-(void) notifyVideoExitFullScreen;
-(void) notifyCloseButtonTapped;
-(void) notifyDeeplinkOrJumpResult:(BOOL)success;
-(void) notifyAdDetailClosed;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a032b141c4b6443d2ae0896ed2a55018
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,32 @@
//
// ATNativeADDelegate.h
// AnyThinkSDK
//
// Created by Martin Lau on 08/05/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATNativeADDelegate_h
#define ATNativeADDelegate_h
#import <AnyThinkSDK/AnyThinkSDK.h>
@class ATNativeADView;
extern NSString *const kATNativeDelegateExtraNetworkIDKey;
extern NSString *const kATNativeDelegateExtraAdSourceIDKey;
extern NSString *const kATNativeDelegateExtraIsHeaderBidding;
extern NSString *const kATNativeDelegateExtraPrice;
extern NSString *const kATNativeDelegateExtraPriority;
@protocol ATNativeADDelegate<ATAdLoadingDelegate>
-(void) didShowNativeAdInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didClickNativeAdInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didStartPlayingVideoInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didEndPlayingVideoInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didEnterFullScreenVideoInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didExitFullScreenVideoInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didTapCloseButtonInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didLoadSuccessDrawWith:(NSArray*)views placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didDeepLinkOrJumpInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary*)extra result:(BOOL)success;
// v5.7.47
-(void) didCloseDetailInAdView:(ATNativeADView*)adView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
@end
#endif /* ATNativeADDelegate_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8526d6d7154b746098e33ce3f7938272
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,66 @@
//
// ATNativeADRenderer.h
// AnyThinkSDK
//
// Created by Martin Lau on 20/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATNativeADRenderer_h
#define ATNativeADRenderer_h
#import <UIKit/UIKit.h>
#import "ATNativeADView.h"
@class ATNativeADConfiguration;
@class ATNativeADCache;
@protocol ATNativeADRenderer<NSObject>
/**
Might return nil.
*/
-(__kindof UIView*)createMediaView;
/**
Render the assets onto the the associated AD view. Adopter implements this method in a network-specific way.
*/
-(void) renderOffer:(ATNativeADCache*)offer;
/**
* Whether the ad being rendered is video ad.
*/
-(BOOL)isVideoContents;
/**
* The duration of the video ad playing, unit ms
*/
- (CGFloat)videoPlayTime;
/**
* Video ad duration, unit ms
*/
- (CGFloat)videoDuration;
/**
Play mute switch
@param flag whether to mute
*/
- (void)muteEnable:(BOOL)flag;
/**
* The video ad play
*/
- (void)videoPlay;
/**
* The video ad pause
*/
- (void)videoPause;
- (ATNativeAdType)getNativeAdType;
- (ATNativeAdRenderType)getCurrentNativeAdRenderType;
/**
This reference to the associated AD view should be kept as a weak one, for an AD view strongly keeps its render.
This property is added so that the renderAssets: method can access it directly.
*/
@property(nonatomic, weak) ATNativeADView *ADView;
@end
#endif /* ATNativeADRenderer_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 172da78fdf6fa46caafde20cde9daebd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,25 @@
//
// ATNativeADView+Internal.h
// AnyThinkSDK
//
// Created by Martin Lau on 03/05/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
/**
* This file contains methods&properties implemented by ATNativeADView intented for internal use only.
*/
#import "ATNativeADView.h"
@class ATNativeADCustomEvent;
@interface ATNativeADView (Internal)
/**
* Designated initailizer
* Loading delegate need to be passed because during the showing process, it's still posibile to encounter loading failure.
*/
-(instancetype) initWithConfiguration:(ATNativeADConfiguration*)configuration placementID:(NSString*)placementID;
/**
* Use to bind the customEvent to the ad view.
* In the current implementation, a instance of custom event will be create when the ad is to load and later acts as the delegate of the loading process, which will be release when the loading process finished; another will be create before the ad is to be shown and later acts as the delegate of the showing process.
*/
@property(nonatomic) ATNativeADCustomEvent *customEvent;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fdd6bfd8a94464d6d897561bb3f0b629
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,133 @@
//
// ATNativeADView.h
// AnyThinkSDK
//
// Created by Martin Lau on 18/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ATNativeAd.h"
#import "ATNativeRendering.h"
typedef NS_ENUM(NSInteger, ATNativeAdRenderType) {
ATNativeAdRenderSelfRender = 1,
ATNativeAdRenderExpress = 2
};
typedef NS_ENUM(NSInteger, ATNativeAdType) {
ATNativeAdTypeFeed = 1,
ATNativeAdTypePaster = 2
};
typedef NS_ENUM(NSInteger, ATPlayerStatus) {
ATPlayerStatusStartPlay,
ATPlayerStatusPause,
ATPlayerStatusFinish,
ATPlayerStatusResume,
ATPlayerStatusAbort
};
/**
* Subclasses are expected to call super when overriding willMoveToSuperview: because it it within this method the base class kick off the rendering process.
*/
@protocol ATNativeADDelegate;
@protocol ATNativeADRenderer;
@class ATNativeADConfiguration;
@interface ATNativeADView : UIView<ATNativeRendering>
/**
* Subclass implementation has to call [super initSubviews] for the ad view to work properly. By the time this method's called, the ad view is not yet full fledged.
*/
-(void) initSubviews;
/**
* Create constraints for subviews in this method if you are using autolayout.
*/
-(void) makeConstraintsForSubviews;
/**
* During ad refreshing, the media view might be removed from it's superview and recreated and added; so the layout logic for media view might be called multiple times with different media views. You're recommended to use frame-based technique here.
*/
-(void) layoutMediaView;
/**
* Whether the ad being shown is a video ad.
*/
-(BOOL) isVideoContents;
/*
* ALWAYS call this method to retrieve the REAL rendered adview.
*/
-(ATNativeADView*)embededAdView;
/**
* Returns an array containing views that are used to track clicks.
*/
-(NSArray<UIView*>*)clickableViews;
@property(nonatomic, weak) id<ATNativeADDelegate> delegate;
/**
* The view that is used to play video or other media; it is set by the sdk; might be nil.
*/
@property(nonatomic, nullable) UIView *mediaView;
/**
* The native ad that is being shown.
*/
@property(nonatomic, readonly) ATNativeAd *nativeAd;
/**
* The networkFirm id of native ad.
*/
@property(nonatomic, readonly) NSInteger networkFirmID;
/**
* The duration of the video ad playing, unit ms
*/
- (CGFloat)videoPlayTime;
/**
* Video ad duration, unit ms
*/
- (CGFloat)videoDuration;
/**
Play mute switch
@param flag whether to mute
*/
- (void)muteEnable:(BOOL)flag;
/**
* The video ad play
*/
- (void)videoPlay;
/**
* The video ad pause
*/
- (void)videoPause;
/**
* The native ad type
*/
- (ATNativeAdType)getNativeAdType;
/**
* The native ad render type
*/
- (ATNativeAdRenderType)getCurrentNativeAdRenderType;
- (void)recordCustomPlayerStatus:(ATPlayerStatus)status currentTime:(NSTimeInterval)time;
@end
//Defined for TT native
extern NSString const* kATExtraNativeImageSize228_150;
extern NSString const* kATExtraNativeImageSize690_388;
extern NSString *const kATExtraNativeImageSizeKey;
extern NSString const* kATExtraNativeImageSize1280_720;
extern NSString const* kATExtraNativeImageSize1200_628;
extern NSString const* kATExtraNativeImageSize640_640;
@interface ATNativeADView(DrawVideo)
/*
* Override this method to layout draw video assets.
*/
-(void) makeConstraintsDrawVideoAssets;
@property (nonatomic, strong, readonly, nullable) UIButton *dislikeButton;
@property (nonatomic, strong, readonly, nullable) UILabel *adLabel;
@property (nonatomic, strong, readonly, nullable) UIImageView *logoImageView;
@property (nonatomic, strong, readonly, nullable) UIImageView *logoADImageView;
@property (nonatomic, strong, readonly, nullable) UIView *videoAdView;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4d5a0d9f2ad564cab9cc6f760d4c0900
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,27 @@
//
// ATNativeAd.h
// AnyThinkSDK
//
// Created by Martin Lau on 02/05/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ATNativeAd : NSObject
@property(nonatomic, readonly) NSString *advertiser;
@property(nonatomic, readonly) NSString *title;
@property(nonatomic, readonly) NSString *mainText;
@property(nonatomic, readonly) NSString *ctaText;
@property(nonatomic, readonly) UIImage *icon;
@property(nonatomic, readonly) UIImage *mainImage;
@property(nonatomic, readonly) UIImage *logo;
@property(nonatomic, readonly) NSNumber *rating;
@property(nonatomic, readonly) UIImage *sponsorImage;
@property(nonatomic, readonly) NSString *videoUrl;
/**
* For some ads, this property does not always determines whether the ad is a video ad or not; however, to do this, you can always use the corresponding ad view's isVideoContents method instead.
*/
@property(nonatomic, readonly, getter=isVideoContents) BOOL videoContents;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1203f7b17124a4022bd19e64bc20df78
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,52 @@
//
// ATNativeBannerWrapper.h
// AnyThinkSDKDemo
//
// Created by Martin Lau on 2019/4/10.
// Copyright © 2019 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <AnyThinkNative/AnyThinkNative.h>
@class ATNativeBannerView;
@protocol ATNativeBannerDelegate<NSObject>
-(void) didFinishLoadingNativeBannerAdWithPlacementID:(NSString *)placementID;
-(void) didFailToLoadNativeBannerAdWithPlacementID:(NSString*)placementID error:(NSError*)error;
-(void) didShowNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didClickNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didClickCloseButtonInNativeBannerAdView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didAutorefreshNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didFailToAutorefreshNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID error:(NSError*)error DEPRECATED_ATTRIBUTE;
-(void) didShowNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didClickNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didClickCloseButtonInNativeBannerAdView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didAutorefreshNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didFailToAutorefreshNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra error:(NSError*)error;
- (void)didNativeBannerDeeplinkOrJumpInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra result:(BOOL)success;
@end
@interface ATNativeBannerView:UIView
@property(nonatomic, weak) id<ATNativeBannerDelegate> delegate;
@end
extern NSString *const kATNativeBannerAdShowingExtraBackgroundColorKey;
extern NSString *const kATNativeBannerAdShowingExtraAdSizeKey;
extern NSString *const kATNativeBannerAdShowingExtraAutorefreshIntervalKey;
extern NSString *const kATNativeBannerAdShowingExtraHideCloseButtonFlagKey;
extern NSString *const kATNativeBannerAdShowingExtraCTAButtonBackgroundColorKey;
extern NSString *const kATNativeBannerAdShowingExtraCTAButtonTitleFontKey;
extern NSString *const kATNativeBannerAdShowingExtraCTAButtonTitleColorKey;
extern NSString *const kATNativeBannerAdShowingExtraTitleFontKey;
extern NSString *const kATNativeBannerAdShowingExtraTitleColorKey;
extern NSString *const kATNativeBannerAdShowingExtraTextFontKey;
extern NSString *const kATNativeBannerAdShowingExtraTextColorKey;
extern NSString *const kATNativeBannerAdShowingExtraAdvertiserTextFontKey;
extern NSString *const kATNativeBannerAdShowingExtraAdvertiserTextColorKey;
@interface ATNativeBannerWrapper:NSObject
+(instancetype) sharedWrapper;
+(void) loadNativeBannerAdWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra customData:(NSDictionary*)customData delegate:(id<ATNativeBannerDelegate>)delegate;
+(ATNativeBannerView*) retrieveNativeBannerAdViewWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra delegate:(id<ATNativeBannerDelegate>)delegate;
+(BOOL) nativeBannerAdReadyForPlacementID:(NSString*)placementID;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c5779c902e80e4e239421531310d69aa
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,24 @@
//
// ATNativeRenderer.h
// AnyThinkSDK
//
// Created by Martin Lau on 25/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import "ATNativeADRenderer.h"
//#import "ATAPI.h"
@protocol ATNativeADRenderer;
@class ATNativeADCache;
@interface ATNativeRenderer : NSObject<ATNativeADRenderer>
//This method has been added specifically for Mopub; renderers of other networks don't implement it.
+(id) retrieveRendererWithOffer:(ATNativeADCache*)offer;
-(UIView*)retriveADView;
- (void)recordCustomPlayerStatus:(ATPlayerStatus)status currentTime:(NSTimeInterval)time;
-(instancetype) initWithConfiguraton:(ATNativeADConfiguration*)configuration adView:(ATNativeADView*)adView;
-(__kindof UIView*)createMediaView;
@property(nonatomic, weak) ATNativeADView *ADView;
@property(nonatomic, readonly) ATNativeADConfiguration *configuration;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c453b120755d54af78defd366b4698e1
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,75 @@
//
// ATNativeRendering.h
// AnyThinkSDK
//
// Created by Martin Lau on 09/04/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATNativeRendering_h
#define ATNativeRendering_h
#import <UIKit/UIKit.h>
@protocol ATNativeRendering<NSObject>
@optional
/**
* Return the UILabel that your view is using for the advertiser name.
*/
-(UILabel*)advertiserLabel;
/**
* Return the UILabel that your view is using for the main text.
*
* @return a UILabel that is used for the main text.
*/
-(UILabel*)textLabel;
/**
* Return the UILabel that your view is using for the title text.
*
* @return a UILabel that is used for the title text.
*/
-(UILabel*)titleLabel;
/**
* Return a label for showing cta text.
*/
-(UILabel*)ctaLabel;
/**
* Return a label for showing the rating text.
*/
-(UILabel*)ratingLabel;
/**
* Return the UIImageView that your view is using for the icon image.
*
* @return a UIImageView that is used for the icon image.
*/
-(UIImageView*)iconImageView;
/**
* Return the UIImageView that your view is using for the main image.
*
* @return a UIImageView that is used for the main image.
*/
-(UIImageView*)mainImageView;
/**
*Return the UIImageView that your view is using for the sponsor image.
*/
-(UIImageView*)sponsorImageView;
/**
* This is the view provided by third-pary network to render it's ad offer.
*
*/
-(UIView*)mediaView;
/**
* The button to close Ad for normal native ads.
*
*/
- (UIButton *)dislikeButton;
@end
#endif /* ATNativeRendering_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fbbb348fb823a4a018d272d27b2d1e9b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,41 @@
//
// ATNativeSplashWrapper.h
// AnyThinkSDKDemo
//
// Created by Martin Lau on 2019/3/19.
// Copyright © 2019 Martin Lau. All rights reserved.
//
#import <UIKit/UIKit.h>
extern NSString *const kATNativeSplashShowingExtraRecommendTitleKey;
extern NSString *const kATNativeSplashShowingExtraCTAButtonBackgroundColorKey;
extern NSString *const kATNativeSplashShowingExtraCTAButtonTitleColorKey;
extern NSString *const kATNativeSplashShowingExtraContainerViewKey;
extern NSString *const kATNativeSplashShowingExtraCountdownIntervalKey;
extern NSString *const kATNatievSplashShowingExtraStyleKey;
extern NSString *const kATNativeSplashShowingExtraStylePortrait;
extern NSString *const kATNativeSplashShowingExtraStyleLandscape;
@protocol ATNativeSplashDelegate<NSObject>
-(void) finishLoadingNativeSplashAdForPlacementID:(NSString*)placementID;
-(void) failedToLoadNativeSplashAdForPlacementID:(NSString*)placementID error:(NSError*)error;
-(void) didShowNativeSplashAdForPlacementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didClickNaitveSplashAdForPlacementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didCloseNativeSplashAdForPlacementID:(NSString*)placementID DEPRECATED_ATTRIBUTE;
-(void) didShowNativeSplashAdForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didClickNaitveSplashAdForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra;
-(void) didCloseNativeSplashAdForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra;
- (void)didNativeSplashDeeplinkOrJumpForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra result:(BOOL)success;
@end
@interface ATNativeSplashWrapper : NSObject
+(instancetype) sharedWrapper;
+(void) loadNativeSplashAdWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra customData:(NSDictionary*)customData delegate:(id<ATNativeSplashDelegate>)delegate;
+(void) showNativeSplashAdWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra delegate:(id<ATNativeSplashDelegate>)delegate;
+(BOOL) splashNativeAdReadyForPlacementID:(NSString*)placementID;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 46b01da6b930f47178a0377bb308910b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,33 @@
//
// AnyThinkNative.h
// AnyThinkNative
//
// Created by Martin Lau on 2019/11/1.
// Copyright © 2019 AnyThink. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import <AnyThinkNative/ATAdManager+Native.h>
#import <AnyThinkNative/ATNativeADView.h>
#import <AnyThinkNative/ATNativeADConfiguration.h>
#import <AnyThinkNative/ATNativeAd.h>
#import <AnyThinkNative/ATNativeRendering.h>
#import <AnyThinkNative/ATNativeADDelegate.h>
#import <AnyThinkNative/ATNativeSplashWrapper.h>
#import <AnyThinkNative/ATNativeBannerWrapper.h>
#import <AnyThinkNative/ATNativeADCustomEvent.h>
#import <AnyThinkNative/ATNativeRenderer.h>
#import <AnyThinkNative/ATNativeADView+Internal.h>
#import <AnyThinkNative/ATNativeADCache.h>
//! Project version number for AnyThinkNative.
FOUNDATION_EXPORT double AnyThinkNativeVersionNumber;
//! Project version string for AnyThinkNative.
FOUNDATION_EXPORT const unsigned char AnyThinkNativeVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <AnyThinkNative/PublicHeader.h>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 06d62e298694d4d7a955d0358027e523
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ff9738c5380e648a9b7317e958eee4bf
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b9b8b1c04b0294393a1909c3fc558558
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,6 @@
framework module AnyThinkNative {
umbrella header "AnyThinkNative.h"
export *
module * { export * }
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c2476a56359be466099c5f18cb2f7d86
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: c2a41138edf784f079e5867f6d773fce
folderAsset: yes
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7fc2d22a6dd0345cb899a3388443e941
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 004d39f24a08a4214bf2f5d956624769
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,37 @@
//
// ATAdManager+RewardedVideo.h
// AnyThinkSDK
//
// Created by Martin Lau on 05/07/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <AnyThinkSDK/AnyThinkSDK.h>
#import "ATRewardedVideoDelegate.h"
/*
* Third-party extra data
*/
extern NSString *const kATAdLoadingExtraKeywordKey;
extern NSString *const kATAdLoadingExtraUserDataKeywordKey;
extern NSString *const kATAdLoadingExtraUserIDKey;
extern NSString *const kATAdLoadingExtraLocationKey;
extern NSString *const kATAdLoadingExtraMediaExtraKey;
extern NSString *const kATAdLoadingExtraRewardNameKey;
extern NSString *const kATAdLoadingExtraRewardAmountKey;
extern NSString *const kATAdLoadingExtraNetworkPlacementIDKey;
extern NSString *const kATRewardedVideoCallbackExtraAdsourceIDKey;
extern NSString *const kATRewardedVideoCallbackExtraNetworkIDKey;
// Klevin SDK
extern NSString *const kATRewardedVideoKlevinRewardTimeKey;
extern NSString *const kATRewardedVideoKlevinRewardTriggerKey;
@interface ATAdManager (RewardedVideo)
-(BOOL) rewardedVideoReadyForPlacementID:(NSString*)placementID;
-(ATCheckLoadModel*) checkRewardedVideoLoadStatusForPlacementID:(NSString*)placementID;
- (NSArray<NSDictionary *> *)getRewardedVideoValidAdsForPlacementID:(NSString *)placementID;
-(void) showRewardedVideoWithPlacementID:(NSString*)placementID inViewController:(UIViewController*)viewController delegate:(id<ATRewardedVideoDelegate>)delegate;
-(void) showRewardedVideoWithPlacementID:(NSString*)placementID scene:(NSString*)scene inViewController:(UIViewController*)viewController delegate:(id<ATRewardedVideoDelegate>)delegate;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b4bb2b9d8aa7544dda13274479b1cbb9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,43 @@
//
// ATRewardedVideo.h
// AnyThinkSDK
//
// Created by Martin Lau on 28/06/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
//#import "ATAd.h"
@class ATRewardedVideoCustomEvent;
@interface ATRewardedVideo : NSObject<ATAd>
-(instancetype) initWithPriority:(NSInteger) priority placementModel:(ATPlacementModel*)placementModel requestID:(NSString*)requestID assets:(NSDictionary*)assets unitGroup:(ATUnitGroupModel*)unitGroup finalWaterfall:(ATWaterfall *)finalWaterfall;
@property(nonatomic) NSInteger showTimes;
/**
Priority is calculate by the index of the unit group in the placement's unit group list; zero is the highest
*/
@property(nonatomic, readonly) NSInteger priority;
@property(nonatomic, readonly) NSInteger priorityLevel;
@property(nonatomic, readonly) ATPlacementModel *placementModel;
@property(nonatomic, readonly) NSString *requestID;
@property(nonatomic, readonly) NSString *originalRequestID;
@property(nonatomic, readonly) NSDate *cacheDate;
@property(nonatomic, readonly) NSDate *expireDate;
@property(nonatomic, readonly) ATUnitGroupModel *unitGroup;
@property(nonatomic, readonly) NSString *unitID;
/**
* Third-party network native ad object.
*/
@property(nonatomic, readonly) id customObject;
@property(nonatomic) ATRewardedVideoCustomEvent *customEvent;
@property(nonatomic, readonly) NSString *appID;
@property(nonatomic) BOOL defaultPlayIfRequired;
@property(nonatomic, copy) NSString *scene;
@property(nonatomic, readonly) NSString *price;
@property(nonatomic, readonly) NSString *bidId;
@property(nonatomic, readonly) NSString *tpBidId;
@property(nonatomic, readonly, weak) ATWaterfall *finalWaterfall;
@property(nonatomic, readonly) NSInteger autoReqType;
@property(nonatomic) BOOL adReportClicked;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 503eb22f5d561485ca4e7e3391a2b914
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
//
// ATRewardedVideoAdapter.h
// AnyThinkSDK
//
// Created by Martin Lau on 05/07/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATRewardedVideoAdapter_h
#define ATRewardedVideoAdapter_h
#import <AnyThinkSDK/AnyThinkSDK.h>
//#import "ATAdAdapter.h"
#import "ATRewardedVideoDelegate.h"
#import "ATRewardedVideo.h"
#import <UIKit/UIKit.h>
@protocol ATRewardedVideoAdapter<ATAdAdapter>
@optional
+(BOOL) adReadyWithCustomObject:(id)customObject info:(NSDictionary*)info;
+(void) showRewardedVideo:(ATRewardedVideo*)rewardedVideo inViewController:(UIViewController*)viewController delegate:(id<ATRewardedVideoDelegate>)delegate;
@end
#endif /* ATRewardedVideoAdapter_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9915e24d74c9c499f9c854545f2faeb6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,34 @@
//
// ATRewardedVideoCustomEvent.h
// AnyThinkSDK
//
// Created by Martin Lau on 05/07/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#import <AnyThinkSDK/AnyThinkSDK.h>
//#import "ATAdCustomEvent.h"
#import "ATRewardedVideoDelegate.h"
#import "ATRewardedVideo.h"
@interface ATRewardedVideoCustomEvent : ATAdCustomEvent
-(void) trackRewardedVideoAdPlayEventWithError:(NSError*)error;
-(void) trackRewardedVideoAdCloseRewarded:(BOOL)rewarded;
-(void) trackRewardedVideoAdVideoStart;
-(void) trackRewardedVideoAdVideoEnd;
-(void) trackRewardedVideoAdClick;
-(void) trackRewardedVideoAdShow;
-(void) trackRewardedVideoAdLoadFailed:(NSError*)error;
-(void) trackRewardedVideoAdLoaded:(id)adObject adExtra:(NSDictionary *)adExtra;
-(void) trackRewardedVideoAdRewarded;
-(void) trackRewardedVideoAdDeeplinkOrJumpResult:(BOOL)success;
-(NSDictionary*)delegateExtra;
-(instancetype) initWithInfo:(NSDictionary*)serverInfo localInfo:(NSDictionary *)localInfo;
@property(nonatomic, weak) id<ATRewardedVideoDelegate> delegate;
@property(nonatomic, weak) ATRewardedVideo *rewardedVideo;
@property(nonatomic, readonly) NSString *unitID;
@property(nonatomic) NSString *userID;
@property(nonatomic, assign) NSInteger priorityIndex;
@end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 29b6c7452462b44dc8daad6a03bfd025
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,29 @@
//
// ATRewardedVideoDelegate.h
// AnyThinkSDK
//
// Created by Martin Lau on 05/07/2018.
// Copyright © 2018 Martin Lau. All rights reserved.
//
#ifndef ATRewardedVideoDelegate_h
#define ATRewardedVideoDelegate_h
#import <AnyThinkSDK/AnyThinkSDK.h>
extern NSString *const kATRewardedVideoCallbackExtraAdsourceIDKey;
extern NSString *const kATRewardedVideoCallbackExtraNetworkIDKey;
extern NSString *const kATRewardedVideoCallbackExtraIsHeaderBidding;
extern NSString *const kATRewardedVideoCallbackExtraPrice;
extern NSString *const kATRewardedVideoCallbackExtraPriority;
@protocol ATRewardedVideoDelegate<ATAdLoadingDelegate>
-(void) rewardedVideoDidStartPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) rewardedVideoDidEndPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) rewardedVideoDidFailToPlayForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra;
-(void) rewardedVideoDidCloseForPlacementID:(NSString*)placementID rewarded:(BOOL)rewarded extra:(NSDictionary*)extra;
-(void) rewardedVideoDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) rewardedVideoDidRewardSuccessForPlacemenID:(NSString*)placementID extra:(NSDictionary*)extra;
-(void) rewardedVideoDidDeepLinkOrJumpForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra result:(BOOL)success;
@end
#endif /* ATRewardedVideoDelegate_h */

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 71ff6f08041074cdb8c03531f99e57a7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,24 @@
//
// AnyThinkRewardedVideo.h
// AnyThinkRewardedVideo
//
// Created by Martin Lau on 2019/11/1.
// Copyright © 2019 AnyThink. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AnyThinkSDK/AnyThinkSDK.h>
#import <AnyThinkRewardedVideo/ATAdManager+RewardedVideo.h>
#import <AnyThinkRewardedVideo/ATRewardedVideoDelegate.h>
#import <AnyThinkRewardedVideo/ATRewardedVideoCustomEvent.h>
//! Project version number for AnyThinkRewardedVideo.
FOUNDATION_EXPORT double AnyThinkRewardedVideoVersionNumber;
//! Project version string for AnyThinkRewardedVideo.
FOUNDATION_EXPORT const unsigned char AnyThinkRewardedVideoVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <AnyThinkRewardedVideo/PublicHeader.h>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0c80cc2955c244390a2a6ef585f51cbc
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More