IOS_ADMaxSDK接入说明文档 V1.0.4
1.导入SDK
步骤1: 将 ADMaxSDK.framework 添加到工程
步骤2:添加项目配置
- 在Other Linker Flags加入 -ObjC 和 -fobjc-arc ,注意不要写为-Objc
- -ObjC属于链接库必备参数,如果不加此项,会导致库文件无法被正确链接,SDK无法正常运行
步骤3:加入依赖系统库
- 选中项目Target -> General -> Linked Frameworks and Libraries列表中进行添加
- 加入以下系统库:
1. libsqlite3.tbd
2. CoreGraphics.framework
3. SystemConfiguration.framework
4. CoreTelephony.framework
5. libc++.tbd
6. libz.tbd
7. libiconv.tbd
8. Security.framework
2.初始化设置
1. 导入SDK头文件
#import <ADMaxSDK/ADMaxSDK.h>
2. 初始化SDK
- 准备 SDK 的AppID 和 Secret
- 每一种广告对应一个appId (例如:setSplashAppId -> 开屏广告ID)
- 注意:如果广告ID没有对应,就拿不到广告(以下广告ID只提供测试)
- 代码如下:
//初始化 ADMaxSDK
[[ADMaxManager defaultManager] setSplashAppId:@"320100" BannerAppId:@"320101" NativeAppId:@"320102" appSecret:@"ABCDEFGHIGKLMN"];
//检测配置日志
[[ADMaxManager defaultManager] setDebugLogOpen:YES];
//设定展示广告的容器 默认:AdMaxWebType
[[ADMaxManager defaultManager] setNewWebType:AdMaxWebType];
3. 使用方法
- SDK:提供以下两种广告实现方式(广告1 and 广告2)可根据自身开发需求自行选择,详细使用方法请参考 ADMaxSDKDome
1. 使用方法
- 快速集成无需初始化对象 如下:
//开屏广告
[[ADMaxManager defaultManager] loadSplashAddWindow:[UIApplication sharedApplication].keyWindow withBottomView:nil Duration:10];
//Native
[[ADMaxManager defaultManager] requestNativeAds:^(NSArray *nativeArr) {
} failed:^(PeAdFailReason error) {
}];
//Banner
[[ADMaxManager defaultManager] bannerStart];
注:Native广告只返回广告数据,用户可自定义广告展示样式
在使用 Native 的时候注意参考 ADMaxDome
展示例子:
注意使用
@property (nonatomic, strong) PeAdNativeObject* object;
[[ADMaxManager defaultManager] requestNativeAds:^(NSArray *nativeArr) {
_object = [nativeArr objectAtIndex:0];
if(_object){
NSLog(@"原生广告请求成功 %@",_object.title);
_nativeView.alpha = 1;
[_nativeView setObject:_object];
}
} failed:^(PeAdFailReason error) {
}];
2. 使用方法
测试 SDK的APPID
publisherId = @"320100"
( * 如果在application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 里填过appId,在项目中使用时可选择不填 SDK的APPID
例:
_adSplash.publisherId = @"SDK的APPID";
_native.publisherId = @"SDK的APPID";
_adBanner.publisherId = @"SDK的APPID";
)
- 初始化对象 代码如下:
-(PeAdNative *)native{
if (!_native) {
_native = [[PeAdNative alloc]init];
_native.delegate = self;
_native.publisherId = @"SDK的APPID";
_native.controller = self;//当前使用的控制器
}
return _native;
}
-(PeAdSplash *)adSplash{
if (!_adSplash) {
_adSplash = [[PeAdSplash alloc]init];
_adSplash.delegate = self;
_adSplash.publisherId = @"SDK的APPID";
}
return _adSplash;
}
-(PeAdBanner *)adBanner{
if (!_adBanner) {
_adBanner = [[PeAdBanner alloc]init];
_adBanner.delegate = self;
_adBanner.publisherId = @"SDK的APPID";
_adBanner.controller = self;//当前使用的控制器
}
return _adBanner;
}
- 注意添加代理
用到哪个功能,注意添加相应的代理。
- 例:
PeAdNativeDelegate
PeAdSplashDelegate
PeAdBannerDelegate
- 以上准备OK,即可引入相应的功能代理方法
- 进入代理
- 代理实现
例:
#pragma mark - NativeDelegate
/**
* 广告请求成功
*/
- (void)nativeObjectsSuccessLoad:(NSArray*)nativeAds{
// __kWeakSelf__;
_object = [nativeAds objectAtIndex:0];
if(_object){
NSLog(@"原生广告请求成功 %@",_object.title);
_nativeLable.text = [NSString stringWithFormat:@"原生广告 title: %@",_object.title];
}
}
/**
* 广告请求失败
*/
- (void)nativeFailLoad:(PeAdFailReason) reason{
NSLog(@"原生广告请求失败 error%d",reason);
}
/**
* 广告点击
*/
- (void)nativeClicked:(PeAdNativeView*)nativeView{
NSLog(@"nativeClicked");
}
/**
* 广告详情页关闭
*/
-(void)didDismissLandingPage:(PeAdNativeView *)nativeView{
NSLog(@"didDismissLandingPage");
}
注:代理的详细功能,以
SDK
中的.h
文件注释为主
- 广告请求 如下:
//Native requestNativeAds:请求的广告个数
[self.native requestNativeAds];
//Banner
[self.adBanner start];
//开屏广告 —— 半屏 withBottomView:底部自定义View
[self.adSplash loadAdAndShowInWindow:[UIApplication sharedApplication].keyWindow withBottomView:self.adSplashBottomView];
//开屏广告 —— 全屏
[self.adSplash loadAdAndShowInWindow:[UIApplication sharedApplication].keyWindow];
更新内容
1.增加了落地广告展示,分别有 AdMaxWeb
,Safari
,用户自定义 customUrl
注:用户自定义
通过以下的两个方法 返回 customUrl:广告点击后跳转的url
-(void)setClickAdPassValueCustomViewUrl:(void (^)(NSString * url))customUrl;
-(void)setNewWebType:(ADMaxClickWebType)clickWebType ClickAdPassValueUrl:(void (^)(NSString * url))customUrl;
typedef enum{
AdMaxWebType = 0,//!<AdMaxWeb
SafariType = 1,//!<Safari
UserWebType = 2,//!<自定义
} ADMaxClickWebType;
使用方法如下:
-
SDK点击后,展示方式设置的公开方法
SDK点击后,展示方式初始化以及方法使用