Skip to content

Get Started

hiro-matsu06 edited this page Jul 19, 2016 · 21 revisions

Get Started

1. XcodeによるSDKの設定

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

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

  1. Xcodeを起動し、新規に「Single View Application」を選択し、[Next]をクリックします。
  2. 必須情報とオプション項目を入力します。この例では以下のように入力します。
項目 入力値
Product Name Sample01
Organization Name yourcompany
Company Identifier com.yourcompany
Device Family Universal
![](https://github.com/imobile-maio/maio-iOS-SDK/blob/master/_2.png)
  1. プロジェクトの作成先として任意のフォルダを作成し、[Create]をクリックし、 プロジェクトを作成します。

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

  1. maioSDKのzipファイルを解凍します。
  2. 解凍後のフォルダ内の「Maio.framework」をFinderからXcode上の[Project Navigator]へドラッグ&ドロップします。
  3. ダイアログが表示されますので、コピーする際は"Destination: Copy items if needed"にチェックを入れ完了します。
  4. ドラッグ&ドロップした位置に、SDKが追加されます。

2. 任意のアクション実行時に広告を表示する

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

1. 広告の表示方法

  1. Maio.frameworkをインポート
  #import <Maio/Maio.h>
  1. MaioSDKをセットアップ
[Maio startWithMediaId: @"MAIO_MEDIA_ID" delegate: viewController];
  1. デリゲートの設定
  @interface ViewController : UIViewController <MaioDelegate>
  1. 広告を表示する
  if([Maio canShow]) {
    [Maio show];
  }
  1. 広告表示完了時に呼び出すデリゲートを設定
- (void) maioDidFinishAd: (NSString *) zoneId playtime: (NSInteger) playtime 
skipped: (BOOL) skipped rewardparam: (NSString *) rewardParam {

}

2. コードの記述例

  1. AppDelegate.mに「Maio/Maio.h」をインポートし、「didFinishLaunchingWithOptions」にSDKの初期化処理を記述します。
  #import "AppDelegate.h"
  #import <Maio/Maio.h>

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

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

    // maio SDKのセットアップを開始します。
    [Maio startWithMediaId: @"MAIO_MEDIA_ID" delegate: viewController];
  }
項目 設定値
MAIO_MEDIA_ID Maio管理画面より割り当てられたメディアID NSString
  1. ViewControllerにデリゲートを設定します。これによって、SDKからのイベント通知を取得することが可能になります。
  • ViewController.h
#import <Maio/Maio.h>
@interface ViewController : UIViewController <MaioDelegate>
... 略 ...
@end
  1. 任意のアクション実行時に広告を表示する。 (再生準備が整っていれば、動画広告が再生されます)
  • ViewController.m
- (IBAction) onOpenAd : (id) sender {
  // 動画広告を表示
  if([Maio canShow]) {
    [Maio show];
  }
}
  1. 動画再生が完了した際に呼ばれるデリゲートメソッドを記述する。

maioDidFinishAdデリゲートメソッドは、ユーザが動画を見終わった直後に呼び出されます。
”skip”が”NO”であれば最後まで動画が再生された事を示しますので、
その際にユーザに報酬を付与する事が可能になります。

  • ViewController.m
@implementation ViewController

... 略 ...

- (void) maioDidFinishAd: (NSString *) zoneId playtime: (NSInteger) playtime skipped: (BOOL) skipped
rewardParam: (NSString *) rewardParam {
  // 動画再生完了時の処理
}

... 略 ...

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

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

  1. 広告表示準備完了時に呼ばれるメソッド
  • 全てのゾーン(広告スポット)の広告表示準備が完了したら呼ばれます。
- (void) maioDidInitialize {
 // 広告表示準備完了時の処理
}
  1. 広告配信可能状態の変更時に呼ばれるメソッド
  • 広告の配信可能状態が変更されたら呼ばれます。
