重庆迈尖科技有限公司
2019-01-30 94217b294ccd75a34787eb04d6e273e99536e45b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
//
//  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;
 
@interface GDTNativeAdData : NSObject
 
/*
 *  广告内容字典
 *  详解:[必选]开发者调用LoadAd成功之后从该属性中获取广告数据
 *       广告数据以字典的形式存储,开发者目前可以通过如下键获取数据
 *          1. GDTNativeAdDataKeyTitle      标题
 *          2. GDTNativeAdDataKeyDesc       描述
 *          3. GDTNativeAdDataKeyIconUrl    图标Url
 *          4. GDTNativeAdDataKeyImgUrl     大图Url
 *          5. GDTNativeAdDataKeyAppRating  应用类广告的星级
 *          6. GDTNativeAdDataKeyAppPrice   应用类广告的价格
 *          7. GDTNativeAdDataKeyImgList    三小图广告的图片集合
 */
@property (nonatomic, retain, readonly) NSDictionary *properties;
/*
 *  判断两个原生广告数据对象是否相等
 */
- (BOOL)equalsAdData:(GDTNativeAdData *)data;
/*
 *  获取该原生广告是否为应用类广告
 */
- (BOOL)isAppAd;
/*
 *  获取该原生广告是否为三小图广告,当为三小图广告时,可以通过GDTNativeAdDataKeyImgList获取三张图片资源供渲染
 */
- (BOOL)isThreeImgsAd;
 
@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;
 
/**
 *  广告发起请求方法
 *  详解:[必选]发起拉取广告请求,在获得广告数据后回调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;
 
#pragma mark - DEPRECATED
- (instancetype)initWithAppkey:(NSString *)appkey placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("use initWithAppId:placementId: instead.");
 
@end