CocoaPods trunk is moving to be read-only. Read more on the blog, there are 6 months to go.

BXKAdvertSDK 1.0.2

BXKAdvertSDK 1.0.2

Maintained by dataoke-ad.



 
Depends on:
AFNetworking>= 0
Masonry>= 0
SDWebImage>= 0
 

  • By
  • wit

BXKAdvert集成指南

Cocoapods自动集成(推荐)

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

target 'BXKDemo' do
   pod 'BXKAdvertSDK'
end

手动集成

工程配置

  1. 下载BXKAdvert,解压.zip文件得到相应源码及资源文件。

  2. XcodeFile —> Add Files to "Your Project",在弹出Panel选中所下载组件包->Add。(注:选中“Copy items if needed”)

    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 系统异常,请联系技术