「テスト」Unity3DでAdMobの追加方法 in Android
上手く動かないかもしれませんが一応記載しました。私は実機がないためまだ確認取れてません!!!バックアップを必ずとってやって下さい。バックアップはプロジェクトのフォルダごとをコピーするだけでOK。
http://forum.unity3d.com/threads/77568-AdMob-plugin-that-works-in-Unity-3.2?s=b593b222053ee6486198c8d817c265cd
ここのWozik さんの「AdMobTest.unitypackage (174.1 KB)」をDL
自分のUnityを開いておく。
その状態で、先ほどDLした「AdMobTest.unitypackage」をダブルクリック。
- Pluginsフォルダに先ほどのものが入ります
AndroidManifest.xml, res, libs, bin が必須です。
他のものは「削除」する。
「New->Project->Android Project->Create Project from existing souce」
から
「プロジェクトディレクトリ->Plugins->Eclipse」を開く。
Build Targetを選ぶのを忘れないように。私は「2.1-Update1」。
※Eclipseは英語なので日本語に置き換えて考えて下さい。
- UnityPlayerに必要なライブラリJARファイルをインクルードさせる
2つのライブラリを設定します。
(1)Applications/Unityのアイコンを右クリックで「Show Package Contents」/Contents/PlaybackEngines/AndroidPlayer/bin/classes.jarにあるもの
→\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar(Windows版はここ??)
(2)GoogleAdMobAdsSdk-X.X.X.jar
→バージョンは時代で違うので。AdMob公式から持ってきてね。
http://www.android-navi.com/archives/android_1/admob/ ここの手順がよさげ
Eclipseプロジェクトのlibs配下にコピーしておきます
※libsにもともとあったadmob-sdk-androidは競合しないように削除しておく。
<やり方>
プロジェクトの[Properties]を開く。「command + I」
[Java Build Path]->[Library]タブ->[Add External JARs...]ボタンを押下。
- AdMobTestActivity.javaを書き換えよう!
package org.example.AdMobTest; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.LinearLayout; import com.unity3d.player.*; import com.google.ads.AdView; import com.google.ads.AdSize; import com.google.ads.AdRequest; public class AdMobTestActivity extends UnityPlayerActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupAds(); } private void setupAds() { // And this is the same, but done programmatically LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); AdView adView = new AdView(this, AdSize.BANNER, "あなたのID"); layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); adView.loadAd(new AdRequest()); } }
ちゅうい!
あなたのIDは[パブリッシャー ID]にしてね!!
↓私のつぶやきなので無視していい
import com.admob.android.ads.AdView; import com.admob.android.ads.SimpleAdListener; import com.admob.android.ads.AdManager;
これが元にあったがおそらく海外仕様だったのかな?
※これ書かなくていいよ
- AndroidManifest.xmlも修正しよー
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.shinriyo.tsuminbie" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/app_icon" android:label="@string/app_name"> <activity android:name=".AdMobTestActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> </application> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> </manifest>
「com.shinriyo.tsuminbie」は適宜自分のに変えよう。
- ついでにアプリの名前も変えます。
values->strings.xmlのapp_nameを自分のアプリ名に
※日本と海外でアプリ名を分けるときはどうなるか不明
- ビルドします
私は普通に実行してエミュ立ち上げた。※エミュはForce Closeになって起動失敗するけど大丈夫なのかな?
エミュ起動時に“Android library projects cannot be launched”?なときは
default propertiesていうテキストファイルを
android.library=false
http://programamemo2.blogspot.com/2011/07/android-library-projects-cannot-be.html
- jar作成
Eclipseのプロジェクトのbinフォルダ内へ移動して(comフォルダが見える位置)、以下のコマンドを実行
jar cvf com.shinriyo.tsuminbie.jar \com
※com.shinriyo.tsuminbie.jarは適宜変えてね
→今のコマンドはcomフォルダ内を圧縮した「com.shinriyo.tsuminbie.jar」が出来るって意味だよ。
- 結果のjarをUnityの/Assets/Plugins/Android/binに入ったことを確認する
- UnityでさらにEclipseでBuildで吐き出して。完成!!
※キー入れるの忘れないように!