Skip to content

Get Started

im-ttmskk edited this page Mar 15, 2017 · 21 revisions

1. Xcode による SDK の設定

1.1 Xcode によるプロジェクトの作成

新規に「Single View Application」を作成した場合を例に説明します。

1.1.1 Xcode を起動し、新規に「Single View Application」を選択し、[Next]をクリックします。

1.1.2 必須情報とオプション項目を入力します。この例では以下のように入力します。

項目 入力値
Product Name Sample01
Organization Name yourcompany
Company Identifier com.yourcompany
Device Family Universal
![](https://github.com/imobile-maio/maio-iOS-SDK/blob/wiki/doc/images/_2.png)

1.1.3 プロジェクトの作成先として任意のフォルダを作成し、[Create]をクリックし、 プロジェクトを作成します。

1.2 SDK をプロジェクトに追加する

1.2.1 maioSDK の zip ファイルを解凍します。

1.2.2 解凍後のフォルダ内の「Maio.framework」を Finder から Xcode 上の[Project Navigator]へドラッグ&ドロップします。

1.2.3 ダイアログが表示されますので、コピーする際は"Destination: Copy items if needed"にチェックを入れ完了します。

1.2.4 ドラッグ&ドロップした位置に、 SDK が追加されます。

2. 広告の表示方法

以下は、「1. Xcode による SDK の設定」の手順が完了していることを前提とします。

2.1 コードの実装例

  • 初期化を行うコードを追加します。
// AppDelegate.m

// Maio.frameworkをインポート
#import <Maio/Maio.h>

// ... 略 ...
- (BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {
    ViewController *viewController = (ViewController *)self.window.rootViewController;

    // 広告の配信テスト設定を行います。アプリをリリースする際にはコメントアウトしてください。
    [Maio setAdTestMode: YES];

    // maio SDKの初期化を開始します。
    // MAIO_MEDIA_ID は、Maio管理画面より割り当てられたメディアIDに差し替えてください。
    [Maio startWithMediaId: @"MAIO_MEDIA_ID" delegate: viewController];
}
  • デリゲートの宣言を行います。
// viewController.h

// デリゲートの設定を行います。
// これによって、SDKからのイベント通知を取得することが可能になります。
@interface ViewController : UIViewController <MaioDelegate>
  • 再生ボタンの実装と、動画再生後のリワードを付与する処理を宣言します。
// viewController.m

@implementation viewController

// ... 略 ...

// ストーリーボード上のこのメソッドに紐付けられたボタンがタップされた際に呼び出されます。
- (IBAction) onOpenAd : (id) sender {
    // canShowプロパティがYESの場合に、動画広告を表示します。
    if([Maio canShow]) {
        [Maio show];
    }
}

// 広告表示完了時に呼び出すデリゲートを設定します。
// これによって、SDKからのイベント通知を取得することが可能になります。
// 本メソッドは、ユーザが動画を見終わった直後に呼び出されます。  
// ”skipped”が”NO”であれば最後まで動画が再生された事を示しますので、  
// その際にユーザに報酬を付与する事が可能になります。  
- (void) maioDidFinishAd: (NSString *) zoneId 
                playtime: (NSInteger) playtime
                 skipped: (BOOL) skipped 
             rewardParam: (NSString *) rewardParam {

}

// ... 略 ...

@end

3. デリゲートで各種イベントを受け取る

アプリにデリゲートを設定することで、 SDK からのイベント通知を取得することが可能になります。
デリゲートの設定方法に関しては、「2.1 コードの実装例」をご参照ください。

  • 広告表示準備完了時に呼ばれるメソッド
/**
  * 全てのゾーン(広告スポット)の広告表示準備が完了した際に呼ばれます。
  */
- (void) maioDidInitialize {
    // 広告表示準備完了時の処理
}
  • 広告配信可能状態の変更時に呼ばれるメソッド
/**
  * 広告の配信可能状態が変更された際に呼ばれます。
  *
  * @param zoneId NSString 広告の配信可能状態が変更されたゾーンの識別子
  * @param BOOL newValue 変更後のゾーンの状態 ※YESの場合配信可能
  */
- (void) maioDidChangeCanShow: (NSString *) zoneId newValue: (BOOL) newValue {
    // 変更時の処理
}
  • 動画広告再生直前に呼ばれるメソッド
/**
  * 動画が再生される直前に呼ばれます。  
  * 最初の再生開始の直前にのみ呼びだされ、リプレイ再生の直前には呼ばれません。
  *
  * @param zoneId NSString 広告が表示されるゾーンの識別子
  */
- (void) maioWillStartAd: (NSString *) zoneId {
    // 再生直前に呼ばれる処理
}
  • 広告再生終了時に呼ばれるメソッド
/**
  * 広告の再生が終了したら呼ばれます。
  * 最初の再生終了時にのみ呼ばれ、リプレイ終了時には呼ばれません。
  *
  * @param zoneId NSString 広告を表示したゾーンの識別子
  * @param playtime NSInteger 動画の再生時間(秒)
  * @param skipped BOOL 動画がスキップされているかどうか。されていたらYES,それ以外ではNO
  * @param rewardParam NSString ゾーン(広告枠)の広告タイプがリワード型に設定されている場合、
  *        予め管理画面にて設定してある任意の文字列パラメータが渡されます。
  *        それ以外の場合はnilが渡されます。
  */
- (void) maioDidFinishAd: (NSString *) zoneId 
                playtime: (NSInteger) playtime 
                 skipped: (BOOL) skipped 
             rewardParam: (NSString *) rewardParam {
    // 再生終了時に呼ばれる処理
}
  • 広告がクリックされた際に呼ばれるメソッド
/**
  * 広告がクリックされ、AppStoreや外部リンクへ遷移した際に呼ばれます。
  *
  * @param zoneId NSString 広告がクリックされたゾーンの識別子
  */
- (void) maioDidClickAd: (NSString *) zoneId {
    // 広告がクリックされた際に呼び出される処理
}
  • 広告が閉じられた際に呼ばれるメソッド
/**
  *  広告が閉じられた際に呼び出されます。
  *
  * @param zoneId NSString 広告が閉じられたゾーンの識別子
  */
- (void) maioDidCloseAd: (NSString *) zoneId {
}
  • エラー時に呼ばれるメソッド
/**
  *  エラーが発生した際に呼び出されます。
  *
  *  @param zoneId NSString エラーに関連するゾーンの識別子
  *  @param reason MaioFailReason エラーの理由を示す列挙値
  *  https://github.com/imobile-maio/maio-iOS-SDK/wiki/API-Reference#maiofailreason-enum-1
  */
- (void) maioDidFail: (NSString *) zoneId reason: (MaioFailReason) reason {
    NSLog(@"%d", reason);
}
Clone this wiki locally