iOS開發(fā)之 - 廣告植入

應(yīng)用中植入廣告是iOS開發(fā)者獲得收益的方式之一,其實有很多 app 的絕大部分盈利都來自于廣告收入......下面就開始介紹兩種主流的植入廣告的方法:iAd 方式和 Admob方式。

一、iAd 方式

  • iAd 方式簡介
    iAd 移動廣告業(yè)務(wù)是喬布斯在2010年推出來的,懷念~~~


    iAd

    剛開始的時候,iAd 的確有很大的發(fā)展,但是隨著時間的推移,更是在老喬辭世??之后,iAd 的使用人數(shù)便越來越少。以至于今年年初,蘋果公司宣布將要放棄在 iAd 平臺上直接出售廣告,而是將其轉(zhuǎn)交給出版商。。。但是作為 iOS 開發(fā)者的我們,還是有了解的必要, iAd 廣告平臺依在。

  • 使用步驟如下:

1.1 導(dǎo)入iAd.framework 依賴庫


iAd.framework

1.2 方便起見,我是在 Main.storyboard 中拉入ADBannerView


ADBannerView

1.3 代碼實現(xiàn)

#import "ViewController.h"
#import <iAd/iAd.h>

@interface ViewController () <ADBannerViewDelegate>
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *bannerViewBottom;
@property (nonatomic,strong)ADBannerView *bannerView;


@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}

#pragma mark - ADBannerViewDelegate 協(xié)議一共有五個方法
// 廣告即將被加載
- (void)bannerViewWillLoadAd:(ADBannerView *)banner{
    NSLog(@"bannerViewWillLoadAd");
}

// 廣告已被加載
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    NSLog(@"bannerViewDidLoadAd");
    
    self.bannerViewBottom.constant = 0;
    
    [UIView animateWithDuration:0.5 animations:^{
        [self.view layoutIfNeeded];
    }];
}

// 是否出現(xiàn)全屏的廣告
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave {
// return YES: 用戶點擊 Banner 之后,會出現(xiàn)全屏廣告
//    如果返回的是 NO,用戶點擊 Banner 之后, 不會出現(xiàn)全屏廣告
//    另外如果返回 YES, 用戶其它的活動都會被暫停
    return YES;
}

// 全屏的廣告退出時調(diào)用,用戶其它的活動都會被喚醒
- (void)bannerViewActionDidFinish:(ADBannerView *)banner {

    NSLog(@"bannerViewActionDidFinish");
}


// 如果 app 上沒有廣告,就會調(diào)用這個方法
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"didFailToReceiveAdWithError");
}
@end

二、Admob方式

  • Admob方式簡介
    Admob 是 Google 推出的,用的人比較多,它提供了目前為止最方便的 iPhone app 廣告集成庫。
Admob

下面說一下它的基本使用~~~

2.1 首先需要注冊Admob、設(shè)置賬戶信息、創(chuàng)建應(yīng)用等等,這里不再詳細介紹,如果有朋友需要可以借鑒這篇文章

2.2 集成Admob SDK.
2.21 下載Admob SDK:Admob SDK
2.22 下載完成后,將這兩個文件導(dǎo)入項目:

Admob SDK

2.23 添加依賴庫

添加依賴庫

2.24 導(dǎo)入頭文件
注意需要導(dǎo)入的事這兩個頭文件!

#import "GoogleMobileAds/GADInterstitial.h"
#import "GoogleMobileAds/GADBannerView.h"

2.3 代碼實現(xiàn)

  • 在屏幕底部植入廣告
#import "ViewController.h"

#import "GoogleMobileAds/GADInterstitial.h"
#import "GoogleMobileAds/GADBannerView.h"

@interface ViewController (){
    GADBannerView *bannerView;
    
}
@end

static NSString *MyId = @"********";
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 在屏幕底部創(chuàng)建標(biāo)準(zhǔn)尺寸的視圖
    bannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height -GAD_SIZE_320x50.height, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)];
    bannerView.backgroundColor = [UIColor redColor];
    
    // 指定廣告的標(biāo)識符
    bannerView.adUnitID = MyId;
    
    // 轉(zhuǎn)至廣告的展示位置之后恢復(fù)哪個 UIViewController
    bannerView.rootViewController = self;
    [self.view addSubview:bannerView];
    
    // 請求并加載廣告
    [bannerView loadRequest:[GADRequest request]];
}
@end
  • 也可以在屏幕頂部植入廣告
#import "ViewController.h"

#import "GoogleMobileAds/GADInterstitial.h"
#import "GoogleMobileAds/GADBannerView.h"

@interface ViewController (){
    GADBannerView *bannerView;
    
}
@end

static NSString *MyId = @"********";
@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];
    // 導(dǎo)航欄位置添加廣告
    float y =self.navigationController.navigationBar.frame.size.height + [[UIApplication sharedApplication] statusBarFrame].size.height;
    float x = ([UIScreen mainScreen].bounds.size.width - 320) / 2;
    bannerView=[[GADBannerView alloc]initWithAdSize:kGADAdSizeBanner origin:CGPointMake(x, y)];
    bannerView.adUnitID = MyId;
    bannerView.backgroundColor = [UIColor redColor];
    bannerView.rootViewController = self;
    [self.view addSubview:bannerView];
    GADRequest *request = [GADRequest request];
    request.testDevices = @[MyId,MyId];
    [bannerView loadRequest:request];
}

當(dāng)然,你可以在任何你希望的地方植入廣告,大家可以試試的??!以后要是用的多了,我會繼續(xù)在這里補充,另外如果代碼書寫有誤,還請大家能夠指出來!互相交流學(xué)習(xí)!謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容