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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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