アドフリくんの動画インタースティシャル広告を表示する「DCAdfurikunInterstitial」クラス

iPhoneアプリにアドフリくんの動画インタースティシャル広告を表示する「DCAdfurikunInterstitial」クラスを作成しました。

公式マニュアルの通りの実装になりますが、作業時間短縮のお役に立てば幸いです。ご使用の際は広告枠IDを指定してください。

下記よりサンプルをダウンロード出来ます。

ダウンロード

導入準備

1. 広告枠IDの保持

1
NSString *const ADFURIKUN_INTERS_UNIT_ID = @"広告枠ID";

2. アプリ起動時に初期化

AppDelegate.h

1
#import <ADFMovieReward/ADFmyInterstitial.h>

AppDelegate.m

1
2
3
4
5
6
7
8
9
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // アドフリくんインタースティシャル広告初期化
    if ([ADFmyInterstitial isSupportedOSVersion] ) {
        [ADFmyInterstitial initializeWithAppID:ADFURIKUN_INTERS_UNIT_ID];
    }

    return YES;
}

e.x. Info.plistの編集

AdMobを使用する場合は Info.plistGADApplicationIdentifierの設定値を追加してください。

クラスの使用方法

動画インタースティシャル広告の読み込み

1
[[DCAdfurikunInterstitial sharedManager] loadInterstitial:self];

ソースコード

DCAdfurikunInterstitial.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import <Foundation/Foundation.h>
#import <ADFMovieReward/ADFmyInterstitial.h>

@interface DCAdfurikunInterstitial : NSObject <ADFmyMovieRewardDelegate> {
    ADFmyInterstitial *adfurikunInterstitial;
}

#pragma mark - property
@property (nonatomic, strong) UIViewController *rootViewController;

#pragma mark - public method
+ (id)sharedManager;
- (void)loadInterstitial:(UIViewController *)viewController;

@end

DCAdfurikunInterstitial.m

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#import "DCAdfurikunInterstitial.h"

@implementation DCAdfurikunInterstitial

#pragma mark - Shared Manager

static id sharedInstance = nil;

+ (id)sharedManager
{
    @synchronized(self) {
        if (!sharedInstance) {
            sharedInstance = [[self alloc] init];
        }
    }

    return sharedInstance;
}

#pragma mark - Adfurikun Interstitial Ad

// Adfurikunインタースティシャル広告読み込み
- (void)loadInterstitial:(UIViewController *)viewController
{
    if (![viewController isEqual:self.rootViewController]) {
        self.rootViewController = viewController;
    }

    adfurikunInterstitial = [ADFmyInterstitial getInstance:ADFURIKUN_INTERS_UNIT_ID delegate:self];
    [adfurikunInterstitial load];
}

// 広告の読み込みが完了した時に呼ばれる
- (void)AdsFetchCompleted:(NSString *)appID isTestMode:(BOOL)isTestMode_inApp
{
    if (adfurikunInterstitial != nil && [adfurikunInterstitial isPrepared] ) {
        [adfurikunInterstitial playWithPresentingViewController:self.rootViewController];
    }
}

// 広告の読み込みに失敗した時に呼ばれる
- (void)AdsFetchFailed:(NSString *)appID error:(NSError *)error
{
}

// 広告の表示を開始した時に呼ばれる
- (void)AdsDidShow:(NSString *)appID adNetworkKey:(NSString *)adNetworkKey
{
}

// 広告の再生が完了した時に呼ばれる
- (void)AdsDidCompleteShow:(NSString *)appID
{
}

// 広告を閉じた時に呼ばれる
- (void)AdsDidHide:(NSString *)appID
{
}

// 広告の再生エラー時に呼ばれる
- (void)AdsPlayFailed:(NSString *)appID
{
}

@end

関連記事

About

廣川政樹 (@dolice_apps)

テクニカルアーティスト 廣川政樹の開発ブログ。Objective-Cや Javaなど iPhone/Androidアプリ開発に関する技術情報を掲載しています。

iPhone apps

  • リラックス・ヒーリング
  • 望みが叶う!引き寄せの法則アプリ
  • 泣ける話 - 感動のエピソードまとめ - ラクリマ
  • ミステリー - 怖い話や不思議な体験、都市伝説まとめ
  • 浮世絵壁紙 - 美しい日本画ギャラリー
  • 綺麗な壁紙

Android apps

  • 浮世絵壁紙 - 美しい日本画ギャラリー
  • 綺麗な高画質壁紙

Objective-C Classes

Tag Cloud

ActionScript(9) ActionScript3(7) Ad(5) Adfurikun(2) AdMob(12) Android(11) Animation(17) AppDelegate(3) ARC(1) ArrayList(1) AVAudioPlayer(4) AVAudioSession(1) AVFoundation(3) Banner(2) Bitmap(1) Camera(4) CGAffineTransform(4) CGBlendMode(2) CGContextRef(1) CGImageRef(1) Classes(49) CLLocationManager(1) ConnectivityManager(1) ContentResolver(1) CoreLocation(2) Delegate(3) Device(7) Display(1) DisplayMetrics(1) Download(109) Facebook(6) Foundation(72) Framework(2) Google Analytics(1) Handler(1) iAd(6) ImageView(1) In-AppPurchase(1) iOS(12) iOS 7(15) iOS 7.1(3) iOS 8(1) iPad(7) iPhone(24) iPhone 6(4) Java(7) JavaScript(2) LINE(4) Localize(1) Magazine(3) MediaStore(1) MFComposeViewController(1) Nend(1) NetworkInfo(1) NSArray(23) NSCalendar(3) NSData(2) NSDate(7) NSDateComponents(2) NSDateFormatter(2) NSDictionary(12) NSEnumerator(1) NSIndexSet(1) NSInteger(6) NSMutableArray(17) NSMutableDictionary(5) NSMutableOrderedSet(7) NSMutableString(4) NSMutableURLRequest(1) NSNotificationCenter(1) NSNumber(1) NSObject(1) NSOrderedSet(7) NSRange(2) NSSelectorFromString(1) NSSet(6) NSString(19) NSTimer(4) NSTimeZone(1) NSURL(7) NSURLConnection(1) NSURLRequest(2) NSUserDefaults(7) NSXMLParser(2) Objective-C(229) PHP(1) Products(17) QuartzCore(3) RSS(2) Runnable(1) Sample(51) Screensaver(9) SDK(2) ShareCompat(1) Social(10) StoreKit(1) Twitter(6) UIAccelerometer(3) UIActionSheet(1) UIActivityIndicator(1) UIActivityIndicatorView(3) UIActivityViewController(1) UIAlertView(5) UIApplication(7) UIButton(4) UIColor(3) UIDatePicker(5) UIDevice(6) UIDeviceOrientation(1) UIEvent(6) UIImage(15) UIImagePickerController(4) UIImageView(12) UIKit(58) UILabel(7) UINavigationBar(4) UINavigationItem(1) UIPasteboard(4) UIScreen(1) UIScrollBar(1) UIScrollView(1) UISlider(3) UIStoryboardSegue(3) UISwitch(1) UITabBar(3) UITableView(4) UITextField(2) UIView(11) UIViewAnimationTransition(1) UIViewController(4) UIWebView(5) Uncategorized(1) UserNotifications(1) WindowManager(1) Xcode(48) Xcode 5(8) Xcode 5.1(2)