kaz_konno's blog: walkthisway

Titanium Mobileの事など。

Titanium用Tapjoyモジュールの設置方法

f:id:kaz_konno:20110616172733p:image

Tapjoyのリワード広告と言えば、このリワード広告を導入したアプリがリジェクトされたと伝えられて、日本の開発者の間でも話題になったかと思います。

参考:アドメーカーさんのブログ


収入源確保の手段として、AdMobなどのバナー広告の他に、リワード広告を導入するのも選択肢の1つでしょう。
私自身は、リワード広告を使ったことが無いので実際のところは分かりません。
このリワード広告を導入するに当たり、既にTitanium用モジュールを作成してくれた先人がいました。

https://github.com/alif/tapjoy_module


Twitterでこのモジュールがうまく動作しないというのを見て、早速自分でも試してみました。
ファイルをダウンロードして、titanium.xcconfigファイルのSDKバージョンを現在使用している1.7.1に変更し、./build.pyしました。
結果は予想通りビルド失敗です。
このモジュールが作成された当時のバージョンが1.5.1となっているので、現在の1.7.1とではいろいろと差異があるはずです。


そこで、現在1.7.1のSDKで空のモジュールを以下のように作成します。

/Library/Application\ Support/Titanium/mobilesdk/osx/1.7.1/titanium.py create --platform=iphone --type=module --name=tapjoy --id=com.tapjoy

(¥マークは、バックスラッシュです。)
(Classファイル名称が異なると面倒なので、オリジナルのモジュールと同じモジュール名にしました。)


Xcodeを開き、ダウンロードしてきたモジュールのClassesフォルダ内のファイルを新しく作成したモジュール内Classesフォルダ内にコピーします。


下のように、ソースを見ると、TapjoyConnect.hヘッダファイルが定義されています。
f:id:kaz_konno:20110616173821p:image
という事で、Xcode内でリンクしてあげなければなりません。
やり方は簡単です。

以下の2つのファイルをXcodeにドラッグ&ドロップしてやります。
f:id:kaz_konno:20110616173820p:image


これでXcodeプロジェクト内にリンクされ、先ほど宣言したヘッダファイルの参照が可能になりました。
f:id:kaz_konno:20110616173823p:image


ここまでできたら、次はモジュールのビルドです。

./build.py

BUILD SUCCESS

今度は、ビルドが成功しました!
com.tapjoy-iphone-0.1.zipというZipファイルがプロジェクトフォルダ内に出来上がります。



モジュールの組み込み
Titanium Studioで新規プロジェクトを作成します。
f:id:kaz_konno:20110616175718p:image


そして、tiapp.xmlにモジュールを設定します。


com.tapjoy

次に、サンプルapp.jsを記述します。

// open a single window
var window = Ti.UI.createWindow({
backgroundColor:'white'
});
var label = Ti.UI.createLabel();
window.add(label);
window.open();

// TODO: write your module tests here
var tapjoy = require('com.tapjoy');
Ti.API.info("module is => " + tapjoy);

tapjoy.connect('AppID');

※このサンプルはAPIキーをたたくだけのサンプルなので、エラーの時以外何も表示されません。
※AppIDは、事前にhttp://www.tapjoy.comデベロッパ登録後、アプリ登録をすると取得することができます。


最後に、Finderでプロジェクトフォルダを開き、先ほどのcom.tapjoy-iphone-0.1.zipをzipファイルのままここに置いて、iPhoneエミュレータで実行してみます。
コンソールにモジュールが読み込まれたと表示されます。
f:id:kaz_konno:20110616180754p:image


AppIDを組み込んで、アプリを起動させたところ、以下のように、Tapjoy管理ツール画面でセッションが確認できました。
f:id:kaz_konno:20110616181928p:image


また、TapjoyのIntegratedステータスがNOからYESに変わりました。
f:id:kaz_konno:20110616185016p:image

以上で、Tapjoyモジュールの設置までが完了しました。(これで動作してると思います〜。)
アイデア次第で稼げるかもしれません。
是非チャレンジしてみてください。

PS. Android版もあるので、また別の機会に試してみたいと思います。