以前に、エントリーを書いたのですがcocos2dxでアイコン型広告『アスタ』を表示する時に、とても苦労をしました。 その時の記事【cocos2dx】アスタ広告がAndorid側で表示できない件(解決済み) | albatrus.com
その際に、色々な方に意見をいただいて、無事表示することに成功。 現在作成しているアプリのiOS版が無事完成したことで、今度はAndoridの方で広告を実装をしています。
今回は、その復習もかねて、Andoridで『アスタ』を表示させる方法を紹介します。
コードを書く場所
まずは、今回の開発環境は以下のようになります。
pythonスクリプトでプロジェクトを作成した場合、Eclipseには以下のように2つのプロジェクトがビルドする際に必要になります。
cocos2dxで『アスタ』を表示させる際には、[libcocos2dx]のプロジェクトを修正します。
【追記】 アスタ広告を使用する際に、Cocos2dxActivity.java内で「import jp.maru.mrd.IconLoader;」で、アスタのSDKを読み込んでいるのですが、これに関しては実際のプロジェクトの方でも記載をしないとエラーが出ました。
アスタを表示させる
さて、実際に[libcocos2dx]にコードを書き加えていきましょう。 前もってお伝えしますが、コードに関しては、ほとんど下記「がおまるさん」のブログを参考にしています。(ほぼコピペです)
「がおまるさん」ありがとうございます!
では、順番に説明をしていきます。
アスタのSDKをプロジェクトに追加する
まずは、アスタのHPからダウンロードしたAndorid用のSDKをプロジェクトに追加します。 今回は【jp.maru.mrd-1.1.2.jar】のバージョンを使用しています。
[libcocos2dx]で、右クリックを押して「プロパティ」を選択します。
[Javaのビルド・パス]から、『アスタ』のSDKをプロジェクトに追加します。 ライブラリの「外部jar追加」から、SDKを選んで、 順序およびエクスポートで、SDKにチェックを入れます。
icon.xmlを作成とAndoridManifest.xmlの修正
「がおまるさん」のブログ同様に、アイコンの位置を決めるicon.xmlを作成して、ネットワークの接続ができるようにAndoridManidest.xmlを修正します。 コードは全く同じです。
iconAd.javaの作成
これも「がおまるさん」のブログ同様にiconAd.javaを設置します。
cocos2dxActivity.javaを修正
[libcocos2dx]にあるcocos2dxActivity.javaを修正します。 ここは基本「がおまるさん」のブログの通りコードを書いていますが、そのままコピペをすると上手くいかないので所々書きなおしています。 変更点は以下の2点です。
[c]
@Override
protected void onResume() {
super.onResume();
//アスタの広告配信メソッド(これを新しく追記しています)
iconAd.startLoading();
Cocos2dxHelper.onResume();
this.mGLSurfaceView.onResume();
}
//showDialog()には何も記載をしていません。
@Override
public void showDialog(final String pTitle, final String pMessage) {
Message msg = new Message();
msg.what = Cocos2dxHandler.HANDLER_SHOW_DIALOG;
msg.obj = new Cocos2dxHandler.DialogMessage(pTitle, pMessage);
this.mHandler.sendMessage(msg);
}
[/c]
これで上手く表示されるはずです。 場所に関しては、initIconAd()を調整してあげれば大丈夫だと思います。(詳しくはがおまるさんブログを見て下さい)
最後に
私が、Andoridで「アスタ」を表示させるのに苦労したのは、場所の問題です。 2つEclipseには2つブロジェクトがあり、どちらに記載をしたらいいのかが最初わかりませんでした。 結局の所、[libcocos2dx]に全て書けば良い。
後、前回も書きましたが、アイコンにアプリ名が出てないので、これを表示させる方法をこれから調べてみます。 おそらく簡単なはず。