BXKAdvertSDK 1.0.2

BXKAdvertSDK 1.0.2

dataoke-ad 维护。



 
依赖项
AFNetworking>= 0
Masonry>= 0
SDWebImage>= 0
 

  • wit

BXKAdvert 集成指南

Cocoapods 自动集成(推荐)

Cocoapods 将自动安装 BXKAdvert 相关依赖 (AFNetworking, Masonry, SDWebImage),如工程 target 名为 BXKDemo,在项目根目录的 Podfile 中添加 BXKAdvert 并调用 pod install

target 'BXKDemo' do
   pod 'BXKAdvertSDK'
end

手动集成

工程配置

  1. 下载 BXKAdvert,解压 .zip 文件以获得相应源代码和资源文件。

  2. Xcode File —> Add Files to "Your Project",在弹出面板中选择所下载的组件包—>Add。(注:选择“如有需要则复制项目”)

    image-20200828105206731

  3. 添加依赖库 SDWebImage Masonry AFNetworking

image-20200828113155014

初始化

/// **@param** key 你申请的key,必传
/// **@param** secret 你申请的secret,必传
+ (void)registerWithKey:(NSString *)key secret:(NSString *)secret;

示例代码

#import <BXKAdvertSDK/BXKAdvertSDK.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [BXKAdvertSDK registerWithKey:@"你的key" secret:@"你的secret"];
}

创建广告组件步骤:

1、创建广告对象:

@interface ViewController ()
<BXKAdvertDelegate>

@property (nonatomic, strong) id<BXKAdvertProtocol> advert;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.advert = [BXKAdvertFactory createWithType:BXKAdvertTypeStartupScreen comId:@"1886" delegate:self];
    [self.advert startRequest];
}

2、设置代理回调

#pragma mark - BXKAdvertDelegate

// 广告加载成功后的回调,advert广告对象里的view即是你需要展示的视图
- (void)advert:(id<BXKAdvertProtocol>)advert didRequestSuccess:(NSDictionary *)response {

}

// 广告加载失败后的回调
- (void)advert:(id<BXKAdvertProtocol>)advert didRequestFailure:(NSError *)error {
    
}

// 广告点击回调
- (void)advert:(id<BXKAdvertProtocol>)advert didClickWithLandingLink:(NSString *)landingLink {
    
}

启动屏组件

import "BXKViewController.h"
#import <BXKAdvertSDK/BXKAdvertSDK.h>
#import "BXKTestViewController.h"
#import "BXKWebViewController.h"

#define SDKKey     @"eebf41de"
#define SDKSecret @"6a4188fa009807a30b9dc4e0df3d2a05"

@interface BXKViewController ()
<BXKAdvertDelegate>

@property (nonatomic, strong) id<BXKAdvertProtocol> advert;

@end

@implementation BXKViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.advert = [BXKAdvertFactory createWithType:BXKAdvertTypeStartupScreen comId:你的组件id delegate:self];    // 初始化广告
    [self.advert startRequest];    // 开始请求
}


#pragma mark - BXKAdvertDelegate

-(void)advert:(id<BXKAdvertProtocol>)advert didRequestSuccess:(NSDictionary *)response {
    if (advert.type == BXKAdvertTypeStartupScreen) {
            // 显示广告
        BXKTestViewController *vc = [[BXKTestViewController alloc] init];
        vc.advert = advert;
        vc.modalPresentationStyle = UIModalPresentationFullScreen;
        [self presentViewController:vc animated:YES completion:nil];
    }
}

- (void)advert:(id<BXKAdvertProtocol>)advert didRequestFailure:(NSError *)error {
    
}

-(void)advert:(id<BXKAdvertProtocol>)advert didClickWithLandingLink:(NSString *)landingLink {
        // 处理跳转逻辑
    [self dismissViewControllerAnimated:YES completion:nil];
    BXKWebViewController *webVC = [[BXKWebViewController alloc] init];
    webVC.URLString = landingLink;
    [self.navigationController pushViewController:webVC animated:YES];
}

@end

信息流组件

import "BXKViewController.h"
#import <BXKAdvertSDK/BXKAdvertSDK.h>
#import "BXKTestViewController.h"
#import "BXKWebViewController.h"

#define SDKKey     @"eebf41de"
#define SDKSecret @"6a4188fa009807a30b9dc4e0df3d2a05"

@interface BXKViewController ()
<BXKAdvertDelegate>

@property (nonatomic, strong) id<BXKAdvertProtocol> advert;

@end

@implementation BXKViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.advert = [BXKAdvertFactory createWithType:BXKAdvertTypeInfoFlow comId:你的组件id delegate:self];    // 初始化广告
    [self.advert startRequest];    // 开始请求
}


#pragma mark - BXKAdvertDelegate

-(void)advert:(id<BXKAdvertProtocol>)advert didRequestSuccess:(NSDictionary *)response {
    if (advert.type == BXKAdvertTypeInfoFlow) {
            // 显示广告
        // 推荐高度为110
        advert.view.frame = CGRectMake(0, 100, CGRectGetWidth(self.view.bounds), 110);
        [self.view addSubview:advert];
    }
}

- (void)advert:(id<BXKAdvertProtocol>)advert didRequestFailure:(NSError *)error {
    
}

