IOS_ADMaxSDK接入说明文档

IOS_ADMaxSDK接入说明文档 V1.0.4

1.导入SDK

步骤1: 将 ADMaxSDK.framework 添加到工程

5212835F-DC2F-49DA-ADCA-2E9AF549D5E1.png

步骤2:添加项目配置

  • 在Other Linker Flags加入 -ObjC 和 -fobjc-arc ,注意不要写为-Objc
1231214142323423.png
  • -ObjC属于链接库必备参数,如果不加此项,会导致库文件无法被正确链接,SDK无法正常运行

步骤3:加入依赖系统库

  • 选中项目Target -> General -> Linked Frameworks and Libraries列表中进行添加
1231681638716619164.png
  • 加入以下系统库:
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只提供测试)
AdMAXInit.png
  • 代码如下:
    //初始化 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

PeAdNativeObject.png

展示例子:

54B3AF0E-C16C-49AA-B0DE-675D1D339AF6.png

注意使用
@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";

793CD251-FDB9-4923-99DB-A71471B04426.png
  • 初始化对象 代码如下:
-(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,即可引入相应的功能代理方法
90B7424B-9455-4669-8FDC-8F9CAB98C8BF.png
  • 进入代理
707B5724-49B6-41AB-BC14-FBC614A8373C.png
  • 代理实现
    例:

#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.增加了落地广告展示,分别有 AdMaxWebSafari,用户自定义 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点击后,展示方式设置的公开方法


    FADAF82F-28B5-4EE8-8A35-A3870F9D31E2.png
  • SDK点击后,展示方式初始化以及方法使用

92D8CF64-2A7C-4B83-9A2E-59D589E3CD4C.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,113评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,644评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,340评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,449评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,445评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,166评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,442评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,105评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,601评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,066评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,161评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,792评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,351评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,352评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,584评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,618评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,916评论 2 344

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,601评论 18 139
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,321评论 8 265
  • 每个人的一生会遇到很多十字路口,我们需要做很多选择,作为年轻老师的我们更是如此,每次当我们接到任务的时候会...
    秋_4469阅读 384评论 0 0
  • 书友分享 From 楚汐 联想到万维钢老师的新书《高手:精英的见识和我们的时代》里,曾提到的一个公式: 喜欢 = ...
    努力每一天JM阅读 316评论 0 0
  • 乌木颜色分明的边缘,厚重霸气,乌木独特的纹路更是美美的~
    暖暖的红豆阅读 264评论 0 4