Titaniumでadmobを利用する(Android編)
検索していくつか類似のページはヒットするものの、Appceleratorが配布しているモジュールと何だか違う説明が多かったので、方法をまとめておきます。
まずは必要なアカウントとして、admobは必要になるので、公式サイトからアカウントをっておきます。
また、後ほど必要になるので、「サイト/アプリケーションの追加」から利用するアプリを登録しておきます。
モジュールの配置
次にadmobのモジュールをダウンロードします。現在のファイル名は
ti.admob-iphone-1.3-android-2.0.1.zip
でした。解凍するとmodulesディレクトリが作成されます。このディレクトリをモジュールを利用するアプリのプロジェクトに配置します。配置するパスはプロジェクト直下(Resourcesディレクトリがあるディレクトリと同じところ)になります。
以下の様な状態になっているならOKです。
$ ls -F CHANGELOG.txt LICENSE.txt Resources/ build.log modules/ LICENSE README build/ manifest tiapp.xml
配下のdocumentation、exampleディレクトリは、ビルドする時にエラーで止まるので削除してしまいます。1.0は私の環境では上手く動かなかったので、2.0.1のみ配置しました。
tiapp.xmlの修正
以下を変更します。
<android xmlns:android="http://schemas.android.com/apk/res/android"/> <modules/>
modulesはTitanium Studioが新しいと以下の様になっているかも知れません。この場合、タグ内に追記してください。
<modules> <module platform="commonjs" version="2.0.1">ti.cloud</module> </modules>
編集後は以下の通り。
<android xmlns:android="http://schemas.android.com/apk/res/android"> <manifest android:versionCode="3" android:versionName="2.2"/> <uses-sdk android:maxSdkVersion="13" android:minSdkVersion="8" android:targetSdkVersion="13"/> <tool-api-level>14</tool-api-level> </android> <modules> <module version="2.0.1">ti.admob</module> </modules>
<module version="2.0.1">ti.admob</module>
のバージョンは、利用するモジュールのバージョンに合わせます。
app.jsの修正
// 広告枠定義 Titanium.Admob = require('ti.admob'); var adMobView = Titanium.Admob.createView({ publisherId:'************', testing:false, // default is false top: 0, //optional left: 0, // optional right: 0, // optional bottom: 0, // optional adBackgroundColor:'FF8800', // optional backgroundColorTop: '738000', //optional - Gradient background color at top borderColor: "#000000", // optional - Border color textColor: "#000000", // optional - Text color urlColor: "#00FF00", // optional - URL color linkColor: "#0000FF" //optional - Link text color }); //listener for adReceived adMobView.addEventListener(Ti.Admob.AD_RECEIVED,function(){ //alert("ad received"); //Ti.API.info("ad received"); }); //listener for adNotReceived adMobView.addEventListener(Ti.Admob.AD_NOT_RECEIVED,function(){ //alert("ad NOT received"); //Ti.API.info("ad NOT received"); }); // 広告描画 win.add(adMobView);
testingは組み込み時はtrueにしておけばテスト用の広告が表示されます。
publisherIdは、admobのページで「サイト及びアプリケーション」を作成しておくと以下の様に表示されます。