Hatena::ブログ(Diary)

つれづれなる・・・ RSSフィード Twitter

2012/01/24 (Tue)

[] Titanium Mobile で開発した iPhone アプリに AdMob を導入する 12:24  Titanium Mobile で開発した iPhone アプリに AdMob を導入するを含むブックマーク

バージョンアップ開発中のすき間iPhoneアプリDM@chatにAdmobを表示したくて調べたけれど、あまりきれいにまとまった手順がなかったので、自分のためにも残しておく。

Titanium Mobile の提供である Appcelerator から AdMob 用のモジュール提供されたので、それを iPhone アプリに導入するための手順です。

Appcelerator Developer Blogよりmodules提供のお知らせのポストだと手順がわかりづらかったので、それより新しめのAndroid導入用のポスト動画を参考にさせてもらった。

1. Appcelerator の github から AdMob modules をダウンロードする

いくつかのmodulesがgithubで公開されている

  1. 今回必要なのはiPhone用のAdMobモジュールなので、この階層(admob/mobile/ios)まで移動する。
  2. このディレクトリ内にある、「ti.admob-iphone-***.zip」というファイル名を見つける。
  3. zipファイル名をクリックする。
  4. 次に表示された画面にて「rawリンククリックする。ダウンロードできるので適当場所に保存する。
2. Titanium Mobile プロジェクト内へ配置する
  1. ダウンロードしたzipファイルプロジェクトディレクトリ直下(Resourcesやtiapp.xmlと同じ階層)に移動する。
  2. zipファイルを開き解凍する
  3. modulesディレクトリ作成される。
    • 中身は今回の場合iphone/ti.admob/1.1/... のようになっている。
  4. 不要になったzipファイルを削除する。

以下のように、Resourcesディレクトリとtiapp.xmlファイルと同じ階層に「modules」ディレクトリが置かれればOK。

f:id:d_sea:20120124112355p:image

3. tiapp.xml編集する
  1. tiapp.xml適当エディタソフトで開く。
  2. <modules></modules>の部分記述を変える。
	<modules>
	    <module version="1.1">ti.admob</module>
	</modules>
4. (一度動作確認したければ、)example/app.js で動かしてみる。
  1. プロジェクト内の app.js適当名前リネームして、modules/iphone/ti.admob/1.1/example にある app.jsコピーしてくる。
  2. Titanium Studioのメニューより、該当のプロジェクトに対して、Project > Clean実施する。
  3. Titanium Studioのメニューより、Run > Run を実行して、シミュレータを起動する。
  4. AdMobが表示されればOK。
  5. exampleからコピーしてきた app.js を削除し、リネームしたものを app.js に戻す。
5. オリジナル app.js に追記する。

起動時に app.js がビューする場合は、以下を app.js に追記すれば良い。adviewをWindowに入れれば表示される。

publisherID の部分は事前に AdMobサイトアプリを登録した際に発行されるID入力してください。

var Admob = require('ti.admob');
var win = Ti.UI.createWindow({
    backgroundColor: 'white'
});

var adview = Admob.createView({
    top: 0, left: 0,
    width: 320, height: 50,
    adBackgroundColor: 'black',
    testing: true,
    keywords: '',
    publisherId:'***************' // 取得したIDに置き換えてください。
});

win.add(adview);

自分場合、app.js は tabGroup の設定のみなので追記した先は app.js ではなく、tab 内の window で指定されているファイルにそれぞれ以下のように追記した。

AdMob が上部で、その下が TableView を表示したかったので top定義している。

var win = Ti.UI.currentWindow;

// Admob
var Admob = require('ti.admob');
var adview = Admob.createView({
    top: 0, left: 0,
    width: 320, height: 50,
    adBackgroundColor: 'black',
    testing: true,
    keywords: '',
    publisherId:'a14f1d41c54f42c' // Replace this string with your own API key!
});

win.add(adview);

var data = [];
var tableView = Ti.UI.createTableView({
    data:data,
    top:50, left:0,
    width:320,
    minRowHeight:58
});

win.add(tableView);
6. シミュレータを起動してみる。
  1. Titanium Studioのメニューより、該当のプロジェクトに対して、Project > Clean実施する。
  2. Titanium Studioのメニューより、Run > Run を実行して、シミュレータを起動する。
  3. AdMobが表示されればOK。

以下のような感じで無事表示できましたと。

f:id:d_sea:20120124122013p:imagef:id:d_sea:20120124122012p:image


参考URL
リンク元