2015年3月28日土曜日

広告が実装できない!


せっかくつくったアプリに広告が実装できない!
という感じで結構長い時間ハマってしまったので、
備忘録も兼ねてメモ。


広告として選んだのはアスタさん。

とりあえず、サイトにあるマニュアルに沿ってSDKを入れ、
コードを書き込んでみる。はいエラー。

一発でうまくいくわきゃないのは最初からわかっていたさ!!
いや、自分のせいなんですけどね。

悩んだところは以下2点のエラー
■Rを変数に解決できません
■致命的エラー: NativeCodeAst.h: No such file or directory

Rを変数に〜〜(日本語おかしくない?)に関しては、
eclipse-Android間の問題だったようで、
ぐぐったら色々と情報が出てきて解決しました。
ちなみに自分の場合はコンパイラー準拠レベルの問題ではなく、
import記述の部分だったようで、
import <開発中のpkg名> としたらエラーがでなくなりました。
なんでだかは、よくわかりません!

次にNo such file or directory、コイツがクセモノだった…
2日悩んでもさっぱり解決しなかったので、
広告元であるアスタさんに問い合わせる。
※とても親切に教えていただけました。どうもありがとうございます。

Android.mkファイルにて正しくインクルード先の
ファイルパスが記述されていないのではという指摘。
あ…そっか…

だ、だって、マニュアルには書いてなかったじゃないか…
(それだけ初歩的という事なんでしょうね)

というわけで、proj.android/jni/Android.mkのファイルを開いて修正
---------------------------------------------
LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/GameScene.cpp \
                   ../../android/NativeCodeAD.cpp \
                   ../../android/NativeCodeADJni.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
                   $(LOCAL_PATH)/../../common \
                   $(LOCAL_PATH)/../../android
---------------------------------------------
こんな感じ。※太字部分が追加した記述

で、無事にコンパイルが通るようになりました、と。

が、また新たに一つ疑問。
コンパイルは通るようにあったのに、eclipse上では依然同様に
import NativeCodeAst.h という部分に対して警告アラート。
"unresolved inclusion" だって。
要するに、import先が見つからないよという事なんでしょうが、
コンパイルはできているのにねぇ。

調べた所どうやら別階層にあるファイルをimportするには
その階層のパスを通して置かないといけないみたい。
(まぁ、そう言われればそらそうなんですけど)

先ほどのAndroid.mkで記述したINCLUDES先のパスはあくまで、
アプリ起動時に読み込まれるものなので、
それとは別にeclipse側でも設定しておけ、ということなのだろう。

とうわけでeclipseの
プロジェクト/プロパティ/C/C++ 一般/パス及びシンボル
からインクルード先の設定で
NativeCodeAst.hがあるcommonフォルダへのパスを追加する。



こんな感じ。
やったーアラートが消えたー!

ということでございました。
(同じ部分で悩んでいる人が多いとは思えないが)
一応、覚え書き。

いやぁ、広告入れるのって大変ですねぇ

追記:アスタさんのマニュアルにある、広告を実装するための記述例の中に
final int FILL_PARENT = LinearLayout.LayoutParams.FILL_PARENT;
というくだりがあるのですが、FILL_PARENTは現在では非推奨らしく、
eclipse上で警告アラートが出てしまいます。
気になる人はFILLをMATCHに変えましょう。それでも問題ないみたいです。
でも、ふるーいandroidはMATCHは使えないんだとか。
ふるーいandroidで最新のゲームやる人がどれくらいいるのかしら…

☆★というわけでcocos2d-xで制作しました★☆
☆★アスタさんの広告もふんだんに入っております(笑)★☆

レッド・ザ・パニッシャー ―スタイリッシュレトロアクション―
カテゴリ: アクション
Google Playで詳細を見る

今なら(永久に)無料! 今すぐチェック!!

0 件のコメント:

コメントを投稿