RubyMotionでアイコン型広告アスタを導入する

RubyMotionでアイコン型広告

弊社ではiOSアプリの開発はRubyMotionで行っています。
Rubyで簡潔にコードが記述でき、なによりXcodeが不要でターミナルで開発できるため、使い慣れたエディタ上で開発が完結する、というのがハッカーにとっては最大の魅力です。
今回はそのRubyMotionでバナー広告と比べて省スペースでクリック率の高いアイコン型広告のアスタを導入してみます。

導入手順

まずはアスタのHPから新規登録し、アカウントを作成します。
この辺りは特に迷うこともないので割愛し、以下、アカウントが作成されたものとして説明を進めます。

では、RubyMotionでプロジェクトを作成します。
今回はrubymotion_ast_exampleをプロジェクト名とします。

$ motion create rubymotion_ast_example
    Create rubymotion_ast_example
    Create rubymotion_ast_example/.gitignore
    Create rubymotion_ast_example/app/app_delegate.rb
    Create rubymotion_ast_example/Gemfile
    Create rubymotion_ast_example/Rakefile
    Create rubymotion_ast_example/resources/Default-568h@2x.png
    Create rubymotion_ast_example/spec/main_spec.rb

つぎにアスタのSDKをダウンロードします。
ログイン後広告枠一覧に移動し、広告枠タグ及びSDK取得から取得します。
取得したSDKを解凍し、vendorディレクトリを作成し、MrdIconSDK.frameworkvendor以下に配置します。
そして、このSDKをプロジェクトから使用できるようにRakefileに次のコードを追加します。

app.vendor_project('vendor/MrdIconSDK.framework', :static, :products => ['MrdIconSDK'], :headers_dir => 'Headers')

また、表示されているメディア識別コードをRakefileに次のように埋め込みます。

app.info_plist['AstMediaCode'] = 'astXXXXXXXXXXXXXX' # メディア識別コード

これで準備は整いました。
ではさっそく実際にアイコン型広告を表示するように実装しましょう。
app/app_delegate.rbを次のように編集します。

class ViewController < UIViewController
  def viewDidLoad
    @icon_cell = MrdIconCell.alloc.initWithFrame([[10, 10], [75, 75]])
    @icon_loader = MrdIconLoader.alloc.init
    @icon_loader.addIconCell(@icon_cell)
    media_code = NSBundle.mainBundle.infoDictionary.valueForKey('AstMediaCode')
    @icon_loader.startLoadWithMediaCode media_code
    self.view.addSubview @icon_cell

    super
  end
end

class AppDelegate
  def application(application, didFinishLaunchingWithOptions:launchOptions)
    @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds).tap do |x|
      x.makeKeyAndVisible
      x.rootViewController = ViewController.alloc.init
    end
    true
  end
end

コンパイルして実行します。

$ rake

シミュレータが起動し、アイコン型広告が表示されていることが確認できるかと思います。

まとめ

今回はRubyでiOSやMacOS用のアプリが開発できる開発ツールRubyMotionで、クリック率が高いアイコン型広告アスタを導入する方法を紹介しました。
省スペースでクリック率の高いアイコン型広告を導入することでアプリの効率的なマネタイズが可能になります。

ご質問等、何かありましたらこちらへ。