New file |
| | |
| | | // |
| | | // GDTBaseAdNetworkAdapterProtocol.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by royqpwang on 2019/7/25. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | |
| | | @protocol GDTBaseAdNetworkAdapterProtocol <NSObject> |
| | | |
| | | + (NSString *)adapterVersion; |
| | | |
| | | - (instancetype)initWithAdNetworkConnector:(id)connector |
| | | posId:(NSString *)posId |
| | | extStr:(NSString *)extStr; |
| | | @optional |
| | | |
| | | - (NSInteger)eCPM; |
| | | - (NSInteger)priority; |
| | | - (NSString *)eCPMLevel; |
| | | - (void)cancelLoad; |
| | | - (NSInteger)mediationPrice; |
| | | - (BOOL)isContractAd; |
| | | |
| | | @end |
| | | |
New file |
| | |
| | | // |
| | | // GDTHybridAd.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by royqpwang on 2019/3/8. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | typedef NS_OPTIONS(NSInteger, GDTHybridAdOptions) { |
| | | GDTHybridAdOptionRewardVideo = 1 << 0 |
| | | }; |
| | | |
| | | @class GDTHybridAd; |
| | | |
| | | @protocol GDTHybridAdDelegate <NSObject> |
| | | |
| | | @optional |
| | | |
| | | - (void)gdt_hybridAdDidPresented:(GDTHybridAd *)hybridAd; |
| | | - (void)gdt_hybridAdDidClose:(GDTHybridAd *)hybridAd; |
| | | - (void)gdt_hybridAdLoadURLSuccess:(GDTHybridAd *)hybridAd; |
| | | - (void)gdt_hybridAd:(GDTHybridAd *)hybridAd didFailWithError:(NSError *)error; |
| | | |
| | | @end |
| | | |
| | | @interface GDTHybridAd : NSObject |
| | | |
| | | /** |
| | | èªå®ä¹æµè§å¨ UI 屿§ï¼è¯·å¨ showWithRootViewController: æ¹æ³å设置ã |
| | | */ |
| | | @property (nonatomic, copy) NSString *titleContent; |
| | | @property (nonatomic, strong) UIColor *titleColor; |
| | | @property (nonatomic, strong) UIFont *titleFont; |
| | | @property (nonatomic, strong) UIColor *navigationBarColor; |
| | | @property (nonatomic, strong) UIColor *navigationBarBottomColor; |
| | | @property (nonatomic, strong) UIColor *separatorLineColor; |
| | | @property (nonatomic, strong) UIImage *closeImage; // å¦éèªå®ä¹å
³éå¾çï¼è¯·æ 44*44 大å°è®¾ç½® |
| | | @property (nonatomic, strong) UIImage *backImage; // å¦éèªå®ä¹åéå¾çï¼è¯·æ 44*44 大å°è®¾ç½® |
| | | |
| | | |
| | | /** |
| | | å§æå¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id <GDTHybridAdDelegate> delegate; |
| | | |
| | | |
| | | /** |
| | | æé æ¹æ³ |
| | | |
| | | @param adOptions - æ¯æç广åç±»å Optionsï¼æ¿å±è§é¢è¯·ä¼ GDTHybridAdOptionRewardVideo |
| | | @return GDTHybrid å®ä¾ |
| | | */ |
| | | - (instancetype)initWithType:(GDTHybridAdOptions)adOptions; |
| | | |
| | | |
| | | /** |
| | | å è½½å¹¿åæ¹æ³ æ¯æ iOS8.1 å以ä¸ç³»ç» |
| | | |
| | | @param url å è½½ç X ä¸å¿ URL |
| | | */ |
| | | - (void)loadWithUrl:(NSString *)url; |
| | | |
| | | |
| | | /** |
| | | å±ç¤ºæµè§å¨æ¹æ³ |
| | | |
| | | @param rootViewController ç¨äº present æµè§å¨ VC |
| | | */ |
| | | - (void)showWithRootViewController:(UIViewController *)rootViewController; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |
New file |
| | |
| | | // |
| | | // GDTLogoView.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by nimomeng on 2018/10/10. |
| | | // Copyright © 2018 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | //logoé»è®¤å®½åº¦ |
| | | extern CGFloat const kGDTLogoImageViewDefaultWidth; |
| | | //logoé»è®¤é«åº¦ |
| | | extern CGFloat const kGDTLogoImageViewDefaultHeight; |
| | | |
| | | @interface GDTLogoView : UIImageView |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTMediaView.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by nimomeng on 2018/10/10. |
| | | // Copyright © 2018 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | @class GDTMediaView; |
| | | @protocol GDTMediaViewDelegate <NSObject> |
| | | |
| | | @optional |
| | | |
| | | /** |
| | | ç¨æ·ç¹å» MediaView åè°ï¼å½ GDTVideoConfig userControlEnable 设为 YESï¼ç¨æ·ç¹å» mediaView ä¼åè°ã |
| | | |
| | | @param mediaView ææ¾å¨å®ä¾ |
| | | */ |
| | | - (void)gdt_mediaViewDidTapped:(GDTMediaView *)mediaView; |
| | | |
| | | /** |
| | | ææ¾å®æåè° |
| | | |
| | | @param mediaView ææ¾å¨å®ä¾ |
| | | */ |
| | | - (void)gdt_mediaViewDidPlayFinished:(GDTMediaView *)mediaView; |
| | | |
| | | @end |
| | | |
| | | @interface GDTMediaView : UIView |
| | | |
| | | /** |
| | | GDTMediaView åè°å¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id <GDTMediaViewDelegate> delegate; |
| | | |
| | | /** |
| | | * è§é¢å¹¿åæ¶é¿ï¼åä½ ms |
| | | */ |
| | | - (CGFloat)videoDuration; |
| | | |
| | | /** |
| | | * è§é¢å¹¿åå·²ææ¾æ¶é¿ï¼åä½ ms |
| | | */ |
| | | - (CGFloat)videoPlayTime; |
| | | |
| | | /** |
| | | ææ¾è§é¢ |
| | | */ |
| | | - (void)play; |
| | | |
| | | /** |
| | | æåè§é¢ï¼è°ç¨ pause åï¼éè¦è¢«æåçè§é¢å¹¿å对象ï¼ä¸ä¼åèªå¨ææ¾ï¼éè¦è°ç¨ play æè½æ¢å¤ææ¾ã |
| | | */ |
| | | - (void)pause; |
| | | |
| | | /** |
| | | åæ¢ææ¾ï¼å¹¶å±ç¤ºç¬¬ä¸å¸§ |
| | | */ |
| | | - (void)stop; |
| | | |
| | | /** |
| | | ææ¾éé³å¼å
³ |
| | | @param flag æ¯å¦éé³ |
| | | */ |
| | | - (void)muteEnable:(BOOL)flag; |
| | | |
| | | /** |
| | | èªå®ä¹ææ¾æé® |
| | | |
| | | @param image èªå®ä¹ææ¾æé®å¾çï¼ä¸è®¾ç½®ä¸ºé»è®¤å¾ |
| | | @param size èªå®ä¹ææ¾æé®å¤§å°ï¼ä¸è®¾ç½®ä¸ºé»è®¤å¤§å° 44 * 44 |
| | | */ |
| | | - (void)setPlayButtonImage:(UIImage *)image size:(CGSize)size; |
| | | |
| | | #pragma mark - DEPRECATED |
| | | /** |
| | | æ¯å¦æ¯æå¨WWANä¸èªå¨ææ¾è§é¢ï¼ é»è®¤ NOï¼å·²åºå¼ï¼è¯·ä½¿ç¨ GDTVideoConfig ç±»é
ç½® |
| | | */ |
| | | @property (nonatomic, assign) BOOL videoAutoPlayOnWWAN GDT_DEPRECATED_ATTRIBUTE; |
| | | |
| | | /** |
| | | æ¯å¦é鳿æ¾è§é¢å¹¿åï¼ é»è®¤ YESï¼å·²åºå¼ï¼è¯·ä½¿ç¨ GDTVideoConfig ç±»é
ç½® |
| | | */ |
| | | @property (nonatomic, assign) BOOL videoMuted GDT_DEPRECATED_ATTRIBUTE; |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTMobBannerView.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by chaogao on 13-11-5. |
| | | // Copyright (c) 2013å¹´ Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | /** |
| | | * 广ç¹éæ¨è尺寸,å¼åè
å¨åµå
¥Banneræ¡æ¶ï¼å¯ä»¥æå¨è®¾ç½®Banneræ¡çå®½åº¦ç¨æ¥æ»¡è¶³åºæ¯éæ±ï¼ |
| | | * èé«åº¦çè¯å¹¿ç¹éä¾§ä¸å»ºè®®æ´æ¹ï¼å¦åæ¾ç¤ºææä¼æå½±å |
| | | */ |
| | | #define GDTMOB_AD_SUGGEST_SIZE_320x50 CGSizeMake(320, 50) //For iPhone |
| | | #define GDTMOB_AD_SUGGEST_SIZE_468x60 CGSizeMake(468, 60) //For iPad |
| | | #define GDTMOB_AD_SUGGEST_SIZE_728x90 CGSizeMake(728, 90) //For iPad |
| | | |
| | | @protocol GDTMobBannerViewDelegate <NSObject> |
| | | |
| | | @optional |
| | | |
| | | - (void)bannerViewMemoryWarning; |
| | | |
| | | /** |
| | | * 请æ±å¹¿åæ¡æ°æ®æååè°ç¨ |
| | | * 详解:彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®æååè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)bannerViewDidReceived; |
| | | |
| | | /** |
| | | * 请æ±å¹¿åæ¡æ°æ®å¤±è´¥åè°ç¨ |
| | | * 详解:彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®å¤±è´¥åè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)bannerViewFailToReceived:(NSError *)error; |
| | | |
| | | /** |
| | | * 详解:å½ç¹å»åºç¨ä¸è½½æè
广åè°ç¨ç³»ç»ç¨åºæå¼æ¶è°ç¨ |
| | | */ |
| | | - (void)bannerViewWillLeaveApplication; |
| | | |
| | | /** |
| | | * banneræ¡è¢«ç¨æ·å
³éæ¶è°ç¨ |
| | | * 详解:彿å¼showCloseBtnå¼å
³æ¶ï¼ç¨æ·æå¯è½ç¹å»å
³éæé®ä»èæå¹¿åæ¡å
³é |
| | | */ |
| | | - (void)bannerViewWillClose; |
| | | /** |
| | | * banneræ¡æå
åè° |
| | | */ |
| | | - (void)bannerViewWillExposure; |
| | | /** |
| | | * banneræ¡ç¹å»åè° |
| | | */ |
| | | - (void)bannerViewClicked; |
| | | |
| | | /** |
| | | * banner广åç¹å»ä»¥åå³å°å¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)bannerViewWillPresentFullScreenModal; |
| | | /** |
| | | * banner广åç¹å»ä»¥åå¼¹åºå
¨å±å¹¿å页宿¯ |
| | | */ |
| | | - (void)bannerViewDidPresentFullScreenModal; |
| | | /** |
| | | * å
¨å±å¹¿å页å³å°è¢«å
³é |
| | | */ |
| | | - (void)bannerViewWillDismissFullScreenModal; |
| | | /** |
| | | * å
¨å±å¹¿å页已ç»è¢«å
³é |
| | | */ |
| | | - (void)bannerViewDidDismissFullScreenModal; |
| | | @end |
| | | |
| | | @interface GDTMobBannerView : UIView |
| | | |
| | | |
| | | |
| | | /** |
| | | * ç¶è§å¾ |
| | | * 详解ï¼[å¿
é]é设置为æ¾ç¤ºå¹¿åçUIViewController |
| | | */ |
| | | @property (nonatomic, weak) UIViewController *currentViewController; |
| | | |
| | | /** |
| | | * å§æ [å¯é] |
| | | */ |
| | | @property(nonatomic, weak) id<GDTMobBannerViewDelegate> delegate; |
| | | |
| | | /** |
| | | * 广åå·æ°é´éï¼èå´ [30, 120] ç§ï¼é»è®¤å¼ 30 ç§ã设 0 åä¸å·æ°ã [å¯é] |
| | | */ |
| | | @property(nonatomic, assign) int interval; |
| | | |
| | | /** |
| | | * GPSç²¾å广åå®ä½æ¨¡å¼å¼å
³,é»è®¤Gpså
³é |
| | | * 详解ï¼[å¯é]GPSç²¾åå®ä½æ¨¡å¼å¼å
³ï¼YES为å¼å¯GPSï¼NO为å
³éGPSï¼å»ºè®®è®¾ä¸ºå¼å¯ï¼å¯ä»¥è·åå°çä½ç½®ä¿¡æ¯ï¼æé«å¹¿åçå¡«å
çï¼å¢å æ¶çã |
| | | */ |
| | | @property(nonatomic, assign) BOOL isGpsOn; |
| | | |
| | | /** |
| | | * Bannerå±ç°åè½®ææ¶çå¨ç»ææå¼å
³ï¼é»è®¤æå¼ |
| | | */ |
| | | @property(nonatomic, assign) BOOL isAnimationOn; |
| | | |
| | | /** |
| | | * Banneræ¡å±ç¤ºå
³éæé®ï¼é»è®¤æå¼ |
| | | */ |
| | | @property(nonatomic, assign) BOOL showCloseBtn; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("banner1.0æ¥å£å°äºè¿æä¸çº¿ï¼è¯·å°½å¿«åæ¢å°banner2.0"); |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼frame - banner å±ç¤ºçä½ç½®åå¤§å° |
| | | * appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | */ |
| | | |
| | | - (instancetype)initWithFrame:(CGRect)frame appId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("banner1.0æ¥å£å°äºè¿æä¸çº¿ï¼è¯·å°½å¿«åæ¢å°banner2.0"); |
| | | |
| | | /** |
| | | * æåå¹¶å±ç¤ºå¹¿å |
| | | */ |
| | | - (void)loadAdAndShow; |
| | | |
| | | #pragma mark - DEPRECATED |
| | | - (instancetype)initWithAppkey:(NSString *)appkey placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("banner1.0æ¥å£å°äºè¿æä¸çº¿ï¼è¯·å°½å¿«åæ¢å°banner2.0"); |
| | | - (instancetype)initWithFrame:(CGRect)frame appkey:(NSString *)appkey placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("banner1.0æ¥å£å°äºè¿æä¸çº¿ï¼è¯·å°½å¿«åæ¢å°banner2.0"); |
| | | |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTMobInterstitial.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by GaoChao on 13-12-30. |
| | | // Copyright (c) 2013å¹´ Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | @class GDTMobInterstitial; |
| | | |
| | | @protocol GDTMobInterstitialDelegate <NSObject> |
| | | |
| | | @optional |
| | | |
| | | /** |
| | | * 广åé¢å è½½æååè° |
| | | * 详解:彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®æåä¸é¢å è½½åè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)interstitialSuccessToLoadAd:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * 广åé¢å 载失败åè° |
| | | * 详解:彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®å¤±è´¥åè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)interstitialFailToLoadAd:(GDTMobInterstitial *)interstitial error:(NSError *)error; |
| | | |
| | | /** |
| | | * æå±å¹¿åå°è¦å±ç¤ºåè° |
| | | * 详解: æå±å¹¿åå³å°å±ç¤ºåè°è¯¥å½æ° |
| | | */ |
| | | - (void)interstitialWillPresentScreen:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * æå±å¹¿åè§å¾å±ç¤ºæååè° |
| | | * 详解: æå±å¹¿åå±ç¤ºæååè°è¯¥å½æ° |
| | | */ |
| | | - (void)interstitialDidPresentScreen:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * æå±å¹¿åå±ç¤ºç»æåè° |
| | | * 详解: æå±å¹¿åå±ç¤ºç»æåè°è¯¥å½æ° |
| | | */ |
| | | - (void)interstitialDidDismissScreen:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * 详解:å½ç¹å»åºç¨ä¸è½½æè
广åè°ç¨ç³»ç»ç¨åºæå¼æ¶è°ç¨ |
| | | */ |
| | | - (void)interstitialApplicationWillEnterBackground:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * æå±å¹¿åæå
åè° |
| | | */ |
| | | - (void)interstitialWillExposure:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * æå±å¹¿åç¹å»åè° |
| | | */ |
| | | - (void)interstitialClicked:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * ç¹å»æå±å¹¿å以åå³å°å¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)interstitialAdWillPresentFullScreenModal:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * ç¹å»æå±å¹¿å以åå¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)interstitialAdDidPresentFullScreenModal:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页å°è¦å
³é |
| | | */ |
| | | - (void)interstitialAdWillDismissFullScreenModal:(GDTMobInterstitial *)interstitial; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页被å
³é |
| | | */ |
| | | - (void)interstitialAdDidDismissFullScreenModal:(GDTMobInterstitial *)interstitial; |
| | | |
| | | @end |
| | | |
| | | @interface GDTMobInterstitial : NSObject |
| | | |
| | | /** |
| | | * GPSç²¾å广åå®ä½æ¨¡å¼å¼å
³,é»è®¤Gpså
³é |
| | | * 详解ï¼[å¯é]GPSç²¾åå®ä½æ¨¡å¼å¼å
³ï¼YES为å¼å¯GPSï¼NO为å
³éGPSï¼å»ºè®®è®¾ä¸ºå¼å¯ï¼å¯ä»¥è·åå°çä½ç½®ä¿¡æ¯ï¼æé«å¹¿åçå¡«å
çï¼å¢å æ¶çã |
| | | */ |
| | | @property (nonatomic, assign) BOOL isGpsOn; |
| | | |
| | | /** |
| | | * æå±å¹¿åé¢å è½½æ¯å¦å®æ |
| | | */ |
| | | @property (nonatomic, assign) BOOL isReady; |
| | | |
| | | /** |
| | | * å§æå¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id<GDTMobInterstitialDelegate> delegate; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("æå±1.0æ¥å£å°äºè¿æä¸çº¿ï¼è¯·å°½å¿«åæ¢å°æå±2.0"); |
| | | |
| | | /** |
| | | * 广ååèµ·è¯·æ±æ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·æå广åè¯·æ± |
| | | */ |
| | | - (void)loadAd; |
| | | |
| | | /** |
| | | * 广åå±ç¤ºæ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·å±ç¤ºå¹¿å请æ±, å¿
é¡»ä¼ å
¥ç¨äºæ¾ç¤ºææå¹¿åçUIViewController |
| | | */ |
| | | - (void)presentFromRootViewController:(UIViewController *)rootViewController; |
| | | |
| | | #pragma mark - DEPRECATED |
| | | - (instancetype)initWithAppkey:(NSString *)appkey placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("æå±1.0æ¥å£å°äºè¿æä¸çº¿ï¼è¯·å°½å¿«åæ¢å°æå±2.0"); |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTNativeAd.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by GaoChao on 14/11/6. |
| | | // Copyright (c) 2014å¹´ Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <StoreKit/StoreKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | extern NSString* const GDTNativeAdDataKeyTitle; |
| | | extern NSString* const GDTNativeAdDataKeyDesc; |
| | | extern NSString* const GDTNativeAdDataKeyIconUrl; |
| | | extern NSString* const GDTNativeAdDataKeyImgUrl; |
| | | extern NSString* const GDTNativeAdDataKeyAppRating; |
| | | extern NSString* const GDTNativeAdDataKeyAppPrice; |
| | | extern NSString* const GDTNativeAdDataKeyImgList; |
| | | extern NSString* const GDTNativeAdDataKeyImgWidth; |
| | | extern NSString* const GDTNativeAdDataKeyImgHeight; |
| | | |
| | | @interface GDTNativeAdData : NSObject |
| | | |
| | | /* |
| | | * 广åå
容åå
¸ |
| | | * 详解ï¼[å¿
é]å¼åè
è°ç¨LoadAdæåä¹åä»è¯¥å±æ§ä¸è·åå¹¿åæ°æ® |
| | | * å¹¿åæ°æ®ä»¥åå
¸çå½¢å¼åå¨ï¼å¼åè
ç®åå¯ä»¥éè¿å¦ä¸é®è·åæ°æ® |
| | | * 1. GDTNativeAdDataKeyTitle æ é¢ |
| | | * 2. GDTNativeAdDataKeyDesc æè¿° |
| | | * 3. GDTNativeAdDataKeyIconUrl 徿 Url |
| | | * 4. GDTNativeAdDataKeyImgUrl 大å¾Url |
| | | * 5. GDTNativeAdDataKeyAppRating åºç¨ç±»å¹¿åçæçº§ |
| | | * 6. GDTNativeAdDataKeyAppPrice åºç¨ç±»å¹¿åçä»·æ ¼ |
| | | * 7. GDTNativeAdDataKeyImgList ä¸å°å¾å¹¿åçå¾çéå |
| | | * 8. GDTNativeAdDataKeyImgWidth ç´ æå®½åº¦ |
| | | * 9. GDTNativeAdDataKeyImgHeight ç´ æé«åº¦ |
| | | */ |
| | | @property (nonatomic, retain, readonly) NSDictionary *properties; |
| | | /* |
| | | * å¤æä¸¤ä¸ªåçå¹¿åæ°æ®å¯¹è±¡æ¯å¦ç¸ç |
| | | */ |
| | | - (BOOL)equalsAdData:(GDTNativeAdData *)data; |
| | | /* |
| | | * è·å该åçå¹¿åæ¯å¦ä¸ºåºç¨ç±»å¹¿å |
| | | */ |
| | | - (BOOL)isAppAd; |
| | | /* |
| | | * è·å该åçå¹¿åæ¯å¦ä¸ºä¸å°å¾å¹¿åï¼å½ä¸ºä¸å°å¾å¹¿åæ¶ï¼å¯ä»¥éè¿GDTNativeAdDataKeyImgListè·åä¸å¼ å¾çèµæºä¾æ¸²æ |
| | | */ |
| | | - (BOOL)isThreeImgsAd; |
| | | |
| | | /** |
| | | è¿å广åçeCPMï¼åä½ï¼å |
| | | |
| | | @return æåè¿åä¸ä¸ªå¤§äºçäº0çå¼ï¼-1è¡¨ç¤ºæ æéæåå°åºç°å¼å¸¸ |
| | | */ |
| | | - (NSInteger)eCPM; |
| | | |
| | | /** |
| | | è¿å广åçeCPMç级 |
| | | |
| | | @return æåè¿åä¸ä¸ªå
嫿°åçstringï¼@""ænilè¡¨ç¤ºæ æéæåå°å¼å¸¸ |
| | | */ |
| | | - (NSString *)eCPMLevel; |
| | | |
| | | @end |
| | | |
| | | @class GDTNativeAd; |
| | | |
| | | @protocol GDTNativeAdDelegate <NSObject> |
| | | |
| | | /** |
| | | * åç广åå è½½å¹¿åæ°æ®æååè°ï¼è¿å为GDTNativeAdDataå¯¹è±¡çæ°ç» |
| | | */ |
| | | - (void)nativeAdSuccessToLoad:(NSArray *)nativeAdDataArray; |
| | | |
| | | /** |
| | | * åç广åå è½½å¹¿åæ°æ®å¤±è´¥åè° |
| | | */ |
| | | - (void)nativeAdFailToLoad:(NSError *)error; |
| | | |
| | | @optional |
| | | /** |
| | | * åç广åç¹å»ä¹åå°è¦å±ç¤ºå
嵿µè§å¨æåºç¨å
AppStoreåè° |
| | | */ |
| | | - (void)nativeAdWillPresentScreen; |
| | | |
| | | /** |
| | | * åç广åç¹å»ä¹ååºç¨è¿å
¥åå°æ¶åè° |
| | | */ |
| | | - (void)nativeAdApplicationWillEnterBackground; |
| | | |
| | | /** |
| | | * åç广åç¹å»ä»¥åï¼å
ç½®AppStoreææ¯å
ç½®æµè§å¨è¢«å
³éæ¶åè° |
| | | */ |
| | | - (void)nativeAdClosed; |
| | | |
| | | @end |
| | | |
| | | @interface GDTNativeAd : NSObject<SKStoreProductViewControllerDelegate> |
| | | |
| | | /* |
| | | * viewControllerForPresentingModalView |
| | | * 详解ï¼[å¿
é]å¼åè
éä¼ å
¥ç¨æ¥å¼¹åºç®æ 页çViewControllerï¼ä¸è¬ä¸ºå½åViewController |
| | | */ |
| | | @property (nonatomic, weak) UIViewController *controller; |
| | | |
| | | /** |
| | | * å§æå¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id<GDTNativeAdDelegate> delegate; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("å³å°åºå¼ 请使ç¨èªæ¸²æ 2.0"); |
| | | |
| | | /** |
| | | * 广ååèµ·è¯·æ±æ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·æå广å请æ±,å¨è·å¾å¹¿åæ°æ®ååè°delegate |
| | | * @param adCount 䏿¬¡æå广åçä¸ªæ° |
| | | */ |
| | | - (void)loadAd:(int)adCount; |
| | | |
| | | /** |
| | | * å¹¿åæ°æ®æ¸²æå®æ¯å³å°å±ç¤ºæ¶è°ç¨æ¹æ³ |
| | | * 详解ï¼[å¿
é]å¹¿åæ°æ®æ¸²æå®æ¯ï¼å³å°å±ç¤ºæ¶éè°ç¨æ¬æ¹æ³ã |
| | | * @param nativeAdData å¹¿åæ¸²æçæ°æ®å¯¹è±¡ |
| | | * @param view 渲æåºç广åç»æé¡µé¢ |
| | | */ |
| | | - (void)attachAd:(GDTNativeAdData *)nativeAdData toView:(UIView *)view; |
| | | |
| | | /** |
| | | * 广åç¹å»è°ç¨æ¹æ³ |
| | | * 详解ï¼å½ç¨æ·ç¹å»å¹¿åæ¶ï¼å¼åè
éè°ç¨æ¬æ¹æ³ï¼ç³»ç»ä¼å¼¹åºå
嵿µè§å¨ãæå
ç½®AppStoreã |
| | | * ææå¼ç³»ç»Safariï¼æ¥å±ç°å¹¿åç®æ é¡µé¢ |
| | | * @param nativeAdData ç¨æ·ç¹å»çå¹¿åæ°æ®å¯¹è±¡ |
| | | */ |
| | | - (void)clickAd:(GDTNativeAdData *)nativeAdData; |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTNativeExpressAd.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by michaelxing on 2017/4/17. |
| | | // Copyright © 2017年 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | @class GDTNativeExpressAdView; |
| | | @class GDTNativeExpressAd; |
| | | |
| | | @protocol GDTNativeExpressAdDelegete <NSObject> |
| | | |
| | | @optional |
| | | /** |
| | | * æååçæ¨¡æ¿å¹¿åæå |
| | | */ |
| | | - (void)nativeExpressAdSuccessToLoad:(GDTNativeExpressAd *)nativeExpressAd views:(NSArray<__kindof GDTNativeExpressAdView *> *)views; |
| | | |
| | | /** |
| | | * æååçæ¨¡æ¿å¹¿å失败 |
| | | */ |
| | | - (void)nativeExpressAdFailToLoad:(GDTNativeExpressAd *)nativeExpressAd error:(NSError *)error; |
| | | |
| | | /** |
| | | * åçæ¨¡æ¿å¹¿å渲ææå, æ¤æ¶ç nativeExpressAdView.size.height æ ¹æ® size.width 宿äºå¨ææ´æ°ã |
| | | */ |
| | | - (void)nativeExpressAdViewRenderSuccess:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçæ¨¡æ¿å¹¿å渲æå¤±è´¥ |
| | | */ |
| | | - (void)nativeExpressAdViewRenderFail:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçæ¨¡æ¿å¹¿åæå
åè° |
| | | */ |
| | | - (void)nativeExpressAdViewExposure:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçæ¨¡æ¿å¹¿åç¹å»åè° |
| | | */ |
| | | - (void)nativeExpressAdViewClicked:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçæ¨¡æ¿å¹¿å被å
³é |
| | | */ |
| | | - (void)nativeExpressAdViewClosed:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * ç¹å»åçæ¨¡æ¿å¹¿å以åå³å°å¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)nativeExpressAdViewWillPresentScreen:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * ç¹å»åçæ¨¡æ¿å¹¿å以åå¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)nativeExpressAdViewDidPresentScreen:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页å°è¦å
³é |
| | | */ |
| | | - (void)nativeExpressAdViewWillDissmissScreen:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页å°è¦å
³é |
| | | */ |
| | | - (void)nativeExpressAdViewDidDissmissScreen:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * 详解:å½ç¹å»åºç¨ä¸è½½æè
广åè°ç¨ç³»ç»ç¨åºæå¼æ¶è°ç¨ |
| | | */ |
| | | - (void)nativeExpressAdViewApplicationWillEnterBackground:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçæ¨¡æ¿è§é¢å¹¿å player ææ¾ç¶ææ´æ°åè° |
| | | */ |
| | | - (void)nativeExpressAdView:(GDTNativeExpressAdView *)nativeExpressAdView playerStatusChanged:(GDTMediaPlayerStatus)status; |
| | | |
| | | /** |
| | | * åçè§é¢æ¨¡æ¿è¯¦æ
页 WillPresent åè° |
| | | */ |
| | | - (void)nativeExpressAdViewWillPresentVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçè§é¢æ¨¡æ¿è¯¦æ
页 DidPresent åè° |
| | | */ |
| | | - (void)nativeExpressAdViewDidPresentVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçè§é¢æ¨¡æ¿è¯¦æ
页 WillDismiss åè° |
| | | */ |
| | | - (void)nativeExpressAdViewWillDismissVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | /** |
| | | * åçè§é¢æ¨¡æ¿è¯¦æ
页 DidDismiss åè° |
| | | */ |
| | | - (void)nativeExpressAdViewDidDismissVideoVC:(GDTNativeExpressAdView *)nativeExpressAdView; |
| | | |
| | | @end |
| | | |
| | | @interface GDTNativeExpressAd : NSObject |
| | | |
| | | /** |
| | | * å§æå¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id<GDTNativeExpressAdDelegete> delegate; |
| | | |
| | | |
| | | /** |
| | | * é WiFi ç½ç»ï¼æ¯å¦èªå¨ææ¾ãé»è®¤ NOãloadAd å设置ã |
| | | */ |
| | | |
| | | @property (nonatomic, assign) BOOL videoAutoPlayOnWWAN; |
| | | |
| | | /** |
| | | * èªå¨ææ¾æ¶ï¼æ¯å¦éé³ãé»è®¤ YESãloadAd å设置ã |
| | | */ |
| | | @property (nonatomic, assign) BOOL videoMuted; |
| | | |
| | | /** |
| | | * è§é¢è¯¦æ
é¡µææ¾æ¶æ¯å¦éé³ãé»è®¤NOãloadAd å设置ã |
| | | */ |
| | | @property (nonatomic, assign) BOOL detailPageVideoMuted; |
| | | |
| | | /** |
| | | 请æ±è§é¢çæ¶é¿ä¸éï¼è§é¢æ¶é¿ææå¼èå´ä¸º[5,60]ã |
| | | 以ä¸ä¸¤ç§æ
åµä¼ä½¿ç¨ç³»ç»é»è®¤çæå°å¼è®¾ç½®ï¼1:ä¸è®¾ç½® 2:minVideoDuration大äºmaxVideoDuration |
| | | */ |
| | | @property (nonatomic) NSInteger minVideoDuration; |
| | | |
| | | /** |
| | | 请æ±è§é¢çæ¶é¿ä¸éï¼è§é¢æ¶é¿ææå¼èå´ä¸º[5,60]ã |
| | | */ |
| | | @property (nonatomic) NSInteger maxVideoDuration; |
| | | |
| | | @property (nonatomic, readonly) NSString *placementId; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼placementId - 广åä½ ID |
| | | * adSize - 广åå±ç¤ºçå®½é« |
| | | */ |
| | | |
| | | - (instancetype)initWithPlacementId:(NSString *)placementId adSize:(CGSize)size; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | * adSize - 广åå±ç¤ºçå®½é« |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId adSize:(CGSize)size GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·ä½¿ç¨ initWithPlacementId:adSize:"); |
| | | |
| | | |
| | | |
| | | - (void)loadAd:(NSInteger)count; |
| | | |
| | | /** |
| | | è¿å广åå¹³å°åç§° |
| | | |
| | | @return å½ä½¿ç¨æµéåé
åè½æ¶ï¼ç¨äºåºå广åå¹³å°ï¼æªä½¿ç¨æ¶ä¸ºç©ºå符串 |
| | | */ |
| | | - (NSString *)adNetworkName; |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTNativeExpressAdView.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by michaelxing on 2017/4/14. |
| | | // Copyright © 2017年 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | |
| | | |
| | | @interface GDTNativeExpressAdView : UIView |
| | | |
| | | /** |
| | | * æ¯å¦æ¸²æå®æ¯ |
| | | */ |
| | | @property (nonatomic, assign, readonly) BOOL isReady; |
| | | |
| | | /** |
| | | * æ¯å¦æ¯è§é¢æ¨¡æ¿å¹¿å |
| | | */ |
| | | @property (nonatomic, assign, readonly) BOOL isVideoAd; |
| | | |
| | | /* |
| | | * viewControllerForPresentingModalView |
| | | * 详解ï¼[å¿
é]å¼åè
éä¼ å
¥ç¨æ¥å¼¹åºç®æ 页çViewControllerï¼ä¸è¬ä¸ºå½åViewController |
| | | */ |
| | | @property (nonatomic, weak) UIViewController *controller; |
| | | |
| | | /** |
| | | *[å¿
é] |
| | | *åçæ¨¡æ¿å¹¿å渲æ |
| | | */ |
| | | - (void)render; |
| | | |
| | | /** |
| | | * è§é¢æ¨¡æ¿å¹¿åæ¶é¿ï¼åä½ ms |
| | | */ |
| | | - (CGFloat)videoDuration; |
| | | |
| | | /** |
| | | * è§é¢æ¨¡æ¿å¹¿åå·²ææ¾æ¶é¿ï¼åä½ ms |
| | | */ |
| | | - (CGFloat)videoPlayTime; |
| | | |
| | | /** |
| | | è¿å广åçeCPMï¼åä½ï¼å |
| | | |
| | | @return æåè¿åä¸ä¸ªå¤§äºçäº0çå¼ï¼-1è¡¨ç¤ºæ æéæåå°åºç°å¼å¸¸ |
| | | */ |
| | | - (NSInteger)eCPM; |
| | | |
| | | /** |
| | | è¿å广åçeCPMç级 |
| | | |
| | | @return æåè¿åä¸ä¸ªå
嫿°åçstringï¼@""ænilè¡¨ç¤ºæ æéæåå°å¼å¸¸ |
| | | */ |
| | | - (NSString *)eCPMLevel; |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTRewardVideoAd.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by royqpwang on 2018/9/1. |
| | | // Copyright © 2018年 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | |
| | | @protocol GDTRewardedVideoAdDelegate; |
| | | |
| | | @interface GDTRewardVideoAd : NSObject |
| | | |
| | | @property (nonatomic, getter=isAdValid, readonly) BOOL adValid; |
| | | @property (nonatomic) BOOL videoMuted; |
| | | @property (nonatomic, assign, readonly) NSInteger expiredTimestamp; |
| | | @property (nonatomic, weak) id <GDTRewardedVideoAdDelegate> delegate; |
| | | @property (nonatomic, readonly) NSString *placementId; |
| | | |
| | | /** |
| | | æé æ¹æ³ |
| | | |
| | | @param placementId - 广åä½ ID |
| | | @return GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (instancetype)initWithPlacementId:(NSString *)placementId; |
| | | |
| | | |
| | | /** |
| | | æé æ¹æ³ |
| | | |
| | | @param appId - åªä½ ID |
| | | @param placementId - 广åä½ ID |
| | | @return GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·ä½¿ç¨ initWithPlacementId:"); |
| | | |
| | | /** |
| | | å è½½å¹¿åæ¹æ³ æ¯æ iOS8.1 å以ä¸ç³»ç» |
| | | */ |
| | | - (void)loadAd; |
| | | /** |
| | | å±ç¤ºå¹¿åæ¹æ³ |
| | | |
| | | @param rootViewController ç¨äº present æ¿å±è§é¢ VC |
| | | @return æ¯å¦å±ç¤ºæå |
| | | */ |
| | | - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController; |
| | | |
| | | |
| | | /** |
| | | è¿å广åçeCPMï¼åä½ï¼å |
| | | |
| | | @return æåè¿åä¸ä¸ªå¤§äºçäº0çå¼ï¼-1è¡¨ç¤ºæ æéæåå°åºç°å¼å¸¸ |
| | | */ |
| | | - (NSInteger)eCPM; |
| | | |
| | | /** |
| | | è¿å广åçeCPMç级 |
| | | |
| | | @return æåè¿åä¸ä¸ªå
嫿°åçstringï¼@""ænilè¡¨ç¤ºæ æéæåå°å¼å¸¸ |
| | | */ |
| | | - (NSString *)eCPMLevel; |
| | | |
| | | |
| | | /** |
| | | è¿å广åå¹³å°åç§° |
| | | |
| | | @return å½ä½¿ç¨æ¿å±è§é¢èååè½æ¶ï¼ç¨äºåºå广åå¹³å° |
| | | */ |
| | | - (NSString *)adNetworkName; |
| | | |
| | | @end |
| | | |
| | | |
| | | @protocol GDTRewardedVideoAdDelegate <NSObject> |
| | | |
| | | @optional |
| | | |
| | | |
| | | /** |
| | | å¹¿åæ°æ®å è½½æååè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdDidLoad:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢æ°æ®ä¸è½½æååè°ï¼å·²ç»ä¸è½½è¿çè§é¢ä¼ç´æ¥åè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdVideoDidLoad:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢ææ¾é¡µå³å°å±ç¤ºåè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdWillVisible:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢å¹¿åæå
åè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdDidExposed:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢ææ¾é¡µå
³éåè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdDidClose:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢å¹¿åä¿¡æ¯ç¹å»åè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdDidClicked:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢å¹¿ååç§é误信æ¯åè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | @param error å
·ä½éè¯¯ä¿¡æ¯ |
| | | */ |
| | | - (void)gdt_rewardVideoAd:(GDTRewardVideoAd *)rewardedVideoAd didFailWithError:(NSError *)error; |
| | | |
| | | /** |
| | | è§é¢å¹¿åææ¾è¾¾å°æ¿å±æ¡ä»¶åè° |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdDidRewardEffective:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | /** |
| | | è§é¢å¹¿åè§é¢ææ¾å®æ |
| | | |
| | | @param rewardedVideoAd GDTRewardVideoAd å®ä¾ |
| | | */ |
| | | - (void)gdt_rewardVideoAdDidPlayFinish:(GDTRewardVideoAd *)rewardedVideoAd; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |
New file |
| | |
| | | // |
| | | // GDTRewardVideoAdNetworkAdapterProtocol.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by royqpwang on 2019/6/19. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import "GDTBaseAdNetworkAdapterProtocol.h" |
| | | |
| | | @protocol GDTRewardVideoAdNetworkConnectorProtocol; |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @protocol GDTRewardVideoAdNetworkAdapterProtocol <GDTBaseAdNetworkAdapterProtocol> |
| | | |
| | | - (void)loadAd; |
| | | |
| | | - (BOOL)showAdFromRootViewController:(UIViewController *)viewController; |
| | | |
| | | - (BOOL)isAdValid; |
| | | |
| | | - (NSInteger)expiredTimestamp; |
| | | |
| | | @optional |
| | | @property (nonatomic) BOOL videoMuted; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |
New file |
| | |
| | | // |
| | | // GDTRewardVideoAdNetworkConnectorProtocol.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by royqpwang on 2019/6/19. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | |
| | | @protocol GDTRewardVideoAdNetworkAdapterProtocol; |
| | | |
| | | |
| | | @protocol GDTRewardVideoAdNetworkConnectorProtocol <NSObject> |
| | | |
| | | - (void)adapter_rewardVideoAdDidLoad:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | /** |
| | | è§é¢æ°æ®ä¸è½½æååè°ï¼å·²ç»ä¸è½½è¿çè§é¢ä¼ç´æ¥åè° |
| | | |
| | | @param adapter å®ä¾ |
| | | */ |
| | | - (void)adapter_rewardVideoAdVideoDidLoad:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | /** |
| | | è§é¢ææ¾é¡µå³å°å±ç¤ºåè° |
| | | |
| | | @param adapter å®ä¾ |
| | | */ |
| | | - (void)adapter_rewardVideoAdWillVisible:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | /** |
| | | è§é¢å¹¿åæå
åè° |
| | | |
| | | @param adapter å®ä¾ |
| | | */ |
| | | - (void)adapter_rewardVideoAdDidExposed:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | /** |
| | | è§é¢ææ¾é¡µå
³éåè° |
| | | |
| | | @param adapter å®ä¾ |
| | | */ |
| | | - (void)adapter_rewardVideoAdDidClose:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | /** |
| | | è§é¢å¹¿åä¿¡æ¯ç¹å»åè° |
| | | |
| | | @param adapter å®ä¾ |
| | | */ |
| | | - (void)adapter_rewardVideoAdDidClicked:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | /** |
| | | è§é¢å¹¿ååç§é误信æ¯åè° |
| | | |
| | | @param adapter å®ä¾ |
| | | @param error å
·ä½éè¯¯ä¿¡æ¯ |
| | | */ |
| | | - (void)adapter_rewardVideoAd:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter didFailWithError:(NSError *)error; |
| | | |
| | | /** |
| | | è§é¢å¹¿åææ¾è¾¾å°æ¿å±æ¡ä»¶åè° |
| | | |
| | | @param adapter å®ä¾ |
| | | */ |
| | | - (void)adapter_rewardVideoAdDidRewardEffective:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | |
| | | - (void)adapter_rewardVideoAdDidPlayFinish:(id<GDTRewardVideoAdNetworkAdapterProtocol>)adapter; |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTSDKConfig.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by GaoChao on 14/8/25. |
| | | // Copyright (c) 2014å¹´ Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | @interface GDTSDKConfig : NSObject |
| | | |
| | | /** |
| | | SDK æ³¨åæ¥å£ï¼è¯·å¨ app åå§åæ¶è°ç¨ã |
| | | @param appId - åªä½ID |
| | | |
| | | @return æ³¨åæ¯å¦æåã |
| | | */ |
| | | + (BOOL)registerAppId:(NSString *)appId; |
| | | |
| | | /** |
| | | * æä¾ç»èåå¹³å°ç¨æ¥è®¾å®SDK æµéåç±» |
| | | */ |
| | | + (void)setSdkSrc:(NSString *)sdkSrc; |
| | | |
| | | /** |
| | | * æ¥çSDKæµéæ¥æº |
| | | */ |
| | | + (NSString *)sdkSrc; |
| | | |
| | | /** |
| | | * è·å SDK çæ¬ |
| | | */ |
| | | |
| | | + (NSString *)sdkVersion; |
| | | |
| | | + (void)enableGPS:(BOOL)enabled; |
| | | |
| | | /** |
| | | * 设置æµéæ¸ éå· |
| | | æ¸ éå·ä¿¡æ¯ä¸»è¦ç¨æ¥åå©å¹³å°æåæµéåç°ææåæ¨çæ¶çï¼è¯·å¦å®å¡«åï¼è¥æ¸ éå·æ æ³æ»¡è¶³æ¨çè¯æ±è¯·è系平å°è´è´£åå¡ |
| | | |
| | | æ¸ éå·æ å°å
³ç³»ä¸ºï¼ |
| | | 1ï¼ç¾åº¦ |
| | | 2ï¼å¤´æ¡ |
| | | 3ï¼å¹¿ç¹é |
| | | 4ï¼æç |
| | | 5ï¼å
¶ä»ç½ç |
| | | 6ï¼oppo |
| | | 7ï¼vivo |
| | | 8ï¼å为 |
| | | 9ï¼åºç¨å® |
| | | 10ï¼å°ç±³ |
| | | 11ï¼éç« |
| | | 12ï¼ç¾åº¦ææºå©æ |
| | | 13ï¼é
æ |
| | | 14ï¼AppStore |
| | | 999ï¼å
¶ä» |
| | | */ |
| | | + (void)setChannel:(NSInteger)channel; |
| | | |
| | | + (void)setSDKType:(NSInteger)type; |
| | | |
| | | /** |
| | | 卿æ¾é³é¢æ¶æ¯å¦ä½¿ç¨SDKå
é¨å¯¹AVAudioSession设置çcategoryåoptionsï¼é»è®¤ä½¿ç¨ï¼è¥ä¸ä½¿ç¨ï¼SDKå
é¨ä¸åä»»ä½å¤çï¼ç±è°ç¨æ¹å¨å±ç¤ºå¹¿åæ¶èªè¡è®¾ç½®ï¼ |
| | | SDK设置çcategory为AVAudioSessionCategoryAmbientï¼options为AVAudioSessionCategoryOptionDuckOthers |
| | | */ |
| | | + (void)enableDefaultAudioSessionSetting:(BOOL)enabled; |
| | | |
| | | @end |
| | | |
New file |
| | |
| | | // |
| | | // GDTSDKDefines.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by royqpwang on 2017/11/6. |
| | | // Copyright © 2017年 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | |
| | | #if defined(__has_attribute) |
| | | #if __has_attribute(deprecated) |
| | | #define GDT_DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s))) |
| | | #define GDT_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) |
| | | #else |
| | | #define GDT_DEPRECATED_MSG_ATTRIBUTE(s) |
| | | #define GDT_DEPRECATED_ATTRIBUTE |
| | | #endif |
| | | #else |
| | | #define GDT_DEPRECATED_MSG_ATTRIBUTE(s) |
| | | #define GDT_DEPRECATED_ATTRIBUTE |
| | | #endif |
| | | |
| | | #define GDTScreenHeight ([UIScreen mainScreen].bounds.size.height) |
| | | #define GDTScreenWidth ([UIScreen mainScreen].bounds.size.width) |
| | | #define GDTTangramSchemePrefix @"gdtmsg://e.qq.com/" |
| | | /** |
| | | * è§é¢ææ¾å¨ç¶æ |
| | | * |
| | | * ææ¾å¨åªå¯è½å¤äºä»¥ä¸ç¶æä¸çä¸ç§ |
| | | * |
| | | */ |
| | | typedef NS_ENUM(NSUInteger, GDTMediaPlayerStatus) { |
| | | GDTMediaPlayerStatusInitial = 0, // åå§ç¶æ |
| | | GDTMediaPlayerStatusLoading = 1, // å è½½ä¸ |
| | | GDTMediaPlayerStatusStarted = 2, // å¼å§ææ¾ |
| | | GDTMediaPlayerStatusPaused = 3, // ç¨æ·è¡ä¸ºå¯¼è´æå |
| | | GDTMediaPlayerStatusStoped = 4, // ææ¾åæ¢ |
| | | GDTMediaPlayerStatusError = 5, // ææ¾åºé |
| | | }; |
| | | |
| | | typedef enum GDTSDKLoginType { |
| | | GDTSDKLoginTypeUnknow = 0, |
| | | GDTSDKLoginTypeWeiXin = 1, //å¾®ä¿¡è´¦å· |
| | | GDTSDKLoginTypeQQ = 2, //QQè´¦å· |
| | | } GDTSDKLoginType; |
| | | |
| | | typedef NS_ENUM(NSUInteger, GDTVideoPlayPolicy) { |
| | | GDTVideoPlayPolicyUnknow = 0, // é»è®¤å¼ï¼æªè®¾ç½® |
| | | GDTVideoPlayPolicyAuto = 1, // ç¨æ·è§åº¦çèµ·æ¥æ¯èªå¨ææ¾ |
| | | GDTVideoPlayPolicyManual = 2 // ç¨æ·è§åº¦çèµ·æ¥æ¯æå¨ææ¾æç¹å»åææ¾ |
| | | }; |
| | | |
| | | typedef NS_ENUM(NSUInteger, GDTVideoRenderType) { |
| | | GDTVideoRenderTypeUnknow = 0, |
| | | GDTVideoRenderTypeSDK = 1, |
| | | GDTVideoRenderTypeDeveloper = 2 |
| | | }; |
| | | |
| | | static inline BOOL isIPhoneXSeries() { |
| | | if (@available(iOS 11.0, *)) { |
| | | UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window]; |
| | | if (mainWindow.safeAreaInsets.bottom > 0.0) { |
| | | return YES; |
| | | } |
| | | } |
| | | return NO; |
| | | } |
| | | |
| | | |
New file |
| | |
| | | // |
| | | // GDTSplashAd.h |
| | | // GDTMobApp |
| | | // |
| | | // 广ç¹éå¼å±å¹¿åï¼ç®ååªæ¯æiPhone设å¤ä¸å±ç¤ºåç´æ¹åçå¼å±å¹¿å |
| | | // Created by GaoChao on 15/8/20. |
| | | // Copyright © 2015年 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | @class GDTSplashAd; |
| | | |
| | | @protocol GDTSplashAdDelegate <NSObject> |
| | | |
| | | @optional |
| | | /** |
| | | * å¼å±å¹¿åæåå±ç¤º |
| | | */ |
| | | - (void)splashAdSuccessPresentScreen:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åç´ æå è½½æå |
| | | */ |
| | | - (void)splashAdDidLoad:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åå±ç¤ºå¤±è´¥ |
| | | */ |
| | | - (void)splashAdFailToPresent:(GDTSplashAd *)splashAd withError:(NSError *)error; |
| | | |
| | | /** |
| | | * åºç¨è¿å
¥åå°æ¶åè° |
| | | * 详解: å½ç¹å»ä¸è½½åºç¨æ¶ä¼è°ç¨ç³»ç»ç¨åºæå¼ï¼åºç¨åæ¢å°åå° |
| | | */ |
| | | - (void)splashAdApplicationWillEnterBackground:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åæå
åè° |
| | | */ |
| | | - (void)splashAdExposured:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åç¹å»åè° |
| | | */ |
| | | - (void)splashAdClicked:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åå°è¦å
³éåè° |
| | | */ |
| | | - (void)splashAdWillClosed:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åå
³éåè° |
| | | */ |
| | | - (void)splashAdClosed:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åç¹å»ä»¥åå³å°å¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)splashAdWillPresentFullScreenModal:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åç¹å»ä»¥åå¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)splashAdDidPresentFullScreenModal:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * ç¹å»ä»¥åå
¨å±å¹¿å页å°è¦å
³é |
| | | */ |
| | | - (void)splashAdWillDismissFullScreenModal:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * ç¹å»ä»¥åå
¨å±å¹¿å页已ç»å
³é |
| | | */ |
| | | - (void)splashAdDidDismissFullScreenModal:(GDTSplashAd *)splashAd; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åå©ä½æ¶é´åè° |
| | | */ |
| | | - (void)splashAdLifeTime:(NSUInteger)time; |
| | | |
| | | @end |
| | | |
| | | @interface GDTSplashAd : NSObject |
| | | |
| | | /** |
| | | * å§æå¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id<GDTSplashAdDelegate> delegate; |
| | | |
| | | /** |
| | | * æå广åè¶
æ¶æ¶é´ï¼é»è®¤ä¸º3ç§ |
| | | * è¯¦è§£ï¼æå广åè¶
æ¶æ¶é´ï¼å¼åè
è°ç¨loadAdæ¹æ³ä»¥åä¼ç«å³å±ç¤ºbackgroundImageï¼ç¶åå¨è¯¥è¶
æ¶æ¶é´å
ï¼å¦æå¹¿åæ |
| | | * åæåï¼åç«é©¬å±ç¤ºå¼å±å¹¿åï¼å¦åæ¾å¼æ¤æ¬¡å¹¿åå±ç¤ºæºä¼ã |
| | | */ |
| | | @property (nonatomic, assign) CGFloat fetchDelay; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åçèæ¯å¾ç |
| | | * å¯ä»¥è®¾ç½®èæ¯å¾çä½ä¸ºå¼å±å è½½æ¶çé»è®¤èæ¯ |
| | | */ |
| | | @property (nonatomic, strong) UIImage *backgroundImage; |
| | | |
| | | /** |
| | | * å¼å±å¹¿åçèæ¯è² |
| | | * å¯ä»¥è®¾ç½®å¼å±å¾çæ¥ä½ä¸ºå¼å±å è½½æ¶çé»è®¤å¾ç |
| | | */ |
| | | @property (nonatomic, copy) UIColor *backgroundColor; |
| | | |
| | | /** |
| | | * è·³è¿æé®çä½ç½® |
| | | */ |
| | | @property (nonatomic, assign) CGPoint skipButtonCenter; |
| | | |
| | | /** |
| | | è¿å广åå¹³å°åç§° |
| | | |
| | | @return å½ä½¿ç¨æµéåé
åè½æ¶ï¼ç¨äºåºå广åå¹³å°ï¼æªä½¿ç¨æ¶ä¸ºç©ºå符串 |
| | | */ |
| | | - (NSString *)adNetworkName; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithPlacementId:(NSString *)placementId; |
| | | |
| | | /** |
| | | é¢å è½½éªå±å¹¿åæ¥å£ |
| | | |
| | | @param placementId 广åä½ID |
| | | */ |
| | | + (void)preloadSplashOrderWithPlacementId:(NSString *)placementId; |
| | | |
| | | #pragma mark - Parallel method |
| | | |
| | | /** |
| | | * è¿åå¹¿åæ¯å¦å¯å±ç¤º |
| | | * 对äºå¹¶è¡è¯·æ±ï¼å¨è°ç¨showAdInWindowåæ¶éå¤æä¸ |
| | | * @return å½å¹¿åå·²ç»å è½½å®æä¸æªæå
æ¶ï¼ä¸ºYESï¼å¦å为NO |
| | | */ |
| | | - (BOOL)isAdValid; |
| | | |
| | | /** |
| | | * åèµ·æå广å请æ±ï¼åªæåä¸å±ç¤º |
| | | * 详解ï¼å¹¿åç´ æå广åå¾çæåæååä¼åè°splashAdDidLoadæ¹æ³ï¼å½æå失败æ¶ä¼åè°splashAdFailToPresentæ¹æ³ |
| | | */ |
| | | - (void)loadAd; |
| | | |
| | | /** |
| | | * å±ç¤ºå¹¿åï¼è°ç¨æ¤æ¹æ³åéè°ç¨isAdValidæ¹æ³å¤æå¹¿åç´ ææ¯å¦ææ |
| | | * 详解ï¼å¹¿åå±ç¤ºæåæ¶ä¼åè°splashAdSuccessPresentScreenæ¹æ³ï¼å±ç¤ºå¤±è´¥æ¶ä¼åè°splashAdFailToPresentæ¹æ³ |
| | | */ |
| | | - (void)showAdInWindow:(UIWindow *)window withBottomView:(UIView *)bottomView skipView:(UIView *)skipView; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·ä½¿ç¨ initWithPlacementId:"); |
| | | |
| | | /** |
| | | * 广åå起请æ±å¹¶å±ç¤ºå¨Windowä¸ |
| | | * 详解ï¼[å¯é]åèµ·æå广å请æ±,å¹¶å°è·åç广å以å
¨å±å½¢å¼å±ç¤ºå¨ä¼ å
¥çWindowåæ°ä¸ |
| | | * æç¤º: Splash广ååªæ¯æç«å± |
| | | * @param window å±ç¤ºå
¨å±å¼å±çå®¹å¨ |
| | | */ |
| | | - (void)loadAdAndShowInWindow:(UIWindow *)window GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·åå«ä½¿ç¨loadAd å showAdInWindow:æ¥å£"); |
| | | |
| | | /** |
| | | * 广åå起请æ±å¹¶å±ç¤ºå¨Windowä¸, åæ¶å¨å±å¹åºé¨è®¾ç½®åºç¨èªèº«çLogo页颿æ¯èªå®ä¹View |
| | | * 详解ï¼[å¯é]åèµ·æå广å请æ±,å¹¶å°è·åç广å以åå±å½¢å¼å±ç¤ºå¨ä¼ å
¥çWindowçä¸åé¨ï¼å©ä½é¨åå±ç¤ºä¼ å
¥çbottomView |
| | | * 请注æ1.bottomViewé设置好宽é«ï¼æå ç空é´ä¸è½è¿å¤§ï¼å¹¶ä¿è¯é«åº¦ä¸è¶
è¿å±å¹é«åº¦ç 25%ã2.Splash广ååªæ¯æç«å± |
| | | * @param window å±ç¤ºå¼å±çå®¹å¨ |
| | | * bottomView èªå®ä¹åºé¨Viewï¼å¯ä»¥å¨æ¤Viewä¸è®¾ç½®åºç¨Logo |
| | | */ |
| | | - (void)loadAdAndShowInWindow:(UIWindow *)window withBottomView:(UIView *)bottomView GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·åå«ä½¿ç¨loadAd å showAdInWindow:æ¥å£"); |
| | | |
| | | /** |
| | | * 广åå起请æ±å¹¶å±ç¤ºå¨Windowä¸, åæ¶å¨å±å¹åºé¨è®¾ç½®åºç¨èªèº«çLogo页颿æ¯èªå®ä¹View,skipViewæ¯èªå®ä¹çâè·³è¿âæ ·å¼ |
| | | * 详解ï¼[å¯é]åèµ·æå广å请æ±,å¹¶å°è·åç广å以åå±å½¢å¼å±ç¤ºå¨ä¼ å
¥çWindowçä¸åé¨ï¼å©ä½é¨åå±ç¤ºä¼ å
¥çbottomView |
| | | * 请注æ1.bottomViewé设置好宽é«ï¼æå ç空é´ä¸è½è¿å¤§ï¼å¹¶ä¿è¯é«åº¦ä¸è¶
è¿å±å¹é«åº¦ç 25%ã2.Splash广ååªæ¯æç«å± |
| | | * skipView |
| | | * @param window å±ç¤ºå¼å±çå®¹å¨ |
| | | * bottomView èªå®ä¹åºé¨Viewï¼å¯ä»¥å¨æ¤Viewä¸è®¾ç½®åºç¨Logo |
| | | skipView èªå®ä¹âè·³è¿âView. |
| | | */ |
| | | - (void)loadAdAndShowInWindow:(UIWindow *)window withBottomView:(UIView *)bottomView skipView:(UIView *)skipView GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·åå«ä½¿ç¨loadAd å showAdInWindow:æ¥å£"); |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTUnifiedBannerView.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by nimomeng on 2019/3/1. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @class GDTUnifiedBannerView; |
| | | |
| | | @protocol GDTUnifiedBannerViewDelegate <NSObject> |
| | | @optional |
| | | /** |
| | | * 请æ±å¹¿åæ¡æ°æ®æååè°ç¨ |
| | | * 彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®æååè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedBannerViewDidLoad:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * 请æ±å¹¿åæ¡æ°æ®å¤±è´¥åè°ç¨ |
| | | * 彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®å¤±è´¥åè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedBannerViewFailedToLoad:(GDTUnifiedBannerView *)unifiedBannerView error:(NSError *)error; |
| | | |
| | | /** |
| | | * banner2.0æå
åè° |
| | | */ |
| | | - (void)unifiedBannerViewWillExpose:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * banner2.0ç¹å»åè° |
| | | */ |
| | | - (void)unifiedBannerViewClicked:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * banner2.0广åç¹å»ä»¥åå³å°å¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)unifiedBannerViewWillPresentFullScreenModal:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * banner2.0广åç¹å»ä»¥åå¼¹åºå
¨å±å¹¿å页宿¯ |
| | | */ |
| | | - (void)unifiedBannerViewDidPresentFullScreenModal:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页å³å°è¢«å
³é |
| | | */ |
| | | - (void)unifiedBannerViewWillDismissFullScreenModal:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页已ç»è¢«å
³é |
| | | */ |
| | | - (void)unifiedBannerViewDidDismissFullScreenModal:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * å½ç¹å»åºç¨ä¸è½½æè
广åè°ç¨ç³»ç»ç¨åºæå¼ |
| | | */ |
| | | - (void)unifiedBannerViewWillLeaveApplication:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | /** |
| | | * banner2.0è¢«ç¨æ·å
³éæ¶è°ç¨ |
| | | */ |
| | | - (void)unifiedBannerViewWillClose:(GDTUnifiedBannerView *)unifiedBannerView; |
| | | |
| | | @end |
| | | |
| | | @interface GDTUnifiedBannerView : UIView |
| | | /** |
| | | * å§æ [å¯é] |
| | | */ |
| | | @property (nonatomic, weak) id<GDTUnifiedBannerViewDelegate> delegate; |
| | | |
| | | /** |
| | | * Bannerå±ç°åè½®ææ¶çå¨ç»ææå¼å
³ï¼é»è®¤æå¼ |
| | | */ |
| | | @property (nonatomic) BOOL animated; |
| | | |
| | | /** |
| | | * 广åå·æ°é´éï¼èå´ [30, 120] ç§ï¼é»è®¤å¼ 30 ç§ã设 0 åä¸å·æ°ã [å¯é] |
| | | */ |
| | | @property (nonatomic) int autoSwitchInterval; |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼placementId - 广åä½ ID |
| | | * viewController - è§å¾æ§å¶å¨ |
| | | */ |
| | | - (instancetype)initWithPlacementId:(NSString *)placementId |
| | | viewController:(UIViewController *)viewController; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼frame - banner å±ç¤ºçä½ç½®åå¤§å° |
| | | * placementId - 广åä½ ID |
| | | * viewController - è§å¾æ§å¶å¨ |
| | | */ |
| | | - (instancetype)initWithFrame:(CGRect)frame |
| | | placementId:(NSString *)placementId |
| | | viewController:(UIViewController *)viewController; |
| | | |
| | | /** |
| | | * æåå¹¶å±ç¤ºå¹¿å |
| | | */ |
| | | - (void)loadAdAndShow; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |
New file |
| | |
| | | // |
| | | // GDTUnifiedInterstitialAd.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by nimomeng on 2019/3/4. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @class GDTUnifiedInterstitialAd; |
| | | |
| | | @protocol GDTUnifiedInterstitialAdDelegate <NSObject> |
| | | @optional |
| | | |
| | | /** |
| | | * æå±2.0广åé¢å è½½æååè° |
| | | * 彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®æåä¸é¢å è½½åè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedInterstitialSuccessToLoadAd:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0广åé¢å 载失败åè° |
| | | * 彿¥æ¶æå¡å¨è¿åçå¹¿åæ°æ®å¤±è´¥åè°ç¨è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedInterstitialFailToLoadAd:(GDTUnifiedInterstitialAd *)unifiedInterstitial error:(NSError *)error; |
| | | |
| | | /** |
| | | * æå±2.0广åå°è¦å±ç¤ºåè° |
| | | * æå±2.0广åå³å°å±ç¤ºåè°è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedInterstitialWillPresentScreen:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0广åè§å¾å±ç¤ºæååè° |
| | | * æå±2.0广åå±ç¤ºæååè°è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedInterstitialDidPresentScreen:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0广åè§å¾å±ç¤ºå¤±è´¥åè° |
| | | * æå±2.0广åå±ç¤ºå¤±è´¥åè°è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedInterstitialFailToPresent:(GDTUnifiedInterstitialAd *)unifiedInterstitial error:(NSError *)error; |
| | | |
| | | /** |
| | | * æå±2.0广åå±ç¤ºç»æåè° |
| | | * æå±2.0广åå±ç¤ºç»æåè°è¯¥å½æ° |
| | | */ |
| | | - (void)unifiedInterstitialDidDismissScreen:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * å½ç¹å»ä¸è½½åºç¨æ¶ä¼è°ç¨ç³»ç»ç¨åºæå¼å
¶å®Appæè
Appstoreæ¶åè° |
| | | */ |
| | | - (void)unifiedInterstitialWillLeaveApplication:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0广åæå
åè° |
| | | */ |
| | | - (void)unifiedInterstitialWillExposure:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0广åç¹å»åè° |
| | | */ |
| | | - (void)unifiedInterstitialClicked:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * ç¹å»æå±2.0广å以åå³å°å¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)unifiedInterstitialAdWillPresentFullScreenModal:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * ç¹å»æå±2.0广å以åå¼¹åºå
¨å±å¹¿å页 |
| | | */ |
| | | - (void)unifiedInterstitialAdDidPresentFullScreenModal:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页å°è¦å
³é |
| | | */ |
| | | - (void)unifiedInterstitialAdWillDismissFullScreenModal:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * å
¨å±å¹¿å页被å
³é |
| | | */ |
| | | - (void)unifiedInterstitialAdDidDismissFullScreenModal:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0è§é¢å¹¿å player ææ¾ç¶ææ´æ°åè° |
| | | */ |
| | | - (void)unifiedInterstitialAd:(GDTUnifiedInterstitialAd *)unifiedInterstitial playerStatusChanged:(GDTMediaPlayerStatus)status; |
| | | |
| | | /** |
| | | * æå±2.0è§é¢å¹¿å详æ
页 WillPresent åè° |
| | | */ |
| | | - (void)unifiedInterstitialAdViewWillPresentVideoVC:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0è§é¢å¹¿å详æ
页 DidPresent åè° |
| | | */ |
| | | - (void)unifiedInterstitialAdViewDidPresentVideoVC:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0è§é¢å¹¿å详æ
页 WillDismiss åè° |
| | | */ |
| | | - (void)unifiedInterstitialAdViewWillDismissVideoVC:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | /** |
| | | * æå±2.0è§é¢å¹¿å详æ
页 DidDismiss åè° |
| | | */ |
| | | - (void)unifiedInterstitialAdViewDidDismissVideoVC:(GDTUnifiedInterstitialAd *)unifiedInterstitial; |
| | | |
| | | @end |
| | | |
| | | @interface GDTUnifiedInterstitialAd : NSObject |
| | | |
| | | /** |
| | | * æå±2.0广åé¢å è½½æ¯å¦å®æ |
| | | */ |
| | | @property (nonatomic, readonly) BOOL isAdValid; |
| | | |
| | | /** |
| | | * å§æå¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id<GDTUnifiedInterstitialAdDelegate> delegate; |
| | | |
| | | @property (nonatomic, readonly) NSString *placementId; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithPlacementId:(NSString *)placementId; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * 详解ï¼appId - åªä½ ID |
| | | * placementId - 广åä½ ID |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·ä½¿ç¨ initWithPlacementId:"); |
| | | |
| | | /** |
| | | * 广ååèµ·è¯·æ±æ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·æå广åè¯·æ± |
| | | */ |
| | | - (void)loadAd; |
| | | |
| | | /** |
| | | * æå±å
¨å±è§é¢å¹¿ååèµ·è¯·æ±æ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·æå广åè¯·æ± |
| | | */ |
| | | - (void)loadFullScreenAd; |
| | | |
| | | |
| | | /** |
| | | * 广åå±ç¤ºæ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·å±ç¤ºå¹¿å请æ±, å¿
é¡»ä¼ å
¥ç¨äºæ¾ç¤ºææå¹¿åçUIViewController |
| | | */ |
| | | |
| | | - (void)presentAdFromRootViewController:(UIViewController *)rootViewController; |
| | | |
| | | /** |
| | | * æå±è§é¢å
¨å±å¹¿åå±ç¤ºæ¹æ³ |
| | | * 详解ï¼[å¿
é]åèµ·å±ç¤ºå¹¿å请æ±, å¿
é¡»ä¼ å
¥ç¨äºæ¾ç¤ºææå¹¿åçUIViewController |
| | | */ |
| | | - (void)presentFullScreenAdFromRootViewController:(UIViewController *)rootViewController; |
| | | |
| | | /** |
| | | è¿å广åçeCPMï¼åä½ï¼å |
| | | |
| | | @return æåè¿åä¸ä¸ªå¤§äºçäº0çå¼ï¼-1è¡¨ç¤ºæ æéæåå°åºç°å¼å¸¸ |
| | | */ |
| | | - (NSInteger)eCPM; |
| | | |
| | | /** |
| | | è¿å广åçeCPMç级 |
| | | |
| | | @return æåè¿åä¸ä¸ªå
嫿°åçstringï¼@""ænilè¡¨ç¤ºæ æéæåå°å¼å¸¸ |
| | | */ |
| | | - (NSString *)eCPMLevel; |
| | | |
| | | /** |
| | | * é WiFi ç½ç»ï¼æ¯å¦èªå¨ææ¾ãé»è®¤ NOãloadAd å设置ã |
| | | */ |
| | | |
| | | @property (nonatomic, assign) BOOL videoAutoPlayOnWWAN; |
| | | |
| | | /** |
| | | * èªå¨ææ¾æ¶ï¼æ¯å¦éé³ãé»è®¤ YESãloadAd å设置ã |
| | | */ |
| | | @property (nonatomic, assign) BOOL videoMuted; |
| | | |
| | | |
| | | /** |
| | | * è§é¢è¯¦æ
é¡µææ¾æ¶æ¯å¦éé³ãé»è®¤NOãloadAd å设置ã |
| | | */ |
| | | @property (nonatomic, assign) BOOL detailPageVideoMuted; |
| | | |
| | | /** |
| | | 请æ±è§é¢çæ¶é¿ä¸éï¼è§é¢æ¶é¿ææå¼èå´ä¸º[5,60]ã |
| | | 以ä¸ä¸¤ç§æ
åµä¼ä½¿ç¨ç³»ç»é»è®¤çæå°å¼è®¾ç½®ï¼1:ä¸è®¾ç½® 2:minVideoDuration大äºmaxVideoDuration |
| | | */ |
| | | @property (nonatomic) NSInteger minVideoDuration; |
| | | |
| | | /** |
| | | 请æ±è§é¢çæ¶é¿ä¸éï¼è§é¢æ¶é¿ææå¼èå´ä¸º[5,60]ã |
| | | */ |
| | | @property (nonatomic) NSInteger maxVideoDuration; |
| | | |
| | | /** |
| | | * æ¯å¦æ¯è§é¢æå±2.0广å |
| | | */ |
| | | @property (nonatomic, assign, readonly) BOOL isVideoAd; |
| | | |
| | | /** |
| | | * è§é¢æå±2.0å¹¿åæ¶é¿ï¼åä½ ms |
| | | */ |
| | | - (CGFloat)videoDuration; |
| | | |
| | | /** |
| | | * è§é¢æå±å¹¿åå·²ææ¾æ¶é¿ï¼åä½ ms |
| | | */ |
| | | - (CGFloat)videoPlayTime; |
| | | |
| | | /** |
| | | è¿å广åå¹³å°åç§° |
| | | |
| | | @return å½ä½¿ç¨æµéåé
åè½æ¶ï¼ç¨äºåºå广åå¹³å°ï¼æªä½¿ç¨æ¶ä¸ºç©ºå符串 |
| | | */ |
| | | - (NSString *)adNetworkName; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |
New file |
| | |
| | | // |
| | | // GDTUnifiedNativeAd.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by nimomeng on 2018/10/10. |
| | | // Copyright © 2018 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import "GDTUnifiedNativeAdDataObject.h" |
| | | #import "GDTUnifiedNativeAdView.h" |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @protocol GDTUnifiedNativeAdDelegate <NSObject> |
| | | |
| | | /** |
| | | å¹¿åæ°æ®åè° |
| | | |
| | | @param unifiedNativeAdDataObjects å¹¿åæ°æ®æ°ç» |
| | | @param error éè¯¯ä¿¡æ¯ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdLoaded:(NSArray<GDTUnifiedNativeAdDataObject *> * _Nullable)unifiedNativeAdDataObjects error:(NSError * _Nullable)error; |
| | | @end |
| | | |
| | | @interface GDTUnifiedNativeAd : NSObject |
| | | @property (nonatomic, weak) id<GDTUnifiedNativeAdDelegate> delegate; |
| | | |
| | | /** |
| | | 请æ±è§é¢çæ¶é¿ä¸éï¼è§é¢æ¶é¿ææå¼èå´ä¸º[5,60]ã |
| | | 以ä¸ä¸¤ç§æ
åµä¼ä½¿ç¨ç³»ç»é»è®¤çæå°å¼è®¾ç½®ï¼1:ä¸è®¾ç½® 2:minVideoDuration大äºmaxVideoDuration |
| | | */ |
| | | @property (nonatomic) NSInteger minVideoDuration; |
| | | |
| | | /** |
| | | 请æ±è§é¢çæå¤§æ¶é¿ï¼è§é¢æ¶é¿ææå¼èå´ä¸º[5,60]ã |
| | | */ |
| | | @property (nonatomic) NSInteger maxVideoDuration; |
| | | |
| | | /** |
| | | å¯é屿§ï¼è®¾ç½®æ¬æ¬¡æåçè§é¢å¹¿åä»ç¨æ·è§åº¦çå°çè§é¢ææ¾çç¥ã |
| | | |
| | | âç¨æ·è§åº¦âç¹æç¨æ·çå°çæ
åµï¼å¹¶éSDKæ¯å¦èªå¨ææ¾ï¼ä¸èªå¨ææ¾çç¥ GDTVideoAutoPlayPolicy çåå¼å¹¶éä¸ä¸å¯¹åº |
| | | |
| | | ä¾å¦å¼åè
è®¾ç½®äº GDTVideoAutoPlayPolicyNever 表示 SDK ä¸èªå¨ææ¾è§é¢ï¼ä½æ¯å¼åè
éè¿ GDTMediaView ç play æ¹æ³ææ¾è§é¢ï¼è¿å¨ç¨æ·çæ¥ä»ç¶æ¯èªå¨ææ¾çã |
| | | |
| | | åç¡®ç设置 GDTVideoPlayPolicy æå©äºæé«è§é¢å¹¿åçeCPMå¼ï¼å¦æå¹¿åä½ä»
æ¯æå¾æå¹¿åï¼åæ éè°ç¨ã |
| | | |
| | | éè¦å¨ loadAd å设置æ¤å±æ§ã |
| | | */ |
| | | @property (nonatomic, assign) GDTVideoPlayPolicy videoPlayPolicy; |
| | | |
| | | /** |
| | | å¯é屿§ï¼è®¾ç½®æ¬æ¬¡æåçè§é¢å¹¿åå°é¢æ¯ç±SDK渲æè¿æ¯å¼åè
èªè¡æ¸²æã |
| | | |
| | | SDK 渲æï¼æè§é¢å¹¿å containerView ç´æ¥å¨ feed æµçåºæ¯å±ç¤ºï¼ç¨æ·å¯ä»¥ç´æ¥çå°æ¸²æçè§é¢å¹¿åãDemo å·¥ç¨ä¸ç âè§é¢Feedâ å°±æ¯ SDK 渲æã |
| | | |
| | | å¼åè
èªè¡æ¸²æï¼æå¼åè
è·åå°å¹¿å对象åï¼å
ç¨å°é¢å¾åæ®µå¨ feed æµä¸å
渲æåºä¸ä¸ªå°é¢å¾å
¥å£ï¼ç¨æ·ç¹å»å°é¢å¾ï¼åè¿å
¥ä¸ä¸ªæ conainterView ç详ç»é¡µï¼ææ¾è§é¢ãDemo å·¥ç¨ä¸ç "ç«ç Feed è§é¢" å°±æ¯å¼åè
渲æçåºæ¯ã |
| | | */ |
| | | @property (nonatomic, assign) GDTVideoRenderType videoRenderType; |
| | | |
| | | /** |
| | | æé æ¹æ³ |
| | | |
| | | @param placementId 广åä½ID |
| | | @return GDTUnifiedNativeAd å®ä¾ |
| | | */ |
| | | - (instancetype)initWithPlacementId:(NSString *)placementId; |
| | | |
| | | /** |
| | | æé æ¹æ³ |
| | | |
| | | @param appId åªä½ID |
| | | @param placementId 广åä½ID |
| | | @return GDTUnifiedNativeAd å®ä¾ |
| | | */ |
| | | - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("æ¥å£å³å°åºå¼ï¼è¯·ä½¿ç¨ initWithPlacementId:"); |
| | | |
| | | /** |
| | | å 载广å |
| | | */ |
| | | - (void)loadAd; |
| | | |
| | | /** |
| | | å 载广å |
| | | |
| | | @param adCount å è½½æ¡æ° |
| | | */ |
| | | - (void)loadAdWithAdCount:(NSInteger)adCount; |
| | | |
| | | /** |
| | | è¿å广åå¹³å°åç§° |
| | | |
| | | @return å½ä½¿ç¨æµéåé
åè½æ¶ï¼ç¨äºåºå广åå¹³å°ï¼æªä½¿ç¨æ¶ä¸ºç©ºå符串 |
| | | */ |
| | | - (NSString *)adNetworkName; |
| | | |
| | | /** |
| | | * å½éè¦æ¯æ VAST å¹¿åæ¶ï¼éæµéèªè¡é
ç½® adapter ç vastClassName |
| | | */ |
| | | - (void)setVastClassName:(NSString *)vastClassName; |
| | | |
| | | @end |
| | | NS_ASSUME_NONNULL_END |
New file |
| | |
| | | // |
| | | // GDTUnifiedNativeAdDataObject.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by nimomeng on 2018/10/10. |
| | | // Copyright © 2018 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTVideoConfig.h" |
| | | |
| | | typedef NS_ENUM(NSInteger, GDTVastAdEventType) { |
| | | GDTVastAdEventTypeUnknow, |
| | | GDTVastAdEventTypeLoaded, |
| | | GDTVastAdEventTypeStarted, |
| | | GDTVastAdEventTypeFirstQuartile, |
| | | GDTVastAdEventTypeMidPoint, |
| | | GDTVastAdEventTypeThirdQuartile, |
| | | GDTVastAdEventTypeComplete, |
| | | GDTVastAdEventTypeAllAdsComplete, |
| | | GDTVastAdEventTypeExposed, |
| | | GDTVastAdEventTypeClicked, |
| | | }; |
| | | |
| | | |
| | | @interface GDTUnifiedNativeAdDataObject : NSObject |
| | | |
| | | /** |
| | | å¹¿åæ é¢ |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSString *title; |
| | | |
| | | /** |
| | | 广åæè¿° |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSString *desc; |
| | | |
| | | /** |
| | | 广å大å¾Url |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSString *imageUrl; |
| | | |
| | | /** |
| | | ç´ æå®½åº¦ï¼åå¾å¹¿åä»£è¡¨å¤§å¾ imageUrl 宽度ãå¤å¾å¹¿å代表å°å¾ mediaUrlList 宽度 |
| | | */ |
| | | @property (nonatomic, readonly) NSInteger imageWidth; |
| | | |
| | | /** |
| | | ç´ æé«åº¦ï¼åå¾å¹¿åä»£è¡¨å¤§å¾ imageUrl é«åº¦ãå¤å¾å¹¿å代表å°å¾ mediaUrlList é«åº¦ |
| | | */ |
| | | @property (nonatomic, readonly) NSInteger imageHeight; |
| | | |
| | | /** |
| | | åºç¨ç±»å¹¿åApp 徿 Url |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSString *iconUrl; |
| | | |
| | | /** |
| | | ä¸å°å¾å¹¿åçå¾çUrléå |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSArray *mediaUrlList; |
| | | |
| | | /** |
| | | åºç¨ç±»å¹¿åçæçº§ï¼5æå¶åº¦ï¼ |
| | | */ |
| | | @property (nonatomic, readonly) CGFloat appRating; |
| | | |
| | | /** |
| | | åºç¨ç±»å¹¿åçä»·æ ¼ |
| | | */ |
| | | @property (nonatomic, strong, readonly) NSNumber *appPrice; |
| | | |
| | | /** |
| | | æ¯å¦ä¸ºåºç¨ç±»å¹¿å |
| | | */ |
| | | @property (nonatomic, readonly) BOOL isAppAd; |
| | | |
| | | /** |
| | | æ¯å¦ä¸ºè§é¢å¹¿å |
| | | */ |
| | | @property (nonatomic, readonly) BOOL isVideoAd; |
| | | |
| | | /** |
| | | æ¯å¦ä¸ºä¸å°å¾å¹¿å |
| | | */ |
| | | @property (nonatomic, readonly) BOOL isThreeImgsAd; |
| | | |
| | | /** |
| | | è¿å广åçeCPMï¼åä½ï¼å |
| | | |
| | | @return æåè¿åä¸ä¸ªå¤§äºçäº0çå¼ï¼-1è¡¨ç¤ºæ æéæåå°åºç°å¼å¸¸ |
| | | */ |
| | | @property (nonatomic, readonly) NSInteger eCPM; |
| | | |
| | | /** |
| | | è¿å广åçeCPMç级 |
| | | |
| | | @return æåè¿åä¸ä¸ªå
嫿°åçstringï¼@""ænilè¡¨ç¤ºæ æéæåå°å¼å¸¸ |
| | | */ |
| | | @property (nonatomic, readonly) NSString *eCPMLevel; |
| | | |
| | | /** |
| | | 广å对åºçCTAææ¡ï¼èªå®ä¹CTAè§å¾æ¶å»ºè®®ä½¿ç¨æ¤å段 |
| | | 广å对åºçcallToActionææ¡ï¼æ¯å¦âç«å³é¢çº¦âæâçµè¯å¨è¯¢â, èªå®ä¹callToActionè§å¾æ¶å»ºè®®ä½¿ç¨æ¤å段 |
| | | |
| | | è¯¥åæ®µå¨é¨å广åç±»åä¸å¯è½ä¸ºç©º |
| | | */ |
| | | @property (nonatomic, readonly) NSString *callToAction; |
| | | |
| | | /** |
| | | è¿åå¹¿åæ¯å¦å¯ä»¥è·³è¿ï¼ç¨äºååè´´çåºæ¯ |
| | | |
| | | @return YES 表示å¯è·³è¿ãNO 表示ä¸å¯è·³è¿ |
| | | */ |
| | | @property (nonatomic, readonly) BOOL skippable; |
| | | |
| | | /** |
| | | è§é¢å¹¿åææ¾é
ç½® |
| | | */ |
| | | @property (nonatomic, strong) GDTVideoConfig *videoConfig; |
| | | |
| | | /** |
| | | * è§é¢å¹¿åæ¶é¿ï¼åä½ ms |
| | | */ |
| | | @property (nonatomic, readonly) CGFloat duration; |
| | | |
| | | /** |
| | | * VAST Tag Urlï¼å¯è½ä¸ºç©ºã |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSString *vastTagUrl; |
| | | |
| | | /** |
| | | * VAST Contentï¼å¯è½ä¸ºç©ºã |
| | | */ |
| | | @property (nonatomic, copy, readonly) NSString *vastContent; |
| | | |
| | | /** |
| | | * æ¯å¦ä¸º VAST 广å |
| | | */ |
| | | @property (nonatomic, assign, readonly) BOOL isVastAd; |
| | | |
| | | /** |
| | | å¤æä¸¤ä¸ªèªæ¸²æ2.0å¹¿åæ°æ®æ¯å¦ç¸ç |
| | | |
| | | @param dataObject éè¦å¯¹æ¯çèªæ¸²æ2.0å¹¿åæ°æ®å¯¹è±¡ |
| | | @return YES or NO |
| | | */ |
| | | - (BOOL)equalsAdData:(GDTUnifiedNativeAdDataObject *)dataObject; |
| | | |
| | | @end |
New file |
| | |
| | | // |
| | | // GDTUnifiedNativeAdView.h |
| | | // GDTMobSDK |
| | | // |
| | | // Created by nimomeng on 2018/10/10. |
| | | // Copyright © 2018 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | #import "GDTLogoView.h" |
| | | #import "GDTMediaView.h" |
| | | #import "GDTUnifiedNativeAdDataObject.h" |
| | | #import "GDTSDKDefines.h" |
| | | |
| | | @class GDTUnifiedNativeAdView; |
| | | |
| | | //è§é¢å¹¿åæ¶é¿Key |
| | | extern NSString* const kGDTUnifiedNativeAdKeyVideoDuration; |
| | | |
| | | @protocol GDTUnifiedNativeAdViewDelegate <NSObject> |
| | | |
| | | @optional |
| | | /** |
| | | 广åæå
åè° |
| | | |
| | | @param unifiedNativeAdView GDTUnifiedNativeAdView å®ä¾ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdViewWillExpose:(GDTUnifiedNativeAdView *)unifiedNativeAdView; |
| | | |
| | | |
| | | /** |
| | | 广åç¹å»åè° |
| | | |
| | | @param unifiedNativeAdView GDTUnifiedNativeAdView å®ä¾ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdViewDidClick:(GDTUnifiedNativeAdView *)unifiedNativeAdView; |
| | | |
| | | |
| | | /** |
| | | 广å详æ
页å
³éåè° |
| | | |
| | | @param unifiedNativeAdView GDTUnifiedNativeAdView å®ä¾ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdDetailViewClosed:(GDTUnifiedNativeAdView *)unifiedNativeAdView; |
| | | |
| | | |
| | | /** |
| | | å½ç¹å»åºç¨ä¸è½½æè
广åè°ç¨ç³»ç»ç¨åºæå¼æ¶è°ç¨ |
| | | |
| | | @param unifiedNativeAdView GDTUnifiedNativeAdView å®ä¾ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdViewApplicationWillEnterBackground:(GDTUnifiedNativeAdView *)unifiedNativeAdView; |
| | | |
| | | |
| | | /** |
| | | 广å详æ
页é¢å³å°å±ç¤ºåè° |
| | | |
| | | @param unifiedNativeAdView GDTUnifiedNativeAdView å®ä¾ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdDetailViewWillPresentScreen:(GDTUnifiedNativeAdView *)unifiedNativeAdView; |
| | | |
| | | |
| | | /** |
| | | è§é¢å¹¿åææ¾ç¶ææ´æ¹åè° |
| | | |
| | | @param nativeExpressAdView GDTUnifiedNativeAdView å®ä¾ |
| | | @param status è§é¢å¹¿åææ¾ç¶æ |
| | | @param userInfo è§é¢å¹¿åä¿¡æ¯ |
| | | */ |
| | | - (void)gdt_unifiedNativeAdView:(GDTUnifiedNativeAdView *)unifiedNativeAdView playerStatusChanged:(GDTMediaPlayerStatus)status userInfo:(NSDictionary *)userInfo; |
| | | @end |
| | | |
| | | @interface GDTUnifiedNativeAdView:UIView |
| | | |
| | | /** |
| | | ç»å®çæ°æ®å¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, strong, readonly) GDTUnifiedNativeAdDataObject *dataObject; |
| | | |
| | | /** |
| | | è§é¢å¹¿åçåªä½Viewï¼ç»å®æ°æ®å¯¹è±¡åèªå¨çæï¼å¯èªå®ä¹å¸å± |
| | | */ |
| | | @property (nonatomic, strong, readonly) GDTMediaView *mediaView; |
| | | |
| | | /** |
| | | è
¾è®¯å¹¿å LogoViewï¼èªå¨çæï¼å¯èªå®ä¹å¸å± |
| | | */ |
| | | @property (nonatomic, strong, readonly) GDTLogoView *logoView; |
| | | |
| | | /** |
| | | 广å View æ¶é´åè°å¯¹è±¡ |
| | | */ |
| | | @property (nonatomic, weak) id<GDTUnifiedNativeAdViewDelegate> delegate; |
| | | |
| | | /* |
| | | * viewControllerForPresentingModalView |
| | | * 详解ï¼å¼åè
éä¼ å
¥ç¨æ¥å¼¹åºç®æ 页çViewControllerï¼ä¸è¬ä¸ºå½åViewController |
| | | */ |
| | | @property (nonatomic, weak) UIViewController *viewController; |
| | | |
| | | /** |
| | | èªæ¸²æ2.0è§å¾æ³¨åæ¹æ³ |
| | | |
| | | @param dataObject æ°æ®å¯¹è±¡ï¼å¿
ä¼ åæ®µ |
| | | @param clickableViews å¯ç¹å»çè§å¾æ°ç»ï¼æ¤æ°ç»å
ç广åå
ç´ æå¯ä»¥ååºå¹¿å对åºçç¹å»äºä»¶ |
| | | */ |
| | | - (void)registerDataObject:(GDTUnifiedNativeAdDataObject *)dataObject |
| | | clickableViews:(NSArray<UIView *> *)clickableViews; |
| | | |
| | | |
| | | /** |
| | | 注åå¯ç¹å»çcallToActionè§å¾çæ¹æ³ |
| | | 建议å¼åè
使ç¨GDTUnifiedNativeAdDataObjectä¸çcallToActionåæ®µæ¥å建è§å¾ï¼å¹¶å代èªå®ä¹çä¸è½½ææå¼çbutton, |
| | | è°ç¨æ¤æ¹æ³ä¹åå¿
é¡»å
è°ç¨registerDataObject:clickableViews |
| | | @param callToActionView CTAè§å¾, ç³»ç»èªå¨å¤çç¹å»äºä»¶ |
| | | */ |
| | | - (void)registerClickableCallToActionView:(UIView *)callToActionView; |
| | | |
| | | /** |
| | | æ³¨éæ°æ®å¯¹è±¡ï¼å¨ tableViewãcollectionView çåºæ¯éè¦å¤ç¨ GDTUnifiedNativeAdView æ¶ï¼ |
| | | éè¦å¨åéçæ¶æºï¼ä¾å¦ cell ç prepareForReuse æ¹æ³å
æ§è¡ unregisterDataObject æ¹æ³ï¼ |
| | | å°å¹¿åå¯¹è±¡ä¸ GDTUnifiedNativeAdView è§£ç»ï¼å
·ä½å¯åèç¤ºä¾ demo ç UnifiedNativeAdBaseTableViewCell ç±» |
| | | */ |
| | | - (void)unregisterDataObject; |
| | | |
| | | //#pragma mark - DEPRECATED |
| | | ///** |
| | | // æ¤æ¹æ³å·²ç»åºå¼ |
| | | // èªæ¸²æ2.0è§å¾æ³¨åæ¹æ³ |
| | | // |
| | | // @param dataObject æ°æ®å¯¹è±¡ï¼å¿
ä¼ åæ®µ |
| | | // @param logoView logoè§å¾ |
| | | // @param viewController æå¨ViewControllerï¼å¿
ä¼ åæ®µãæ¯æå¨registerä¹å对å
¶è¿è¡ä¿®æ¹ |
| | | // @param clickableViews å¯ç¹å»çè§å¾æ°ç»ï¼æ¤æ°ç»å
ç广åå
ç´ æå¯ä»¥ååºå¹¿å对åºçç¹å»äºä»¶ |
| | | // */ |
| | | //- (void)registerDataObject:(GDTUnifiedNativeAdDataObject *)dataObject |
| | | // logoView:(GDTLogoView *)logoView |
| | | // viewController:(UIViewController *)viewController |
| | | // clickableViews:(NSArray<UIView *> *)clickableViews GDT_DEPRECATED_MSG_ATTRIBUTE("use registerDataObject:clickableViews: instead."); |
| | | // |
| | | // |
| | | ///** |
| | | // æ¤æ¹æ³å·²ç»åºå¼ |
| | | // èªæ¸²æ2.0è§å¾æ³¨åæ¹æ³ |
| | | // |
| | | // @param dataObject æ°æ®å¯¹è±¡ï¼å¿
ä¼ åæ®µ |
| | | // @param mediaView åªä½å¯¹è±¡è§å¾ï¼æ¤å¤æ¾è§é¢ææ¾å¨ç容å¨è§å¾ |
| | | // @param logoView logoè§å¾ |
| | | // @param viewController æå¨ViewControllerï¼å¿
ä¼ åæ®µãæ¯æå¨registerä¹å对å
¶è¿è¡ä¿®æ¹ |
| | | // @param clickableViews å¯ç¹å»çè§å¾æ°ç»ï¼æ¤æ°ç»å
ç广åå
ç´ æå¯ä»¥ååºå¹¿å对åºçç¹å»äºä»¶ |
| | | // */ |
| | | //- (void)registerDataObject:(GDTUnifiedNativeAdDataObject *)dataObject |
| | | // mediaView:(GDTMediaView *)mediaView |
| | | // logoView:(GDTLogoView *)logoView |
| | | // viewController:(UIViewController *)viewController |
| | | // clickableViews:(NSArray<UIView *> *)clickableViews GDT_DEPRECATED_MSG_ATTRIBUTE("use registerDataObject:clickableViews: instead."); |
| | | @end |
| | | |
| | | |
| | | |
New file |
| | |
| | | // |
| | | // GDTVideoConfig.h |
| | | // GDTMobApp |
| | | // |
| | | // Created by royqpwang on 2019/5/16. |
| | | // Copyright © 2019 Tencent. All rights reserved. |
| | | // |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | |
| | | typedef NS_ENUM(NSInteger, GDTVideoAutoPlayPolicy) { |
| | | GDTVideoAutoPlayPolicyWIFI = 0, // WIFI ä¸èªå¨ææ¾ |
| | | GDTVideoAutoPlayPolicyAlways = 1, // æ»æ¯èªå¨ææ¾ï¼æ 论ç½ç»æ¡ä»¶ |
| | | GDTVideoAutoPlayPolicyNever = 2, // ä»ä¸èªå¨ææ¾ï¼æ 论ç½ç»æ¡ä»¶ |
| | | }; |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @interface GDTVideoConfig : NSObject |
| | | |
| | | /** |
| | | è§é¢èªå¨ææ¾çç¥ï¼é»è®¤ GDTVideoAutoPlayPolicyAlways, |
| | | éæ© GDTVideoAutoPlayPolicyNever çç¥æ¶ï¼éè¦å¼åè
è°ç¨ GDTMediaView ç play\pause æ¹æ³è§¦åè§é¢æãæåï¼ |
| | | æè
å¼å¯ userControlEnable 设置ï¼è®©ç¨æ·ç¹å» MediaView æ§å¶ææ¾ç¶æ |
| | | */ |
| | | @property (nonatomic, assign) GDTVideoAutoPlayPolicy autoPlayPolicy; |
| | | |
| | | /** |
| | | æ¯å¦é鳿æ¾è§é¢å¹¿åï¼è§é¢åå§ç¶ææ¯å¦éé³ï¼é»è®¤ YESï¼ |
| | | å¯éè¿ GDTMediaView muteEnable: æ¹æ³å®æ¶æ§å¶ææ¾å¨jéé³ç¶æï¼ |
| | | */ |
| | | @property (nonatomic, assign) BOOL videoMuted; |
| | | |
| | | /** |
| | | è§é¢è¯¦æ
é¡µææ¾æ¶æ¯å¦éé³ï¼é»è®¤NOï¼ |
| | | */ |
| | | @property (nonatomic, assign) BOOL detailPageVideoMuted; |
| | | |
| | | /** |
| | | æ¯å¦å¯å¨èªå¨ç»æåè½ï¼å½å¨ tableView çåºæ¯ææ¾å¨è¢«éæ¯æ¶ï¼å¹¿åå±ç¤ºæ¶ç»§ç»ä»ä¸æ¬¡ææ¾ä½ç½®ç»æï¼é»è®¤ NO |
| | | */ |
| | | @property (nonatomic, assign) BOOL autoResumeEnable; |
| | | |
| | | /** |
| | | 广ååçç¹å»è¡ä¸ºæ¶ï¼æ¯å¦å±ç¤ºè§é¢è¯¦æ
页 |
| | | 设为 NO æ¶ï¼ç¨æ·ç¹å» clickableViews ä¼ç´æ¥æå¼ App Store æè
广åè½å°é¡µ |
| | | */ |
| | | @property (nonatomic, assign) BOOL detailPageEnable; |
| | | |
| | | /** |
| | | æ¯å¦æ¯æç¨æ·ç¹å» MediaView æ¹åè§é¢ææ¾æåç¶æï¼é»è®¤ NO |
| | | 设为 YES æ¶ï¼ç¨æ·ç¹å»ä¼åæ¢ææ¾å¨ææ¾ãæåç¶æ |
| | | */ |
| | | @property (nonatomic, assign) BOOL userControlEnable; |
| | | |
| | | /** |
| | | æ¯å¦å±ç¤ºææ¾è¿åº¦æ¡ï¼é»è®¤ YES |
| | | */ |
| | | @property (nonatomic, assign) BOOL progressViewEnable; |
| | | |
| | | /** |
| | | æ¯å¦å±ç¤ºææ¾å¨å°é¢å¾ï¼é»è®¤ YES |
| | | */ |
| | | @property (nonatomic, assign) BOOL coverImageEnable; |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |