Titaniumの情報も古いのばっかりになってきましたね。。
1ソースコードでios,android同時対応にはコツが必要で結構難しいっていうのが見えてきて、
だったら~ みたいに思われているのかもしれません。
※後、時代はunityっしょ!みたいな流れもあるかも。
自分は少しコツがつかめて、難しいアプリ作ってないってのもありますが、
だいぶ楽に同時展開できているので、まだまだtitaniumでがんばります。
で、タイトルの件ですが、
ずっとアプリはnendとi-mobileをwebviewで自分で配分決めてやっていたので、
admobは使った事なかったんですが、海外にアプリ公開するにあたって
必要だったので導入したところ、後から見ると一瞬で片付く問題で3日程ハマったので、
それのメモです。
●admobのSDK的な奴
https://github.com/appcelerator/titanium_modules/tree/master/admob/mobile
・android
https://github.com/appcelerator/titanium_modules/blob/master/admob/mobile/android/dist/ti.admob-android-2.1.1.zip?raw=true
・ios
https://github.com/appcelerator/titanium_modules/blob/master/admob/mobile/ios/ti.admob-iphone-1.6.0.zip?raw=true
ここにappceralator公式のモジュールがあるので、
それをDLして組み込みます。
※titaniumのモジュール導入方法 >> Titaniumのmodule追加方法
それで後はこんなかんじで、viewを追加してfireEventすればいいんですが、ここでハマります。
Ti.App.addEventListener('showAds',function(){ var admob = require('ti.admob'); ad = admob.createView({bottom:0,height:50,adUnitId:'xxxxxxxx'}); window.add(ads); });
このままiphoneでテストするとうまく表示されるんですが、
androidにもっていくとクラッシュ!
これでずっとはまっていました。
でどうすればいいかというと実は答えは簡単で、
//ios ad = admob.createView({bottom:0,height:50,adUnitId:'xxxxxxxx'}); //android ad = admob.createView({bottom:0,height:50,publisherId:'xxxxxxxx'});
とするだけです。
なぜかパラメータ名が違うんです。。
こういう小さい所がちょっとづつ違うのがtitaniumのイケてないとこなんですよね。
なんかphpみたいですね。