GoogleのAdSenseのスマートフォン版のAdMobをアプリに入れてみました。
Google AdMob Ads Android(初級)に説明があるので、ほぼそのまま。
引っかかったのは、Projeck Build TargetをAndroid3.2以降にしないといけない点。昔いじっていたのを持ってきたのでAndroid2.1になっていた。
Activityの設定でエラーがになってしまっていた。
あと、PhoneGapの場合は、ビューを追加するのは、rootなので、
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
を
LinearLayout layout = super.root;
にかえればOK.
ただ、AdMobとPhonGapの組み合わせだと、localStorageで干渉を起こすようで、SQLで保存していたデータが読めなくなってしまった。
検索すると、AdMobの表示を5秒ほど遅らせるといいよと、以下のコードを見つけたのだが、
最初は、いいが、やはり途中で消えてしまっているみたいで、うまく動かない。
public class MyAppActivity extends DroidGap { private Handler mHandler = new Handler(); private AdView adView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.loadUrl("file:///android_asset/www/index.html"); mHandler.postDelayed(new Runnable() { public void run() { doAdMob(); } }, 5000); } private void doAdMob() { // Create the adView adView = new AdView(this, AdSize.BANNER, "YOUR PUB ID"); // Lookup your LinearLayout - get the super.root LinearLayout layout = super.root; // Add the adView to it layout.addView(adView); // This centers the ads in landscape mode. layout.setHorizontalGravity(android.view.Gravity.CENTER_HORIZONTAL); // Initiate a generic request to load it with an ad AdRequest request = new AdRequest(); // and finally... adView.loadAd(request); } }
[…] AdMobを入れたら動かなくなっでも、述べましたが、PhoneGapのandroidアプリにAdMobを設定する方法が、GoogleのガイドでJavaによる追加方法があり、一応追加できました。(AVDとかでは、上手く動くのですが、私にHTC Jでは、DBのクリア問題が発生しています。) […]