- (void) maioDidChangeCanShow: (NSString *) zoneId newValue: (BOOL) newValue {
   // 変更時の処理
}
パラメータ 説明
zoneId 広告の配信可能状態が変更されたゾーンの識別子 NSString
newValue 変更後のゾーンの状態 ※YESの場合配信可能 BOOL
  1. 動画広告再生直前に呼ばれるメソッド
  • 動画が再生される直前に呼ばれます。
    ※最初の再生開始の直前にのみ呼びだされ、リプレイ再生の直前には呼ばれません。
- (void) maioWillStartAd: (NSString *) zoneId {
  // 再生直前に呼ばれる処理
}
パラメータ 説明
zoneID 広告が表示されるゾーンの識別子 NSString
  1. 広告再生終了時に呼ばれるメソッド
  • 広告の再生が終了したら呼ばれます。最初の再生終了時にのみ呼ばれ、リプレイ終了時には呼ばれません。
- (void) maioDidFinishAd: (NSString *) zoneId playtime: (NSInteger) playtime skipped: (BOOL) skipped 
rewardParam: (NSString *) rewardParam {
  // 再生終了時に呼ばれる処理
}
パラメータ 説明
zoneId 広告を表示したゾーンの識別子 NSString
playtime 動画の再生時間(秒) NSInteger
skipped 動画がスキップされていたらYES,それ以外はNO BOOL
rewardParam ゾーン(広告枠)の広告タイプがリワード型に設定されている場合、予め管理画面にて設定してある任意の文字列パラメータが渡されます。それ以外の場合はnilが渡されます。 NSString
  1. 広告がクリックされた際に呼ばれるメソッド
  • 広告がクリックされ、AppStoreや外部リンクへ遷移した際に呼ばれます。
- (void) maioDidClickAd: (NSString *) zoneId {
  // 広告がクリックされた際に呼び出される処理
}
パラメータ 説明
zoneId 広告がクリックされたゾーンの識別子 NSString
  1. 広告が閉じられた際に呼ばれるメソッド
- (void) maioDidCloseAd: (NSString *) zoneId {
  // 広告が閉じられた際の処理
}
パラメータ 説明
zoneId 広告が閉じられたゾーンの識別子 NSString
  1. エラー時に呼ばれるメソッド
- (void) maioDidFail: (NSString *) zoneId reason: (MaioFailReason) reason {
  // エラー時に呼ばれる処理
}
パラメータ 説明
zoneId エラーに関連するゾーンの識別子 NSString
reason エラーの理由を示す列挙値 NSInteger
列挙型 エラー内容 Value
MaioFailReasonUnknown 不明なエラー 0
MaioFailReasonAdStockOut 広告在庫切れ 1
MaioFailReasonNetworkConnection ネットワーク接続エラー 2
MaioFailReasonNetworkClient HTTP status 4xx クライアントエラー 3
MaioFailReasonNetworkServer HTTP status 5xx サーバーエラー 4
MaioFailReasonSdk SDKエラー 5
MaioFailReasonDownloadCanceled クリエイティブダウンロードのキャンセル 6
MaioFailReasonVideoPlayback 動画再生エラー 7

4. Q&A

  • 広告が表示されません

    • ゾーン(広告枠)の初期化から広告の配信準備が完了するまで、少々時間が必要です。
      また、表示されない原因を特定するためにエラーコードをご参照ください。
  • zoneIDについて

    • zoneIDは、広告が表示される枠(ゾーン)の識別子です。
      現状、1アプリにつき1つのzoneIDを付与しております。
  • デリゲートメソッドを実装したのに呼ばれない

    • MaioDelegateの設定が完了していない可能性がございます。「2.1.3広告の表示方法 デリゲートの設定」が完了しているかご確認ください。
  • 新規のmediaID(zoneID)を発行する

    • 現在管理画面を個別で発行させて頂いており、管理画面より新規のメディアIDが発行可能でございます。
      管理画面を作成させていただくにあたり、弊社担当者に以下情報をお伝えくださいませ。

    【必要情報】
    1. 管理画面ご登録名 ※
    2. ログイン用メールアドレス ※
    3. アプリ名
    4. ストアURL
    5. URLスキーム
    ※は必須になります。
    未リリースの場合は決定している範囲で構いません。

Clone this wiki locally