Skip to content

バナー広告の導入

tateo-okubo edited this page Jun 11, 2018 · 23 revisions

こちらの変更履歴をご覧になってから導入を開始してください。

必要条件

  • XCode 9以上
  • iOS 8.0以上

adstir SDK 2.12.0よりiOS 8.0以上の端末にのみ配信されます。

初期設定

初期設定をご覧ください。

対応提携ネットワーク

対応提携ネットワークについてのページをご覧ください。

Amazonモバイル広告を利用される場合

こちらをご覧ください。

MoPub広告を利用される場合

こちらをご覧ください。

広告の設置

以下のどちらかの方法で広告を設置してください。

Objective-C

  • FooViewController.m
#import <AdstirAds/AdstirAds.h>

@interface FooViewController ()

@property (retain) AdstirMraidView *adstir;

@end

@implementation

- (void)viewDidLoad
{
    // 広告表示位置: タブバーの下でセンタリング、広告サイズ: 320,50 の場合
    CGFloat originX = (self.view.frame.size.width - kAdstirAdSize320x50.size.width) / 2;
    CGFloat originY = [UIApplication sharedApplication].statusBarFrame.size.height;
    AdstirMraidView *aAdstir = [[[AdstirMraidView alloc] initWithAdSize:kAdstirAdSize320x50 origin:CGPointMake(originX, originY)
        media:@"メディアID" spot:枠No] autorelease];
    aAdstir.intervalTime = 広告リフレッシュ秒[整数];
    aAdstir.delegate = self;
    [self.view addSubview:aAdstir];
    self.adstir = aAdstir;
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    // 広告の読み込みを再開します。
    [self.adstir start];
}

- (void)viewWillDisappear:(BOOL)animated
{
    // 広告の読み込みを停止します。
    [self.adstir stop];
    // この他にも、Viewが非表示になると思われる箇所では、stopを呼び出すことで無駄なインプレッションが発生しません。
}

- (void)dealloc
{
    // デリゲートを解放します。解放を忘れるとクラッシュする可能性があります。
    self.adstir.delegate = nil;
    // 広告ビューを解放します。
    self.adstir = nil;
}

@end

Swift

import AdstirAds

class FooViewController: UIViewController, AdstirMraidViewDelegate {

    var adView: AdstirMraidView? = nil

    override func viewDidLoad() {
        super.viewDidLoad()

        // 広告表示位置: タブバーの下でセンタリング、広告サイズ: 320,50 の場合
        var originY = UIApplication.sharedApplication().statusBarFrame.size.height
        var originX = (self.view.frame.size.width - kAdstirAdSize320x50.size.width) / 2
        var adView = AdstirMraidView(adSize: kAdstirAdSize320x50, origin: CGPointMake(originX, originY), media: "MEDIA-899477da", spot: 2)

        // リフレッシュ秒数を設定します。
        adView.intervalTime = 広告リフレッシュ秒[整数]
        // デリゲートを設定します。
        adView.delegate = self

        // 広告ビューを親ビューに追加します。
        self.view.addSubview(adView)
        self.adView = adView
    }

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

        // 広告の読み込みを開始/再開します。
        self.adView?.start()
    }

    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)

        // 広告の読み込みを停止します。
        self.adView?.stop()
        // この他にも、Viewが非表示になると思われる箇所では、stopを呼び出すことで無駄なインプレッションが発生しません。
    }

    deinit {
        // デリゲートを解放します。解放を忘れるとクラッシュする可能性があります。
        self.adView?.delegate = nil
        // 広告ビューを解放します。
        self.adView = nil
    }
}

設置に当たっての注意点

  • iPhone 6/6 Plusに対応したアプリでは、縦向きの際でも画面幅一杯に広告を表示することができません。左右中央にセンタリングして表示するなど、レイアウトの調整をお願い致します。
  • ARCを利用している場合は、propertyの宣言をretainから、strongに変更し、autoreleaseを削除してください。
  • バージョン2.0.0から、広告ビューがAdstirMraidViewになりました。お手数をおかけいたしますが、変更をお願いいたします。
  • バージョン2.0.0から、広告サイズの指定方法が変更になりました。下記の対応している広告サイズを参考に、実装してください。
  • バージョン2.0.0から、枠Noの指定方法が文字列から整数(自然数、NSUInteger)に変更になりました。
  • Xcodeの仕様で、文字列のままでも警告が出ませんのでご注意ください。

対応している広告サイズ

モバイルバナー(320x50)

kAdstirAdSize320x50を指定します。

モバイルバナー(320x100)

kAdstirAdSize320x100を指定します。

レクタングル(300x250)

kAdstirAdSize300x250を指定します。

カスタム広告サイズ

カスタムの広告サイズを定義することも可能ですが、 当社提供のAdStir CPCでの案件が掲載できない場合がございますので、ご注意ください。

AdstirSizeFromCGSize(CGSizeMake(468.0f, 60.0f));

ライブラリ詳細

APIリファレンスをご覧ください。

Clone this wiki locally