-(void)advert:(id<BXKAdvertProtocol>)advert didClickWithLandingLink:(NSString *)landingLink {
        // 处理跳转逻辑
    BXKWebViewController *webVC = [[BXKWebViewController alloc] init];
    webVC.URLString = landingLink;
    [self.navigationController pushViewController:webVC animated:YES];
}

@end

搜索组件

import "BXKViewController.h"
#import <BXKAdvertSDK/BXKAdvertSDK.h>
#import "BXKTestViewController.h"
#import "BXKWebViewController.h"

#define SDKKey     @"eebf41de"
#define SDKSecret @"6a4188fa009807a30b9dc4e0df3d2a05"

@interface BXKViewController ()
<BXKAdvertDelegate>

@property (nonatomic, strong) id<BXKAdvertProtocol> advert;

@end

@implementation BXKViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.advert = [BXKAdvertFactory createWithType:BXKAdvertTypeSearchBar comId:你的组件id delegate:self];    // 初始化广告
    [self.advert startRequest];    // 开始请求
}


#pragma mark - BXKAdvertDelegate

-(void)advert:(id<BXKAdvertProtocol>)advert didRequestSuccess:(NSDictionary *)response {
    if (advert.type == BXKAdvertTypeSearchBar) {
            // 显示广告
        // 推荐高度为110
        advert.view.frame = CGRectMake(0, 100, CGRectGetWidth(self.view.bounds), 110);
        [self.view addSubview:advert];
    }
}

- (void)advert:(id<BXKAdvertProtocol>)advert didRequestFailure:(NSError *)error {
    
}

-(void)advert:(id<BXKAdvertProtocol>)advert didClickWithLandingLink:(NSString *)landingLink {
        // 处理跳转逻辑
    BXKWebViewController *webVC = [[BXKWebViewController alloc] init];
    webVC.URLString = landingLink;
    [self.navigationController pushViewController:webVC animated:YES];
}

@end

弹出窗口组件

import "BXKViewController.h"
#import <BXKAdvertSDK/BXKAdvertSDK.h>
#import "BXKTestViewController.h"
#import "BXKWebViewController.h"

#define SDKKey     @"eebf41de"
#define SDKSecret @"6a4188fa009807a30b9dc4e0df3d2a05"

@interface BXKViewController ()
<BXKAdvertDelegate>

@property (nonatomic, strong) id<BXKAdvertProtocol> advert;

@end

@implementation BXKViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.advert = [BXKAdvertFactory createWithType:BXKAdvertTypePopUp comId:你的组件id delegate:self];    // 初始化广告
    [self.advert startRequest];    // 开始请求
}


#pragma mark - BXKAdvertDelegate

-(void)advert:(id<BXKAdvertProtocol>)advert didRequestSuccess:(NSDictionary *)response {
    if (advert.type == BXKAdvertTypePopUp) {
            // 弹窗组件在内部已将视图加载到keyWindow,这儿不需要处理
    }
}

- (void)advert:(id<BXKAdvertProtocol>)advert didRequestFailure:(NSError *)error {
    
}

-(void)advert:(id<BXKAdvertProtocol>)advert didClickWithLandingLink:(NSString *)landingLink {
    BXKWebViewController *webVC = [[BXKWebViewController alloc] init];
    webVC.URLString = landingLink;
    [self.navigationController pushViewController:webVC animated:YES];
}

@end

浮动窗口组件

import "BXKViewController.h"
#import <BXKAdvertSDK/BXKAdvertSDK.h>
#import "BXKTestViewController.h"
#import "BXKWebViewController.h"

#define SDKKey     @"eebf41de"
#define SDKSecret @"6a4188fa009807a30b9dc4e0df3d2a05"

@interface BXKViewController ()
<BXKAdvertDelegate>

@property (nonatomic, strong) id<BXKAdvertProtocol> advert;

@end

@implementation BXKViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.advert = [BXKAdvertFactory createWithType:BXKAdvertTypeFloater comId:你的组件id delegate:self];    // 初始化广告
    [self.advert startRequest];    // 开始请求
}


#pragma mark - BXKAdvertDelegate

-(void)advert:(id<BXKAdvertProtocol>)advert didRequestSuccess:(NSDictionary *)response {
    if (advert.type == BXKAdvertTypeFloater) {
            // 显示广告
        // 推荐宽高为114
          advert.view.frame = CGRectMake(200, 400, 114, 114);
        [self.view addSubview:advert.view];
    }
}

- (void)advert:(id<BXKAdvertProtocol>)advert didRequestFailure:(NSError *)error {
    
}

-(void)advert:(id<BXKAdvertProtocol>)advert didClickWithLandingLink:(NSString *)landingLink {
        // 处理跳转逻辑
    BXKWebViewController *webVC = [[BXKWebViewController alloc] init];
    webVC.URLString = landingLink;
    [self.navigationController pushViewController:webVC animated:YES];
}

@end

错误代码

错误码 说明
88004001 请附上认证信息
88004002 secret不能为空
88004003 客户端信息不能为空
88004004 secret信息错误
88004005 sign不能为空
88004006 签名错误
88004007 认证失败
602 系统异常,请联系技术支持